/* ===========================================================================
   مدیریت ادسنس MehdiSEO — همان سیستم طراحی سایت و وبلاگ:
   کهربایی #FAC80F روی زغالی #3C3C3C، خط‌های نازک، نشان «V» لوگو به‌عنوان امضا.
   بدون CDN؛ فونت ایران‌یکان از همین پوشه. راست‌به‌چپ و ویژگی‌های منطقی CSS.
   =========================================================================== */
@font-face{
  font-family:'IRANYekanX';
  src:url('../fonts/IRANYekanXVF.woff2') format('woff2-variations'),url('../fonts/IRANYekanXVF.woff2') format('woff2');
  font-weight:100 1000;font-style:normal;font-display:swap;
}

:root{
  --amber:#FAC80F;--amber-deep:#E3B300;--amber-soft:rgba(250,200,15,.12);
  --ink:#3C3C3C;--ok:#2fbf71;--danger:#E5484D;--warn:#F0A020;--info:#4C9AFF;
  --f-body:'IRANYekanX',Tahoma,system-ui,sans-serif;
  --f-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --r:14px;--r-sm:9px;--side:258px;--top:62px;--ease:cubic-bezier(.2,.7,.25,1);
}
html[data-theme="dark"]{
  --bg:#1E1E1E;--bg-2:#181818;--surface:#272727;--surface-2:#303030;--side-bg:#191919;
  --line:#3A3A3A;--line-soft:rgba(255,255,255,.06);
  --text:#F0F0F0;--text-2:#BDBDBD;--muted:#8E8E8E;
  --accent-text:#FAC80F;--on-accent:#232323;--lattice-op:.04;--shadow:0 18px 50px -24px rgba(0,0,0,.9);
  color-scheme:dark;
}
html[data-theme="light"]{
  --bg:#F2F2F2;--bg-2:#E8E8E8;--surface:#FFF;--surface-2:#F7F7F7;--side-bg:#FFF;
  --line:#DEDEDE;--line-soft:rgba(60,60,60,.08);
  --text:#2E2E2E;--text-2:#4E4E4E;--muted:#6F6F6F;
  --accent-text:#7A5C00;--on-accent:#2E2E2E;--lattice-op:.05;--shadow:0 14px 40px -26px rgba(60,60,60,.45);
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--top) + 16px)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:.95rem;line-height:1.9;
  font-feature-settings:"kern","liga","calt","ss02";-webkit-font-smoothing:antialiased;overflow-x:hidden}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
img,svg{max-width:100%}img{height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3{margin:0;font-weight:800;line-height:1.5}
p{margin:0}ul,ol{margin:0;padding:0;list-style:none}dl,dd{margin:0}
code,.ltr{font-feature-settings:"kern","liga","calt"}
.ltr{direction:ltr;unicode-bidi:isolate;text-align:start}
code{font-family:var(--f-mono);font-size:.85em;background:var(--surface-2);padding:.1rem .4rem;border-radius:5px}
::selection{background:var(--amber);color:#232323}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:4px}
[hidden]{display:none!important}
.muted{color:var(--muted)}.strong{font-weight:700}.grow{flex:1}
.prewrap{white-space:pre-wrap}.wrap{overflow-wrap:anywhere}
.skip{position:absolute;inset-inline-start:-999px;top:0;background:var(--amber);color:#232323;padding:.6rem 1rem;z-index:300}
.skip:focus{inset-inline-start:.5rem;top:.5rem}
.i{inline-size:1.15em;block-size:1.15em;flex:none;vertical-align:-.2em}
.num{text-align:end;font-variant-numeric:tabular-nums}

/* ---------- لوگوهای تیره/روشن ---------- */
html[data-theme="dark"] .logo--light,html[data-theme="dark"] .logo--light-only{display:none}
html[data-theme="light"] .logo--dark{display:none}

/* ---------- چیدمان ---------- */
.side{position:fixed;inset-block:0;inset-inline-start:0;inline-size:var(--side);background:var(--side-bg);
  border-inline-end:1px solid var(--line);display:flex;flex-direction:column;z-index:60;transition:transform .25s var(--ease)}
.side__brand{display:block;padding:1.15rem 1.3rem 1rem;border-block-end:1px solid var(--line-soft)}
.side__brand img{block-size:30px;inline-size:auto}
.side__nav{flex:1;overflow-y:auto;padding:.4rem .75rem 1rem;scrollbar-width:thin}
.side__grp{font-size:.72rem;color:var(--muted);margin:1.1rem .6rem .35rem;font-weight:500}
.nav{position:relative;display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:var(--r-sm);color:var(--text-2);
  font-weight:500;transition:background .15s,color .15s}
.nav:hover{background:var(--line-soft);color:var(--text)}
.nav.is-on{background:var(--amber-soft);color:var(--accent-text);font-weight:700}
.nav.is-on::before{content:"";position:absolute;inset-inline-start:-.75rem;inset-block:.45rem;inline-size:4px;background:var(--amber);
  border-start-end-radius:3px;border-end-end-radius:3px}
.side__foot{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-block-start:1px solid var(--line-soft)}
.who{display:flex;align-items:center;gap:.65rem;flex:1;min-inline-size:0}
.who__av{inline-size:34px;block-size:34px;border-radius:50%;background:var(--amber);color:#232323;font-weight:800;display:grid;place-items:center;flex:none}
.who__t{display:flex;flex-direction:column;line-height:1.35;min-inline-size:0}
.who__t b{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who__t small{color:var(--muted);font-size:.74rem}
.iconbtn{inline-size:38px;block-size:38px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--text-2);border:1px solid transparent;transition:.15s}
.iconbtn:hover{background:var(--line-soft);color:var(--text);border-color:var(--line)}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:55}

.main{margin-inline-start:var(--side);min-block-size:100vh}
.top{position:sticky;top:0;z-index:40;block-size:var(--top);display:flex;align-items:center;gap:.7rem;padding-inline:clamp(1rem,3vw,2rem);
  background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-block-end:1px solid var(--line-soft)}
.top__menu{display:none}
.srch{display:flex;align-items:center;gap:.6rem;inline-size:min(430px,100%);padding:.5rem .9rem;border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--surface);color:var(--muted);font-size:.88rem;transition:.15s}
.srch:hover{border-color:var(--amber);color:var(--text)}
.srch span{flex:1;text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
kbd{font-family:var(--f-mono);font-size:.72rem;border:1px solid var(--line);border-radius:5px;padding:.05rem .4rem;color:var(--muted);background:var(--surface-2)}
.t-light{display:none}html[data-theme="light"] .t-light{display:inline-flex}html[data-theme="light"] .t-dark{display:none}
.content{padding:clamp(1.1rem,3vw,2rem);max-inline-size:1500px}

/* ---------- سربرگ صفحه ---------- */
.phead{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-block-end:1.4rem}
.phead h1{font-size:clamp(1.35rem,1.1rem + 1vw,1.85rem)}
.phead p{margin-block-start:.2rem;font-size:.9rem}
.phead__act,.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.phead__act form,.inline{display:inline}

/* ---------- دکمه، چیپ، بج ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:var(--r-sm);
  font-weight:700;line-height:1.2;border:1px solid transparent;white-space:nowrap;transition:transform .15s var(--ease),background .15s,border-color .15s,color .15s}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:none}
.btn--solid{background:var(--amber);color:#232323}.btn--solid:hover{background:var(--amber-deep)}
.btn--ghost{border-color:var(--line);color:var(--text);background:transparent}.btn--ghost:hover{border-color:var(--amber);color:var(--accent-text)}
.btn--danger{border-color:color-mix(in srgb,var(--danger) 55%,transparent);color:var(--danger)}
.btn--danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}
.btn--sm{padding:.45rem .85rem;font-size:.84rem}.btn--lg{padding:.95rem 1.6rem;font-size:1.02rem}.btn--block{display:flex;inline-size:100%}
.chip{display:inline-block;padding:.05rem .55rem;border-radius:7px;background:var(--surface-2);border:1px solid var(--line);font-weight:700;font-size:.82rem;
  transition:.15s}a.chip:hover{border-color:var(--amber);color:var(--accent-text)}.chip.big{font-size:1.1rem;padding:.2rem .8rem}
.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.08rem .6rem;border-radius:99px;font-size:.76rem;font-weight:600;white-space:nowrap;
  background:var(--surface-2);color:var(--text-2);border:1px solid var(--line)}
.badge::before{content:"";inline-size:6px;block-size:6px;border-radius:50%;background:currentColor}
.badge--ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}
.badge--warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}
.badge--bad{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}
.badge--info{color:var(--info);background:color-mix(in srgb,var(--info) 12%,transparent);border-color:color-mix(in srgb,var(--info) 30%,transparent)}
.badge--amber{color:var(--accent-text);background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 35%,transparent)}
.badge--mute{color:var(--muted)}
.lnk{color:var(--text);border-block-end:1px dashed var(--line);transition:.15s}.lnk:hover{color:var(--accent-text);border-color:var(--amber)}
.copy{display:inline-grid;place-items:center;color:var(--muted);padding:.1rem;border-radius:5px;vertical-align:middle}.copy:hover{color:var(--accent-text)}.copy.ok{color:var(--ok)}

/* ---------- کارت ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.3rem;margin-block-end:1.1rem}
.card--flush{padding:0;overflow:hidden}.card--warn{border-color:var(--amber)}
.card__h{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-block-end:.9rem}
.card__h--pad{padding:1.1rem 1.3rem .3rem;margin:0}
.card__h h2{font-size:1.02rem;display:flex;align-items:center;gap:.6rem}
.card__h h2::before{content:"";inline-size:14px;block-size:9px;background:var(--amber);clip-path:polygon(0 0,14% 0,50% 74%,86% 0,100% 0,50% 100%);flex:none}
.count{font-size:.78rem;color:var(--muted);font-weight:500;background:var(--surface-2);border-radius:99px;padding:0 .55rem}
.narrow{max-inline-size:760px}.sub{margin-block-end:1rem;font-size:.9rem}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.1rem}.grid2 .card{margin:0}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:1.2rem;align-items:start}
.cols--form{grid-template-columns:minmax(0,1fr) 340px}
.cols__side{position:sticky;top:calc(var(--top) + 1rem)}
.empty{padding:2.2rem 1.5rem;text-align:center;color:var(--muted)}.empty .btn{margin-block-start:1rem}
.danger{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.3rem;border:1px dashed color-mix(in srgb,var(--danger) 50%,transparent);border-radius:var(--r);margin-block-start:1.2rem}
.danger--col{flex-direction:column;align-items:flex-start;margin:0}.danger p{font-size:.84rem}

/* ---------- جدول ---------- */
.tbl{overflow-x:auto}
table{inline-size:100%;border-collapse:collapse;font-size:.9rem}
th{font-size:.77rem;font-weight:600;color:var(--muted);text-align:start;padding:.75rem 1.1rem;border-block-end:1px solid var(--line);white-space:nowrap;background:var(--surface)}
th.num{text-align:end}
td{padding:.7rem 1.1rem;border-block-end:1px solid var(--line-soft);vertical-align:middle}
tbody tr{transition:background .12s}tbody tr:hover{background:var(--line-soft)}tbody tr:last-child td{border:0}
td small{display:block;font-size:.76rem;line-height:1.5}td .badge+small,td small.inline{display:inline}
tfoot td{font-weight:700;border-block-start:1px solid var(--line);background:var(--surface-2)}
.sort{color:inherit}.sort:hover{color:var(--accent-text)}.sort i{font-style:normal;font-size:.6rem;color:var(--accent-text)}
.is-dim{opacity:.5}
.cell-main{display:flex;align-items:center;gap:.6rem}.cell-main b{font-weight:600}.cell-main:hover b{color:var(--accent-text)}
time.date{font-size:.88rem;white-space:nowrap}
.pager{display:flex;gap:.3rem;justify-content:center;padding:1rem;border-block-start:1px solid var(--line-soft);flex-wrap:wrap}
.pg{min-inline-size:34px;padding:.2rem .6rem;text-align:center;border:1px solid var(--line);border-radius:var(--r-sm);font-size:.85rem}
a.pg:hover{border-color:var(--amber)}.pg.is-on{background:var(--amber);color:#232323;border-color:var(--amber);font-weight:700}.pg.gap{border:0}

/* ---------- فیلترها ---------- */
.filters{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;margin-block-end:1rem}
.filters__q{display:flex;align-items:center;gap:.5rem;flex:1 1 280px;padding:0 .8rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--muted)}
.filters__q:focus-within{border-color:var(--amber)}
.filters__q input{border:0;background:none;padding:.6rem 0;flex:1;min-inline-size:0;outline:0}
.date-in{inline-size:130px}

/* ---------- فرم ---------- */
input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:.62rem .8rem;inline-size:100%;
  transition:border-color .15s,box-shadow .15s;line-height:1.6}
.filters select,.inline-form select{inline-size:auto;padding:.5rem .7rem;font-size:.88rem}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--amber) 45%,var(--line))}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-soft)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}
textarea{resize:vertical}
input[type=checkbox],input[type=radio]{inline-size:auto;accent-color:var(--amber)}
input[type=file]{padding:.45rem .6rem}
.fgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem 1rem}
.fld{grid-column:span 12;display:flex;flex-direction:column;gap:.3rem;min-inline-size:0}
@media(min-width:760px){.c3{grid-column:span 3}.c4{grid-column:span 4}.c6{grid-column:span 6}.c8{grid-column:span 8}}
.fld.c12{grid-column:span 12}
.fld label{font-size:.84rem;font-weight:600;color:var(--text-2)}
.req{color:var(--amber);margin-inline-start:.2rem}
.hint{color:var(--muted);font-size:.78rem;line-height:1.6}.err{color:var(--danger);font-size:.8rem}
.has-err input,.has-err select,.has-err textarea{border-color:var(--danger)}
.fgroup{grid-column:span 12;font-size:.95rem;padding-block-start:.6rem;border-block-start:1px solid var(--line-soft);display:flex;gap:.8rem;align-items:baseline}
.fgroup:first-child{border:0;padding:0}.fgroup small{font-weight:400;color:var(--muted);font-size:.78rem}
.form__bar{display:flex;gap:.6rem;margin-block-start:1.4rem;padding-block-start:1.2rem;border-block-start:1px solid var(--line-soft)}
.chk{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}
.chk--box{padding:.62rem .9rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);inline-size:100%}
.chk--pill{padding:.45rem .8rem;border:1px solid var(--line);border-radius:99px;background:var(--surface);font-size:.86rem}
.chk--pill:has(input:checked){border-color:var(--amber);background:var(--amber-soft)}
.affix{display:flex;align-items:stretch}.affix input{border-start-end-radius:0;border-end-end-radius:0;flex:1}
.affix__s{display:grid;place-items:center;padding:0 .85rem;background:var(--surface-2);border:1px solid var(--line);border-inline-start:0;
  border-start-start-radius:var(--r-sm);border-end-start-radius:var(--r-sm);color:var(--muted);font-size:.84rem;min-inline-size:44px}
.calc{display:block;padding:.62rem .8rem;border:1px dashed var(--line);border-radius:var(--r-sm);background:var(--surface-2);font-weight:700;min-block-size:44px}
.inline-form{display:flex;gap:.5rem;align-items:center}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin-block-end:1rem;background:var(--surface-2)}
.seg__o{position:relative;cursor:pointer}.seg__o input{position:absolute;opacity:0;inset:0}
.seg__o span{display:block;padding:.55rem 1.3rem;font-weight:600;color:var(--text-2);border-inline-start:1px solid var(--line);transition:.15s}
.seg__o:first-child span{border:0}.seg__o input:checked+span{background:var(--amber);color:#232323}
.seg__o input:focus-visible+span{outline:2px solid var(--amber);outline-offset:-3px}
.stepno{display:inline-grid;place-items:center;inline-size:22px;block-size:22px;border-radius:50%;background:var(--amber);color:#232323;font-size:.74rem;font-weight:800}
.card__h h2:has(.stepno)::before{display:none}

/* ---------- لیست‌های ساده ---------- */
.rows li{display:flex;align-items:center;gap:.8rem;padding:.75rem 0;border-block-end:1px solid var(--line-soft)}.rows li:last-child{border:0}
.rows--tight li{padding:.55rem 0}.rows__m{flex:1;display:flex;flex-direction:column;min-inline-size:0}.rows__m small{line-height:1.5}
.kv{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem;font-size:.9rem}.kv dt{color:var(--muted);font-size:.84rem}.kv dd{min-inline-size:0;overflow-wrap:anywhere}
.kv--wide{grid-template-columns:200px 1fr}.note{margin-block-start:1rem;padding:.8rem 1rem;background:var(--surface-2);border-radius:var(--r-sm)}
.alerts li{margin-block-end:.4rem}.alert a{display:flex;gap:.6rem;align-items:flex-start;padding:.6rem .8rem;border-radius:var(--r-sm);font-size:.88rem;line-height:1.6;border:1px solid transparent}
.alert--warn a{background:color-mix(in srgb,var(--warn) 10%,transparent);border-color:color-mix(in srgb,var(--warn) 28%,transparent);color:var(--text)}
.alert--bad a{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:color-mix(in srgb,var(--danger) 28%,transparent)}
.alert--warn .i{color:var(--warn)}.alert--bad .i{color:var(--danger)}.alert a:hover{border-color:var(--amber)}
.tabs{display:flex;gap:.3rem;border-block-end:1px solid var(--line);margin-block-end:1.3rem;overflow-x:auto}
.tabs a{padding:.6rem 1.1rem;color:var(--muted);font-weight:600;border-block-end:2px solid transparent;margin-block-end:-1px;white-space:nowrap}
.tabs a:hover{color:var(--text)}.tabs a.is-on{color:var(--accent-text);border-color:var(--amber)}
.codes{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem;margin:1rem 0;font-family:var(--f-mono)}
.codes li{padding:.5rem .8rem;border:1px dashed var(--line);border-radius:var(--r-sm);text-align:center;letter-spacing:.15em;font-weight:700}
.secretbox{padding:.8rem 1rem;background:var(--surface-2);border-radius:var(--r-sm);font-size:1.05rem;margin-block:.6rem;display:flex;align-items:center;justify-content:space-between}
.how{padding-inline-start:1.2rem;list-style:decimal;margin-block-end:.5rem;color:var(--text-2)}

/* ---------- پیام‌ها ---------- */
.toast{display:flex;align-items:center;gap:.7rem;padding:.75rem 1rem;border-radius:var(--r-sm);margin-block-end:1rem;border:1px solid;font-weight:500}
.toast--ok{background:color-mix(in srgb,var(--ok) 11%,transparent);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.toast--ok .i{color:var(--ok)}
.toast--bad{background:color-mix(in srgb,var(--danger) 11%,transparent);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.toast--bad .i{color:var(--danger)}
.toast--warn{background:color-mix(in srgb,var(--warn) 11%,transparent);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.toast--warn .i{color:var(--warn)}
.toast span{flex:1}.toast__x{color:var(--muted)}
.notice{padding:.7rem 1rem;border-radius:var(--r-sm);margin-block:.8rem;font-size:.9rem}
.notice--bad{background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}

/* ---------- داشبورد ---------- */
.hero{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;padding:1.7rem 1.8rem;margin-block-end:1.1rem;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.lattice{position:absolute;inset:0;pointer-events:none;background:url('../img/lattice.svg') repeat;background-size:230px auto;opacity:var(--lattice-op);
  -webkit-mask-image:linear-gradient(270deg,#000,transparent 75%);mask-image:linear-gradient(270deg,#000,transparent 75%)}
.hero__txt,.hero__act{position:relative}.hero h1{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem)}
.hero__sub{margin-block-start:.35rem;color:var(--text-2)}.hero__sub b{color:var(--accent-text)}
.hero__act{display:flex;gap:.5rem;flex-wrap:wrap}
.ledger{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin-block-end:1.1rem;overflow:hidden}
.ledger--3{grid-template-columns:repeat(3,1fr)}
.ledger__c{padding:1.1rem 1.3rem;display:flex;flex-direction:column;gap:.15rem;border-inline-start:1px solid var(--line)}.ledger__c:first-child{border:0}
.ledger__l{font-size:.8rem;color:var(--muted)}.ledger__v{font-size:clamp(1.3rem,1rem + 1vw,1.85rem);font-weight:800;line-height:1.4;font-variant-numeric:tabular-nums}
.ledger__v.sm{font-size:1.25rem}.ledger__c small{color:var(--muted);font-size:.78rem}
.ledger__c--amber .ledger__v{color:var(--accent-text)}
.counts{display:flex;gap:.7rem;margin-block-end:1.1rem;flex-wrap:wrap}
.counts a{flex:1 1 200px;display:flex;align-items:baseline;gap:.7rem;padding:.8rem 1.1rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);transition:.15s}
.counts a:hover{border-color:var(--amber)}.counts b{font-size:1.5rem;font-weight:800}.counts span{color:var(--muted);font-size:.86rem}
.legend{font-size:.76rem;color:var(--muted);display:flex;align-items:center;gap:.35rem}
.lg{inline-size:9px;block-size:9px;border-radius:2px;display:inline-block;margin-inline-start:.4rem}.lg--a{background:var(--text-2)}.lg--b{background:var(--amber)}
.bars{display:grid;grid-template-columns:repeat(12,1fr);gap:.35rem;block-size:150px;align-items:end}
.bar{display:flex;flex-direction:column;align-items:center;gap:.3rem;block-size:100%;justify-content:flex-end}
.bar__t{display:flex;align-items:flex-end;gap:2px;flex:1;inline-size:100%;justify-content:center}
.bar i{display:block;flex:1;max-inline-size:11px;min-block-size:2px;border-radius:3px 3px 0 0;transition:block-size .5s var(--ease)}
.b1{background:var(--text-2);opacity:.55}.b2{background:var(--amber)}.bar small{font-size:.66rem;color:var(--muted)}

/* ---------- یافتن سایت ← پنل ---------- */
.locate{display:grid;grid-template-columns:auto auto 1fr;gap:1rem 1.5rem;align-items:center;padding:1.2rem 1.5rem;margin-block-end:1.1rem;border:1px solid var(--amber);
  border-radius:var(--r);background:linear-gradient(90deg,var(--amber-soft),transparent 70%)}
.locate__panel{display:flex;flex-direction:column;gap:.1rem;padding:.4rem 1rem;border-inline-start:3px solid var(--amber)}.locate__panel b{font-size:1.15rem}
.locate__panel small{color:var(--muted)}.locate__panel:hover b{color:var(--accent-text)}
.locate__meta{display:flex;gap:1.6rem;flex-wrap:wrap;justify-content:flex-end}.locate__meta div{display:flex;flex-direction:column}.locate__meta span{font-size:.76rem;color:var(--muted)}

/* ---------- رسید تسویه ---------- */
.receipt{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin-block-end:1.1rem;overflow:hidden}
.receipt__top{padding:1.5rem 1.6rem;border-block-end:1px dashed var(--line);background:var(--amber-soft)}
.receipt__amt{display:inline-block;font-size:clamp(2rem,1.4rem + 2.4vw,3.2rem);font-weight:800;line-height:1.3;margin-inline-end:.5rem;font-variant-numeric:tabular-nums}
.steps li{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1.6rem;border-block-end:1px solid var(--line-soft)}.steps li:last-child{border:0}
.steps__sum{background:var(--surface-2);font-weight:700}.steps li span{color:var(--text-2)}.steps__sum span{color:var(--text)}
.receipt-img{border-radius:var(--r-sm);border:1px solid var(--line);max-block-size:380px;inline-size:100%;object-fit:contain;background:var(--surface-2)}

/* ---------- پیش‌نمایش تسویه (فرم) ---------- */
.sum{border:1px solid var(--amber);border-radius:var(--r);padding:1.2rem 1.3rem;background:var(--surface);display:flex;flex-direction:column;gap:.9rem}
.sum__t{font-weight:800;display:flex;align-items:center;gap:.5rem}.sum__t::before{content:"";inline-size:14px;block-size:9px;background:var(--amber);clip-path:polygon(0 0,14% 0,50% 74%,86% 0,100% 0,50% 100%)}
.sum__l{display:grid;grid-template-columns:auto 1fr;gap:.45rem .8rem;font-size:.88rem}.sum__l dt{color:var(--muted)}.sum__l dd{text-align:end;font-weight:600}
.sum__f{padding:.9rem 1rem;border-radius:var(--r-sm);background:var(--amber);color:#232323;display:flex;flex-direction:column}
.sum__f span{font-size:.78rem;opacity:.8}.sum__f b{font-size:1.7rem;line-height:1.4;font-variant-numeric:tabular-nums}
.sum__s{font-size:.82rem;color:var(--muted)}

/* ---------- جستجوی سراسری ---------- */
.pal{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:flex-start;padding:10vh 1rem 1rem}
.pal__box{inline-size:min(640px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.pal__in{display:flex;align-items:center;gap:.7rem;padding:0 1rem;border-block-end:1px solid var(--line);color:var(--muted)}
.pal__in input{border:0;background:none;padding:1rem 0;flex:1;outline:0;box-shadow:none;font-size:1.02rem}
.pal__in input:focus{box-shadow:none}
.pal__res{max-block-size:55vh;overflow-y:auto;padding:.4rem}
.pal__hint{padding:1.2rem;color:var(--muted);font-size:.88rem}
.pal__g{font-size:.74rem;color:var(--muted);padding:.7rem .8rem .25rem}
.pal__r{display:flex;flex-direction:column;padding:.55rem .8rem;border-radius:var(--r-sm)}.pal__r b{font-weight:600}.pal__r small{color:var(--muted);font-size:.78rem}
.pal__r.is-on,.pal__r:hover{background:var(--amber-soft)}.pal__r.is-on b{color:var(--accent-text)}

/* ---------- انتخاب‌گر جستجودار و تقویم ---------- */
.ss{position:relative}.ss__native{position:absolute;inset-inline-start:0;inset-block-end:0;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.ss__btn{display:flex;align-items:center;justify-content:space-between;inline-size:100%;text-align:start;padding:.62rem .8rem;border:1px solid var(--line);
  border-radius:var(--r-sm);background:var(--surface);gap:.5rem;line-height:1.6}.ss__btn:hover{border-color:color-mix(in srgb,var(--amber) 45%,var(--line))}
.ss__btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss__btn.ph span{color:var(--muted)}
.ss.open .ss__btn{border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-soft)}
.ss__pop{position:absolute;z-index:80;inset-inline:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow);overflow:hidden}
.ss__pop input{border:0;border-radius:0;border-block-end:1px solid var(--line);box-shadow:none}
.ss__list{max-block-size:250px;overflow-y:auto;padding:.3rem}
.ss__o{display:block;inline-size:100%;text-align:start;padding:.45rem .7rem;border-radius:6px}.ss__o:hover,.ss__o.is-on{background:var(--amber-soft)}.ss__o[aria-selected=true]{color:var(--accent-text);font-weight:700}
.ss__g{font-size:.72rem;color:var(--muted);padding:.5rem .7rem .15rem}
.cal{position:absolute;z-index:90;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:.8rem;inline-size:272px;direction:ltr}
.cal__h{display:flex;align-items:center;justify-content:space-between;margin-block-end:.5rem;gap:.3rem}.cal__h b{font-weight:700}
.cal__h button{inline-size:30px;block-size:30px;border-radius:6px;display:grid;place-items:center}.cal__h button:hover{background:var(--amber-soft)}
.cal__g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.cal__g span{font-size:.7rem;color:var(--muted);padding:.2rem 0}
.cal__d{aspect-ratio:1;border-radius:6px;font-size:.85rem;display:grid;place-items:center;font-feature-settings:"kern"}.cal__d:hover{background:var(--amber-soft)}
.cal__d.today{border:1px solid var(--amber)}.cal__d.sel{background:var(--amber);color:#232323;font-weight:700}.cal__d.out{opacity:.35}
.cal__f{display:flex;justify-content:space-between;margin-block-start:.5rem;padding-block-start:.5rem;border-block-start:1px solid var(--line-soft);font-size:.82rem}
.cal__f button{color:var(--accent-text);font-weight:600}

/* ---------- ورود و نصب ---------- */
body.bare{min-block-size:100vh;display:grid;place-items:center;padding:1.5rem;position:relative;overflow:auto}
body.bare::before{content:"";position:fixed;inset:0;background:url('../img/lattice.svg') repeat;background-size:280px auto;opacity:var(--lattice-op);pointer-events:none;
  -webkit-mask-image:radial-gradient(circle at 50% 40%,#000,transparent 70%);mask-image:radial-gradient(circle at 50% 40%,#000,transparent 70%)}
.auth-card{position:relative;inline-size:min(430px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:2rem;box-shadow:var(--shadow)}
.auth-card.install{inline-size:min(720px,100%)}
.auth-logo{block-size:42px;inline-size:auto;margin-block-end:1.2rem}.auth-card h1{font-size:1.35rem;margin-block-end:1rem}.stack{display:flex;flex-direction:column;gap:1rem}
.code-in{letter-spacing:.3em;text-align:center;font-size:1.2rem;font-weight:700}
.checks{margin-block-end:1rem;display:grid;gap:.25rem;font-size:.88rem}.checks li::before{content:"✓";color:var(--ok);margin-inline-end:.5rem;font-weight:800}.checks .is-bad::before{content:"✕";color:var(--danger)}
.errpage{text-align:center;padding:5rem 1rem}.errpage__code{font-size:6rem;font-weight:800;color:var(--amber);line-height:1.2}.errpage h1{margin-block:.5rem 1.5rem}

/* ---------- صورت‌حساب چاپی ---------- */
.paper{background:#fff;color:#222;border-radius:var(--r);padding:2rem 2.2rem;max-inline-size:980px;border:1px solid var(--line)}
.paper__h{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-block-end:1.5rem;padding-block-end:1rem;border-block-end:3px solid var(--amber)}
.paper__h img{display:block!important}.paper__h h2{font-size:1.3rem}.paper .muted{color:#666}
.paper__t th{background:#f4f4f4;color:#444;border-block-end:1px solid #ddd}.paper__t td{border-color:#eee}.paper__t tbody tr:hover{background:none}
.paper__t tfoot td{background:#fff7d6;color:#222;border-color:#eee}

/* ---------- واکنش‌گرا ---------- */
@media (max-width:1100px){.cols,.cols--form{grid-template-columns:1fr}.cols__side{position:static}.locate{grid-template-columns:1fr}.locate__meta{justify-content:flex-start}}
@media (max-width:900px){
  .side{transform:translateX(100%)}html[dir=rtl] .side{transform:translateX(100%)}.side.open{transform:none!important;box-shadow:var(--shadow)}
  .main{margin-inline-start:0}.top__menu{display:grid}.top__new span{display:none}
  .ledger{grid-template-columns:1fr 1fr}.ledger__c:nth-child(3){border-inline-start:0}.ledger__c:nth-child(n+3){border-block-start:1px solid var(--line)}
  .ledger--3{grid-template-columns:1fr}.ledger--3 .ledger__c{border-inline-start:0;border-block-start:1px solid var(--line)}.ledger--3 .ledger__c:first-child{border-block-start:0}
}
@media (max-width:560px){.kv--wide{grid-template-columns:1fr}.danger{flex-direction:column;align-items:flex-start}.codes{grid-template-columns:1fr}
  th,td{padding-inline:.7rem}.hero{padding:1.2rem}.auth-card{padding:1.4rem}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

@media print{
  .side,.top,.noprint,.toast,.pal{display:none!important}.main{margin:0}.content{padding:0;max-inline-size:none}
  body{background:#fff}.paper{border:0;padding:0}
}
