/* پنل مدیریت هیأت — سیستم طراحی v2
   تم تیره: Linear-native (لایه‌های نور، بوردر نیمه‌شفاف) · تم روشن: Stripe-grade (سایه آبی، ناوی)
   RTL کامل · Vazirmatn · اعداد tabular */
@font-face{font-family:'Vazirmatn';src:url('fonts/Vazirmatn-var.woff2') format('woff2');font-weight:100 900;font-display:swap}

:root{
  --r-sm:6px; --r:10px; --r-lg:14px; --r-xl:20px;
  --t:.18s cubic-bezier(.4,0,.2,1);
  --fs-1:11px; --fs-2:12px; --fs-3:13px; --fs-4:14px; --fs-5:16px; --fs-6:19px; --fs-7:26px; --fs-8:34px;
}

/* ─── تیره (پیش‌فرض) ─── */
html[data-theme="dark"]{
  --bg:#08090a; --bg2:#0d0e10; --panel:#0f1011; --elev:#191a1b; --elev2:#212226;
  --text:#f7f8f8; --text2:#d0d6e0; --muted:#8a8f98; --dim:#62666d;
  --border:rgba(255,255,255,.08); --border2:rgba(255,255,255,.05); --line:#141516;
  --accent:#7170ff; --accent2:#828fff; --accent-soft:rgba(113,112,255,.12);
  --green:#27a644; --green-soft:rgba(39,166,68,.15); --amber:#e0a44a; --amber-soft:rgba(224,164,74,.15);
  --red:#e5484d; --red-soft:rgba(229,72,77,.15); --teal:#10b981; --teal-soft:rgba(16,185,129,.14);
  --shadow:0 1px 2px rgba(0,0,0,.5); --shadow-lg:0 20px 50px -22px rgba(0,0,0,.85);
  --glow:radial-gradient(900px 430px at 86% -10%, rgba(113,112,255,.20), transparent 62%),
         radial-gradient(720px 380px at 8% 108%, rgba(16,185,129,.13), transparent 60%);
  --grad:linear-gradient(135deg,#7170ff,#10b981);
  --grid:rgba(255,255,255,.04);
}
/* ─── روشن ─── */
html[data-theme="light"]{
  --bg:#f7f8fa; --bg2:#fff; --panel:#fff; --elev:#f3f4f7; --elev2:#e9ecf2;
  --text:#0f1728; --text2:#3b4a63; --muted:#64748d; --dim:#94a3b8;
  --border:#e5edf5; --border2:#eef2f7; --line:#f2f4f9;
  --accent:#533afd; --accent2:#4434d4; --accent-soft:rgba(83,58,253,.08);
  --green:#108c3d; --green-soft:rgba(21,190,83,.13); --amber:#9b6829; --amber-soft:rgba(155,104,41,.13);
  --red:#c5303a; --red-soft:rgba(197,48,58,.11); --teal:#0d8f76; --teal-soft:rgba(13,143,118,.11);
  --shadow:rgba(50,50,93,.16) 0 10px 24px -16px, rgba(0,0,0,.05) 0 4px 12px -6px;
  --shadow-lg:rgba(50,50,93,.25) 0 30px 45px -30px, rgba(0,0,0,.1) 0 18px 36px -18px;
  --glow:radial-gradient(900px 430px at 86% -12%, rgba(83,58,253,.11), transparent 62%),
         radial-gradient(720px 380px at 8% 108%, rgba(21,190,83,.11), transparent 60%);
  --grad:linear-gradient(135deg,#533afd,#15be53);
  --grid:rgba(15,23,40,.032);
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text2);font-family:'Vazirmatn',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:var(--fs-4);line-height:1.68;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;background:var(--glow);pointer-events:none;z-index:0}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:54px 54px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 62%);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 62%)}
button,input,select,textarea{font:inherit;color:inherit}
svg.ic{width:18px;height:18px;flex:0 0 auto;display:inline-block}
a{color:var(--accent);text-decoration:none}
h1,h2,h3,h4{color:var(--text);font-weight:700;letter-spacing:-.3px;line-height:1.35}
.num,.tnum{font-variant-numeric:tabular-nums;letter-spacing:-.2px}
.hidden{display:none !important}
::selection{background:var(--accent-soft)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--elev2);border-radius:99px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:var(--dim);background-clip:padding-box}

/* ═════ ورود ═════ */
#login{min-height:100dvh;display:grid;place-items:center;padding:24px;position:relative;z-index:1}
.lwrap{width:min(950px,100%);display:grid;grid-template-columns:1.06fr .94fr;background:var(--panel);
  border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden}
.lside{background:var(--grad);color:#fff;padding:38px 34px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
.lside:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.14);bottom:-150px;left:-90px}
.lside:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.1);top:-70px;right:-40px}
.lside h1{color:#fff;font-size:27px;letter-spacing:-.6px;margin-top:6px;position:relative}
.lside p{color:rgba(255,255,255,.93);font-size:var(--fs-4);position:relative}
.lside .bullets{margin-top:auto;display:flex;flex-direction:column;gap:11px;position:relative}
.lside .bullets div{display:flex;gap:9px;align-items:center;font-size:13px;color:rgba(255,255,255,.95)}
.lside .bullets .i{width:24px;height:24px;border-radius:8px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:13px}
.logo-big{width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:26px;position:relative}
.lform{padding:34px 30px;display:flex;flex-direction:column;justify-content:center}
.lform h2{font-size:var(--fs-6);margin-bottom:4px}
.lform .sub{color:var(--muted);font-size:var(--fs-3);margin-bottom:22px}
.lform label{font-size:var(--fs-2);font-weight:600;color:var(--muted);margin-bottom:7px;display:block}
.inp{width:100%;background:var(--elev);border:1px solid var(--border);border-radius:var(--r);padding:13px 14px;
  font-size:var(--fs-4);outline:none;transition:var(--t)}
html[data-theme="dark"] .inp{background:rgba(255,255,255,.03)}
.inp:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.btn-login{margin-top:20px;width:100%;padding:13px;border:none;border-radius:var(--r);background:var(--accent);color:#fff;
  font-weight:700;font-size:var(--fs-4);cursor:pointer;transition:var(--t);display:flex;align-items:center;justify-content:center;gap:9px}
.btn-login:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 12px 24px -12px var(--accent)}
.lmsg{margin-top:13px;font-size:var(--fs-3);font-weight:600;color:var(--red);min-height:20px}
.lfoot{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);color:var(--dim);font-size:var(--fs-2);line-height:2}
@media (max-width:820px){.lwrap{grid-template-columns:1fr}.lside{padding:26px 22px}.lside .bullets{display:none}.lform{padding:26px 22px}}

/* ═════ پوسته ═════ */
.topbar{position:sticky;top:0;z-index:40;height:calc(54px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);display:flex;align-items:center;gap:12px;padding:0 16px;
  background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:saturate(160%) blur(14px);
  backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--border2)}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text);font-size:var(--fs-4)}
.brand .mk{width:32px;height:32px;border-radius:10px;background:var(--grad);display:grid;place-items:center;font-size:16px;color:#fff;
  box-shadow:0 6px 16px -8px var(--accent)}
.brand small{display:block;font-size:10px;color:var(--muted);font-weight:500}
.tb-crumb{color:var(--muted);font-size:var(--fs-3);display:flex;align-items:center;gap:7px}
.tb-crumb b{color:var(--text);font-weight:600}
.gsearch{margin-inline-start:auto;display:flex;align-items:center;gap:9px;background:var(--elev);border:1px solid var(--border);
  border-radius:var(--r);padding:8px 12px;min-width:300px;transition:var(--t)}
html[data-theme="dark"] .gsearch{background:rgba(255,255,255,.03)}
.gsearch:hover{border-color:var(--accent)}
.gsearch:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.gsearch input{background:none;border:none;outline:none;width:100%;font-size:var(--fs-3);color:var(--text)}
.gsearch input::placeholder{color:var(--dim)}
.gsearch kbd{font-family:inherit;font-size:10px;color:var(--muted);border:1px solid var(--border);border-radius:5px;
  padding:1px 6px;background:var(--panel);white-space:nowrap}
.icon-btn{width:36px;height:36px;flex:0 0 auto;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--elev);
  display:grid;place-items:center;cursor:pointer;transition:var(--t);color:var(--text2)}
html[data-theme="dark"] .icon-btn{background:rgba(255,255,255,.03)}
.icon-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.icon-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7}
.uchip{display:flex;align-items:center;gap:9px;padding:5px 11px 5px 5px;border:1px solid var(--border);border-radius:99px;
  background:var(--elev);font-size:var(--fs-3);font-weight:600;color:var(--text)}
html[data-theme="dark"] .uchip{background:rgba(255,255,255,.03)}
.uchip .av{width:26px;height:26px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}

.shell{display:grid;grid-template-columns:250px 1fr;min-height:calc(100dvh - 54px - env(safe-area-inset-top));position:relative;z-index:1}
.side{border-inline-start:1px solid var(--border2);padding:14px 10px 22px;position:sticky;top:54px;height:calc(100dvh - 54px);
  overflow-y:auto;background:color-mix(in srgb,var(--panel) 55%,transparent)}
.side .sec{font-size:10px;font-weight:700;color:var(--dim);letter-spacing:.6px;margin:16px 12px 6px}
.side a{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:var(--r-sm);color:var(--text2);
  font-weight:500;font-size:var(--fs-3);cursor:pointer;transition:var(--t);position:relative;margin-bottom:1px}
.side a .ic{opacity:.85}
.side a span:not(.badge-web):not(.cnt){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side a:hover{background:var(--elev);color:var(--text)}
.side a.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.side a.on:before{content:"";position:absolute;inset-inline-end:-10px;top:50%;transform:translateY(-50%);width:3px;height:20px;
  border-radius:99px;background:var(--accent)}
.side .cnt{margin-inline-start:auto;font-size:10.5px;font-weight:600;color:var(--muted);background:var(--elev);border-radius:99px;
  padding:1px 7px;font-variant-numeric:tabular-nums}
.badge-web{margin-inline-start:auto;font-size:9px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:2px 6px;border-radius:5px}
.side-foot{margin-top:18px;border-top:1px solid var(--border2);padding:12px 12px 0;font-size:var(--fs-2);color:var(--dim);line-height:2}
.side-foot .ok{color:var(--green);font-weight:600}
.main{padding:22px 24px 60px;min-width:0;max-width:1560px}
.page-h{display:flex;align-items:flex-end;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.page-h h2{font-size:var(--fs-7);letter-spacing:-.7px}
.page-h .sub{color:var(--muted);font-size:var(--fs-3);margin-top:2px}
.page-h .sp{margin-inline-start:auto;display:flex;gap:9px;flex-wrap:wrap}
.page{animation:rise .34s cubic-bezier(.2,.7,.3,1)}
@keyframes rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}

/* ═════ دکمه‌ها ═════ */
.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--r-sm);border:1px solid var(--border);
  background:var(--elev);color:var(--text);font-size:var(--fs-3);font-weight:600;cursor:pointer;transition:var(--t);white-space:nowrap}
html[data-theme="dark"] .btn{background:rgba(255,255,255,.04)}
.btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.btn svg.ic{width:15px;height:15px}
.btn.pri{background:var(--accent);border-color:transparent;color:#fff}
.btn.pri:hover{background:var(--accent2);color:#fff;box-shadow:0 12px 22px -14px var(--accent)}
.btn.gr{background:var(--green);border-color:transparent;color:#fff}
.btn.gr:hover{color:#fff;filter:brightness(1.08)}
.btn.sm{padding:6px 11px;font-size:var(--fs-2)}
.btn.ghost{background:transparent}

/* ═════ کارت‌ها ═════ */
.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.card-h{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border2)}
.card-h h3{font-size:var(--fs-4)}
.card-h .r{margin-inline-start:auto;font-size:var(--fs-2);color:var(--accent);font-weight:600;cursor:pointer}
.card-b{padding:16px}
.grid{display:grid;gap:14px;margin-top:14px}
.g2{grid-template-columns:1.5fr 1fr}
.g3{grid-template-columns:repeat(3,1fr)}

/* KPI */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kpi{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;
  box-shadow:var(--shadow);transition:var(--t);overflow:hidden}
.kpi:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.kpi .kglow{position:absolute;width:150px;height:150px;border-radius:50%;filter:blur(46px);opacity:.32;top:-72px;inset-inline-start:-40px}
.kpi .row1{display:flex;align-items:center;gap:9px;position:relative}
.kpi .tile{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto}
.kpi .tile svg{width:18px;height:18px;stroke-width:1.9}
.kpi .lbl{font-size:var(--fs-2);font-weight:600;color:var(--muted)}
.kpi .val{font-size:var(--fs-8);font-weight:700;color:var(--text);letter-spacing:-1px;margin-top:12px;
  font-variant-numeric:tabular-nums;position:relative}
.kpi .val small{font-size:var(--fs-3);color:var(--muted);font-weight:500;letter-spacing:0;margin-inline-start:5px}
.kpi .foot{display:flex;align-items:center;gap:8px;margin-top:8px;position:relative;flex-wrap:wrap}
.kpi .chip{font-size:var(--fs-1);font-weight:700;padding:2px 9px;border-radius:99px}
.kpi .desc{font-size:var(--fs-2);color:var(--muted)}
.kpi.has-spark{padding-bottom:36px}
.spark{position:absolute;inset-inline:0;bottom:0;height:30px;opacity:.55;pointer-events:none}

/* لیست */
.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.ctrl{display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid var(--border2);flex-wrap:wrap}
.ctrl .t{font-size:var(--fs-3);font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.ctrl .s{margin-inline-start:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ctrl input[type=text]{background:var(--elev);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 12px;
  font-size:var(--fs-3);outline:none;min-width:200px;transition:var(--t)}
html[data-theme="dark"] .ctrl input[type=text]{background:rgba(255,255,255,.03)}
.ctrl input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.chipbar{display:flex;gap:7px;overflow-x:auto;padding:2px;scrollbar-width:none}
.chipbar::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:var(--fs-2);font-weight:600;
  padding:6px 13px;border-radius:99px;cursor:pointer;transition:var(--t);white-space:nowrap}
.chip:hover{color:var(--text);border-color:var(--accent)}
.chip.on{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent)}
.cnt-pill{font-size:var(--fs-1);font-weight:700;color:var(--muted);background:var(--elev);border-radius:99px;padding:3px 10px}
.dot-pill{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-1);font-weight:700;padding:3px 10px;border-radius:99px;white-space:nowrap}
.dot-pill i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}
.p-g{background:var(--green-soft);color:var(--green)} .p-a{background:var(--amber-soft);color:var(--amber)}
.p-r{background:var(--red-soft);color:var(--red)} .p-i{background:var(--accent-soft);color:var(--accent)}
.p-t{background:var(--teal-soft);color:var(--teal)} .p-m{background:var(--elev);color:var(--muted)}

.tw{overflow-x:auto}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-3)}
th{position:sticky;top:0;z-index:2;text-align:right;font-size:var(--fs-1);font-weight:700;color:var(--muted);padding:11px 12px;
  background:var(--panel);border-bottom:1px solid var(--border);white-space:nowrap}
td{padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap;color:var(--text2)}
tbody tr{transition:var(--t);cursor:pointer}
tbody tr:hover td{background:var(--elev)}
tbody tr:hover{box-shadow:inset 3px 0 0 var(--accent)}
tbody tr:last-child td{border-bottom:none}
.cell{display:flex;align-items:center;gap:10px}
.av2{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:var(--fs-3);flex:0 0 auto;
  color:#fff;background:var(--grad);box-shadow:0 4px 12px -6px var(--accent)}
.nm{font-weight:600;color:var(--text)}
.sub{color:var(--muted);font-size:var(--fs-2)}
.num{font-variant-numeric:tabular-nums;font-weight:600}
.footbar{padding:11px 14px;color:var(--muted);font-size:var(--fs-2);display:flex;gap:12px;border-top:1px solid var(--border2);flex-wrap:wrap}
.empty{padding:46px 20px;text-align:center;color:var(--muted)}
.empty .ic{width:46px;height:46px;margin:0 auto 12px;border-radius:14px;background:var(--elev);display:grid;place-items:center}
.empty .ic svg.ic{width:22px;height:22px;stroke:var(--dim);stroke-width:1.6}

/* کارت موبایل */
.mlist{display:flex;flex-direction:column;gap:9px;padding:11px}
.mrow{background:var(--elev);border:1px solid var(--border2);border-radius:var(--r);padding:12px;transition:var(--t);cursor:pointer}
html[data-theme="dark"] .mrow{background:rgba(255,255,255,.025)}
.mrow:active{transform:scale(.99)}
.mrow .top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.mrow .kv{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-top:1px solid var(--line);
  font-size:var(--fs-2);color:var(--muted)}
.mrow .kv b{color:var(--text2);font-weight:600;font-variant-numeric:tabular-nums}

/* نمودار */
.chart{width:100%;display:block;overflow:visible}
.chart text{font-family:'Vazirmatn',sans-serif;fill:var(--muted);font-size:10px}
.chart .gridline{stroke:var(--border2);stroke-width:1}
.legend{display:flex;flex-direction:column;gap:9px;font-size:var(--fs-3)}
.legend div{display:flex;align-items:center;gap:8px}
.legend i{width:9px;height:9px;border-radius:3px;flex:0 0 auto}
.rank{display:flex;flex-direction:column;gap:13px}
.rank .r{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center}
.rank .bar{height:7px;border-radius:99px;background:var(--elev2);overflow:hidden;margin-top:6px}
.rank .bar span{display:block;height:100%;border-radius:99px;background:var(--grad)}

/* شیت/فرم */
.sheet{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;
  max-width:1080px;margin:0 auto}
.sheet-h{padding:18px;display:flex;align-items:center;gap:14px;background:var(--grad);color:#fff}
.sheet-h .avb{width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.22);display:grid;place-items:center;
  font-size:22px;font-weight:700;flex:0 0 auto}
.sheet-h .h-nm{font-size:var(--fs-6);font-weight:700;color:#fff;letter-spacing:-.4px}
.sheet-h .h-sub{font-size:var(--fs-2);color:rgba(255,255,255,.9)}
.sheet-h .sp{margin-inline-start:auto;display:flex;gap:8px;flex-wrap:wrap}
.sheet-h .btn{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3);color:#fff}
.sheet-h .btn:hover{background:rgba(255,255,255,.3);color:#fff}
.statusbar{display:flex;border-bottom:1px solid var(--border2);overflow-x:auto;background:var(--elev)}
html[data-theme="dark"] .statusbar{background:rgba(255,255,255,.02)}
.statusbar div{padding:11px 16px;font-size:var(--fs-3);font-weight:600;color:var(--muted);white-space:nowrap}
.statusbar div.on{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}
.sheet-b{padding:20px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 26px}
.f{padding:9px 0;border-bottom:1px solid var(--line)}
.f label{display:block;font-size:var(--fs-1);font-weight:700;color:var(--dim);letter-spacing:.3px;margin-bottom:3px}
.f .v{font-weight:600;color:var(--text)}
.sub-h{font-size:var(--fs-2);font-weight:700;color:var(--muted);margin:26px 0 12px;padding-bottom:8px;
  border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}

/* گالری فیش */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(242px,1fr));gap:14px;padding:14px}
.rc{background:var(--elev);border:1px solid var(--border2);border-radius:var(--r);overflow:hidden;transition:var(--t)}
html[data-theme="dark"] .rc{background:rgba(255,255,255,.025)}
.rc:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.rc .im{height:190px;background:var(--elev2);display:grid;place-items:center;cursor:zoom-in;overflow:hidden;position:relative}
.rc .im img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.rc:hover .im img{transform:scale(1.06)}
.rc .im .zoom{position:absolute;inset-inline-end:8px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;border-radius:7px;
  padding:3px 8px;font-size:10px;font-weight:600}
.rc .im .ph{font-size:30px;color:var(--dim)}
.rc .bd{padding:12px}
.rc .bd .nm{font-weight:600;font-size:var(--fs-3);color:var(--text)}
.rc .bd .mt{display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-2);color:var(--muted);margin-top:3px}
.rc .txt{margin-top:9px;background:var(--panel);border:1px solid var(--border2);border-radius:var(--r-sm);padding:9px;
  font-size:var(--fs-2);white-space:pre-wrap;max-height:120px;overflow:auto;color:var(--text2);line-height:1.9}

/* نورباکس */
#lightbox{position:fixed;inset:0;background:rgba(4,5,7,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  display:grid;place-items:center;z-index:80;padding:22px;animation:fade .2s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
#lightbox img{max-width:94vw;max-height:88vh;border-radius:var(--r);box-shadow:0 30px 80px -20px #000}
#lightbox .x{position:absolute;top:18px;inset-inline-end:20px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.14);
  color:#fff;display:grid;place-items:center;font-size:19px;cursor:pointer;transition:var(--t)}
#lightbox .x:hover{background:rgba(255,255,255,.26);transform:rotate(90deg)}

/* بنر */
.note{display:flex;align-items:flex-start;gap:11px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);
  border-radius:var(--r-lg);padding:12px 15px;font-size:var(--fs-3);color:var(--text2);margin-bottom:16px}
.note svg.ic{width:19px;height:19px;stroke:var(--accent);stroke-width:1.8;margin-top:2px}
.note.warn{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 22%,transparent)}
.note.warn svg{stroke:var(--amber)}

/* اسکلتون */
.sk{background:linear-gradient(90deg,var(--elev) 25%,var(--elev2) 37%,var(--elev) 63%);background-size:400% 100%;
  animation:sh 1.4s ease infinite;border-radius:var(--r-sm)}
@keyframes sh{0%{background-position:100% 0}100%{background-position:0 0}}
.sk-kpi{height:120px;border-radius:var(--r-lg)}
.sk-row{height:48px;margin:8px 0}

/* لیست ساده */
.list{display:flex;flex-direction:column;gap:9px}
.item{display:flex;align-items:center;gap:11px;padding:11px 12px;background:var(--elev);border:1px solid var(--border2);border-radius:var(--r)}
html[data-theme="dark"] .item{background:rgba(255,255,255,.025)}
.item .big{font-weight:600;color:var(--text)}
.tick{width:30px;height:30px;border-radius:9px;border:1px solid var(--border);background:transparent;cursor:pointer;
  display:grid;place-items:center;color:var(--muted);transition:var(--t)}
.tick.on{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 40%,transparent);color:var(--green)}

/* موبایل */
.tabbar{display:none}
.drawer-backdrop{position:fixed;inset:0;background:rgba(4,5,7,.55);opacity:0;pointer-events:none;transition:var(--t);z-index:45}
.drawer-backdrop.on{opacity:1;pointer-events:auto}

@media (max-width:1240px){.kpis{grid-template-columns:repeat(2,1fr)}.g2,.g3{grid-template-columns:1fr}}
@media (max-width:1000px){.gsearch kbd{display:none}.gsearch{min-width:200px}}
@media (max-width:860px){
  .shell{grid-template-columns:1fr}
  .side{position:fixed;top:0;inset-inline-start:0;width:272px;height:100dvh;z-index:50;transform:translateX(103%);
    transition:transform .26s cubic-bezier(.2,.7,.3,1);background:var(--panel);border-inline-start:none;
    border-inline-end:1px solid var(--border);padding-top:calc(18px + env(safe-area-inset-top))}
  .side.on{transform:none}
  .main{padding:14px 13px calc(92px + env(safe-area-inset-bottom))}
  .topbar{height:50px;padding:0 12px}
  .brand small{display:none}
  .gsearch{display:none}
  .tb-crumb{display:none}
  .page-h h2{font-size:var(--fs-6)}
  .page-h{margin-bottom:14px}
  .kpis{grid-template-columns:repeat(2,1fr);gap:10px}
  .kpi{padding:13px}
  .kpi .val{font-size:var(--fs-7);letter-spacing:-.6px}
  .fgrid{grid-template-columns:1fr}
  .sheet-h{flex-wrap:wrap;padding:15px}
  .sheet-b{padding:14px}
  .gal{grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:10px;padding:10px}
  .rc .im{height:150px}
  .tw{display:none}
  .desk-only{display:none !important}
  .tabbar{display:flex;position:fixed;bottom:0;inset-inline:0;height:60px;z-index:60;
    background:color-mix(in srgb,var(--panel) 93%,transparent);-webkit-backdrop-filter:blur(16px) saturate(160%);
    backdrop-filter:blur(16px) saturate(160%);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);
    font-size:10px;font-weight:600;cursor:pointer;position:relative}
  .tabbar a svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7}
  .tabbar a.on{color:var(--accent)}
  .tabbar a.on:after{content:"";position:absolute;top:0;width:22px;height:2.5px;border-radius:99px;background:var(--accent)}
  .ctrl{padding:10px}
  .ctrl input[type=text]{min-width:0;width:100%}
  .ctrl .s{width:100%;margin-inline-start:0}
  .chip{padding:9px 15px;font-size:var(--fs-3)}
  .chipbar{padding:4px 2px}
  .tabbar a{min-height:52px}
  tbody tr:hover{box-shadow:none}
  tbody tr:hover td{background:transparent}
}
@media (min-width:861px){.mlist{display:none}}
@media (max-width:520px){.kpis{grid-template-columns:1fr}.g3{grid-template-columns:1fr}}
@media (hover:none){
  .kpi:hover,.rc:hover{transform:none;box-shadow:var(--shadow)}
  .btn:hover,.icon-btn:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;transition-duration:.01ms !important}}
@media print{.topbar,.side,.tabbar,.page-h .sp{display:none}body::before,body::after{display:none}}
