  @font-face{font-family:"Shabnam";font-weight:400;font-display:swap;src:url("../fonts/Shabnam.woff2") format("woff2"),local("Shabnam")}
  @font-face{font-family:"Shabnam";font-weight:700;font-display:swap;src:url("../fonts/Shabnam-Bold.woff2") format("woff2"),local("Shabnam Bold")}
  @font-face{font-family:"IRANSansXApp";font-weight:700;font-display:swap;src:url("../fonts/IRANSansXFaNum-Bold.woff2") format("woff2")}
  @font-face{font-family:"VazirmatnApp";font-weight:100 900;font-display:swap;src:url("../fonts/vazirmatn-arabic-wght-normal.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
  @font-face{font-family:"VazirmatnApp";font-weight:100 900;font-display:swap;src:url("../fonts/vazirmatn-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  @font-face{font-family:"LalezarApp";font-weight:400;font-display:swap;src:url("../fonts/lalezar-arabic-400-normal.woff2") format("woff2");unicode-range:U+0600-06FF,U+200C-200E,U+FB50-FDFF,U+FE70-FEFC}
  :root{color-scheme:dark;--bg:#07080b;--card:#13151a;--ink:#eceff4;--mut:#8d97a8;--line:#272b35;--pri:#2563eb;--pri2:#3b82f6;--ok:#4ade80;--okbg:#0f2f1c;--wait:#fbbf24;--waitbg:#3a2a0b;--bad:#f87171;--badbg:#3a1414;--sh:0 8px 28px rgba(0,0,0,.55)}
  *{box-sizing:border-box}
  body{margin:0;background:radial-gradient(1200px 420px at 50% -120px,#1a2a4d,transparent),var(--bg);color:var(--ink);font-family:"VazirmatnApp","Vazirmatn","Shabnam",Tahoma,"Segoe UI",sans-serif;font-size:16px;min-height:100vh}
  header{background:linear-gradient(120deg,#0b0d12,#16233f);border-bottom:1px solid #222a3a;color:#fff;padding:20px 24px 56px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
  .brand{display:flex;align-items:center;gap:14px}
  .logo{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:28px}
  header h1{margin:0;font-size:22px}
  header .sub{font-size:13px;opacity:.85;margin-top:3px}
  .stats{display:flex;gap:12px;flex-wrap:wrap}
  .stat{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);padding:8px 16px;border-radius:12px;text-align:center;min-width:92px}
  .stat b{display:block;font-size:24px;line-height:1.2}
  .stat span{font-size:12px;opacity:.9}
  .wrap{max-width:1100px;margin:-34px auto 0;padding:0 18px 40px}
  nav{display:flex;gap:8px;background:var(--card);border:1px solid var(--line);padding:8px;border-radius:16px;box-shadow:var(--sh)}
  nav button{flex:1;border:0;background:transparent;padding:13px 8px;font:inherit;font-weight:bold;border-radius:11px;cursor:pointer;color:var(--mut);transition:.15s}
  nav button:hover{background:#1e222b}
  nav button.on{background:linear-gradient(120deg,var(--pri),var(--pri2));color:#fff;box-shadow:0 4px 12px rgba(29,79,168,.35)}
  section{background:var(--card);border-radius:18px;padding:26px;margin-top:16px;box-shadow:var(--sh);display:none}
  section.on{display:block}
  h2{margin:0 0 18px;font-size:18px}
  label{display:block;font-size:13.5px;color:var(--mut);margin-bottom:6px;font-weight:bold}
  label small{font-weight:normal}
  input[type=text],input[type=search],input[type=password],select{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;font:inherit;background:#0c0e12;color:var(--ink);transition:.15s}
  input:focus,select:focus{outline:0;border-color:var(--pri2);background:#090a0d;box-shadow:0 0 0 4px rgba(59,130,246,.22)}
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
  .num{direction:ltr;text-align:right;letter-spacing:1px}
  button.btn{font:inherit;font-weight:bold;border:0;border-radius:12px;padding:13px 24px;cursor:pointer;background:linear-gradient(120deg,var(--pri),var(--pri2));color:#fff;box-shadow:0 4px 12px rgba(29,79,168,.28);transition:.15s}
  button.btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
  button.btn.ok{background:linear-gradient(120deg,#15803d,#22a653);box-shadow:0 4px 12px rgba(21,128,61,.35)}
  button.btn.gray{background:#272c37;color:var(--ink);box-shadow:none}
  button.btn.sm{padding:8px 14px;font-size:13.5px}
  .msg{margin-top:16px;padding:13px 16px;border-radius:12px;font-size:15px}
  .msg.err{background:var(--badbg);color:var(--bad);border:1px solid #6b2323}
  .codebox{margin-top:20px;background:linear-gradient(135deg,#0f2f1c,#13151a);border:2px solid #1f7a42;border-radius:18px;padding:20px;text-align:center;animation:pop .35s}
  .codebox .big{font-size:68px;font-weight:bold;color:var(--ok);line-height:1.15}
  @keyframes pop{from{transform:scale(.95);opacity:0}to{transform:none;opacity:1}}
  .hint{color:var(--mut);font-size:13px;margin-top:6px}
  .card{border:2px solid var(--line);border-radius:16px;padding:16px 18px;margin-top:14px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;transition:.15s}
  .card:hover{box-shadow:var(--sh)}
  .card.pending{border-color:#7a5a14;background:linear-gradient(135deg,#2a2009,var(--card))}
  .card.delivered{border-color:#1f7a42;background:linear-gradient(135deg,#0d2418,var(--card))}
  .card .code{width:68px;height:68px;border-radius:18px;display:grid;place-items:center;font-size:28px;font-weight:bold;background:#0c0e12;border:2px solid currentColor}
  .card.pending .code{color:var(--wait)}.card.delivered .code{color:var(--ok)}
  .card .nm{font-size:20px;font-weight:bold}
  .card .meta{color:var(--mut);font-size:14px;margin-top:5px;line-height:1.9}
  .card .meta b.dl{color:var(--ok)}
  .badge{display:inline-block;padding:3px 12px;border-radius:99px;font-size:12.5px;font-weight:bold;vertical-align:middle;margin-right:6px}
  .badge.pending{background:var(--waitbg);color:var(--wait)}
  .badge.delivered{background:var(--okbg);color:var(--ok)}
  .badge.turn{background:#1b2a4a;color:#93c5fd}
  .act{display:flex;flex-direction:column;gap:8px;align-items:stretch}
  .tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center}
  .tools select{width:auto}
  table{width:100%;border-collapse:collapse;font-size:14px}
  th,td{padding:10px 12px;border-bottom:1px solid #20242c;text-align:right;white-space:nowrap}
  th{background:#1a2438;position:sticky;top:0;color:#93c5fd;font-size:13px}
  tbody tr:nth-child(even){background:#101318}
  tbody tr:hover{background:#172036}
  .tblwrap{max-height:62vh;overflow:auto;border:1px solid var(--line);border-radius:14px}
  .warnbar{background:var(--waitbg);color:var(--wait);padding:10px 20px;text-align:center;font-size:14px;font-weight:bold}
  dialog{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:24px;width:min(540px,94vw);direction:rtl;box-shadow:0 20px 60px rgba(0,0,0,.3)}
  dialog::backdrop{background:rgba(0,0,0,.7)}
  #editForm .dlv{display:none}
  #editForm.isdl .dlv{display:block}
  .hbtns{display:flex;gap:8px;flex-wrap:wrap}
  #lock{position:fixed;inset:0;display:none;place-items:center;background:radial-gradient(900px 500px at 50% -50px,#14264a,var(--bg));z-index:1000;padding:18px;overflow:auto}
  body.locked #lock{display:grid}
  body.locked header,body.locked .wrap,body.locked footer.credit{display:none}
  .lockcard{width:min(420px,100%);background:var(--card);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--sh);text-align:center}
  .lockcard .logo{margin:0 auto 14px;background:rgba(255,255,255,.06);border:1px solid var(--line)}
  .lockcard h2{margin:0 0 4px}
  .lockcard .field{text-align:right;margin-top:14px}
  .lockcard .btn{width:100%;margin-top:18px}
  .lockcard a{color:var(--pri2);cursor:pointer;font-size:13px;text-decoration:underline}
  .lockcard .by{margin-top:18px;color:var(--mut);font-size:12.5px}
  .empty{color:var(--mut);text-align:center;padding:34px}
  .credit{text-align:center;color:var(--mut);font-size:13px;margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}
  .credit b{color:var(--ink)}
  #toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(30px);background:#eceff4;color:#07080b;padding:13px 24px;border-radius:99px;font-weight:bold;opacity:0;pointer-events:none;transition:.25s;z-index:99}
  #toast.show{opacity:1;transform:translateX(-50%)}
  @media(max-width:620px){.card{grid-template-columns:1fr}.card .code{width:auto;height:auto;padding:8px}}

  /* طراحی تکمیلی؛ فونت اصلی شبنم بدون تغییر حفظ شده است */
  :root{
    --bg:#080d17;--card:#101827;--ink:#f1f5fb;--mut:#9ba9bd;--line:#26344a;
    --pri:#2563eb;--pri2:#4f8cff;--ok:#43d995;--okbg:#102f2a;--wait:#f5c45e;--waitbg:#352b18;
    --bad:#ff8585;--badbg:#381e28;--sh:0 16px 44px rgba(0,0,0,.24)
  }
  html{scroll-behavior:smooth}
  body{background:radial-gradient(ellipse at 12% 0%,rgba(43,83,151,.22),transparent 36%),radial-gradient(ellipse at 90% 16%,rgba(20,112,100,.10),transparent 30%),var(--bg);line-height:1.75;letter-spacing:0}
  header{position:relative;isolation:isolate;overflow:hidden;padding:28px max(24px,calc((100vw - 1160px)/2)) 66px;gap:20px;background:linear-gradient(118deg,#0b1220 0%,#132342 56%,#123b4b 120%);border-bottom:1px solid rgba(151,183,224,.18)}
  header:before{content:"";position:absolute;z-index:-1;width:340px;height:340px;border:1px solid rgba(255,255,255,.07);border-radius:50%;left:-90px;top:-210px;box-shadow:0 0 0 32px rgba(255,255,255,.018),0 0 0 68px rgba(255,255,255,.014)}
  header:after{content:"";position:absolute;z-index:-1;bottom:0;right:0;left:0;height:3px;background:linear-gradient(90deg,transparent,#d7b66b 22%,#f1d99b 50%,#d7b66b 78%,transparent);opacity:.8}
  .brand{gap:16px;min-width:250px}
  .logo{width:58px;height:58px;flex:0 0 58px;border-radius:18px;background:linear-gradient(145deg,rgba(231,199,126,.22),rgba(255,255,255,.07));border:1px solid rgba(232,205,147,.4);box-shadow:inset 0 1px rgba(255,255,255,.14),0 8px 24px rgba(0,0,0,.15)}
  header h1{font-size:clamp(19px,2vw,25px);letter-spacing:-.35px}
  header .sub{color:#c1cee0;font-size:13px;margin-top:6px}
  .stats{gap:10px}
  .stat{min-width:104px;padding:11px 16px;border-radius:15px;background:rgba(8,16,30,.36);border:1px solid rgba(191,210,239,.17);box-shadow:inset 0 1px rgba(255,255,255,.04)}
  .stat b{font-size:25px;font-variant-numeric:tabular-nums;color:#fff}
  .stat span{color:#c5d2e4;font-size:12px}
  .postbank-mark{display:flex;align-items:center;gap:12px;padding:8px 16px;border:1px solid rgba(145,210,172,.24);border-radius:16px;background:rgba(6,25,22,.28);min-height:70px}
  .postbank-mark svg{width:54px;height:54px;flex:0 0 54px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.18))}
  .postbank-mark .bank-name{font-size:19px;font-weight:700;color:#f4fff7;line-height:1.35}
  .postbank-mark .bank-sub{font-size:11px;color:#b8ddc7;letter-spacing:.2px}
  .logo .pb-symbol{width:34px;height:34px;display:block}
  .wrap{max-width:1160px;margin:-38px auto 0;padding:0 22px 46px;position:relative}
  nav{gap:7px;padding:7px;border-radius:18px;background:rgba(16,24,39,.94);border:1px solid #2b3a51;box-shadow:0 18px 44px rgba(0,0,0,.27)}
  nav button{padding:13px 12px;border-radius:12px;color:#aab7ca;position:relative}
  nav button:hover{background:#1b2940;color:#f7f9fc}
  nav button.on{background:linear-gradient(135deg,#2766d9,#397ff0);box-shadow:0 6px 18px rgba(37,99,235,.25),inset 0 1px rgba(255,255,255,.18);color:white}
  section{margin-top:18px;padding:clamp(20px,3vw,32px);border-radius:21px;background:linear-gradient(145deg,rgba(19,29,46,.98),rgba(14,21,34,.98));border:1px solid rgba(133,160,199,.13);box-shadow:0 18px 48px rgba(0,0,0,.20);animation:sectionIn .24s ease-out}
  @keyframes sectionIn{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
  h2{display:flex;align-items:center;gap:10px;margin:0 0 24px;font-size:19px;letter-spacing:-.2px}
  h2:before{content:"";width:4px;height:23px;border-radius:9px;background:linear-gradient(#f0d18c,#bd9141);box-shadow:0 0 14px rgba(220,180,94,.16)}
  label{font-size:13px;color:#bac7d9;margin-bottom:8px}
  input[type=text],input[type=search],input[type=password],select{min-height:48px;padding:12px 15px;border:1px solid #2b3a50;border-radius:13px;background:#0a1220;color:var(--ink);box-shadow:inset 0 1px 2px rgba(0,0,0,.12)}
  input::placeholder{color:#71819a;opacity:1}
  input:hover,select:hover{border-color:#405574}
  input:focus,select:focus{outline:0;border-color:#5b96ff;background:#0b1526;box-shadow:0 0 0 4px rgba(59,130,246,.15)}
  .grid{gap:18px}
  button.btn{border-radius:13px;padding:12px 21px;background:linear-gradient(135deg,#2766d9,#4388fa);box-shadow:0 7px 17px rgba(26,88,199,.20),inset 0 1px rgba(255,255,255,.17);transition:transform .18s,box-shadow .18s,filter .18s}
  button.btn:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 10px 23px rgba(26,88,199,.25),inset 0 1px rgba(255,255,255,.17)}
  button.btn:active{transform:translateY(0) scale(.99)}
  button.btn:focus-visible,nav button:focus-visible{outline:2px solid #f0d18c;outline-offset:3px}
  button.btn.ok{background:linear-gradient(135deg,#12835b,#26b77d);box-shadow:0 7px 17px rgba(18,131,91,.18),inset 0 1px rgba(255,255,255,.16)}
  button.btn.gray{background:linear-gradient(135deg,#25334a,#1b2739);border:1px solid #35465e;color:#d9e4f3;box-shadow:none}
  button.btn.gray:hover{background:linear-gradient(135deg,#30415d,#23334b);box-shadow:0 7px 18px rgba(0,0,0,.15)}
  button.btn.sm{padding:9px 13px;border-radius:11px}
  .hbtns{gap:9px}
  .msg{margin-top:17px;padding:14px 16px;border-radius:13px;line-height:1.9}
  .msg.err{background:linear-gradient(120deg,rgba(90,31,42,.55),rgba(56,30,40,.6));color:#ffaaaa;border:1px solid rgba(248,113,113,.28)}
  .codebox{margin-top:24px;padding:25px;border:1px solid rgba(67,217,149,.48);border-radius:20px;background:radial-gradient(circle at 50% 0%,rgba(40,160,110,.16),transparent 65%),linear-gradient(135deg,#102a27,#111c27);box-shadow:inset 0 1px rgba(255,255,255,.04),0 12px 30px rgba(0,0,0,.14)}
  .codebox .big{font-size:clamp(54px,8vw,76px);color:#61e6a6;text-shadow:0 0 26px rgba(67,217,149,.12);font-variant-numeric:tabular-nums;margin:8px 0}
  .hint{color:#95a6bd;line-height:1.8}
  .card{position:relative;overflow:hidden;border:1px solid #2b3a50;border-radius:18px;padding:18px;margin-top:15px;gap:18px;background:rgba(10,17,29,.55);box-shadow:0 5px 18px rgba(0,0,0,.08)}
  .card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:currentColor;opacity:.75}
  .card:hover{box-shadow:0 13px 30px rgba(0,0,0,.2);transform:translateY(-1px)}
  .card.pending{border-color:rgba(245,196,94,.33);background:linear-gradient(120deg,rgba(70,50,17,.42),rgba(15,24,38,.82) 52%)}
  .card.delivered{border-color:rgba(67,217,149,.3);background:linear-gradient(120deg,rgba(14,61,48,.38),rgba(15,24,38,.82) 52%)}
  .card .code{width:70px;height:70px;border-radius:19px;background:#0b1422;border:1px solid currentColor;box-shadow:inset 0 1px rgba(255,255,255,.05);font-variant-numeric:tabular-nums}
  .card .nm{font-size:18px;line-height:1.8}
  .card .meta{font-size:13.5px;color:#aab8cb;line-height:2}
  .card .meta b.dl{color:#64e6aa}
  .badge{padding:4px 10px;border:1px solid transparent;border-radius:9px;font-size:11.5px;margin-right:5px;white-space:nowrap}
  .badge.pending{background:rgba(245,196,94,.12);color:#f5ce78;border-color:rgba(245,196,94,.15)}
  .badge.delivered{background:rgba(67,217,149,.11);color:#6ce6b0;border-color:rgba(67,217,149,.15)}
  .badge.turn{background:rgba(79,140,255,.12);color:#a6c8ff;border-color:rgba(79,140,255,.15)}
  .act{min-width:145px;gap:7px}
  .tools{gap:9px;margin-bottom:18px}
  .tools select{min-height:43px}
  .tblwrap{max-height:64vh;border:1px solid #2b3a50;border-radius:15px;background:#0c1421;scrollbar-color:#3a4c66 #101827;scrollbar-width:thin}
  table{font-size:13.5px}
  th,td{padding:12px 14px;border-bottom:1px solid rgba(100,126,162,.15)}
  th{background:#1a2a43;color:#c4d9fb;font-size:12.5px;letter-spacing:.1px}
  tbody tr:nth-child(even){background:rgba(255,255,255,.018)}
  tbody tr:hover{background:rgba(62,112,190,.11)}
  .warnbar{background:linear-gradient(90deg,#332817,#3a2b16,#332817);color:#f7d17d;border-bottom:1px solid rgba(245,196,94,.18);padding:11px 18px}
  dialog{background:linear-gradient(145deg,#142035,#101827);border:1px solid #34445d;border-radius:22px;padding:clamp(20px,4vw,30px);box-shadow:0 28px 90px rgba(0,0,0,.6)}
  dialog h3{font-size:18px}
  dialog::backdrop{background:rgba(3,7,14,.86)}
  #lock{background:radial-gradient(ellipse at 50% 15%,rgba(38,85,157,.28),transparent 38%),radial-gradient(ellipse at 85% 90%,rgba(20,112,100,.12),transparent 30%),#080d17}
  .lockcard{position:relative;overflow:hidden;width:min(440px,100%);padding:36px 32px 28px;border:1px solid rgba(157,185,224,.2);border-radius:26px;background:linear-gradient(145deg,rgba(21,32,52,.98),rgba(12,19,32,.98));box-shadow:0 28px 90px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.04)}
  .lockcard:before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,transparent,#d7b66b,#f3dda5,#d7b66b,transparent)}
  .lockcard .logo{width:64px;height:64px;border-radius:20px;font-size:30px;background:linear-gradient(145deg,rgba(231,199,126,.16),rgba(255,255,255,.035));border-color:rgba(232,205,147,.3);box-shadow:0 12px 30px rgba(0,0,0,.15)}
  .lockcard h2{justify-content:center;margin:0 0 5px;font-size:21px}
  .lockcard h2:before{display:none}
  .lockcard .hint{margin-top:8px}
  .lockcard .field{margin-top:17px}
  .lockcard .btn{margin-top:22px;min-height:49px}
  .lockcard .by{border-top:1px solid rgba(133,160,199,.13);padding-top:14px;margin-top:22px;color:#91a2ba}
  .lockcard a{color:#9ec3ff}
  .empty{padding:38px 20px;color:#91a2ba}
  .credit{margin-top:26px;padding-top:19px;color:#8192aa;border-top:1px solid rgba(133,160,199,.16)}
  .credit b{color:#e4c780}
  #toast{bottom:26px;max-width:calc(100vw - 28px);text-align:center;border:1px solid rgba(255,255,255,.2);background:#edf5ff;color:#102039;box-shadow:0 12px 34px rgba(0,0,0,.3);border-radius:14px}
  @media(max-width:850px){header{padding:24px 20px 60px}.stats{width:100%;order:3}.stat{flex:1}.hbtns{margin-right:auto}.wrap{padding-inline:14px}}
  @media(max-width:620px){
    header{padding:20px 15px 58px;gap:16px}.brand{min-width:0;gap:12px}.logo{width:50px;height:50px;flex-basis:50px;border-radius:15px;font-size:24px}header h1{font-size:18px}header .sub{font-size:11.5px}
    .stats{gap:7px}.stat{min-width:0;padding:9px 6px;border-radius:12px}.stat b{font-size:21px}.stat span{font-size:10.5px}
    .wrap{margin-top:-31px;padding:0 10px 28px}nav{display:grid;grid-template-columns:1fr;gap:5px;border-radius:16px}nav button{text-align:right;padding:11px 14px}
    section{padding:20px 15px;border-radius:17px;margin-top:13px}h2{font-size:17px;margin-bottom:19px}
    .grid{grid-template-columns:1fr;gap:13px}.card{grid-template-columns:1fr;padding:15px;gap:12px}.card .code{width:auto;height:auto;min-height:48px;padding:7px 12px;border-radius:12px;justify-self:stretch;font-size:22px}.card .nm{font-size:16px}.act{display:grid;grid-template-columns:1fr 1fr;min-width:0}.act button{min-height:40px}.tools>*{flex:1 1 100%}.tools select{width:100%}.tools button{width:100%}.tblwrap{max-height:58vh}table{font-size:12px}th,td{padding:10px}.lockcard{padding:30px 20px 24px}
  }
  @media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


  .module-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;padding:8px;border:1px solid #2b3a51;border-radius:18px;background:rgba(11,19,32,.94);box-shadow:0 14px 36px rgba(0,0,0,.2)}
  .module-btn{border:1px solid #31435d;border-radius:13px;padding:14px 10px;background:#111c2e;color:#c6d3e6;font:inherit;font-weight:bold;cursor:pointer;transition:.15s}
  .module-btn:hover{border-color:#6385b5;background:#192943}.module-btn.on{background:linear-gradient(135deg,#2766d9,#397ff0);color:white;border-color:#5790f2;box-shadow:0 6px 18px rgba(37,99,235,.22)}
  .module-panel{display:none}.module-panel.on{display:block}.module-panel>section{display:block;margin-top:0}
  .module-panel h3{font-size:16px;margin:24px 0 13px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 24px}
  .summary-card{padding:16px;border:1px solid #30445f;border-radius:15px;background:linear-gradient(135deg,#14243a,#0e1929)}.summary-card span{display:block;color:#a8bad3;font-size:13px}.summary-card b{display:block;margin-top:6px;font-size:27px;color:#e8f1ff;font-variant-numeric:tabular-nums}
  .table-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.table-head h3{margin-bottom:12px}.module-table{max-height:65vh;margin-top:12px}.module-table input{min-width:75px;max-width:145px;min-height:39px;padding:7px 9px;font-size:14px}.module-table .booth-name{min-width:150px;max-width:190px}.module-table .contact{min-width:125px;max-width:160px}.module-table td{vertical-align:middle}.module-table button{white-space:nowrap}
  .btn.danger{background:linear-gradient(135deg,#a51f32,#e33f52);border:1px solid #f16a78;color:white;box-shadow:0 5px 14px rgba(220,38,58,.2)}
  .card .act button[data-undo]{background:linear-gradient(135deg,#a51f32,#e33f52)!important;border:1px solid #f16a78!important;color:#fff!important;box-shadow:0 5px 14px rgba(220,38,58,.2)!important}
  .card.delivered{border-color:rgba(67,217,149,.7);background:linear-gradient(120deg,rgba(14,90,58,.54),rgba(15,24,38,.82) 52%)}
  .card.delivered .code{background:#0d2c23;border-color:#2ab879;color:#70f0b2}
  .card.pending{border-color:rgba(245,196,94,.33)}
  @media(max-width:760px){.module-nav{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr}.module-table{max-height:60vh}.module-table table{min-width:850px}}



  .stock-open,.daily-qty{min-width:0}
  .branch-only{display:none}
  .daily-branch .branch-only{display:block}
  #dailyEntriesBody tr.entry-out{background:rgba(164,45,58,.10)}
  #dailyEntriesBody tr.entry-in{background:rgba(26,128,77,.12)}
  @media(max-width:760px){.module-nav{grid-template-columns:1fr}}

/* درخواست کاربر: حذف کارت‌های جمع‌بندی از بخش تراز دفتر کل بنکو */
#ledgerSummary { display: none !important; }

  /* پوسته روشن و سبز هماهنگ با هویت بصری پست بانک */
  :root{color-scheme:light;--bg:#f1f7f3;--card:#ffffff;--ink:#1e3027;--mut:#62756a;--line:#d8e6dc;--pri:#16834b;--pri2:#25a765;--ok:#14834a;--okbg:#e5f6eb;--wait:#936a11;--waitbg:#fff4d8;--bad:#b42332;--badbg:#fff0f1;--sh:0 12px 32px rgba(25,70,44,.09)}
  body{background:radial-gradient(ellipse at 10% 0%,rgba(43,153,91,.10),transparent 36%),#f1f7f3;color:#1e3027}
  header{background:linear-gradient(118deg,#0d5b36 0%,#16834b 58%,#20975d 120%);border-bottom-color:#c6e5d0}
  header:after{background:linear-gradient(90deg,transparent,#9be0b3 22%,#e0f8e8 50%,#9be0b3 78%,transparent)}
  header:before{border-color:rgba(255,255,255,.14);box-shadow:0 0 0 32px rgba(255,255,255,.025),0 0 0 68px rgba(255,255,255,.018)}
  header .sub{color:#e0f4e7}.postbank-mark{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.28)}
  .postbank-mark .bank-name{color:#fff}.postbank-mark .bank-sub{color:#d5f4df}
  .logo{background:linear-gradient(145deg,rgba(255,255,255,.20),rgba(255,255,255,.08));border-color:rgba(255,255,255,.35)}
  nav{background:#fff;border-color:#d9e7dd;box-shadow:0 12px 30px rgba(25,70,44,.08)}
  nav button{color:#5e7465}nav button:hover{background:#edf7f0;color:#155b35}
  nav button.on{background:linear-gradient(135deg,#16834b,#28a866);box-shadow:0 5px 14px rgba(22,131,75,.18);color:#fff}
  section{background:#fff;border-color:#e0ebe3;box-shadow:0 12px 34px rgba(25,70,44,.07)}
  h2:before{background:linear-gradient(#25a765,#0e6c3c);box-shadow:none}
  label{color:#536b5b}
  input[type=text],input[type=search],input[type=password],select{background:#fbfdfb;color:#20362a;border-color:#d6e4da;box-shadow:inset 0 1px 2px rgba(15,70,35,.025)}
  input::placeholder{color:#91a399}input:hover,select:hover{border-color:#9ac8a9}
  input:focus,select:focus{background:#fff;border-color:#25a765;box-shadow:0 0 0 4px rgba(37,167,101,.13)}
  button.btn{background:linear-gradient(135deg,#16834b,#25a765);box-shadow:0 5px 13px rgba(22,131,75,.16)}
  button.btn:hover{box-shadow:0 8px 18px rgba(22,131,75,.19)}
  button.btn.gray{background:#eef5f0;border:1px solid #d6e4da;color:#355242}
  button.btn.gray:hover{background:#e2f0e7;box-shadow:0 5px 14px rgba(25,70,44,.08)}
  .hint{color:#6c8173}.msg{background:#edf8f0;color:#205c37;border:1px solid #cfe8d6}.msg.err{background:#fff0f1;color:#a32231;border-color:#f0c9ce}
  .codebox{background:linear-gradient(135deg,#effaf2,#fff);border-color:#8dcda1}.codebox .big{color:#16834b;text-shadow:none}
  .card{background:#fff;border-color:#dbe8df;box-shadow:0 5px 15px rgba(25,70,44,.04)}
  .card.pending{border-color:#ead9a6;background:linear-gradient(120deg,#fff9e9,#fff 70%)}
  .card.delivered{border-color:#a9dcbc;background:linear-gradient(120deg,#eaf8ee,#fff 72%)}
  .card .code{background:#f7fbf8}.card.pending .code{color:#936a11}.card.delivered .code{background:#e4f7ea;color:#14834a}
  .card .meta{color:#687d6f}.card .meta b.dl{color:#14834a}
  .badge.pending{background:#fff3d2;color:#865e0b;border-color:#f0dfa8}.badge.delivered{background:#e4f6e9;color:#11743e;border-color:#b9e4c6}.badge.turn{background:#eaf1ff;color:#2457a7;border-color:#d4e1fb}
  .tblwrap{background:#fff;border-color:#dbe8df;scrollbar-color:#b5d4bf #f0f7f2}
  table{color:#24392c}th{background:#e8f4eb;color:#245b39}th,td{border-bottom-color:#e3ece6}
  tbody tr:nth-child(even){background:#f8fbf9}tbody tr:hover{background:#edf7f0}
  .module-nav{background:#fff;border-color:#d7e6dc;box-shadow:0 12px 30px rgba(25,70,44,.07)}
  .module-btn{background:#f5faf6;border-color:#d9e8de;color:#4a6755}.module-btn:hover{border-color:#90c9a3;background:#edf7f0}.module-btn.on{background:linear-gradient(135deg,#16834b,#28a866);border-color:#69bc88;box-shadow:0 5px 15px rgba(22,131,75,.16);color:#fff}
  .summary-card{background:linear-gradient(135deg,#f0f8f2,#fff);border-color:#d9e9de}.summary-card span{color:#5f7868}.summary-card b{color:#17663b}
  dialog{background:#fff;color:#20362a;border-color:#d5e5da;box-shadow:0 25px 70px rgba(20,60,35,.22)}dialog::backdrop{background:rgba(18,48,30,.42)}
  #lock{background:radial-gradient(ellipse at 50% 15%,rgba(40,156,83,.13),transparent 38%),#eff7f1}
  .lockcard{background:linear-gradient(145deg,#fff,#f8fcf9);border-color:#d8e8dc;box-shadow:0 24px 70px rgba(25,70,44,.15)}
  .lockcard:before{background:linear-gradient(90deg,transparent,#16834b,#8bd3a2,#16834b,transparent)}
  .lockcard .logo{background:#e7f6eb;border-color:#c5e7ce}.lockcard .by{color:#61786a;border-top-color:#e1ece4}.lockcard a{color:#16834b}
  .empty{color:#758b7c}.credit{color:#6b8172;border-top-color:#dce9df}.credit b{color:#17663b}
  .warnbar{background:#fff4d8;color:#8c6513;border-bottom-color:#f0dfa8}
  #toast{background:#173c29;color:#fff;border-color:#4e8f66}
  .btn.danger,.card .act button[data-undo]{background:linear-gradient(135deg,#b42332,#d83d4b)!important;color:#fff!important}
  #dailyEntriesBody tr.entry-out{background:#fff5f3}#dailyEntriesBody tr.entry-in{background:#eff9f1}


/* ================= چیدمان جمع‌وجور + منوی کناری ================= */
body{font-size:14.5px;line-height:1.65}
header{padding:10px 18px!important;gap:12px;flex-wrap:nowrap}
header:before{display:none}
header .sub{margin-top:0;font-size:12px}
header h1{font-size:16px;letter-spacing:0}
.brand{gap:11px;min-width:0}
.logo{width:40px;height:40px;flex:0 0 40px;border-radius:12px}
.logo .pb-symbol{width:24px;height:24px}
.postbank-mark,.stats{display:none!important}
.hbtns{margin-right:auto;flex-wrap:nowrap}
.hbtns .btn{white-space:nowrap}
.wrap{max-width:1300px;margin:12px auto 0;padding:0 14px 26px;display:grid;grid-template-columns:196px minmax(0,1fr);gap:14px;align-items:start}
.module-nav{grid-column:1;grid-row:1/span 2;position:sticky;top:12px;display:flex;flex-direction:column;gap:5px;margin:0;padding:8px;border-radius:18px;align-self:start}
.module-panel{grid-column:2;grid-row:1;min-width:0}
.wrap>footer.credit{grid-column:2;grid-row:2;margin-top:6px;padding-top:12px;font-size:12px}
.module-btn{display:flex;align-items:center;gap:10px;text-align:right;padding:11px 12px;font-size:14px;border-radius:13px}
.module-btn .mi{font-size:19px;width:24px;text-align:center;flex:0 0 24px}
.module-btn .ml{flex:1}
@media(max-width:860px){
  .wrap{grid-template-columns:minmax(0,1fr);padding:0 10px 92px;gap:10px}
  .module-panel,.wrap>footer.credit{grid-column:1}
  .module-nav{position:fixed;top:auto;bottom:0;right:0;left:0;z-index:60;flex-direction:row;gap:2px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;border-bottom:0;box-shadow:0 -8px 26px rgba(25,70,44,.16)}
  .module-btn{flex:1;flex-direction:column;gap:1px;padding:7px 2px;font-size:10.5px;border-radius:12px;text-align:center;min-width:0}
  .module-btn .ml{flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .module-btn .mi{font-size:20px;flex:none}
  header{padding:8px 12px!important}
  header h1{font-size:14.5px}
  #toast{bottom:92px}
}
/* فشرده‌سازی کل برنامه */
nav{padding:5px;gap:4px;border-radius:14px}
nav button{padding:9px 6px;font-size:13.5px;border-radius:10px}
section{padding:18px;margin-top:12px;border-radius:18px}
.module-panel>section{margin-top:0}
h2{font-size:16.5px;margin-bottom:14px}
h2:before{height:19px}
label{font-size:12.5px;margin-bottom:5px}
input[type=text],input[type=search],input[type=password],select{min-height:40px;padding:8px 12px;font-size:14px;border-radius:11px}
.grid{gap:12px}
button.btn{padding:9px 16px;font-size:13.5px;border-radius:11px}
button.btn.sm{padding:6px 11px;font-size:12.5px}
.tools{gap:7px;margin-bottom:12px}
.tools select{min-height:38px}
.summary-grid{gap:9px;margin:12px 0 16px}
.summary-card{padding:11px 14px;border-radius:13px}
.summary-card span{font-size:12px}
.summary-card b{font-size:22px;margin-top:2px}
.module-panel h3{font-size:14.5px;margin:16px 0 9px}
.table-head h3{margin-bottom:8px}
.module-table{margin-top:8px}
th,td{padding:8px 10px}
table{font-size:13px}
th{font-size:12px}
.card{padding:12px 14px;gap:12px;margin-top:10px;border-radius:15px}
.card .code{width:54px;height:54px;font-size:21px;border-radius:15px}
.card .nm{font-size:15.5px;line-height:1.6}
.card .meta{font-size:12.5px;line-height:1.8}
.act{min-width:132px}
.codebox{padding:16px;margin-top:16px}
.codebox .big{font-size:clamp(44px,7vw,60px)}
.msg{padding:10px 14px;margin-top:12px;font-size:14px}
.hint{font-size:12.5px}
dialog{padding:20px;border-radius:18px}
@media(max-width:620px){section{padding:14px 12px;border-radius:15px}.card{padding:11px}}

/* ================= داشبورد گرافیکی ================= */
#module-dashboard{--gold:#c9a24a;--gold2:#e8cd8f}
.d-hero{position:relative;overflow:hidden;border-radius:22px;padding:22px 26px;color:#fff;background:radial-gradient(circle at 12% 120%,rgba(232,205,143,.35),transparent 42%),radial-gradient(circle at 92% -30%,rgba(255,255,255,.22),transparent 45%),linear-gradient(125deg,#08432a,#16834b 60%,#27a868);box-shadow:0 12px 30px rgba(18,90,52,.25);display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-content:space-between}
.d-hero:after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,transparent,var(--gold) 25%,var(--gold2) 50%,var(--gold) 75%,transparent)}
.d-hero h2{margin:0;font-size:clamp(19px,2.8vw,27px);color:#fff;display:block}
.d-hero h2:before{display:none}
.d-hero p{margin:5px 0 0;color:#d6f1e1;font-size:14px}
.d-act{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.d-act button{font:inherit;font-weight:bold;font-size:13.5px;cursor:pointer;border-radius:11px;padding:9px 15px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.13);color:#fff;transition:.15s}
.d-act button:hover{background:#fff;color:#0d5b36;transform:translateY(-1px)}
.d-act button.gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#3b2c06;border-color:transparent}
.d-clock{display:flex;align-items:stretch;border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.17),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px rgba(255,255,255,.18),0 10px 26px rgba(0,0,0,.18);overflow:hidden;text-align:center}
.ck-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:14px 22px;min-width:120px;background:linear-gradient(180deg,rgba(232,205,143,.24),rgba(232,205,143,.06));border-inline-end:1px solid rgba(255,255,255,.2)}
.ck-wd{font-size:13px;font-weight:bold;color:#3b2c06;background:linear-gradient(135deg,var(--gold),var(--gold2));padding:2px 14px;border-radius:99px}
.ck-dn{display:block;font-size:48px;line-height:1.05;font-weight:800;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.22)}
.ck-my{font-size:14.5px;color:#f4edd6;font-weight:bold}
.ck-time{display:flex;flex-direction:column;justify-content:center;padding:14px 26px;min-width:200px}
.ck-t{font-size:clamp(34px,4.6vw,52px);line-height:1.1;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:1px;direction:ltr;unicode-bidi:isolate;white-space:nowrap}
.ck-t small{font-size:.5em;font-weight:700;color:var(--gold2);letter-spacing:0;margin-inline-start:3px}
.ck-bar{height:4px;border-radius:9px;background:rgba(255,255,255,.18);margin:9px 2px 7px;overflow:hidden}
.ck-bar i{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width 1s linear}
.ck-g{font-size:12.5px;color:#dff5e7;opacity:.92}
@media(max-width:700px){.d-clock{width:100%}.ck-date{min-width:96px;padding:12px 14px}.ck-dn{font-size:38px}.ck-time{flex:1;min-width:0;padding:12px 16px}}
.d-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.d-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 6px 6px 12px;border-radius:99px;font-size:12.5px;font-weight:bold;border:1px solid}
.d-chip.warn{background:#fff6dd;color:#8a6412;border-color:#f0dfa8}
.d-chip.bad{background:#fff0f1;color:#a32231;border-color:#f0c9ce}
.d-chip.good{background:#eaf8ee;color:#16683c;border-color:#bfe5cc}
.d-chip button{font:inherit;font-size:11.5px;font-weight:bold;border:0;border-radius:99px;padding:3px 10px;cursor:pointer;background:rgba(0,0,0,.08);color:inherit}
.d-chip button:hover{background:rgba(0,0,0,.16)}
.d-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.kt{position:relative;overflow:hidden;border-radius:18px;padding:13px 15px 12px;color:#fff;background:linear-gradient(135deg,var(--a),var(--b));box-shadow:0 10px 22px var(--s);min-height:104px;transition:.18s}
.kt:hover{transform:translateY(-3px)}
.kt .wm{position:absolute;left:-6px;bottom:-14px;font-size:70px;opacity:.16;line-height:1;pointer-events:none}
.kt .lb{font-size:12px;font-weight:bold;opacity:.92}
.kt .vl{font-size:30px;font-weight:bold;line-height:1.25;font-variant-numeric:tabular-nums}
.kt .sb{font-size:11.5px;opacity:.9}
.kt .sp{position:absolute;left:12px;top:12px;width:84px;height:30px;opacity:.95}
.kt .split{position:absolute;left:12px;top:15px;width:84px;height:8px;border-radius:9px;background:rgba(255,255,255,.28);overflow:hidden;display:flex}
.kt .split i{display:block;height:100%;background:#fff}
.d-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;margin-top:10px}
.dc{background:#fff;border:1px solid #e0ebe3;border-radius:18px;padding:14px 16px;box-shadow:0 8px 22px rgba(25,70,44,.06);min-width:0}
.dc h3{margin:0 0 10px;font-size:14px;display:flex;align-items:center;gap:8px;color:#1e3027}
.dc h3 i{font-style:normal;width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-size:14px;background:#e4f6e9}
.dc h3 em{font-style:normal;margin-right:auto;font-size:11.5px;font-weight:normal;color:#7a8e82}
.c12{grid-column:span 12}.c8{grid-column:span 8}.c7{grid-column:span 7}.c6{grid-column:span 6}.c5{grid-column:span 5}.c4{grid-column:span 4}
@media(max-width:1000px){.d-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.c8,.c7,.c6,.c5,.c4{grid-column:span 12}}
@media(max-width:480px){.d-hero{padding:16px}.kt .vl{font-size:25px}}
/* نمودار خطی */
.lc{position:relative}
.lc svg{width:100%;height:170px;display:block;overflow:visible}
.lc .gl{stroke:#e5eee8;stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.lc .ln{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 1.3s ease forwards}
.lc .ln.b{animation-delay:.2s}
@keyframes draw{to{stroke-dashoffset:0}}
.lc .hv{fill:transparent}
.lc .hv:hover{fill:rgba(22,131,75,.06)}
.lx{display:flex;margin-top:4px}
.lx span{flex:1;text-align:center;font-size:10px;color:#8a9c90}
.lx span.t{color:#16834b;font-weight:bold}
.lg{display:flex;gap:14px;font-size:12px;color:#62756a;margin-bottom:4px;flex-wrap:wrap}
.lg span:before{content:"";display:inline-block;width:18px;height:4px;border-radius:4px;margin-left:6px;vertical-align:2px;background:var(--c)}
/* دونات */
.dn{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}
.dn .rg{position:relative;width:138px;height:138px;flex:0 0 138px}
.dn svg{width:100%;height:100%;transform:rotate(-90deg)}
.dn circle{fill:none;stroke-width:15;transition:stroke-dasharray 1.1s cubic-bezier(.2,.8,.2,1)}
.dn .ct{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.dn .ct b{font-size:28px;line-height:1.1;color:#16683c;font-variant-numeric:tabular-nums}
.dn .ct span{font-size:11px;color:#7a8e82}
.dn ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:13px}
.dn li{display:flex;align-items:center;gap:8px}
.dn li:before{content:"";width:11px;height:11px;border-radius:4px;background:var(--c)}
.dn li b{margin-right:auto;padding-right:14px;font-variant-numeric:tabular-nums}
/* گیج خزانه */
.gg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
@media(max-width:560px){.gg{grid-template-columns:repeat(2,minmax(0,1fr))}}
.g1{border:1px solid #e3eee7;border-radius:15px;padding:10px 8px 9px;text-align:center;background:linear-gradient(160deg,#fbfefc,#f1f9f4)}
.g1 .r{position:relative;width:78px;height:78px;margin:0 auto 4px}
.g1 svg{width:100%;height:100%;transform:rotate(-90deg)}
.g1 circle{fill:none;stroke-width:9;stroke-linecap:round}
.g1 .trk{stroke:#e3ede7}
.g1 .vv{stroke-dasharray:0 999;transition:stroke-dasharray 1s cubic-bezier(.2,.8,.2,1)}
.g1 .r b{position:absolute;inset:0;display:grid;place-items:center;font-size:17px;color:#1e3027;font-variant-numeric:tabular-nums}
.g1 .n{font-size:12px;font-weight:bold;color:#415a4a}
.g1 .f{font-size:10.5px;color:#8a9c90}
/* تراز */
.lr{display:grid;gap:8px}
.lrow{display:grid;grid-template-columns:92px 1fr auto;gap:10px;align-items:center;font-size:12.5px}
.lrow .nm{font-weight:bold;color:#1e3027;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow .tr{display:grid;gap:3px}
.lrow .tr i{display:block;height:7px;border-radius:9px;width:0;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.lrow .tr i.a{background:linear-gradient(90deg,#4fc489,#16834b)}
.lrow .tr i.p{background:linear-gradient(90deg,#f0d28a,#c9a24a)}
.cp{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:bold;white-space:nowrap}
.cp.ok{background:#e4f6e9;color:#11743e}.cp.adj{background:#fff3d2;color:#865e0b}.cp.rec{background:#e8f0ff;color:#2457a7}
.lk{display:flex;gap:12px;font-size:11.5px;color:#62756a;margin-bottom:8px}
.lk span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-left:5px;background:var(--c)}
/* باجه‌ها */
.bl{display:grid;gap:7px}
.br{display:grid;grid-template-columns:22px 92px 1fr 40px;gap:8px;align-items:center;font-size:12.5px}
.br .rk{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:bold;background:#e4f6e9;color:#16683c}
.br .rk.g{background:linear-gradient(135deg,#e8cd8f,#c9a24a);color:#3b2c06}
.br .nm{font-weight:bold;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1e3027}
.br .st{display:flex;height:9px;border-radius:9px;background:#e6efe9;overflow:hidden}
.br .st i{display:block;height:100%;width:0;transition:width 1s cubic-bezier(.2,.8,.2,1)}
.br .st i.c{background:linear-gradient(90deg,#4fc489,#16834b)}.br .st i.g2{background:linear-gradient(90deg,#f0d28a,#c9a24a)}
.br b{text-align:left;font-variant-numeric:tabular-nums;color:#16683c}
/* فید */
.fd{display:grid;max-height:300px;overflow:auto;scrollbar-width:thin;scrollbar-color:#b5d4bf transparent}
.fi{display:flex;gap:10px;padding:8px 0;border-bottom:1px dashed #e0ece4;align-items:center}
.fi:last-child{border-bottom:0}
.fi .dt{width:30px;height:30px;flex:0 0 30px;border-radius:10px;display:grid;place-items:center;font-size:14px;background:#e4f6e9}
.fi.dl .dt{background:#fff3d2}.fi.in .dt{background:#e8f0ff}.fi.out .dt{background:#ffe9ec}
.fi .tx{flex:1;min-width:0;font-size:12.5px;line-height:1.6;color:#2b4034}
.fi .tm{font-size:11px;color:#8a9c90;white-space:nowrap}
.d-empty{padding:18px 8px;text-align:center;color:#8a9c90;font-size:13px}
.lrow .tk{height:7px;border-radius:9px;background:#e6efe9;overflow:hidden}
@media(max-width:600px){.kt .sp,.kt .split{top:auto;bottom:10px;left:10px;width:56px;height:20px}.kt .split{height:7px}.kt{padding:12px 12px 10px}.kt .sb{font-size:10.5px}}
@media(max-width:700px){header{flex-wrap:wrap!important}.hbtns{flex-wrap:wrap}.hbtns .bt{display:none}.hbtns .btn{padding:7px 11px}}

/* ================= بخش‌های مدیریتی: هشدار / تاریخچه / جستجو / گزارش ================= */
.nav-sep{height:1px;margin:5px 8px;background:linear-gradient(90deg,transparent,#cfe0d5,transparent)}
.nav-cap{font-size:10.5px;color:#8a9c90;padding:2px 12px 0;letter-spacing:.3px}
.module-btn{position:relative}
.nb{background:#e0455a;color:#fff;border-radius:99px;min-width:19px;height:19px;font-size:11px;display:grid;place-items:center;padding:0 5px;font-weight:bold;box-shadow:0 0 0 2px #fff}
.nb[hidden]{display:none}
@media(max-width:860px){
  .nav-sep,.nav-cap{display:none}
  .module-nav{overflow-x:auto;scrollbar-width:none;justify-content:flex-start}
  .module-nav::-webkit-scrollbar{display:none}
  .module-btn{flex:0 0 auto;min-width:70px}
  .nb{position:absolute;top:1px;left:50%;margin-left:6px;min-width:17px;height:17px;font-size:10px}
}
.m-head h2{margin:0 0 4px}
.m-head p{margin:0 0 12px;color:#62756a;font-size:13px}
.m-bar{display:flex;flex-wrap:wrap;gap:9px;align-items:flex-end}
.m-bar>div{min-width:130px}
.m-bar .grow{flex:1;min-width:200px}
.m-bar label{display:block}
.m-box{background:#fff;border:1px solid #e0ebe3;border-radius:18px;padding:14px 16px;box-shadow:0 8px 22px rgba(25,70,44,.06);margin-top:10px}
.m-box h3{margin:0 0 10px;font-size:14px;display:flex;align-items:center;gap:8px;color:#1e3027}
.m-box h3 em{font-style:normal;margin-right:auto;font-size:11.5px;font-weight:normal;color:#7a8e82}
.m-count{margin:10px 2px 6px;font-size:13px;color:#62756a}
.m-count b{color:#16683c}
.m-more{display:block;margin:10px auto 0}
.pz-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.pz{font:inherit;font-size:12.5px;font-weight:bold;cursor:pointer;border:1px solid #d3e3d9;background:#f4faf6;color:#2b4a39;border-radius:99px;padding:6px 14px;transition:.15s}
.pz:hover{background:#e4f6e9}
.pz.on{background:linear-gradient(135deg,#16834b,#27a868);color:#fff;border-color:transparent}
/* chip نوع رویداد */
.tp{display:inline-block;padding:2px 10px;border-radius:99px;font-size:11.5px;font-weight:bold;white-space:nowrap}
.t-reg{background:#e4f6e9;color:#11743e}.t-dl{background:#d9f3ef;color:#0d6b61}.t-undl{background:#fff3d2;color:#865e0b}
.t-edit{background:#e8f0ff;color:#2457a7}.t-del,.t-sdel{background:#ffe9ec;color:#a32231}
.t-in{background:#e8f0ff;color:#2457a7}.t-out{background:#ffefdc;color:#9a5410}.t-open{background:#f1e9ff;color:#6a3fb0}
.t-ledger{background:#fff3d2;color:#865e0b}.t-cards{background:#e6ecff;color:#3347a8}.t-booth{background:#eef0f3;color:#4b5563}.t-sys{background:#eef0f3;color:#4b5563}
.cp.bad{background:#ffe9ec;color:#a32231}
.hs-tbl td{vertical-align:top;font-size:13px}
.hs-tbl td.tx{min-width:260px;line-height:1.8}
.hs-tbl td.dt{white-space:nowrap;color:#62756a;font-size:12px}
.hs-leg{opacity:.8}
/* هشدارها */
.al-list{display:grid;gap:8px;margin-top:6px}
.al-row{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:15px;border:1px solid}
.al-row .ic{font-size:22px;flex:0 0 auto}
.al-row .tt{flex:1;min-width:0}
.al-row .tt b{display:block;font-size:14px}
.al-row .tt span{font-size:12.5px;opacity:.85}
.al-row.bad{background:#fff0f1;color:#a32231;border-color:#f0c9ce}
.al-row.warn{background:#fff6dd;color:#8a6412;border-color:#f0dfa8}
.al-row.good{background:#eaf8ee;color:#16683c;border-color:#bfe5cc}
.al-row button{font:inherit;font-size:12.5px;font-weight:bold;border:0;border-radius:10px;padding:7px 14px;cursor:pointer;background:rgba(0,0,0,.08);color:inherit;white-space:nowrap}
.al-row button:hover{background:rgba(0,0,0,.15)}
.al-set{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px}
.al-set>div{flex:1;min-width:210px}
/* گزارش */
.rp-bars{display:flex;align-items:flex-end;gap:3px;height:150px;border-bottom:1px solid #dfeae3;padding-top:8px;background:repeating-linear-gradient(to top,transparent 0,transparent 36px,#eef4f0 36px,#eef4f0 37px)}
.rp-d{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:2px;height:100%;min-width:0}
.rp-d i{display:block;width:44%;max-width:14px;border-radius:5px 5px 1px 1px;min-height:2px}
.rp-d i.a{background:linear-gradient(#4fc489,#16834b)}.rp-d i.b{background:linear-gradient(#f0d28a,#c9a24a)}
.rp-x{display:flex;gap:3px;margin-top:4px}
.rp-x span{flex:1;text-align:center;font-size:9.5px;color:#8a9c90;overflow:hidden;white-space:nowrap}
.rp-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
@media(max-width:900px){.rp-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rp-tbl td,.rp-tbl th{white-space:nowrap}
.rp-tbl td.n{font-variant-numeric:tabular-nums;text-align:center}
.rp-tbl tr.tot td{font-weight:bold;background:#f1f9f4}
.sr-big{font-size:16px!important;min-height:48px!important;padding:10px 16px!important}
.sr-sub{margin:14px 2px 6px;font-size:13px;font-weight:bold;color:#415a4a}
.module-panel .module-table{overflow:auto;border-radius:12px}


#btnAutoBackup{display:inline-flex;align-items:center;gap:6px}
.ab-dot{width:9px;height:9px;border-radius:50%;background:#8a93a3;flex:none}
#btnAutoBackup[data-s="ok"] .ab-dot{background:#2fc46e;box-shadow:0 0 0 3px rgba(47,196,110,.28)}
#btnAutoBackup[data-s="warn"] .ab-dot{background:#f0b429;box-shadow:0 0 0 3px rgba(240,180,41,.3)}
#btnAutoBackup[data-s="bad"] .ab-dot{background:#e5484d;box-shadow:0 0 0 3px rgba(229,72,77,.3)}
#btnAutoBackup[data-s="busy"] .ab-dot{background:#4c8bf5;animation:abp 1s ease-in-out infinite}
@keyframes abp{50%{opacity:.3}}
#dlgAuto{width:min(94vw,480px)}
#dlgKeys{width:min(94vw,520px)}#dlgGS{width:min(96vw,760px)}
.cs-box{margin-top:8px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card)}.cs-box button{display:block;width:100%;text-align:right;background:none;border:0;border-bottom:1px solid var(--line);padding:9px 12px;font:inherit;color:inherit;cursor:pointer}.cs-box button:last-child{border-bottom:0}.cs-box button.hl,.cs-box button:hover{background:var(--soft)}.cs-box small{opacity:.75;display:block}
#custInfo .msg{margin-top:8px}
#bulkBar{position:fixed;inset-inline:0;bottom:0;z-index:50;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 16px;background:var(--card);border-top:2px solid #16834b;box-shadow:0 -8px 30px rgba(0,0,0,.25);direction:rtl}#bulkBar input{width:320px;max-width:100%}
.bsl{display:inline-flex;align-items:center;gap:5px;font-size:13px;cursor:pointer}
#dailyBajeHist .bh{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:var(--soft)}#dailyBajeHist .bh h4{margin:0 0 6px}#dailyBajeHist .bh li{margin:3px 0}
.lo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:900px){.lo-grid{grid-template-columns:1fr}}
.lo-col h4{margin:0 0 6px;font-size:14px}.lo-i{display:flex;gap:6px;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line);font-size:13px}.lo-i b{white-space:nowrap}.lo-i small{opacity:.7;display:block}
.cmp{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 12px}.cmp>div{flex:1;min-width:150px;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.cmp .up{color:#16834b}.cmp .dn{color:#c2410c}
.kr{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.kr .kn{flex:1;font-weight:600}.kr kbd{direction:ltr;unicode-bidi:isolate;min-width:110px;text-align:center;padding:3px 8px;border:1px solid var(--line);border-radius:7px;background:var(--soft);font-family:monospace;font-size:13px}.kr kbd.rec{border-color:#4c8bf5;color:#4c8bf5}
.ab-box{background:rgba(127,127,127,.1);border:1px solid rgba(127,127,127,.28);border-radius:14px;padding:10px 14px;line-height:2;font-size:14px;margin:10px 0}
.ab-box .st{font-weight:bold}
.ab-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0;align-items:center}
.ab-row label{font-size:13.5px;display:flex;align-items:center;gap:6px}
.ab-row select{padding:5px 8px;border-radius:9px;font:inherit;width:auto}
.ab-row input[type=checkbox]{width:auto}

#printArea{display:none}
.dr{background:#fff;color:#16231c;border:1px solid #d9e4dc;border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.8}
.dr h2{margin:0 0 2px;font-size:19px;color:#0d5b36}
.dr h2:before{display:none}
.dr h3{margin:16px 0 6px;font-size:14px;border-bottom:2px solid #16834b;padding-bottom:3px;color:#16231c}
.dr .sub{color:#5b6b61;font-size:12.5px}
.dr-k{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.dr-k div{flex:1;min-width:104px;border:1px solid #cfdcd3;border-radius:10px;padding:6px 10px;text-align:center;font-size:12px}
.dr-k b{display:block;font-size:21px;color:#0d5b36}
.dr-t{width:100%;border-collapse:collapse;font-size:12.5px;margin:4px 0}
.dr-t th{background:#eef5f0;font-weight:bold}
.dr-t th,.dr-t td{border:1px solid #c9d6cd;padding:4px 7px;text-align:right}
.dr-t td.n{text-align:center;font-variant-numeric:tabular-nums}
.dr .none{color:#6b7a70;padding:3px 0}
.dr ul{margin:4px 0;padding-right:20px}
.dr-sig{display:flex;gap:36px;margin-top:26px}
.dr-sig div{flex:1;border-top:1px solid #555;padding-top:4px;text-align:center;font-size:12px}
#dlgDay{width:min(96vw,880px);max-height:92vh;overflow:auto}
#dlgDay .dr-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
#dlgDay .dr-bar label{display:flex;align-items:center;gap:6px;font-size:13.5px}
#dlgDay .dr-bar input{width:128px}
#dlgDay .dr-bar .grow{flex:1}
#dlgBkPw{width:min(94vw,440px)}
.summary-card .cv{display:block;font-size:12px;opacity:.85;margin-top:2px;font-style:normal}
.summary-card .cv.w{color:#d9534f;font-weight:bold;opacity:1}
@media print{
  html,body{background:#fff!important;color:#000!important}
  body>*:not(#printArea){display:none!important}
  #printArea{display:block!important;direction:rtl;font-size:12px;line-height:1.7;color:#000}
  #printArea .dr{border:0;padding:0;border-radius:0}
  #printArea .dr-k div{border-color:#777}
  #printArea .dr-t th,#printArea .dr-t td{border-color:#555}
  #printArea .dr-t th{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #printArea h3{break-after:avoid}
  #printArea .dr-t tr{break-inside:avoid}
  @page{size:A4;margin:12mm}
}

/* =====================================================================
   صفحه ورود — استایل «Red Noir» (مشکی + قرمز #ef233c، ستاره، شبکه، دکمه‌ی درخشان)
   آخرین بخش‌های فایل‌اند تا بر استایل‌های قبلی #lock غلبه کنند.
   ===================================================================== */
@property --lk-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
#lock{
  --red:#ef233c;
  color-scheme:dark;color:#fff;padding:18px;overflow:auto;container:login/inline-size;
  display:none;place-items:center;position:fixed;isolation:isolate;
  background:linear-gradient(to bottom,#1a0505,#000);
}
body.locked #lock{display:grid}

/* پس‌زمینه: ستاره‌ها، درخشش قرمز و شبکه */
#lock .lk-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
#lock .lk-bg b{position:absolute;display:block}
#lock .lk-bg .s1,#lock .lk-bg .s2{top:0;left:0;background:transparent;border-radius:50%}
#lock .lk-bg .s1{width:1px;height:1px;--st:663px 1941px #fff,308px 808px #fff,1333px 98px #fff,148px 1681px #fff,1097px 192px #fff,748px 1193px #fff,118px 1863px #fff,1039px 439px #fff,76px 176px #fff,888px 856px #fff,143px 492px #fff,185px 1128px #fff,869px 121px #fff,1693px 1158px #fff,253px 1940px #fff,457px 1291px #fff,1284px 1193px #fff,126px 1181px #fff,1199px 812px #fff,101px 1999px #fff,452px 95px #fff,1140px 1758px #fff,272px 593px #fff,858px 295px #fff,1107px 241px #fff,1169px 631px #fff,1147px 1671px #fff,1396px 370px #fff,211px 1191px #fff,1169px 1308px #fff,384px 762px #fff,199px 1121px #fff,1458px 128px #fff,1155px 122px #fff,1267px 421px #fff,1016px 1393px #fff,1088px 875px #fff,1591px 643px #fff,953px 1199px #fff,1891px 928px #fff,740px 613px #fff,508px 1626px #fff,368px 1431px #fff,1597px 499px #fff,167px 1176px #fff,614px 1075px #fff,1013px 1792px #fff,703px 1493px #fff,919px 589px #fff,1247px 149px #fff,241px 1048px #fff,856px 337px #fff,1550px 700px #fff,311px 1911px #fff,1001px 863px #fff,80px 1970px #fff,1368px 158px #fff,1565px 1142px #fff,1173px 1616px #fff,1792px 1675px #fff,642px 696px #fff,1423px 717px #fff,1217px 1017px #fff,1187px 1632px #fff,934px 140px #fff,1720px 191px #fff,552px 970px #fff,1427px 1360px #fff,133px 124px #fff,1497px 1436px #fff,634px 1325px #fff,1183px 1395px #fff,1683px 912px #fff,582px 1467px #fff,790px 1816px #fff,1369px 710px #fff,46px 1926px #fff,945px 727px #fff,344px 1251px #fff,239px 1011px #fff,120px 446px #fff,1573px 588px #fff,264px 1512px #fff,507px 814px #fff,800px 1877px #fff,1784px 1016px #fff,165px 340px #fff,919px 822px #fff,1125px 569px #fff,1809px 280px #fff;box-shadow:var(--st);animation:lkStar 50s linear infinite}
#lock .lk-bg .s2{width:2px;height:2px;--st:1677px 881px #fff,1769px 1126px #fff,570px 1446px #fff,850px 734px #fff,1398px 1810px #fff,779px 1961px #fff,472px 309px #fff,169px 360px #fff,309px 475px #fff,1348px 477px #fff,24px 993px #fff,1702px 1206px #fff,373px 538px #fff,577px 8px #fff,298px 858px #fff,1094px 756px #fff,1248px 1159px #fff,652px 1951px #fff,257px 1414px #fff,1759px 1055px #fff,1264px 1341px #fff,1384px 1515px #fff,110px 935px #fff,1842px 1783px #fff,1597px 1949px #fff,1791px 1393px #fff,1634px 1145px #fff,803px 815px #fff,817px 807px #fff,212px 986px #fff,1299px 820px #fff,127px 390px #fff,137px 427px #fff,902px 332px #fff,225px 696px #fff,1230px 107px #fff,209px 0px #fff,1160px 309px #fff,1098px 207px #fff,744px 1256px #fff,52px 144px #fff,1790px 425px #fff,1257px 770px #fff,304px 1299px #fff,516px 1956px #fff;box-shadow:var(--st);animation:lkStar 80s linear infinite;opacity:.8}
#lock .lk-bg .s1::after,#lock .lk-bg .s2::after{content:"";position:absolute;top:2000px;left:0;width:inherit;height:inherit;box-shadow:var(--st);border-radius:50%}
#lock .lk-bg .glow{top:50%;left:50%;width:800px;height:800px;max-width:140vw;transform:translate(-50%,-50%);border-radius:50%;background:rgba(220,38,38,.07);filter:blur(120px)}
#lock .lk-bg .grid{inset:0;background:
  linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:40px 40px;
  -webkit-mask-image:radial-gradient(circle at center,#000 40%,transparent 80%);mask-image:radial-gradient(circle at center,#000 40%,transparent 80%)}
@keyframes lkStar{from{transform:translateY(0)}to{transform:translateY(-2000px)}}
#lock.has-bg .lk-bg{display:none}

/* کارت */
#lock .lockcard{
  position:relative;z-index:1;width:100%;max-width:420px;margin:auto;padding:40px 36px;border-radius:20px;overflow:visible;
  background:linear-gradient(to bottom,rgba(39,39,42,.5),rgba(0,0,0,.72));
  border:1px solid rgba(255,255,255,.1);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 60px rgba(239,35,60,.07);
  display:flex;flex-direction:column;align-items:stretch;text-align:right;
  animation:lkIn .7s cubic-bezier(.2,.8,.2,1) both;
}
#lock .lockcard::before{display:none}
@keyframes lkIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

#lock .lock-logo{
  width:56px;height:56px;box-sizing:border-box;padding:6px;margin:0 0 1.1rem;border-radius:50%;object-fit:contain;background:#fff;
  box-shadow:0 0 0 1px rgba(255,255,255,.2),0 8px 28px rgba(239,35,60,.3);
}
/* نشان «خوش آمدید» با نقطه‌ی چشمک‌زن */
#lock .lk-eyebrow{
  align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .9rem;padding:.35rem .9rem;border-radius:999px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-size:.78rem;font-weight:600;color:#ffd9de;
}
#lock .lk-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(248,113,113,.7);animation:lkPing 1.8s ease-out infinite}
@keyframes lkPing{0%{box-shadow:0 0 0 0 rgba(248,113,113,.7)}80%,100%{box-shadow:0 0 0 9px rgba(248,113,113,0)}}
#lock .lockcard h2{
  display:block;margin:0 0 .4rem;font-size:1.7rem;font-weight:800;line-height:1.5;letter-spacing:-.01em;
  background:linear-gradient(to bottom,#fff 55%,rgba(255,255,255,.45));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
}
#lock .lockcard .hint{margin:0 0 1.4rem;font-size:.95rem;line-height:1.7;color:#a1a1aa}
#lock .lockcard .hint:empty{display:none}

#lock .lockcard .field{width:100%;margin:0 0 1rem;text-align:right}
#lock .sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

#lock .lockcard input{
  width:100%;height:auto;min-height:52px;padding:.8rem 1.4rem;border-radius:999px;
  border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#fff;font-size:1rem;
  box-shadow:none;direction:ltr;text-align:right;transition:border-color .2s,box-shadow .2s,background .2s;
}
#lock .lockcard input:placeholder-shown{direction:rtl}
#lock .lockcard input::placeholder{color:#71717a}
#lock .lockcard input:hover{border-color:rgba(255,255,255,.22)}
#lock .lockcard input:focus{border-color:var(--red);background:rgba(255,255,255,.07);box-shadow:0 0 0 3px rgba(239,35,60,.2),0 0 24px rgba(239,35,60,.15)}
#lock input:-webkit-autofill{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 40px #1b0b0e inset}

#lock .pw-wrap{position:relative}
#lock .pw-wrap input{padding-left:84px}
#lock .pw-toggle{
  position:absolute;left:8px;top:50%;transform:translateY(-50%);padding:7px 14px;border:1px solid rgba(255,255,255,.1);border-radius:999px;
  background:rgba(255,255,255,.06);color:#d4d4d8;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s;
}
#lock .pw-toggle:hover{background:rgba(239,35,60,.18);border-color:rgba(239,35,60,.5);color:#fff}

#lock #lkMsg{width:100%;min-height:0}
#lock #lkMsg .msg{
  margin:0 0 1rem;padding:.65rem .95rem;border-radius:16px;font-size:.85rem;line-height:1.7;text-align:right;
  background:rgba(239,35,60,.12);border:1px solid rgba(239,35,60,.4);color:#ffb4bc;
}

#lock .lk-foot{order:0;margin:-.2rem 0 1.1rem;text-align:left;font-size:.9rem}
#lock .lockcard a{color:#ff5a6e;font-weight:600;text-decoration:none;cursor:pointer}
#lock .lockcard a:hover{color:#fff;text-decoration:underline}
#lock .lk-sep{display:none}

/* دکمه‌ی درخشان با مرز قرمزِ چرخان */
#lock .lockcard .btn{
  --lk-angle:0deg;position:relative;overflow:hidden;isolation:isolate;width:100%;height:auto;min-height:54px;margin:0;padding:.9rem 2rem;
  border-radius:999px;border:2px solid transparent;color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;
  background:linear-gradient(#000,#000) padding-box,
    conic-gradient(from var(--lk-angle),transparent 0%,#ef233c 5%,#ef233c 15%,#ef233c 30%,transparent 40%,transparent 100%) border-box;
  box-shadow:0 0 30px rgba(239,35,60,.18);filter:none;transform:none;
  animation:lkSpin 2.5s linear infinite;transition:box-shadow .25s,transform .15s;
}
#lock .lockcard .btn::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,#fff .5px,transparent 0);background-size:4px 4px;opacity:.1}
#lock .lockcard .btn::after{content:"\2190";display:inline-block;margin-right:.6rem;transition:transform .25s}
#lock .lockcard .btn:hover{box-shadow:0 0 44px rgba(239,35,60,.4);transform:none}
#lock .lockcard .btn:hover::after{transform:translateX(-5px)}
#lock .lockcard .btn:active{transform:scale(.98)}
#lock .lockcard .btn:disabled{opacity:.6;cursor:wait}
@keyframes lkSpin{from{--lk-angle:0deg}to{--lk-angle:360deg}}

#lock .lockcard .by{width:100%;margin-top:1.4rem;padding:1rem 0 0;border:0;border-top:1px solid rgba(255,255,255,.08);font-size:.75rem;line-height:1.9;color:#71717a;text-align:center}
#lock .lockcard .by a{color:#a1a1aa;font-weight:400}
#lock .lockcard .by a:hover{color:#fff}

#lock :focus-visible{outline:2px solid var(--red);outline-offset:2px}
#lock input:focus-visible{outline:none}

@container login (max-width:480px){
  #lock .lockcard{padding:28px 20px;border-radius:18px}
  #lock .lockcard h2{font-size:1.45rem}
}
@media (prefers-reduced-motion:reduce){
  #lock .lockcard,#lock .lk-bg .s1,#lock .lk-bg .s2,#lock .lockcard .btn,#lock .lk-eyebrow::before{animation:none!important}
}

/* ---------- لوگوی پست بانک (دایره‌ای) کنار عنوان سامانه ---------- */
.brand-logo{
  width:52px;height:52px;flex:0 0 52px;
  box-sizing:border-box;padding:6px;           /* حاشیه تا لوگو در دایره بریده نشود */
  border-radius:50%;object-fit:contain;
  background:#fff;
  box-shadow:0 0 0 2px rgba(255,255,255,.2),0 0 0 5px rgba(99,102,241,.25),0 8px 24px rgba(0,0,0,.35);
}
@media (max-width:860px){.brand-logo{width:44px;height:44px;flex-basis:44px;padding:5px}}

/* دکمه افزودن دریافت‌کننده کنار لیست */
.recip-row{display:flex;gap:8px;align-items:stretch}
.recip-row select{flex:1;min-width:0}
.recip-row .btn{flex:none;white-space:nowrap}

/* ================= امکانات جدید ================= */
.who{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:700;border:1px solid var(--line);color:var(--ink);white-space:nowrap}
.who:empty{display:none}
.chk{display:inline-flex;align-items:center;gap:6px;margin:0 0 0 12px;font-size:13px;font-weight:500;cursor:pointer}
.chk input{width:auto;height:auto}
.recip-row .btn{padding-inline:10px}
.u-actions{display:flex;gap:6px;flex-wrap:wrap}

/* اپراتور: عملیات حساس مخفی (در JS هم مسدود است) */
body.role-operator :is([data-booth-delete],[data-booth-edit],[data-daily-delete],[data-edit],[data-ledger-delete],[data-ledger-edit],[data-undo],[data-xdel],[data-recip-edit],[data-recip-del],#btnFullRestore,#btnRestore,#clearDailyEntries,#restoreOpeningStock,#editOpeningStock,#btnAcct,#btnUsers){display:none!important}

/* ---------- رسید تحویل (چاپ) ---------- */
@media print{
  #printArea .rcpt{border:1.5px solid #333;border-radius:8px;padding:12px 16px;margin:0;break-inside:avoid;font-size:12.5px;line-height:1.8;color:#000;background:#fff}
  #printArea .rcpt-h{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1.5px solid #333;padding-bottom:8px;margin-bottom:8px}
  #printArea .rcpt-lg{display:flex;align-items:center;gap:10px}
  #printArea .rcpt-lg img{width:44px;height:44px;border-radius:50%;object-fit:contain}
  #printArea .rcpt-lg b{font-size:15px}
  #printArea .rcpt-no{text-align:left;font-size:12px}
  #printArea .rcpt-k{margin:6px 0 8px;font-size:13px}
  #printArea .rcpt-t{width:100%;border-collapse:collapse;margin:6px 0}
  #printArea .rcpt-t th,#printArea .rcpt-t td{border:1px solid #555;padding:5px 8px;text-align:center}
  #printArea .rcpt-t th{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #printArea .rcpt-n{margin:6px 0;font-size:12px}
  #printArea .rcpt-sig{display:flex;gap:16px;margin-top:10px}
  #printArea .rcpt-sig div{flex:1;border:1px dashed #777;border-radius:6px;min-height:68px;padding:6px 8px;text-align:center;font-size:12px}
  #printArea .rcpt-f{margin-top:6px;text-align:left;font-size:11px;color:#555}
  #printArea .rcpt-cut{text-align:center;color:#777;font-size:11px;border-top:1px dashed #777;margin:5mm 0;padding-top:2px}
}

/* نشان کاربر در هدر: هم روی هدر سبز (حالت روشن) و هم تیره خوانا باشد */
.who{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35)}


/* ---------- عکس دلخواه پس‌زمینه‌ی صفحه ورود ---------- */
#lock.has-bg{
  background:
    linear-gradient(rgba(5,10,24,var(--lk-dim,.4)),rgba(5,10,24,var(--lk-dim,.4))),
    var(--lk-bg) center/cover no-repeat,#0a1428;
}
.lkbg-prev{margin-top:6px;height:84px;border-radius:12px;border:1px dashed var(--line,#3a4660);background:#0a1428 center/cover no-repeat;display:grid;place-items:center;color:#8d9bb8;font-size:13px;overflow:hidden}
.lkbg-prev.on{border-style:solid}
.lkbg-prev.on span{display:none}


/* ---------- پنجره‌ی یکپارچه‌ی بکاپ ---------- */
#dlgAuto [data-bk-pane][hidden]{display:none!important}
.bk-tabs{display:flex;gap:6px;margin:0 0 12px;padding:4px;border-radius:12px;background:rgba(127,127,127,.12)}
.bk-tabs button{flex:1;padding:8px 10px;border:0;border-radius:9px;background:none;color:inherit;font:inherit;font-size:13.5px;font-weight:bold;cursor:pointer;opacity:.7;transition:background .2s,opacity .2s}
.bk-tabs button:hover{opacity:1}
.bk-tabs button.on{background:rgba(127,127,127,.28);opacity:1}
.bk-more{margin-top:10px;border-top:1px dashed rgba(127,127,127,.35);padding-top:8px}
.bk-more summary{cursor:pointer;font-size:13px;opacity:.8}
.bk-danger{padding:10px 14px;border-radius:12px;background:rgba(229,72,77,.12);border:1px solid rgba(229,72,77,.4);line-height:1.9;font-size:14px}
.bk-danger p{margin:4px 0 0}


/* ---------- دو بخش: خزانه‌داری / تسهیلات + خرید دین ---------- */
.nav-grp{display:contents}.nav-grp[hidden]{display:none}
.sec-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:6px;border-radius:14px;background:rgba(127,127,127,.14)}
.sec-switch button{position:relative;padding:9px 6px;border:0;border-radius:11px;background:none;color:inherit;font:inherit;font-size:13px;font-weight:bold;cursor:pointer;opacity:.7;transition:background .2s,opacity .2s,box-shadow .2s}
.sec-switch button:hover{opacity:1}
.sec-switch button.on{opacity:1;background:linear-gradient(180deg,#f2394f,#c8182f);color:#fff;box-shadow:0 6px 18px rgba(239,35,60,.35)}
.sec-switch .nb{position:static;display:inline-block;vertical-align:middle;margin-inline-start:4px}
.debtbar{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px 18px;background:rgba(239,35,60,.16);color:#ffd0d6;border-bottom:1px solid rgba(239,35,60,.45);font-size:14px;font-weight:bold;text-align:center;cursor:pointer}
.debtbar[hidden]{display:none}
.debtbar button{font:inherit;font-size:12.5px;font-weight:bold;border:0;border-radius:99px;padding:4px 14px;cursor:pointer;background:#ef233c;color:#fff}
body.locked .debtbar{display:none}
.dp-alert{display:flex;align-items:center;gap:12px;padding:11px 14px;margin:0 0 10px;border-radius:14px;border:1px solid;line-height:1.8}
.dp-alert.bad{background:rgba(239,35,60,.13);border-color:rgba(239,35,60,.5);color:#ffb3bd}
.dp-alert.warn{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.45);color:#fcd34d}
.dp-alert .ic{font-size:20px}
.dp-alert b{display:block}
.dp-alert span{font-size:13px;opacity:.9}
#dpBody tr.dp-bad{background:rgba(239,35,60,.10)!important}
#dpBody tr.dp-warn{background:rgba(251,191,36,.09)!important}
#dpBody tr.dp-done td{opacity:.62}
#dpBody .num-cell{direction:ltr;unicode-bidi:isolate;text-align:right;font-variant-numeric:tabular-nums}
#module-debt form .grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}


/* ---------- فرم خرید دین: صاحب قرارداد + ردیف‌های چک ---------- */
.dp-set{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:8px 12px;border-radius:12px;background:rgba(127,127,127,.1);font-size:14px}
.dp-set input{width:64px!important;min-width:0;text-align:center;padding:6px 8px}
.dp-set small{opacity:.7}
.dp-owner{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.dp-rows-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:16px 0 6px}
.dp-row{margin:0 0 8px;padding:10px 12px;border-radius:14px;border:1px solid rgba(127,127,127,.28);background:rgba(127,127,127,.06)}
.dp-rg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr auto;gap:10px;align-items:end}
.dp-rb{display:flex;gap:6px;align-items:center}
.dp-dbtn.on{border-color:#ef233c!important;color:#ff7a8a!important}
.dp-drawer{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(127,127,127,.35)}
.dp-drawer[hidden]{display:none}
.dp-total{font-weight:bold;font-size:14px;opacity:.9}
.dp-nid{opacity:.7;font-size:12px;direction:ltr;unicode-bidi:isolate}
.dp-same{opacity:.45}
.dp-gh td{background:rgba(239,35,60,.10)!important;padding:9px 12px!important;border-top:2px solid rgba(239,35,60,.35)}
.dp-gm{margin-inline-start:8px;font-size:13px;opacity:.85}
.dp-sum{grid-template-columns:repeat(4,minmax(0,1fr))}
.dp-sum .summary-card b small{font-size:12px;opacity:.7}
@media(max-width:760px){.dp-owner,.dp-drawer{grid-template-columns:1fr}.dp-rg{grid-template-columns:1fr 1fr}.dp-rb{grid-column:1/-1}.dp-sum{grid-template-columns:1fr 1fr}}

/* ---------- داشبورد تسهیلات ---------- */
#ldRoot .d-hero{grid-template-columns:1fr}
.dc.c12{grid-column:span 12}
.ld-bars{display:flex;gap:5px;align-items:stretch;height:210px;direction:rtl;margin-top:6px}
.ld-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center}
.ld-val{height:16px;font-size:11px;opacity:.85}
.ld-bw{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid rgba(127,127,127,.35)}
.ld-bw i{display:block;width:70%;max-width:26px;border-radius:7px 7px 0 0;background:linear-gradient(to top,#5b6475,#9aa3b5);transition:height .6s cubic-bezier(.2,.8,.2,1)}
.ld-bw i.hot{background:linear-gradient(to top,#c8182f,#ff6b7d);box-shadow:0 0 14px rgba(239,35,60,.35)}
.ld-lb{height:20px;font-size:11px;opacity:.75;margin-top:4px}
.ld-top,.ld-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.ld-rk .ld-rt{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin-bottom:4px}
.ld-rk .ld-rt span{opacity:.75;font-size:12px}
.ld-rb{height:8px;border-radius:99px;background:rgba(127,127,127,.2);overflow:hidden}
.ld-rb i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#ef233c,#ff7a8a)}
.ld-it{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:12px;background:rgba(127,127,127,.08);border:1px solid rgba(127,127,127,.2)}
.ld-it div{display:flex;flex-direction:column;gap:2px;min-width:0}
.ld-it span:not(.cp){font-size:12.5px;opacity:.75}

/* ---------- صفحه ورود: دکمه‌ی چشم ---------- */
#lock .pw-wrap input{padding-left:54px}
#lock .pw-toggle{
  left:8px;width:38px;height:38px;padding:0;display:grid;place-items:center;border-radius:50%;
  font-size:0;line-height:0;
}
#lock .pw-toggle svg{display:block;width:20px;height:20px}

/* ---------- اطلاعات باجه‌ها ---------- */
.bz-stat{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.bz-stat span{padding:5px 12px;border-radius:99px;background:rgba(127,127,127,.14);font-size:13px;font-weight:bold}
.bz-stat span.ok{background:rgba(74,222,128,.16);color:#86efac}
.bz-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:12px}
.bz-card{padding:12px 14px;border-radius:16px;border:1px solid rgba(127,127,127,.28);background:rgba(127,127,127,.06)}
.bz-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.bz-head .bz-name{flex:1;font-weight:bold;min-width:0}
.bz-cnt{white-space:nowrap;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:bold;background:rgba(251,191,36,.16);color:#fcd34d}
.bz-cnt.ok{background:rgba(74,222,128,.16);color:#86efac}
.bz-users{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bz-u{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:12px;background:rgba(127,127,127,.08)}
.bz-u>b{font-size:12.5px;opacity:.8}
.bz-card input.bad{border-color:#ef233c!important;box-shadow:0 0 0 3px rgba(239,35,60,.25)!important}
.bz-card input.warn{border-color:#fbbf24!important}
.bz-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:46px 16px;border:2px dashed rgba(127,127,127,.35);border-radius:18px;text-align:center}
.bz-empty span{font-size:42px}
.bz-empty p{margin:0;opacity:.7}
@media(max-width:560px){.bz-list{grid-template-columns:1fr}.bz-users{grid-template-columns:1fr}}

/* ---------- نوار پایین موبایل: حباب مایع (Liquid Floating Bar) ---------- */
:root{--liq:#16834b}
.liq{display:none}
@media(max-width:860px){
  .module-nav{overflow-x:auto;overflow-y:hidden;--liq-h:44px}
  .liq{display:block;position:absolute;top:0;left:0;height:100%;width:100%;pointer-events:none;z-index:0;filter:url(#liqGoo)}
  .liq i{position:absolute;top:5px;height:var(--liq-h);width:var(--liq-h);border-radius:50%;background:var(--liq);box-shadow:0 0 18px color-mix(in srgb,var(--liq) 70%,transparent);will-change:left,width}
  .liq i.a{transition:left .38s cubic-bezier(.3,1.4,.5,1),width .38s cubic-bezier(.3,1.4,.5,1)}
  .liq i.b{transition:left .62s cubic-bezier(.25,.9,.3,1) .04s,width .62s cubic-bezier(.25,.9,.3,1) .04s}
  .module-nav.liq-on .module-btn{position:relative;z-index:1}
  .module-nav.liq-on .module-btn.on{background:none!important;box-shadow:none!important;border-color:transparent!important;color:inherit}
  .module-nav.liq-on .module-btn.on .ml{font-weight:bold;color:#fff}
  .module-nav.liq-on .module-btn .mi{transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
  .module-nav.liq-on .module-btn.on .mi{transform:translateY(-1px) scale(1.12)}
  .module-nav.liq-on .module-btn{border-color:transparent;background:none}
}
@media(prefers-reduced-motion:reduce){.liq i{transition:none!important}}

/* ---------- صفحه ورود: شبکه‌های اجتماعی ---------- */
.lk-social{display:flex;justify-content:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.lk-social a{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:99px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#d7dbe6;text-decoration:none;font-size:12.5px;direction:ltr;transition:.2s}
.lk-social a:hover,.lk-social a:focus-visible{transform:translateY(-2px);color:#fff;border-color:rgba(255,255,255,.4);outline:0}
.lk-social .tg:hover{background:#229ed9;border-color:#229ed9}
.lk-social .ig:hover{background:linear-gradient(45deg,#f9a03f,#e1306c,#8a3ab9);border-color:#e1306c}

/* ---------- شبکه کارتی دسته‌چک (Loop Grid) ---------- */
.lg-bar{display:grid;grid-template-columns:minmax(180px,2fr) 1fr 1fr 1fr 1fr auto auto;gap:8px;margin-bottom:10px;align-items:center}
.lg-count{margin:2px 2px 10px;font-size:13px;opacity:.75}
.lg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(max(210px,calc(25% - 12px)),1fr));gap:12px}
.lg-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;border:1px solid rgba(127,127,127,.28);background:rgba(127,127,127,.07);box-shadow:0 2px 10px rgba(0,0,0,.08);position:relative;min-width:0}
.lg-card:hover{border-color:rgba(127,127,127,.5)}
.lg-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.lg-code{font-size:22px;font-weight:bold;letter-spacing:.5px}
.lg-st{padding:3px 10px;border-radius:99px;font-size:12px;font-weight:bold;white-space:nowrap}
.lg-st.delivered{background:rgba(52,211,153,.18);color:#34d399}
.lg-st.pending{background:rgba(251,146,60,.18);color:#fb923c}
.lg-name{font-weight:bold;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg-kv{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:12.5px}
.lg-kv dt{opacity:.65}.lg-kv dd{margin:0;text-align:left;direction:ltr;unicode-bidi:plaintext}
.lg-kv dd.fa{direction:rtl;text-align:right}
.lg-act{display:flex;gap:6px;margin-top:auto;align-items:center}
.lg-act .btn{padding:6px 10px;font-size:12.5px;flex:1}
.lg-more{position:relative}
.lg-more>summary{list-style:none;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;border:1px solid rgba(127,127,127,.35);font-size:18px;line-height:1}
.lg-more>summary::-webkit-details-marker{display:none}
.lg-menu{position:absolute;bottom:40px;left:0;z-index:5;min-width:170px;display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:12px;background:#171a22;border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 30px rgba(0,0,0,.45)}
.lg-menu .btn{width:100%;text-align:right}
.lg-pager{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:16px}
.lg-pager button{min-width:38px;height:38px;padding:0 10px;border-radius:10px;border:1px solid rgba(127,127,127,.35);background:none;color:inherit;font:inherit;cursor:pointer}
.lg-pager button.on{background:var(--liq,#16834b);border-color:transparent;color:#fff;font-weight:bold}
.lg-pager button:disabled{opacity:.35;cursor:default}
.lg-empty{grid-column:1/-1;text-align:center;padding:40px 10px;opacity:.7}
.lg-ov{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:rgba(0,0,0,.6);padding:14px}
.lg-dlg{width:min(460px,100%);max-height:90vh;overflow:auto;padding:18px;border-radius:18px;background:#14161d;color:#e8eaf0;border:1px solid rgba(255,255,255,.15)}
.lg-dlg h3{margin:0 0 12px;display:flex;justify-content:space-between;align-items:center}
.lg-dlg .lg-kv{font-size:14px;gap:8px 14px}
@media(max-width:1000px){.lg-bar{grid-template-columns:1fr 1fr}.lg-bar #lgQ{grid-column:1/-1}}
@media(max-width:560px){.lg-grid{grid-template-columns:1fr}}

/* ---------- نوار پایین موبایل: اصلاح اندازه ---------- */
.sec-switch.sec-top{display:none}
@media(max-width:860px){
  .sec-switch.sec-top{display:grid;position:sticky;top:0;z-index:55;margin:0 0 4px;background:rgba(18,20,28,.92);backdrop-filter:blur(10px)}
  .module-nav{padding:4px 2px calc(4px + env(safe-area-inset-bottom));gap:0;--liq-h:38px;direction:ltr;touch-action:pan-x;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .module-btn{flex:0 0 20%!important;min-width:0!important;max-width:20%;padding:8px 2px 6px!important;gap:2px!important;direction:rtl;order:var(--o,0)}
  .module-btn .mi{font-size:19px!important;line-height:24px;height:24px;width:auto;flex:none!important}
  .module-btn .ml{font-size:10px!important}
  .liq i{top:5px!important}
}

/* ---------- هشدارهای خرید دین: گروه‌بندی بر اساس شخص (فشرده) ---------- */
#dpAlerts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;margin:0 0 10px}
.dp-ag{padding:10px 12px;border-radius:16px;border:1px solid rgba(251,191,36,.45);background:rgba(251,191,36,.12);min-width:0}
.dp-ag.bad{border-color:rgba(239,68,68,.45);background:rgba(239,68,68,.1)}
.dp-agh{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13.5px}
.dp-agm{margin-inline-start:auto;font-size:12px;opacity:.75}
.dp-agl{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.dp-chip{padding:2px 9px;border-radius:99px;font-size:11.5px;background:rgba(127,127,127,.16);white-space:nowrap}
.dp-chip.bad{background:rgba(239,68,68,.18);color:#dc2626;font-weight:bold}.dp-chip.warn{background:rgba(251,191,36,.25);color:#a35a05}
.dp-agmore{grid-column:1/-1;justify-self:start}
.bz-qa{display:inline-flex;gap:4px;margin-inline-start:8px;vertical-align:middle}
.bz-qa a,.bz-qa button{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:9px;border:0;background:rgba(127,127,127,.18);text-decoration:none;font-size:13px;cursor:pointer;padding:0}
.bz-qa a:hover,.bz-qa button:hover{background:rgba(37,99,235,.25)}
.bz-pend{padding:3px 10px;border-radius:99px;font-size:12px;font-weight:bold;white-space:nowrap;background:rgba(251,146,60,.18);color:#d97706}
.dp-month{margin:10px 0;border-radius:16px;border:1px solid rgba(127,127,127,.28);padding:8px 12px}
.dp-month>summary{cursor:pointer;font-weight:bold;padding:4px 0}
.dp-bar{display:flex;height:10px;border-radius:99px;background:rgba(127,127,127,.15);overflow:hidden}
.dp-bar i{display:block;height:100%}.dp-bar i.d{background:#16a34a}.dp-bar i.p{background:#f59e0b}
#bkBar{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:10px 14px 0;padding:10px 16px;border-radius:16px;background:#dc2626;color:#fff;font-weight:bold;font-size:14px;box-shadow:0 8px 22px rgba(220,38,38,.35)}
#bkBar[hidden]{display:none}
#bkBar .btn{background:#fff;color:#b91c1c;border-color:#fff}

/* ---------- حالت تمرکز ---------- */
body.focus-mode header,body.focus-mode .module-nav,body.focus-mode .sec-switch,body.focus-mode #warnbar,body.focus-mode #debtBar,body.focus-mode #bkBar,body.focus-mode footer,body.focus-mode .credit{display:none!important}
body.focus-mode .wrap{display:block;max-width:1100px;margin:0 auto;padding-bottom:40px}
body.focus-mode{padding-bottom:0!important}
#focusExit{position:fixed;top:12px;left:12px;z-index:120;opacity:.85}
#focusExit[hidden]{display:none}

/* ---------- ورود: ساختار دو پنل (در تم روشن فعال می‌شود) + محو شدن هنگام ورود ---------- */
.lk-side,.lk-features{display:none}
.lk-main{display:contents}
@keyframes lkOut{to{opacity:0;transform:scale(1.03);filter:blur(10px)}}
@keyframes appIn{from{opacity:0}to{opacity:1}}
@keyframes hdIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
body.unlocking #lock{display:grid!important;pointer-events:none;animation:lkOut .55s ease forwards}
body:not(.locked) .wrap{animation:appIn .7s ease backwards}
body:not(.locked) header{animation:hdIn .6s cubic-bezier(.2,.8,.2,1) backwards}
@media(prefers-reduced-motion:reduce){body.unlocking #lock{animation:none;display:none!important}body:not(.locked) .wrap,body:not(.locked) header{animation:none}}

/* ---------- پنل تنظیمات ---------- */
.st-head h2{margin:0}
.st-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 16px;padding:5px;border-radius:22px;background:rgba(127,127,127,.12);width:fit-content;max-width:100%;overflow-x:auto}
.st-tabs button{border:0;background:transparent;color:inherit;font:inherit;font-size:13.5px;padding:8px 16px;border-radius:999px;cursor:pointer;white-space:nowrap}
.st-tabs button.on{background:#0f1626;color:#fff;font-weight:bold}
.st-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px;align-items:start}
.st-card{padding:16px;border-radius:20px;border:1px solid rgba(127,127,127,.25);background:rgba(127,127,127,.05);min-width:0}
.st-card.wide{grid-column:1/-1}
.st-card h3{margin:0 0 10px;font-size:15px}.st-card h3 small{font-weight:400;opacity:.65;font-size:12px}
.st-card label{display:block;font-size:13px;margin:10px 0 5px}
.st-card select{width:100%}
.st-card input[type=range]{width:100%}
.st-prev{margin-top:10px;padding:10px 12px;border-radius:12px;background:rgba(127,127,127,.1);font-size:15px}
.st-seg{display:flex;gap:6px}.st-seg button{flex:1;padding:10px;border-radius:14px;border:1px solid rgba(127,127,127,.3);background:transparent;color:inherit;font:inherit;cursor:pointer}
.st-seg button.on{background:#0f1626;color:#fff;border-color:transparent;font-weight:bold}
.st-sw-row{display:flex;gap:10px;flex-wrap:wrap}
.st-dot{width:34px;height:34px;border-radius:50%;border:2px solid rgba(127,127,127,.3);background:var(--c);cursor:pointer;padding:0;transition:transform .2s}
.st-dot.sq{border-radius:10px}.st-dot:hover{transform:scale(1.1)}
.st-dot.on{outline:3px solid var(--c);outline-offset:2px;border-color:#fff}
.st-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 2px;border-bottom:1px dashed rgba(127,127,127,.2);cursor:pointer;margin:0!important}
.st-sec{margin:12px 0 2px;font-size:12px;opacity:.6;font-weight:bold}
.st-tg{cursor:pointer;display:inline-flex}
.st-sw{display:inline-block;width:42px;height:24px;border-radius:99px;background:rgba(127,127,127,.4);position:relative;transition:background .25s;flex:0 0 auto}
.st-sw i{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.3);transition:transform .25s cubic-bezier(.3,1.4,.5,1)}
.st-sw.on{background:var(--ac,#2563eb)}.st-sw.on i{transform:translateX(-18px)}
.st-big{margin:0;font-size:16px;font-weight:bold}
.st-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;grid-column:1/-1}
.st-tile{display:flex;align-items:center;gap:14px;text-align:right;padding:16px;border-radius:20px;border:1px solid rgba(127,127,127,.25);background:rgba(127,127,127,.05);color:inherit;font:inherit;cursor:pointer;transition:transform .25s,box-shadow .25s}
.st-tile:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.1)}
.st-tile b{display:block;font-size:14.5px}.st-tile small{display:block;opacity:.65;margin-top:3px;font-size:12px;line-height:1.6}
.st-ti{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(127,127,127,.14);font-size:22px;flex:0 0 46px}
body.no-anim *,body.no-anim *::before,body.no-anim *::after{animation:none!important;transition:none!important}
body.dense section{padding:12px}body.dense .btn{padding-block:6px}body.dense .module-nav .module-btn{padding-block:5px!important}
@media(max-width:860px){.st-tabs{width:100%}.st-grid{grid-template-columns:1fr}}
.bz-code{width:110px;text-align:center;font-weight:bold;direction:ltr;flex:0 0 auto}
.bz-ro input{background:transparent!important;border-color:transparent!important;cursor:default}
.bz-ro input:focus{box-shadow:none!important}
.bz-cpc{flex:0 0 auto;padding:6px 9px}
.bz-ro input::placeholder{opacity:.45}
.bz-ro input{background:transparent!important;border-color:transparent!important;cursor:default}
.bz-ro input:focus{box-shadow:none!important}
.bz-cpc{flex:0 0 auto;padding:6px 9px}

/* ثبت چک خرید دین با عکس */
dialog.dpi{width:min(1100px,96vw);max-height:94vh;padding:16px;overflow:auto}
.dpi-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:16px}
.dpi-tabs{display:flex;gap:6px;margin-bottom:12px}.dpi-tabs button{padding:8px 16px;border-radius:999px;border:1px solid rgba(127,127,127,.3);background:transparent;color:inherit;font:inherit;cursor:pointer}
.dpi-tabs button.on{background:#0f1626;color:#fff;border-color:transparent;font-weight:bold}
.dpi-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:14px;align-items:start}
.dpi-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px;font-size:13px}.dpi-bar input[type=file]{max-width:210px}
.dpi-box{height:min(60vh,520px);overflow:auto;border-radius:14px;border:1px dashed rgba(127,127,127,.4);display:grid;place-items:start center;background:rgba(127,127,127,.06)}
.dpi-box img{display:block;max-width:100%;transform-origin:center;margin:auto}
.dpi-empty{padding:40px 16px;opacity:.6;text-align:center;align-self:center}
.dpi-f label{display:block;margin:9px 0 4px;font-size:13px}.dpi-f input{width:100%}.dpi-f .btn{margin-top:12px;width:100%}
.dpi-note{font-size:12.5px;opacity:.75;line-height:1.9;margin-bottom:6px}.dpi-msg{margin-top:8px;font-size:13px;line-height:1.9}
#dpiTxt{width:100%;font-family:inherit;direction:ltr;text-align:left;margin:8px 0}
@media(max-width:860px){.dpi-grid{grid-template-columns:1fr}.dpi-box{height:42vh}}
.dp-imgok{align-self:center;font-size:18px;margin-inline-end:4px}
#dpDueBox{margin:0 0 12px;padding:12px 14px;border-radius:18px;border:1px solid #f3b4b4;background:#fff1f1}
.dpd-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;color:#a01818}.dpd-h small{opacity:.8}
.dpd-it{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 4px;border-top:1px dashed rgba(160,24,24,.25)}
.dpd-it.late .dpd-tx b:first-child{color:#a01818}.dpd-tx{min-width:0;line-height:1.9}
.dpd-bt{display:flex;gap:6px;flex-wrap:wrap}
dialog.dpd{width:min(760px,96vw)}

.dpi-f input.dpi-auto{background:#fff3b0!important;color:#222!important;border-color:#e0a800!important}

/* ===== نوار بالا: زنگوله + کاربر ===== */
.tb-wrap{position:relative;display:inline-flex;align-items:center;gap:8px;margin-inline-start:6px}
.tb-bell{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--tb-bd,#d9dee8);background:var(--tb-bg,#fff);color:var(--tb-fg,#1b2333);cursor:pointer;padding:0;font:inherit}
.tb-bell:hover{background:var(--tb-hv,#eef2f8)}
.tb-bell.has svg{animation:tbRing 2.6s ease-in-out 1}
.tb-cnt{position:absolute;top:-4px;inset-inline-end:-4px;min-width:20px;height:20px;border-radius:99px;background:#e0364f;color:#fff;font-size:11.5px;font-weight:700;display:grid;place-items:center;padding:0 5px;box-shadow:0 0 0 2px var(--tb-bg,#fff)}
.tb-dot{position:absolute;top:6px;inset-inline-end:8px;width:10px;height:10px;border-radius:50%;background:#e0364f;box-shadow:0 0 0 2px var(--tb-bg,#fff)}
.tb-cnt[hidden],.tb-dot[hidden]{display:none}
@keyframes tbRing{0%,100%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-12deg)}30%{transform:rotate(9deg)}40%{transform:rotate(-6deg)}50%{transform:rotate(0)}}
.tb-user{display:inline-flex;align-items:center;gap:8px;height:42px;padding:3px 10px 3px 6px;border-radius:99px;border:1px solid var(--tb-bd,#d9dee8);background:var(--tb-bg,#fff);color:var(--tb-fg,#1b2333);cursor:pointer;font:inherit}
.tb-user:hover{background:var(--tb-hv,#eef2f8)}
.tb-nm{display:flex;flex-direction:column;line-height:1.25;text-align:start}.tb-nm b{font-size:13px}.tb-nm small{font-size:11px;opacity:.7}
.tb-av{width:34px;height:34px;border-radius:50%;overflow:hidden;display:inline-grid;place-items:center;background:linear-gradient(135deg,#2f6fe0,#7a4de0);color:#fff;font-weight:800;flex:none}
.tb-av img{width:100%;height:100%;object-fit:cover;display:block}.tb-av.big{width:46px;height:46px;font-size:18px}
.tb-pan{position:fixed;top:70px;left:12px;z-index:9000;width:min(400px,calc(100vw - 24px));background:var(--tb-pn,#fff);color:var(--tb-fg,#1b2333);border:1px solid var(--tb-bd,#d9dee8);border-radius:16px;box-shadow:0 18px 50px rgba(15,23,42,.22);overflow:hidden;direction:rtl;text-align:right}
.tb-pan[hidden]{display:none}
.tb-h{display:flex;align-items:center;gap:8px;padding:14px 16px 8px}.tb-h b{font-size:16px}
.tb-n{background:#e0364f;color:#fff;border-radius:99px;font-size:11.5px;font-weight:700;min-width:20px;height:20px;display:grid;place-items:center;padding:0 6px}
.tb-ra{margin-inline-start:auto;border:0;background:none;color:var(--ac,#1f5fd6);font:inherit;font-size:12.5px;cursor:pointer;padding:4px}.tb-ra:disabled{opacity:.4;cursor:default}
.tb-tabs{display:flex;gap:4px;padding:0 12px 8px;border-bottom:1px solid var(--tb-bd,#e3e8f0);overflow-x:auto}
.tb-tabs button{border:0;background:none;color:inherit;font:inherit;font-size:13px;padding:6px 10px;border-radius:8px;cursor:pointer;white-space:nowrap;opacity:.75}
.tb-tabs button.on{background:var(--tb-hv,#eef2f8);opacity:1;font-weight:700}.tb-tabs em{font-style:normal;font-size:11px;opacity:.7;margin-inline-start:3px}
.tb-ls{max-height:min(60vh,430px);overflow-y:auto;padding:4px 6px}
.tb-gh{font-size:11.5px;opacity:.65;padding:10px 10px 4px;font-weight:700}
.tb-it{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:12px;position:relative}
.tb-it:hover{background:var(--tb-hv,#f3f6fb)}.tb-it.rd{opacity:.62}
.tb-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fff1d6;font-size:17px;flex:none}
.tb-it.bad .tb-ic{background:#fde4e8}.tb-it.good .tb-ic{background:#e2f5e8}
.tb-tx{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.tb-tx b{font-size:13.5px;line-height:1.7}.tb-tx small{font-size:12px;opacity:.72;line-height:1.7}
.tb-go{align-self:flex-start;margin-top:4px;border:1px solid var(--tb-bd,#d9dee8);background:var(--tb-bg,#fff);color:inherit;border-radius:8px;font:inherit;font-size:12px;padding:3px 12px;cursor:pointer}
.tb-go:hover{background:var(--ac,#1f5fd6);color:#fff;border-color:transparent}
.tb-un{width:9px;height:9px;border-radius:50%;background:#2f6fe0;flex:none;margin-top:8px}
.tb-em{text-align:center;padding:30px 10px;opacity:.7;line-height:2}
.tb-ft{display:flex;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--tb-bd,#e3e8f0)}
.tb-ft button{border:0;background:none;color:var(--ac,#1f5fd6);font:inherit;font-size:12.5px;cursor:pointer}
.tb-menu{width:240px}.tb-mh{display:flex;gap:10px;align-items:center;padding:14px 14px 10px}.tb-mh div{display:flex;flex-direction:column}.tb-mh small{opacity:.65;font-size:12px}
.tb-menu button{display:block;width:100%;text-align:right;border:0;background:none;color:inherit;font:inherit;font-size:13.5px;padding:10px 16px;cursor:pointer}
.tb-menu button:hover{background:var(--tb-hv,#f3f6fb)}.tb-menu hr{border:0;border-top:1px solid var(--tb-bd,#e3e8f0);margin:4px 0}.tb-dng{color:#c0233a!important}
.tb-bell:focus-visible,.tb-user:focus-visible,.tb-pan button:focus-visible{outline:2px solid var(--ac,#1f5fd6);outline-offset:2px}
html[data-theme="dark"]{--tb-bg:#182234;--tb-hv:#223049;--tb-bd:#2e3b55;--tb-fg:#e6ebf5;--tb-pn:#162033}
html[data-theme="dark"] .tb-ic{background:#3a2d12}html[data-theme="dark"] .tb-it.bad .tb-ic{background:#40181f}html[data-theme="dark"] .tb-it.good .tb-ic{background:#173323}
@media (max-width:760px){.tb-nm,.tb-user>svg{display:none}.tb-user{padding:3px}.tb-wrap{margin-inline-start:2px}
  .tb-pan{top:64px;left:12px;right:12px;width:auto}}
@media (prefers-reduced-motion:reduce){.tb-bell.has svg{animation:none}}
/* ===== چرخ‌دندهٔ تنظیمات پایین منو ===== */
@media (min-width:761px){.module-nav{min-height:calc(100vh - 24px)}#navSettings{margin-top:auto}}
.gear-btn .gear{transition:transform .6s ease}.gear-btn:hover .gear,.gear-btn.on .gear{transform:rotate(90deg)}
#navSettings .nav-sep{margin-bottom:6px}
@media (prefers-reduced-motion:reduce){.gear-btn .gear{transition:none}}

/* ---- فرم افزودن کاربر (مودال) ---- */
dialog.uadd{width:min(680px,96vw);padding:0;max-height:94vh;overflow:auto}
.uadd form{padding:22px 24px 18px}
.ua-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}
.ua-head h3{margin:0 0 4px;font-size:20px}.ua-head p{margin:0;color:var(--mut);font-size:13.5px}
.ua-x{background:transparent;border:1px solid var(--line);color:var(--mut);width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:15px;flex:none}
.ua-x:hover{color:var(--ink);border-color:var(--mut)}
.ua-top{display:flex;gap:16px;align-items:stretch;margin-bottom:14px}
.ua-photo{flex:none;width:112px;height:112px;border:2px dashed var(--line);border-radius:16px;display:grid;place-items:center;cursor:pointer;color:var(--mut);overflow:hidden;margin:0;background:rgba(127,127,127,.06);transition:.15s}
.ua-photo:hover,.ua-photo:focus-within{border-color:var(--pri2);color:var(--pri2)}
.ua-photo span{display:grid;place-items:center;gap:4px;width:100%;height:100%}
.ua-photo i{font-style:normal;font-size:26px}.ua-photo small{font-size:12px}
.ua-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ua-main{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}
.ua-h{color:var(--mut);margin-top:6px;font-size:12.5px}
.uadd label em{color:var(--bad);font-style:normal}
.ua-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.ua-chips{display:flex;gap:8px}
.ua-chips button{flex:1;padding:11px 10px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font:inherit;font-weight:700}
.ua-chips button.on{background:var(--pri);border-color:var(--pri);color:#fff}
.ua-info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(127,127,127,.05)}
.ua-info div{padding:10px 11px;border-radius:11px;border:1px solid var(--line);background:var(--card)}
.ua-info b{display:block;font-size:13.5px;margin-bottom:3px}.ua-info span{font-size:12.5px;color:var(--mut);line-height:1.7}
.ua-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.ua-foot small{color:var(--mut);font-size:12.5px}.ua-foot>div{display:flex;gap:10px;flex:none}
@media(max-width:600px){.ua-grid,.ua-info{grid-template-columns:1fr}.ua-top{flex-direction:column;align-items:center}.ua-main{width:100%}.ua-foot{flex-direction:column-reverse;align-items:stretch}.ua-foot>div{justify-content:stretch}.ua-foot .btn{flex:1}.uadd form{padding:18px 16px 14px}}

/* ---- دفترچه یادداشت ---- */
.nt-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.nt-card{padding:13px 15px;border-radius:16px;border:1px solid rgba(127,127,127,.28);background:rgba(127,127,127,.06)}
.nt-hd{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}.nt-hd b{font-size:16px}
.nt-tag{font-size:12px;padding:2px 10px;border-radius:99px;background:rgba(37,99,235,.15);color:var(--pri2);white-space:nowrap}
.nt-row{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:5px 0;border-top:1px dashed rgba(127,127,127,.25);font-size:14px}
.nt-row span:first-child{color:var(--mut);font-size:12.5px;flex:none}.nt-row span:last-child{display:flex;gap:6px;align-items:center;min-width:0;word-break:break-word;text-align:left}
.nt-row .cp{background:none;border:0;cursor:pointer;opacity:.6;padding:2px}.nt-row .cp:hover{opacity:1}
.nt-note{margin-top:6px;font-size:13.5px;color:var(--mut);white-space:pre-wrap}
.nt-act{display:flex;gap:6px;margin-top:10px}
.nt-extra{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:14px}.nt-eh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.nt-fr{display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px;margin-bottom:8px}
@media(max-width:600px){.nt-fr{grid-template-columns:1fr 1fr auto}}

/* چاپ دفترچه: متن بلند شکسته می‌شود و ردیف بین دو صفحه نمی‌افتد */
.ntp h2{text-align:center;margin:0 0 4px}.ntp-d{text-align:center;color:#444;font-size:11px;margin-bottom:8px}
.ntp table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11.5px}
.ntp th,.ntp td{border:1px solid #555;padding:4px 6px;vertical-align:top;overflow-wrap:anywhere;word-break:normal;white-space:normal;text-align:right;min-width:0;max-width:none}
.ntp th{background:#e3efe7!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.ntp td.mo{white-space:pre-wrap;word-break:break-word}
@media print{.ntp thead{display:table-header-group}.ntp tr{break-inside:avoid;page-break-inside:avoid}}
/* ---- فرم‌ها ---- */
.fm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.fm-card{padding:14px;border-radius:16px;border:1px solid rgba(127,127,127,.28);background:rgba(127,127,127,.06);display:flex;flex-direction:column;gap:6px}
.fm-card .ic{font-size:30px}.fm-card b{font-size:15px;word-break:break-word}.fm-card small{color:var(--mut)}
.fm-act{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.fm-t td{border:1px solid var(--line);padding:5px 8px;white-space:pre-wrap;min-width:60px}
dialog#dlgFmView::backdrop{background:rgba(0,0,0,.45)}

/* ---- پنل دسترسی کاربران ---- */
.ua-kind,.ua-scope,.ua-pm{margin-top:14px}
.ua-bl{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.ua-bl label{display:flex;gap:6px;align-items:center;margin:0;padding:6px 10px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-weight:400}
.ua-mx td,.ua-mx th{text-align:center;padding:6px 8px}.ua-mx td:first-child,.ua-mx th:first-child{text-align:right}.ua-mx input{width:auto;transform:scale(1.2)}
.ua-mx tr.off{opacity:.35}
.ua-act{display:flex;gap:8px;align-items:center;margin-top:12px}.ua-act input{width:auto}
.u-st{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:700}.u-st.on{background:rgba(22,131,75,.16);color:var(--ok,#16834b)}.u-st.off{background:rgba(200,40,40,.15);color:#c82828}
.u-actions{display:flex;gap:6px;flex-wrap:wrap}
.lg-t{width:100%;border-collapse:collapse;font-size:13px}.lg-t td,.lg-t th{border-bottom:1px solid var(--line);padding:5px 8px;text-align:right}

/* پیشنهادات و انتقادات */
.fb-form{display:grid;gap:8px;max-width:640px;margin-bottom:10px}.fb-form textarea,.fb-form input,.fb-form select{width:100%;box-sizing:border-box}
.fb-list{display:grid;gap:10px;max-width:800px}
.fb-card{padding:12px 15px;border-radius:14px;border:1px solid rgba(127,127,127,.28);background:rgba(127,127,127,.06)}
.fb-hd{display:flex;gap:8px;justify-content:space-between;align-items:center}.fb-meta{font-size:12.5px;color:var(--mut);margin:4px 0 8px}
.fb-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px}.fb-reply{margin-top:8px;padding:8px 10px;border-radius:10px;background:rgba(37,99,235,.1);font-size:14px;white-space:pre-wrap}
.fb-act{display:flex;gap:8px;margin-top:8px}.fb-st{font-size:12px;padding:2px 10px;border-radius:99px;background:rgba(127,127,127,.2)}
.fb-new{background:rgba(234,179,8,.25)}.fb-review{background:rgba(37,99,235,.2)}.fb-done{background:rgba(22,163,74,.25)}.fb-rejected{background:rgba(220,38,38,.2)}

/* ===== سنجشگر قدرت رمز (Dark) ===== */
.pwm{background:#171526;border:1px solid #2a2745;border-radius:16px;padding:12px;color:#f5f4fa;--c:#6657b8;margin-top:4px}
.pwm-f{position:relative;display:flex;align-items:center;background:#0d0b18;border:1.5px solid #3b3470;border-radius:14px;transition:border-color .35s,box-shadow .35s,background .35s}
.pwm-f:hover{border-color:#6657b8}.pwm-f:focus-within{border-color:#36c9f4;box-shadow:0 0 0 3px rgba(54,201,244,.18),0 0 18px rgba(140,107,255,.35);background:#100d20}
.pwm-lock{padding:0 12px;font-size:17px;opacity:.85}
.pwm-in{flex:1;min-width:0;background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;color:#f5f4fa!important;caret-color:#36c9f4;font-size:16px;letter-spacing:.06em;padding:13px 4px!important;margin:0!important}
.pwm-eye{width:46px;height:46px;flex:none;background:transparent;border:0;color:#bdb6ff;font-size:19px;cursor:pointer;border-radius:12px;transition:background .2s,color .2s}
.pwm-eye:hover{background:rgba(102,87,184,.25)}.pwm-eye.on{color:#36c9f4}
.pwm-m{margin-top:12px}.pwm-bar{position:relative;display:flex;gap:6px;height:10px}
.pwm-s{flex:1;border-radius:6px;background:#26223f;position:relative;overflow:hidden;transition:background-color .6s,box-shadow .5s,transform .3s}
.pwm-s.on{background:linear-gradient(100deg,var(--c),color-mix(in srgb,var(--c) 55%,#fff),var(--c));background-size:220% 100%;animation:pwFlow 2.4s linear infinite;box-shadow:0 0 10px color-mix(in srgb,var(--c) 60%,transparent)}
@keyframes pwFlow{to{background-position:-220% 0}}
.pwm-s.drop{animation:pwFlow 2.4s linear infinite,pwDrop .48s cubic-bezier(.3,1.4,.5,1)}
@keyframes pwDrop{0%{transform:translateY(-14px) scaleY(1.5);opacity:0}55%{transform:translateY(0) scaleY(.55);opacity:1}80%{transform:scaleY(1.15)}100%{transform:none}}
.pwm-s.chain{animation:pwFlow 2.4s linear infinite,pwChain .55s ease-out both}
@keyframes pwChain{0%{filter:brightness(1)}35%{filter:brightness(2.1) saturate(1.3);box-shadow:0 0 16px var(--c)}100%{filter:none}}
.pwm-s.lit{box-shadow:0 0 18px 3px var(--c)!important;filter:brightness(1.6)}
.pwm-b{position:absolute;top:2px;height:6px;width:12px;border-radius:6px;background:var(--c);opacity:0;pointer-events:none;transform:scaleX(0);filter:blur(1px)}
.pwm-b[data-b="0"]{right:calc(20% - 9px)}.pwm-b[data-b="1"]{right:calc(40% - 9px)}.pwm-b[data-b="2"]{right:calc(60% - 9px)}.pwm-b[data-b="3"]{right:calc(80% - 9px)}
.pwm-b.link{animation:pwLink .7s ease-out both}
@keyframes pwLink{0%{opacity:0;transform:scaleX(0)}35%{opacity:.95;transform:scaleX(1.6)}100%{opacity:0;transform:scaleX(1)}}
.pwm-row{display:flex;align-items:center;gap:10px;margin-top:10px;min-height:28px}
.pwm-lbl{display:inline-block;min-width:84px;text-align:center;perspective:300px;font-weight:700;color:var(--c);transition:color .5s}
.pwm-w{display:inline-block;padding:2px 10px;border-radius:8px;background:color-mix(in srgb,var(--c) 18%,transparent);transform-origin:50% 50%;backface-visibility:hidden}
.pwm-w:empty{display:none}.pwm-w.flap{animation:pwFlap .42s ease}
@keyframes pwFlap{0%{transform:rotateX(0);opacity:1}45%{transform:rotateX(-88deg);opacity:0}55%{transform:rotateX(88deg);opacity:0}100%{transform:rotateX(0);opacity:1}}
.pwm-txt{font-size:13.5px;color:#cfcbe8;transition:opacity .3s}.pwm-txt.fade{animation:pwFade .35s ease}@keyframes pwFade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.pwm-g{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}
.pwm-g li{font-size:12.5px;color:#8f89b5;display:flex;align-items:center;gap:7px;transition:color .35s}
.pwm-g li i{width:18px;height:18px;flex:none;border-radius:50%;border:1.5px solid #4a4380;display:inline-grid;place-items:center;font-style:normal;font-size:11px;color:transparent;transition:all .35s}
.pwm-g li.ok{color:#8ff0b1}.pwm-g li.ok i{background:#22c55e;border-color:#22c55e;color:#06210f;transform:scale(1.08)}
.pwm-sp{position:absolute;width:8px;height:8px;margin:-4px;border-radius:50%;background:#36c9f4;box-shadow:0 0 10px 3px rgba(54,201,244,.8);pointer-events:none;z-index:3}
dialog.pwd{border:1px solid #2a2745;border-radius:20px;background:#0d0b18;color:#f5f4fa;padding:22px;width:min(460px,94vw);box-sizing:border-box}
dialog.pwd::backdrop{background:rgba(5,4,14,.7)}dialog.pwd h3{margin:0 0 12px;color:#fff}dialog.pwd label{display:block;margin:12px 0 2px;font-size:13px;color:#cfcbe8}
dialog.pwd #pwsCurW input,dialog.pwd #pwsNew,dialog.pwd #pwsRep{width:100%}.pwd-act{display:flex;gap:10px;margin-top:16px}
@media(max-width:520px){.pwm-g{grid-template-columns:1fr}.pwm{padding:10px}.pwm-lbl{min-width:70px}}
@media(prefers-reduced-motion:reduce){.pwm *{animation:none!important;transition:none!important}}
html body .pwm .pwm-f input.pwm-in{background:transparent!important;background-color:transparent!important;border:0!important;box-shadow:none!important;color:#f5f4fa!important;min-height:0!important;border-radius:0!important;-webkit-text-fill-color:#f5f4fa}
html body .pwm .pwm-f input.pwm-in:-webkit-autofill{-webkit-box-shadow:0 0 0 40px #0d0b18 inset!important}

.bz-off{font-size:12px;padding:2px 9px;border-radius:99px;background:rgba(220,38,38,.18);color:#dc2626}.bz-card:has(.bz-off:not([hidden])){opacity:.72}

#syncBadge.pend{background:rgba(234,179,8,.22)!important;border-color:rgba(234,179,8,.55)!important}
