/* مدرسه قاف — سیستم طراحی مشترک همه ابزارها
   نفتی شب: ساختار و متن · سبز سرمایه: ابزار و نتیجه مثبت · زعفرانی: آموزش و خرید · اناری: منفی و خطا */
@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-FD-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-FD-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-FD-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(../fonts/Vazirmatn-FD-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:Estedad;src:url(../fonts/Estedad-arabic.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0600-066A,U+066D-06FF,U+200C-200F,U+FB50-FDFF,U+FE70-FEFF}

:root{
  --ink:#0C2B33;--ink-2:#284A52;--ink-3:#163C46;--muted:#5E7378;
  --bg:#F2F6F5;--card:#FFFFFF;--line:#D6E2DF;--line-2:#E8EFED;
  --em:#0F7A6C;--em-2:#0B6155;--em-bright:#19B39F;--em-soft:#DDF1ED;
  --sf:#E9A21B;--sf-2:#93600A;--sf-soft:#FFF4DC;--paper-learn:#FFFCF4;--rule:#F0D9A8;
  --pg:#C8423B;--pg-soft:#F8E1DF;--ok:#1E7F4E;--ok-soft:#E1F3E8;--warn:#9A5B05;--warn-soft:#FEF1D4;
  --r-xs:8px;--r-sm:10px;--r:16px;--r-lg:22px;
  --sh-1:0 1px 2px rgba(12,43,51,.06);
  --sh-2:0 1px 2px rgba(12,43,51,.05),0 8px 24px -8px rgba(12,43,51,.12);
  --sh-3:0 30px 60px -20px rgba(4,20,24,.45);
  --display:Estedad,Vazirmatn,Tahoma,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:Vazirmatn,Tahoma,sans-serif;font-size:16px;line-height:1.9;color:var(--ink);background:var(--bg);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
a{color:var(--em-2);text-underline-offset:3px}
a:hover{color:var(--ink)}
h1,h2,h3,h4{line-height:1.45;margin:0 0 .55em;font-weight:800}
h1{font-family:var(--display);font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:800;letter-spacing:-.005em}
h2{font-size:1.25rem}
h3{font-size:1.06rem}
p{margin:0 0 1em}
small{font-size:.82em}
code{font-family:ui-monospace,Consolas,monospace;font-size:.86em;background:var(--line-2);padding:.1em .4em;border-radius:6px}
s{opacity:.6}
:focus-visible{outline:3px solid var(--sf);outline-offset:2px;border-radius:4px}
.skip{position:absolute;right:-9999px}.skip:focus{right:1rem;top:1rem;z-index:99;background:#fff;padding:.5rem 1rem}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--muted)}.center{text-align:center}
.mt{margin-top:1.1rem}.mt-lg{margin-top:2.4rem}.mb{margin-bottom:1.2rem}
[hidden]{display:none!important}
.hp{position:absolute;right:-9999px;height:0;overflow:hidden}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---------- چیدمان ---------- */
.wrap{max-width:1140px;margin:0 auto;padding:1.8rem 16px 3.2rem}
.wrap-wide{max-width:1480px;margin:0 auto;padding:1.5rem 16px 3.2rem}
.wrap-narrow{max-width:760px;margin:0 auto;padding:1.8rem 16px 3.2rem}
.flash-top{padding-top:1rem;padding-bottom:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.35rem 1.45rem;box-shadow:var(--sh-1)}
.card>h2:first-child{margin-bottom:.8rem}
.split-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));gap:1.2rem;align-items:start}
.stack{display:grid;gap:1.2rem}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem 2rem;flex-wrap:wrap;margin-bottom:1.6rem}
.page-head h1{margin-bottom:.2rem}
.lead{font-size:1.04rem;color:var(--ink-2);max-width:68ch;margin:0}
.crumbs{font-size:.88rem;color:var(--muted);display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.4rem}
.crumbs span::before{content:"/";margin-left:.5rem;color:var(--line)}

/* ---------- دکمه و فرم ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font:inherit;font-weight:700;font-size:.95rem;line-height:1.35;padding:.66rem 1.2rem;border-radius:var(--r-sm);border:1px solid transparent;background:var(--ink);color:#fff;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s,box-shadow .15s,transform .05s}
.btn:active{transform:translateY(1px)}
.btn:hover{color:#fff}
.btn-primary{background:var(--em);box-shadow:0 1px 0 rgba(255,255,255,.15) inset,0 6px 16px -6px rgba(15,122,108,.6)}
.btn-primary:hover{background:var(--em-2)}
.btn-dark{background:var(--ink)}
.btn-dark:hover{background:var(--ink-3)}
.btn-learn{background:var(--sf);color:#3A2600}
.btn-learn:hover{background:#D8920F;color:#2A1B00}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{background:var(--line-2);color:var(--ink)}
.btn-ghost.danger{color:var(--pg)}
.btn-ghost-light{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.28)}
.btn-ghost-light:hover{background:rgba(255,255,255,.14)}
.btn-sm{padding:.36rem .8rem;font-size:.86rem}
.btn-lg{padding:.85rem 1.6rem;font-size:1.04rem;border-radius:12px}
.btn-block{width:100%}
.btn[disabled]{opacity:.42;cursor:not-allowed;box-shadow:none}
.row-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.row-actions form{margin:0}
.row-actions.center{justify-content:center}

.form label,.fgrid label{display:flex;flex-direction:column;gap:.32rem;font-weight:500;font-size:.93rem;margin-bottom:.95rem}
.form label small,.fgrid label small{color:var(--muted);font-weight:400}
label.check{flex-direction:row!important;align-items:flex-start;gap:.55rem!important;font-weight:400!important}
label.check input{width:auto;margin-top:.45rem}
input,select,textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid #C7D5D2;border-radius:var(--r-sm);padding:.56rem .75rem;width:100%;min-width:0;transition:border-color .15s,box-shadow .15s}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235E7378' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left .8rem center;padding-left:2rem}
input:focus,select:focus,textarea:focus{border-color:var(--em);outline:none;box-shadow:0 0 0 3px rgba(15,122,108,.16)}
input[disabled],input[readonly]{background:var(--line-2);color:var(--muted)}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--em)}
textarea.code{font-family:ui-monospace,Consolas,monospace;font-size:.84rem;line-height:1.6}
input.num{text-align:left;direction:ltr}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 1rem}
.fgrid .span2{grid-column:span 2}
.fgrid .span-all{grid-column:1/-1}
@media (max-width:540px){.fgrid .span2{grid-column:auto}}
.fs{border:0;padding:0;margin:0 0 1.2rem}
.fs legend{font-weight:800;color:var(--ink);font-size:1rem;margin-bottom:.7rem;padding:0;display:flex;align-items:center;gap:.6rem;width:100%}
.fs legend::after{content:"";flex:1;height:1px;background:var(--line)}
.sub-fields{background:var(--em-soft);border-radius:var(--r-sm);padding:1rem 1rem 0;margin-top:.2rem}
.fs-title{margin:1.5rem 0 .7rem;font-size:1rem;color:var(--ink)}
.inline-form{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap}
.inline-form label{display:flex;flex-direction:column;gap:.3rem;margin:0;font-size:.93rem;font-weight:500}
.inline-form .grow{flex:1 1 230px}
.inline-form>input{flex:1 1 220px}
.form-aside{margin:-.4rem 0 1rem;font-size:.9rem}
.hint{background:var(--em-soft);border-radius:var(--r-sm);padding:.75rem 1rem;color:var(--em-2);font-size:.95rem}
.chips{border:0;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.5rem}
.chip{position:relative;cursor:pointer;margin:0!important}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;padding:.5rem 1rem;border:1.5px solid var(--line);border-radius:999px;font-weight:700;font-size:.92rem;background:#fff}
.chip input:checked+span{border-color:var(--em);background:var(--em-soft);color:var(--em-2)}
.chip input:focus-visible+span{outline:3px solid var(--sf);outline-offset:2px}

.tip{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;border:1px solid var(--rule);background:var(--sf-soft);color:var(--sf-2);font:700 .74rem/1 Vazirmatn,Tahoma;cursor:help;position:relative;vertical-align:middle;padding:0}
.tip::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);right:-12px;width:min(300px,80vw);background:var(--ink);color:#fff;font-weight:400;font-size:.85rem;line-height:1.85;text-align:right;padding:.65rem .85rem;border-radius:var(--r-sm);box-shadow:var(--sh-2);opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .15s,transform .15s;z-index:30;white-space:normal}
.tip:hover::after,.tip:focus::after{opacity:1;transform:none}

/* ---------- پیام و نشان ---------- */
.alert{padding:.8rem 1rem;border-radius:var(--r-sm);margin-bottom:1rem;border:1px solid transparent;font-size:.95rem}
.alert-ok{background:var(--ok-soft);color:var(--ok);border-color:#BFE3CD}
.alert-bad{background:var(--pg-soft);color:#9B2A23;border-color:#F0C4BF}
.alert-warn{background:var(--warn-soft);color:var(--warn);border-color:#F2D78E}
.alert-info{background:var(--em-soft);color:var(--em-2)}
.alert a{color:inherit;font-weight:700}
.pill{display:inline-block;padding:.08rem .62rem;border-radius:99px;font-size:.78rem;font-weight:700;white-space:nowrap;vertical-align:middle;border:0}
.pill-ok{background:var(--ok-soft);color:var(--ok)}
.pill-bad{background:var(--pg-soft);color:#9B2A23}
.pill-warn{background:var(--warn-soft);color:var(--warn)}
.pill-muted{background:var(--line-2);color:var(--muted)}
.pill-btn{cursor:pointer;font-family:inherit}
.empty{text-align:center;padding:2.6rem 1rem;border:1.5px dashed var(--line);border-radius:var(--r);background:var(--card)}
.empty h3{margin-top:.6rem}
.empty p{color:var(--muted);max-width:52ch;margin-inline:auto}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:var(--r);padding:1.3rem 1.5rem;margin:1.2rem 0;background-image:radial-gradient(600px 200px at 0% 0%,rgba(25,179,159,.22),transparent 70%)}
.cta-band h2{margin:0 0 .2rem;font-size:1.1rem}
.cta-band p{margin:0;color:#C4D7D3}

/* ---------- جدول ---------- */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
.tbl{border-collapse:collapse;width:100%;font-size:.9rem}
.tbl caption{text-align:right;padding:.6rem .75rem;font-weight:700;background:#F6F9F8;border-bottom:1px solid var(--line)}
.tbl th,.tbl td{padding:.5rem .75rem;border-bottom:1px solid var(--line-2);text-align:right;vertical-align:middle}
.tbl thead th{background:#F6F9F8;font-weight:700;color:var(--ink-2);font-size:.83rem;white-space:nowrap}
.tbl tbody tr:last-child>*{border-bottom:0}
.tbl tfoot th,.tbl tfoot td{background:#F6F9F8;font-weight:700;border-top:1px solid var(--line)}
.tbl .neg{color:var(--pg)}.tbl .pos{color:var(--ok)}
.tbl tr.dim{opacity:.5}
.tbl td.num-cell{direction:ltr;text-align:left}
.ytbl td{text-align:left;direction:ltr;white-space:nowrap}
.ytbl thead th{text-align:center}
.ytbl thead th span{display:block}
.ytbl thead th small{display:block;font-weight:400;color:var(--muted);font-size:.72rem}
.ytbl th.ph-build{background:#ECF0F5}
.ytbl .rowh{position:sticky;right:0;background:#fff;min-width:230px;font-weight:500;z-index:1;box-shadow:-1px 0 0 var(--line-2)}
.ytbl thead .rowh{background:#F6F9F8;z-index:2}
.tbl tr.sub>*{font-weight:700;background:#FAFCFB}
.tbl tr.sum>*{font-weight:800;background:var(--em-soft);color:var(--em-2)}
.tbl tr.sum td.neg{color:var(--pg)}
.tbl tr.grp>*{background:var(--line-2);font-size:.8rem;color:var(--ink-2);padding:.3rem .75rem;font-weight:800}
.tbl td.tot{font-weight:700;background:#F6F9F8}
.tbl td.best{background:var(--em-soft);font-weight:800;color:var(--em-2)}
.tbl.calc{max-width:640px}
.tbl.calc td{text-align:left}
.irr-row>*{color:var(--muted);font-size:.83rem;border-bottom:1px solid var(--line)!important}
.rowh small{display:block;color:var(--muted);font-weight:400}
.etbl td{padding:.35rem .4rem}
.etbl input,.etbl select{padding:.45rem .55rem;font-size:.9rem}
.etbl td:first-child{min-width:280px}
.etbl .short{min-width:70px;max-width:96px}
.etbl .num{min-width:110px}
.etbl .sumcell,.etbl .mulout{direction:ltr;text-align:left;font-weight:700;white-space:nowrap;color:var(--ink-2)}
.delrow{border:0;background:transparent;color:var(--muted);font-size:1.3rem;line-height:1;cursor:pointer;padding:.2rem .5rem;border-radius:var(--r-xs)}
.delrow:hover{background:var(--pg-soft);color:var(--pg)}
.util-tbl td{padding:.35rem}
.util-tbl input{min-width:68px;text-align:center}
.util-tbl th small{display:block;font-weight:400;color:var(--muted)}

/* ---------- ابزار ---------- */
.tool{display:grid;grid-template-columns:286px minmax(0,1fr);gap:1.6rem;align-items:start}
.rail{position:sticky;top:84px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.15rem 1rem 1rem;box-shadow:var(--sh-1)}
.rail-back{font-size:.86rem;text-decoration:none;color:var(--muted)}
.rail-title{font-size:1rem;margin:.35rem 0 .45rem;line-height:1.65}
.rail-legend{display:flex;gap:.9rem;font-size:.76rem;color:var(--muted);margin-bottom:.6rem;flex-wrap:wrap}
.rail-legend span{display:flex;align-items:center;gap:.3rem}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;border:1.6px solid}
.dot.dt{border-color:var(--em)}.dot.dl{border-color:var(--sf)}
.dot.dt.on{background:var(--em)}.dot.dl.on{background:var(--sf)}
.path{list-style:none;margin:0;padding:0;position:relative;counter-reset:st}
.path::before{content:"";position:absolute;right:12px;top:16px;bottom:16px;width:2px;background:var(--line-2)}
.path li a{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:.6rem;padding:.48rem .3rem;text-decoration:none;color:var(--ink-2);border-radius:var(--r-sm);position:relative}
.path li a:hover{background:var(--line-2)}
.path .node{width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid var(--line);position:relative;z-index:1;counter-increment:st}
.path .node::after{content:counter(st,persian);position:absolute;inset:0;display:grid;place-items:center;font-size:.74rem;font-weight:800;color:var(--muted)}
.path li.t-ok .node{border-color:var(--em);background:var(--em-soft)}
.path li.t-ok .node::after{color:var(--em-2)}
.path li.cur a{background:var(--ink);color:#fff}
.path li.cur .node{border-color:var(--em-bright);background:var(--ink)}
.path li.cur .node::after{color:#fff}
.pname{font-weight:700;font-size:.93rem}
.pdots{display:flex;gap:4px}
.rail-actions{display:flex;flex-direction:column;gap:.45rem;margin-top:1rem;border-top:1px solid var(--line-2);padding-top:1rem}
@media (max-width:1040px){
  .tool{grid-template-columns:1fr}
  .rail{position:static}
  .path{display:flex;overflow-x:auto;gap:.3rem;padding-bottom:.3rem}
  .path::before{display:none}
  .path li a{grid-template-columns:26px auto;white-space:nowrap}
  .pdots{display:none}
  .rail-actions{flex-direction:row;flex-wrap:wrap}
}
.stage-head{margin-bottom:1.1rem}
.stage-head h1{margin:.1rem 0 .1rem}
.stage-head p{color:var(--muted);margin:0}
.stepno{font-size:.86rem;color:var(--em);font-weight:800}
.tabs{display:flex;gap:.4rem;margin-bottom:-1px;position:relative;z-index:1}
.tab{font:inherit;font-weight:800;background:transparent;border:1px solid transparent;border-bottom:0;padding:.75rem 1.25rem;color:var(--muted);cursor:pointer;border-radius:var(--r) var(--r) 0 0;display:flex;align-items:center;gap:.5rem}
.tab:hover{color:var(--ink)}
.tab-tool[aria-selected=true]{color:var(--em-2);background:var(--card);border-color:var(--line);box-shadow:inset 0 3px 0 var(--em)}
.tab-learn[aria-selected=true]{color:var(--sf-2);background:var(--paper-learn);border-color:var(--rule);box-shadow:inset 0 3px 0 var(--sf)}
.tab .count{font-weight:500;font-size:.8rem;color:var(--muted)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:0 var(--r-lg) var(--r-lg) var(--r-lg);padding:1.5rem 1.6rem 1.7rem;box-shadow:var(--sh-1)}
@media (max-width:600px){.panel{padding:1rem .85rem}.tab{padding:.65rem .9rem}}
.nudge{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--sf-soft);border:1px solid var(--rule);border-radius:var(--r-sm);padding:.65rem 1rem;margin-bottom:1.3rem}
.nudge p{margin:0;color:var(--sf-2);font-weight:500}
.savebar{position:sticky;bottom:0;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);border-top:1px solid var(--line);margin:1.4rem -1.6rem -1.7rem;padding:.85rem 1.6rem;z-index:5;border-radius:0 0 var(--r-lg) var(--r-lg)}
.dirty-note{color:var(--warn);font-size:.9rem;font-weight:500}
.outcome{margin-top:2.2rem;padding-top:1.6rem;border-top:2px dashed var(--line)}
.outcome>h2{color:var(--em-2);font-family:var(--display)}
.outcome h3{margin-top:1.4rem}

/* پنل آموزش: دفترچه */
.panel-learn{background:var(--paper-learn);border-color:var(--rule);background-image:linear-gradient(to left,transparent 44px,#F4D9A4 44px,#F4D9A4 45px,transparent 45px);padding-right:64px}
@media (max-width:600px){.panel-learn{background-image:none;padding-right:.85rem}}
.learn-foot{margin-top:1.4rem;display:flex;gap:.6rem;flex-wrap:wrap}
.lesson{border-bottom:1px solid #EFE2C6;padding:.3rem 0 .9rem}
.lesson:last-of-type{border-bottom:0}
.lesson summary{display:flex;align-items:center;gap:.7rem;cursor:pointer;list-style:none;padding:.55rem 0}
.lesson summary::-webkit-details-marker{display:none}
.lesson-title{font-family:var(--display);font-size:1.18rem;font-weight:800;flex:1}
.lesson-min{font-size:.8rem;color:var(--muted);white-space:nowrap}
.lesson-mark{width:28px;height:28px;border-radius:50%;border:2px solid var(--sf);display:grid;place-items:center;color:#fff;font-size:.82rem;flex:none}
.lesson.is-done .lesson-mark{background:var(--sf)}
.lesson details[open]>summary .lesson-title{color:var(--sf-2)}
.lesson-lead{font-size:1.05rem;color:var(--ink-2);border-right:3px solid var(--sf);padding:.1rem .9rem .1rem 0;margin:.3rem 0 1.4rem}

/* متن درس */
.prose{max-width:74ch;font-size:1.02rem;line-height:2.05}
.prose h3{font-family:var(--display);margin:2rem 0 .7rem;font-size:1.2rem;color:var(--ink)}
.prose h4{margin:1.4rem 0 .5rem;font-size:1.02rem}
.prose ul,.prose ol{padding-right:1.4rem;margin:0 0 1.1em}
.prose li{margin-bottom:.35rem}
.prose table{border-collapse:collapse;margin:0 0 1.3em;font-size:.92rem;width:100%;background:#fff;border-radius:var(--r-xs);overflow:hidden}
.prose th,.prose td{border:1px solid #EADFC6;padding:.45rem .65rem;text-align:right}
.prose th{background:#FBF3E1}
.prose td.n,.prose th.n{direction:ltr;text-align:left}
.prose .formula{background:#fff;border:1px solid #EADFC6;border-radius:var(--r-sm);padding:.9rem 1.1rem;margin:0 0 1.2em;font-weight:700;text-align:center;font-size:1.05rem;line-height:2.1}
.prose .formula small{display:block;font-weight:400;color:var(--muted);font-size:.85rem}
.prose .example{background:#fff;border:1px solid var(--line);border-right:4px solid var(--em);border-radius:var(--r-sm);padding:.9rem 1.1rem;margin:0 0 1.3em}
.prose .example>strong:first-child,.prose .box>strong:first-child,.prose .warn>strong:first-child{display:block;color:var(--em-2);margin-bottom:.3rem;font-family:var(--display)}
.prose .box{background:#fff;border:1px solid #EADFC6;border-radius:var(--r-sm);padding:.9rem 1.1rem;margin:0 0 1.3em}
.prose .box>strong:first-child{color:var(--sf-2)}
.prose .warn{background:var(--warn-soft);border-radius:var(--r-sm);padding:.9rem 1.1rem;margin:0 0 1.3em;color:#5E3B05}
.prose .warn>strong:first-child{color:var(--pg)}
.prose .case{background:linear-gradient(#F3FAF8,#fff);border:1px solid #BFE2DB;border-radius:var(--r-sm);padding:.9rem 1.1rem;margin:0 0 1.3em}
.prose .case>strong:first-child{display:block;color:var(--em-2);margin-bottom:.3rem;font-family:var(--display)}
.prose .exercise{background:#fff;border:1.5px dashed var(--sf);border-radius:var(--r-sm);padding:.6rem 1.1rem;margin:0 0 1.3em}
.prose .exercise>summary{cursor:pointer;font-weight:700;color:var(--sf-2);padding:.2rem 0}
.prose .exercise>summary::marker{color:var(--sf)}
.prose .exercise[open]>summary{margin-bottom:.4rem}
.prose .exercise .q{font-weight:500}
.prose .exercise .sol{border-top:1px solid #F1E3C4;padding-top:.6rem;margin-top:.6rem}
.prose .takeaways{background:var(--ink);color:#E3EEEC;border-radius:var(--r);padding:1rem 1.3rem;margin:1.6rem 0 1.2rem}
.prose .takeaways>strong:first-child{display:block;color:var(--sf);font-family:var(--display);margin-bottom:.3rem}
.prose .takeaways li{margin-bottom:.2rem}
.prose .ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
.quiz{background:#fff;border:1px solid #EADFC6;border-radius:var(--r);padding:1.1rem 1.3rem;margin:1.6rem 0;max-width:74ch}
.quiz h4{color:var(--sf-2);font-family:var(--display);font-size:1.08rem}
.quiz ol{padding-right:1.2rem;margin:0 0 1rem}
.qq{margin-bottom:1.1rem}
.qq>p{font-weight:700;margin-bottom:.35rem}
.opt{display:flex;gap:.55rem;align-items:flex-start;padding:.35rem .6rem;border-radius:var(--r-xs);cursor:pointer;border:1px solid transparent}
.opt input{margin-top:.5rem}
.opt:hover{background:var(--sf-soft)}
.opt.right{background:var(--ok-soft);color:var(--ok);font-weight:700;border-color:#BFE3CD}
.opt.wrong{background:var(--pg-soft);color:#9B2A23;border-color:#F0C4BF}
.qexp{font-size:.92rem;color:var(--ink-2);background:var(--sf-soft);border-radius:var(--r-xs);padding:.5rem .85rem;margin-top:.45rem}
.quiz-result{font-weight:800;margin-right:.8rem}
.lesson-done{margin-top:1rem}

/* ---------- خروجی‌ها ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.8rem;margin-bottom:1.3rem}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.85rem 1.05rem;display:flex;flex-direction:column;gap:.1rem}
.stat-l{font-size:.84rem;color:var(--muted);font-weight:500}
.stat-v{font-family:var(--display);font-size:1.5rem;font-weight:800;line-height:1.45;direction:rtl}
.stat-s{font-size:.8rem;color:var(--muted)}
.stat.good{border-color:#9FD4C7;background:linear-gradient(180deg,#fff,#F1FAF7)}
.stat.good .stat-v{color:var(--em-2)}
.stat.bad{border-color:#EDB7B1;background:linear-gradient(180deg,#fff,#FDF4F3)}
.stat.bad .stat-v{color:var(--pg)}
.stat.warn{border-color:#F0D58C;background:linear-gradient(180deg,#fff,#FFF9EA)}
.explain{display:flex;gap:.85rem;align-items:flex-start;background:var(--paper-learn);border:1px solid #F1E2C2;border-radius:var(--r-sm);padding:.8rem 1.05rem;margin:0 0 1.5rem;max-width:92ch;font-size:.96rem}
.explain>div{flex:1}
.explain-tag{flex:none;background:var(--sf);color:#3A2600;font-size:.74rem;font-weight:800;padding:.12rem .6rem;border-radius:99px;margin-top:.3rem}
.explain-warn{background:#FFF6F5;border-color:#F3CDC9}
.explain-warn .explain-tag{background:var(--pg);color:#fff}
.explain-ok{background:#F2FAF7;border-color:#C5E6DD}
.explain-ok .explain-tag{background:var(--em);color:#fff}
.interp{display:grid;gap:.5rem;max-width:94ch}
.ip{margin:0;padding:.7rem 1.05rem;border-radius:var(--r-sm);border-right:4px solid;background:#fff;box-shadow:var(--sh-1)}
.ip-ok{border-color:var(--em)}
.ip-bad{border-color:var(--pg);background:#FFFBFA}
.ip-warn{border-color:var(--sf)}
.ip-learn{border-color:var(--sf);background:var(--paper-learn)}
.rsec{margin-bottom:2.5rem;scroll-margin-top:130px}
.rsec>h2{font-family:var(--display);font-size:1.3rem}
.rnav{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 1.6rem;position:sticky;top:64px;background:rgba(255,255,255,.96);padding:.65rem 0;z-index:4;border-bottom:1px solid var(--line-2)}
.rnav a{font-size:.85rem;text-decoration:none;padding:.28rem .8rem;border:1px solid var(--line);border-radius:99px;color:var(--ink-2);font-weight:500;background:#fff}
.rnav a:hover{border-color:var(--em);color:var(--em-2)}
.timeline{display:grid;grid-template-columns:repeat(var(--n),minmax(68px,1fr));gap:4px;overflow-x:auto;margin-bottom:1.5rem}
.tl{padding:.5rem .3rem;text-align:center;border-radius:var(--r-xs);font-size:.8rem}
.tl b{display:block;font-size:.92rem}
.tl.build{background:#E5EBF2;color:var(--ink-2)}
.tl.prod{background:var(--em-soft);color:var(--em-2)}
.checks{list-style:none;padding:0;margin:0 0 1.2rem;display:grid;gap:.45rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.checks li{display:flex;gap:.6rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:.55rem .85rem}
.checks li span{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.8rem;margin-top:.15rem}
.checks li.pass span{background:var(--em-soft);color:var(--em-2)}
.checks li.fail{border-color:#F0C4BF;background:#FFFBFA}
.checks li.fail span{background:var(--pg);color:#fff}

/* نمودار */
.chart{margin:0 0 1.2rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:.9rem}
.chart svg{width:100%;height:auto;max-height:400px;display:block;font-family:Vazirmatn,Tahoma}
.chart .grid{stroke:var(--line-2);stroke-width:1}
.chart .zero{stroke:#93A6A2;stroke-width:1.3}
.chart .ax{fill:var(--muted);font-size:11px}
.chart .bar.s1{fill:var(--em)}
.chart .bar.neg{fill:var(--pg)}
.chart .line{fill:none;stroke:var(--sf);stroke-width:2.6;stroke-linejoin:round}
.chart .dot{fill:#fff;stroke:var(--sf);stroke-width:2.2}
.chart .mark{stroke:var(--ink-2);stroke-width:1.2;stroke-dasharray:4 4}
.chart .mark-t{fill:var(--ink-2);font-weight:700}
.chart .sline{fill:none;stroke-width:2.6;stroke-linejoin:round}
.chart .sline.s1,.sw.s1{stroke:#0F7A6C;background:#0F7A6C}
.chart .sline.s2,.sw.s2{stroke:#3557A8;background:#3557A8}
.chart .sline.s3,.sw.s3{stroke:#E9A21B;background:#E9A21B}
.chart .sline.s4,.sw.s4{stroke:#C8423B;background:#C8423B}
.chart .sline.s5,.sw.s5{stroke:#7C5BB6;background:#7C5BB6}
.chart .sdot{stroke:#fff;stroke-width:1.5}
.chart .sdot.s1{fill:#0F7A6C}.chart .sdot.s2{fill:#3557A8}.chart .sdot.s3{fill:#E9A21B}.chart .sdot.s4{fill:#C8423B}.chart .sdot.s5{fill:#7C5BB6}
.chart .bl{stroke-width:2.6}
.chart .bl.rev,.sw.rev{stroke:var(--em);background:var(--em)}
.chart .bl.cost,.sw.cost{stroke:var(--pg);background:var(--pg)}
.chart .bl.fix,.sw.fix{stroke:#93A6A2;background:#93A6A2;stroke-dasharray:6 4}
.chart .loss{fill:rgba(200,66,59,.1)}
.chart .profit{fill:rgba(15,122,108,.12)}
figcaption{display:flex;gap:.6rem 1.1rem;flex-wrap:wrap;align-items:center;font-size:.84rem;margin-top:.5rem}
.lg{display:inline-flex;align-items:center;gap:.35rem;color:var(--ink-2)}
.sw{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--em)}
.sw.ln{background:var(--sf);height:3px}
.share{margin:0 0 1.3rem}
.share-bar{display:flex;height:24px;border-radius:7px;overflow:hidden;margin:.45rem 0 .65rem;gap:2px}
.seg{display:block;height:100%}
.share-legend{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem 1.2rem;font-size:.86rem}
.share-legend li{display:flex;align-items:center;gap:.35rem}
.k0{background:#0F7A6C}.k1{background:#3557A8}.k2{background:#E9A21B}.k3{background:#7D9893}.k4{background:#19B39F}.k5{background:#7C5BB6}.k6{background:#D1A35A}.k7{background:#C8423B}

/* ---------- داشبورد ---------- */
.dash-hello h1{font-size:clamp(1.7rem,2.8vw,2.3rem);margin-bottom:.2rem}
.dash-hello{margin-bottom:1.4rem}
.dash-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1.4rem}
.dstat{display:flex;flex-direction:column;gap:.15rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.15rem;text-decoration:none;color:var(--ink);box-shadow:var(--sh-1);transition:border-color .15s,box-shadow .15s}
.dstat:hover{border-color:var(--em);color:var(--ink);box-shadow:var(--sh-2)}
.dstat>span:first-child{font-size:.84rem;color:var(--muted);font-weight:500}
.dstat b{font-family:var(--display);font-size:1.3rem}
.dstat small{color:var(--muted)}
.dstat-warn{border-color:#F0D58C;background:#FFFBF0}
.dstat-learn{background:var(--paper-learn);border-color:#F1E2C2}
.meter{display:block;height:8px;background:#EDE3CB;border-radius:99px;overflow:hidden;margin:.35rem 0}
.meter span{display:block;height:100%;background:var(--sf);border-radius:99px}
.start-row{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}
@media (max-width:860px){.start-row{grid-template-columns:1fr}}
.start-card{border-radius:var(--r-lg);padding:1.3rem 1.4rem;border:1px solid var(--line);background:var(--card);box-shadow:var(--sh-1)}
.start-card h2{font-family:var(--display);margin-bottom:.2rem}
.start-card p{color:var(--muted)}
.start-sample{background:var(--paper-learn);border-color:#F1E2C2;background-image:radial-gradient(400px 160px at 0% 100%,rgba(233,162,27,.12),transparent 70%)}
.plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}
.pcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.05rem 1.15rem;display:flex;flex-direction:column;box-shadow:var(--sh-1)}
.pcard h3{padding-left:2rem}
.pcard h3 a{text-decoration:none;color:var(--ink)}
.pcard h3 a:hover{color:var(--em-2)}
.pcard .muted{font-size:.84rem;margin-bottom:.5rem}
.pcheck{position:absolute;left:1rem;top:1.1rem}
.pcheck input{width:18px;height:18px}
.psteps{display:flex;gap:3px;margin:0 0 .9rem}
.psteps i{flex:1;height:5px;border-radius:3px;background:var(--line-2)}
.psteps i.on{background:var(--em)}
.pkpi{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0 0 1rem}
.pkpi div{background:var(--bg);border-radius:var(--r-sm);padding:.45rem .65rem}
.pkpi dt{font-size:.74rem;color:var(--muted)}
.pkpi dd{margin:0;font-weight:800;font-family:var(--display)}
.pkpi .pos{color:var(--em-2)}.pkpi .neg{color:var(--pg)}
.pkpi-empty{font-size:.86rem;color:var(--muted)}
.pcard .row-actions{margin-top:auto}

/* ---------- دوره ---------- */
.course-head{display:flex;justify-content:space-between;gap:2rem;align-items:center;flex-wrap:wrap;margin-bottom:1.4rem}
.course-head>div:first-child{flex:1 1 480px}
.course-facts{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 0}
.course-facts span,.course-facts a{background:#fff;border:1px solid var(--line);border-radius:99px;padding:.2rem .8rem;font-size:.86rem;text-decoration:none}
.course-meter{position:relative;width:120px;height:120px;display:grid;place-items:center;text-align:center}
.course-meter svg{position:absolute;inset:0}
.course-meter b{font-family:var(--display);font-size:1.5rem;line-height:1;margin-top:.6rem}
.course-meter span{font-size:.74rem;color:var(--muted);margin-top:-1.5rem}
.modules{list-style:none;padding:0;margin:1.6rem 0 0}
.module{margin-bottom:2rem}
.module-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.7rem}
.module-head h2{margin:0;font-family:var(--display);font-size:1.22rem;flex:1}
.module-count{font-size:.84rem;color:var(--muted)}
.mno{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--ink);color:#fff;font-weight:800;font-size:.95rem;flex:none}
.lessons{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden;box-shadow:var(--sh-1)}
.lessons li+li{border-top:1px solid var(--line-2)}
.lessons a{display:grid;grid-template-columns:32px 1fr;gap:.05rem .85rem;padding:.85rem 1.1rem;text-decoration:none;color:var(--ink)}
.lessons a:hover{background:var(--paper-learn)}
.lmark{grid-row:span 3;width:28px;height:28px;border-radius:50%;border:2px solid var(--sf);display:grid;place-items:center;font-size:.78rem;color:#fff;margin-top:.15rem}
.lessons li.done .lmark{background:var(--sf)}
.lessons li.locked .lmark{border-color:var(--line);border-style:dashed}
.lt{font-weight:800}
.ls{color:var(--ink-2);font-size:.92rem}
.lmeta{color:var(--muted);font-size:.8rem}
.reading main{max-width:980px}
.lesson-page{background:var(--paper-learn);border:1px solid #F1E2C2;border-radius:var(--r-lg);padding:1.6rem 2.2rem 2rem;box-shadow:var(--sh-1)}
@media (max-width:640px){.lesson-page{padding:1rem}}
.practice{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem;margin:1.4rem 0}
.practice h3{margin:0 0 .2rem}
.practice p{margin:0;color:var(--muted)}
.pager{display:flex;justify-content:space-between;gap:1rem;margin-top:1.6rem}
.pager a{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);background:#fff;border-radius:var(--r-sm);padding:.65rem 1rem;max-width:48%;color:var(--ink);font-weight:700}
.pager a:hover{border-color:var(--sf)}
.pager small{color:var(--muted);font-weight:500}
.pager .next{margin-right:auto;text-align:left}

/* واژه‌نامه */
.gloss-tools{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;margin-bottom:1.2rem;position:sticky;top:64px;background:var(--bg);padding:.6rem 0;z-index:3}
.gloss-tools input{max-width:420px}
.gloss{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.8rem}
.term{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1.1rem}
.term h3{margin:0;font-family:var(--display)}
.term .en{direction:ltr;text-align:right;color:var(--muted);font-size:.84rem;margin:0 0 .35rem}
.term p{margin:0;font-size:.95rem}
.term .formula-s{display:block;margin-top:.45rem;background:var(--bg);border-radius:var(--r-xs);padding:.3rem .6rem;font-size:.88rem;font-weight:700;text-align:start;unicode-bidi:isolate}

/* ---------- تیکت ---------- */
.tlist{list-style:none;padding:0;margin:0}
.tlist li{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.65rem 0;border-bottom:1px solid var(--line-2)}
.tlist li:last-child{border-bottom:0}
.tlist a{display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}
.tlist a:hover strong{color:var(--em-2)}
.tlist .muted{font-size:.82rem}
.ticket-head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.ticket-head h1{margin:0}
.thread{display:flex;flex-direction:column;gap:.85rem;margin:1rem 0 1.5rem}
.msg{max-width:min(720px,92%);border-radius:var(--r);padding:.85rem 1.05rem;border:1px solid var(--line);background:#fff}
.msg-admin{align-self:flex-end;background:var(--em-soft);border-color:#BFE2DB}
.msg-meta{display:flex;gap:.8rem;font-size:.82rem;color:var(--muted);margin-bottom:.3rem}
.msg-meta strong{color:var(--ink)}
.plain{padding-right:1.2rem;margin:.3rem 0 1rem}

/* ---------- مدیریت ---------- */
.filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}
.filters input{max-width:320px}
.filters select{max-width:220px}
.pagination{display:flex;gap:.3rem;flex-wrap:wrap}
.pagination a{padding:.2rem .75rem;border:1px solid var(--line);border-radius:var(--r-xs);text-decoration:none;background:#fff}
.pagination a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin:0 0 1rem;background:#fff}
.seg a{padding:.42rem 1rem;text-decoration:none;color:var(--ink-2);font-size:.9rem;font-weight:500}
.seg a.on{background:var(--ink);color:#fff}
.seg-light a.on{background:var(--em-soft);color:var(--em-2)}
.settings{display:grid;gap:1.2rem}
.settings .card{scroll-margin-top:90px}

/* ---------- صفحات ورود ---------- */
.auth-page main{padding:0}
.auth-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:calc(100vh - 65px)}
.auth-side{background:var(--ink);color:#fff;padding:3rem;display:flex;align-items:center;position:relative;overflow:hidden;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:28px 28px}
.auth-side-in{max-width:420px;margin-inline:auto}
.auth-quote{font-family:var(--display);font-size:1.45rem;line-height:1.7;font-weight:700;margin-bottom:1.4rem}
.auth-curve{width:100%;height:auto;margin-bottom:1.2rem}
.auth-points{list-style:none;padding:0;margin:0;color:#C4D7D3}
.auth-points li{padding:.3rem 1.6rem .3rem 0;position:relative}
.auth-points li::before{content:"";position:absolute;right:0;top:.95rem;width:10px;height:10px;border-radius:3px;background:var(--sf)}
.auth-main{display:flex;align-items:center;justify-content:center;padding:2.5rem 16px}
.auth-box{width:100%;max-width:430px}
.auth-box h1{margin-bottom:.4rem}
.auth-box>.muted{margin-bottom:1.4rem}
.auth-alt{text-align:center;color:var(--muted);margin-top:1.2rem}
.verify-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.3rem;margin-bottom:1rem}
.small-list{font-size:.9rem;color:var(--muted);padding-right:1.2rem;margin:0}
@media (max-width:860px){.auth-split{grid-template-columns:1fr}.auth-side{display:none}}

/* ---------- پانویس ---------- */
.foot{border-top:1px solid var(--line);background:#fff;font-size:.88rem;color:var(--muted)}
.foot-in{max-width:1480px;margin:0 auto;padding:1.2rem 16px}
.foot-base{display:flex;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;align-items:center}
.foot-base a{color:var(--muted)}
.foot-full{background:#08222A;color:#A9C2BD;border:0}
.foot-full .foot-in{max-width:1140px;padding-top:3rem;display:grid;grid-template-columns:1.2fr 2fr;gap:2rem}
.foot-full .brand{color:#fff}
.foot-full .foot-brand p{margin:.7rem 0 0;max-width:34ch}
.foot-full .maker a{color:var(--sf)}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.foot-cols h4{color:#fff;font-size:.95rem;margin-bottom:.5rem}
.foot-cols a{display:block;color:#A9C2BD;text-decoration:none;padding:.15rem 0}
.foot-cols a:hover{color:#fff}
.foot-full .foot-base{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.08);padding-top:1rem}
.foot-full .foot-base a{color:#A9C2BD}
@media (max-width:760px){.foot-full .foot-in{grid-template-columns:1fr}.foot-cols{grid-template-columns:1fr 1fr}}
.foot-links{display:inline-flex;gap:1rem}
/* نمادهای اعتماد */
.trust{grid-column:1/-1;margin-bottom:1rem}
.trust h4{color:#fff;font-size:.95rem;margin-bottom:.7rem}
.trust-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.trust-slot{background:#fff;border-radius:12px;padding:.4rem;min-width:96px;min-height:96px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.trust-slot img{display:block;max-height:110px;max-width:130px;width:auto;height:auto}
.trust-slot a{display:block;line-height:0}
.trust-sm{padding:.2rem 0 .9rem;border-bottom:1px solid var(--line);margin-bottom:.9rem}
.trust-sm .trust-slot{min-width:0;min-height:0;padding:.2rem;border:1px solid var(--line)}
.trust-sm .trust-slot img{max-height:64px;max-width:80px}
/* انتخاب درگاه */
.gw-pick{border:0;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.5rem}
.gw-pick legend{font-weight:700;font-size:.9rem;margin-bottom:.45rem;padding:0}
.gw-opt{position:relative;cursor:pointer;margin:0!important;flex:1 1 8rem;display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-weight:700;font-size:.92rem}
.gw-opt input{position:absolute;opacity:0;pointer-events:none}
.gw-opt:has(input:checked){border-color:var(--em);background:var(--em-soft);color:var(--em-2)}
.gw-opt:has(input:focus-visible){outline:2px solid var(--em);outline-offset:2px}
.gw-ico{width:1.9rem;height:1.9rem;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:.8rem;flex:none}
.gw-zibal{background:#1E6BFF}
.gw-zarinpal{background:#F2B705;color:#3a2c00}
.plan .gw-pick{margin:.2rem 0 .7rem}
.plan .gw-pick legend{font-size:.82rem;color:var(--muted)}
.plan .gw-opt{padding:.4rem .55rem;font-size:.85rem}
.plan .gw-ico{width:1.6rem;height:1.6rem;font-size:.7rem}
.doc h1{margin-bottom:1rem}

/* ---------- گزارش چاپی ---------- */
.report{background:#E3EAE8}
.report-bar{position:sticky;top:0;background:var(--ink);padding:.6rem 16px;display:flex;gap:.6rem;align-items:center;z-index:5;flex-wrap:wrap}
.report-bar span{color:#A9C2BD;font-size:.85rem}
.report-doc{max-width:1120px;margin:1.6rem auto;background:#fff;padding:2.6rem 3rem;box-shadow:var(--sh-2);border-radius:6px}
@media (max-width:700px){.report-doc{padding:1.2rem}}
.cover{border-bottom:3px solid var(--ink);margin-bottom:2rem;padding-bottom:1.6rem}
.cover-brand{display:flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:800;margin-bottom:2rem}
.cover-k{color:var(--em-2);font-weight:700;margin:0}
.cover h1{font-size:2.1rem}
.cover dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.5rem 1.5rem}
.cover dt{font-size:.82rem;color:var(--muted)}
.cover dd{margin:0;font-weight:500}
.report-foot{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}
@media print{
  @page{size:A4 landscape;margin:11mm}
  body{background:#fff;font-size:10.5px;line-height:1.7}
  .noprint,.topbar,.foot,.rnav{display:none!important}
  .report-doc{box-shadow:none;margin:0;padding:0;max-width:none}
  .tscroll{overflow:visible;border:0}
  .tbl{font-size:9px}
  .tbl th,.tbl td{padding:2px 4px}
  .ytbl .rowh{position:static;min-width:140px;box-shadow:none}
  .rsec{break-inside:auto}
  .rsec h2,.rsec h3{break-after:avoid}
  .chart,.stats,.explain,.ip,.checks li{break-inside:avoid}
  .explain,.ip{box-shadow:none}
  .split-2{display:block}
}
.form .gw-opt{flex-direction:row;align-items:center;gap:.55rem}
/* ---------- کیف پول و پلن ---------- */
.head-meta{display:flex;gap:.8rem;flex-wrap:wrap}
.meta-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.65rem 1rem;display:flex;flex-direction:column;min-width:200px}
.meta-box span{font-size:.82rem;color:var(--muted)}
.meta-box b{font-family:var(--display);font-size:1.1rem}
.meta-box a{font-size:.84rem}
.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.1rem;align-items:stretch}
.plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem 1.4rem;display:flex;flex-direction:column;box-shadow:var(--sh-1)}
.plan h2,.plan h3{font-family:var(--display);font-size:1.2rem;margin:0}
.plan-days{color:var(--muted);margin:.1rem 0 .8rem;font-size:.92rem}
.plan-price{margin:0;display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}
.plan-price b{font-family:var(--display);font-size:2.2rem;line-height:1.2}
.plan-price s{color:var(--muted);font-size:1rem}
.plan-price span{color:var(--muted)}
.plan-per{font-size:.85rem;color:var(--muted);margin:.2rem 0 .8rem}
.plan-desc{font-size:.94rem;color:var(--ink-2)}
.plan .ticks{flex:1}
.plan form{margin-top:auto}
.plan-note{font-size:.8rem;color:var(--muted);text-align:center;margin:.5rem 0 0}
.plan-featured{border:2px solid var(--em);box-shadow:0 20px 40px -24px rgba(15,122,108,.55)}
.plan-flag{position:absolute;top:-.8rem;right:1.2rem;background:var(--sf);color:#3A2600;font-size:.78rem;font-weight:800;padding:.15rem .75rem;border-radius:99px}
.ticks{list-style:none;padding:0;margin:.4rem 0 1.2rem}
.ticks li{padding:.32rem 1.7rem .32rem 0;position:relative;font-size:.95rem}
.ticks li::before{content:"";position:absolute;right:.2rem;top:.82rem;width:.72rem;height:.38rem;border-left:2.5px solid var(--em);border-bottom:2.5px solid var(--em);transform:rotate(-45deg)}
.result{text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:2.2rem 1.5rem;box-shadow:var(--sh-2)}
.result h1{margin-top:.6rem}
.result-ok h1{color:var(--em-2)}
.result-bad h1{color:var(--pg)}
.result-plan{background:var(--em-soft);color:var(--em-2);border-radius:var(--r-sm);padding:.6rem 1rem;font-weight:700;display:inline-block}
.big-ok{color:var(--em-2);font-weight:800;font-size:1.1rem;margin-bottom:.2rem}
.cmp-pick{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1.2rem}
.cmp-pick .chips{margin:0;flex:1}
.tbl.cmp td{text-align:center}


/* =====================================================================
   مدرسه قاف — اجزای سکو (نوار بالا، نوار ابزار، کاتالوگ، خرید، پیشخوان، مدیریت، صفحه نخست)
   ===================================================================== */
.flashes{margin-bottom:.4rem}
.inline{display:inline;margin:0}
.linkbtn{background:none;border:0;font:inherit;cursor:pointer;padding:.42rem .75rem;border-radius:var(--r-sm);color:var(--ink-2)}
.linkbtn:hover{background:var(--line-2)}
.num-ltr{direction:ltr;unicode-bidi:isolate}

/* ---------- نوار بالا ---------- */
.topbar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.6) blur(12px);-webkit-backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid var(--line)}
.topbar-in{max-width:1480px;margin:0 auto;display:flex;align-items:center;gap:1.4rem;padding:.5rem 16px;min-height:64px}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--ink);text-decoration:none;font-family:var(--display);font-weight:800;font-size:1.22rem;white-space:nowrap}
.brand:hover{color:var(--ink)}
.brand .mark{flex:none}
.brand-sub{font-family:Vazirmatn,Tahoma;font-size:.74rem;font-weight:700;background:var(--sf);color:#3A2600;border-radius:99px;padding:.05rem .55rem}
.mainnav{display:flex;align-items:center;gap:.15rem;flex:1}
.mainnav>a,.nav-end>a:not(.btn){color:var(--ink-2);text-decoration:none;padding:.42rem .75rem;border-radius:var(--r-sm);font-size:.95rem;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.mainnav>a:hover,.nav-end>a:not(.btn):hover{background:var(--line-2);color:var(--ink)}
.mainnav a.on,.nav-end a.on{background:var(--em-soft);color:var(--em-2)}
.nav-end{margin-right:auto;display:flex;align-items:center;gap:.3rem}
.nav-ghost{border:1px solid var(--line)}
.nav-quiet{color:var(--muted)!important;font-size:.92rem}
.avatar{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--ink);color:#fff;font-size:.8rem;font-weight:700}
.badge{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:99px;background:var(--pg);color:#fff;font-size:.72rem;font-weight:700}
.navtoggle{display:none;margin-right:auto;background:transparent;border:1px solid var(--line);border-radius:var(--r-sm);width:44px;height:40px;padding:0 10px;flex-direction:column;justify-content:center;gap:4px;cursor:pointer}
.navtoggle span{display:block;height:2px;background:var(--ink);border-radius:2px}
.sec-admin .topbar{background:var(--ink);border-color:var(--ink)}
.sec-admin .brand,.sec-admin .mainnav>a,.sec-admin .linkbtn{color:#D7E6E3}
.sec-admin .mainnav>a:hover,.sec-admin .linkbtn:hover{background:rgba(255,255,255,.08);color:#fff}
.sec-admin .mainnav a.on{background:rgba(25,179,159,.2);color:#fff}
.sec-admin .nav-ghost{color:#D7E6E3!important;border-color:rgba(255,255,255,.2)}
.sec-admin .navtoggle{border-color:rgba(255,255,255,.25)}
.sec-admin .navtoggle span{background:#fff}
@media (max-width:980px){
  .navtoggle{display:flex}
  .mainnav{display:none;position:absolute;top:100%;right:0;left:0;background:#fff;flex-direction:column;align-items:stretch;padding:.6rem 16px 1rem;border-bottom:1px solid var(--line);box-shadow:var(--sh-2)}
  .mainnav.open{display:flex}
  .nav-end{margin:.5rem 0 0;flex-wrap:wrap;border-top:1px solid var(--line-2);padding-top:.6rem}
  .sec-admin .mainnav{background:var(--ink)}
}

/* ---------- نوار داخلی ابزار ---------- */
.toolbar{background:#fff;border-bottom:1px solid var(--line);box-shadow:inset 0 3px 0 var(--tool,#0F7A6C)}
.toolbar-in{max-width:1480px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:1.2rem;min-height:52px;overflow-x:auto;scrollbar-width:none}
.toolbar-in::-webkit-scrollbar{display:none}
.tool-name{display:flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:800;color:var(--ink);text-decoration:none;white-space:nowrap}
.tool-dot{width:12px;height:12px;border-radius:4px;background:var(--tool,#0F7A6C);box-shadow:0 0 0 4px color-mix(in srgb,var(--tool,#0F7A6C) 18%,transparent)}
.toolnav{display:flex;gap:.15rem}
.toolnav a{padding:.85rem .75rem;text-decoration:none;color:var(--muted);font-weight:500;font-size:.93rem;white-space:nowrap;border-bottom:2px solid transparent}
.toolnav a:hover{color:var(--ink)}
.toolnav a.on{color:var(--ink);border-bottom-color:var(--tool,#0F7A6C);font-weight:700}

/* ---------- نشان ابزار ---------- */
.ticon{--tool:#0F7A6C;display:inline-grid;place-items:center;flex:none;width:52px;height:52px;border-radius:15px;background:var(--tool);color:#fff;font-family:var(--display);font-weight:800;font-size:1.25rem;position:relative;overflow:hidden;box-shadow:0 8px 18px -10px var(--tool)}
.ticon::after{content:"";position:absolute;inset:auto -30% -55% auto;width:90%;height:90%;border-radius:50%;background:rgba(255,255,255,.14)}
.ticon img{width:62%;height:62%;object-fit:contain;position:relative;z-index:1}
.ticon-lg{width:72px;height:72px;border-radius:20px;font-size:1.7rem}
.ticon-sm{width:38px;height:38px;border-radius:11px;font-size:.95rem}

/* ---------- کاتالوگ ---------- */
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:1.1rem}
.tcard{--tool:#0F7A6C;position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem 1.35rem 1.2rem;box-shadow:var(--sh-1);transition:border-color .15s,box-shadow .15s,transform .15s}
.tcard:hover{border-color:color-mix(in srgb,var(--tool) 45%,var(--line));box-shadow:var(--sh-2)}
.tcard-head{display:flex;gap:.9rem;align-items:center;margin-bottom:.8rem}
.tcard h3{font-family:var(--display);font-size:1.2rem;margin:0}
.tcard h3 a{color:var(--ink);text-decoration:none}
.tcard h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.tcard .cat{font-size:.8rem;color:var(--muted)}
.tcard p{color:var(--ink-2);font-size:.95rem;flex:1;margin-bottom:1rem}
.tcard-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border-top:1px dashed var(--line);padding-top:.85rem}
.tcard-foot .price{font-weight:800;font-family:var(--display)}
.tcard-foot .price small{font-family:Vazirmatn,Tahoma;font-weight:500;color:var(--muted);font-size:.8rem;margin-left:.2rem}
.tcard-foot .btn{position:relative;z-index:1}
.owned{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;color:var(--em-2);background:var(--em-soft);border-radius:99px;padding:.1rem .6rem}
.tcard-soon{opacity:.75}

/* ---------- صفحه معرفی ابزار ---------- */
.tool-hero{--tool:#0F7A6C;position:relative;border-radius:28px;overflow:hidden;background:var(--ink);color:#E5F0EE;padding:2.6rem 2.4rem;margin-bottom:2rem;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:2rem;align-items:center;
  background-image:radial-gradient(520px 260px at 100% 0%,color-mix(in srgb,var(--tool) 55%,transparent),transparent 70%),radial-gradient(380px 220px at 0% 100%,rgba(233,162,27,.18),transparent 70%)}
.tool-hero h1{color:#fff;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.35;margin:.7rem 0 .6rem}
.tool-hero .lead{color:#C9DCD8;font-size:1.08rem}
.tool-hero .crumbs a{color:#9FC0BA}
.hero-buy{display:flex;align-items:center;gap:1rem 1.4rem;flex-wrap:wrap;margin-top:1.5rem}
.hero-buy .from{color:#A9C2BD;font-size:.9rem}
.hero-buy .from b{display:block;color:#fff;font-family:var(--display);font-size:1.6rem;line-height:1.3}
.hero-facts{list-style:none;margin:0;padding:1.3rem;display:grid;gap:.75rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg)}
.hero-facts li{display:flex;gap:.7rem;align-items:flex-start;line-height:1.8}
.hero-facts li::before{content:"";flex:none;width:9px;height:9px;margin-top:.62rem;border-radius:3px;background:var(--sf)}
@media (max-width:900px){.tool-hero{grid-template-columns:1fr;padding:1.8rem 1.3rem}}
.sec-h{font-family:var(--display);font-size:clamp(1.3rem,2.2vw,1.65rem);margin:2.6rem 0 .4rem}
.sec-sub{color:var(--muted);max-width:62ch;margin-bottom:1.3rem}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}
.feature{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem}
.feature h3{font-size:1rem;margin-bottom:.25rem}
.feature p{color:var(--muted);font-size:.93rem;margin:0}
.plan-days .life{color:var(--em-2);font-weight:700}
.owned-box{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--em-soft);border:1px solid #BFE2DB;border-radius:var(--r);padding:1rem 1.2rem;margin-bottom:1.2rem}
.owned-box p{margin:0;color:var(--em-2);font-weight:700}

/* ---------- خرید ---------- */
.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1.4rem;align-items:start}
@media (max-width:860px){.checkout{grid-template-columns:1fr}}
.summary{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;box-shadow:var(--sh-1)}
.summary-tool{display:flex;gap:.9rem;align-items:center;padding-bottom:1rem;border-bottom:1px dashed var(--line);margin-bottom:1rem}
.summary-tool h2{margin:0;font-family:var(--display)}
.summary dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem}
.summary dt{color:var(--muted)}
.summary dd{margin:0;text-align:left;font-weight:700}
.summary .total{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:.9rem;margin-top:.4rem}
.summary .total b{font-family:var(--display);font-size:1.6rem}
.secure-note{display:flex;gap:.5rem;align-items:center;color:var(--muted);font-size:.86rem;margin-top:.8rem}
.gw-pick{border:0;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.5rem}
.gw-pick legend{font-weight:700;font-size:.92rem;margin-bottom:.45rem;padding:0}
.gw-opt{position:relative;cursor:pointer;margin:0!important;flex:1 1 9rem;display:flex!important;flex-direction:row!important;align-items:center;gap:.6rem!important;padding:.65rem .8rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-weight:700}
.gw-opt input{position:absolute;opacity:0;pointer-events:none}
.gw-opt:has(input:checked){border-color:var(--em);background:var(--em-soft);color:var(--em-2)}
.gw-opt:has(input:focus-visible){outline:3px solid var(--sf);outline-offset:2px}
.gw-ico{width:2rem;height:2rem;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:.78rem;flex:none}
.gw-zibal{background:#1E6BFF}
.gw-zarinpal{background:#F2B705;color:#3a2c00}
.check-line{display:flex!important;flex-direction:row!important;gap:.55rem!important;align-items:flex-start;font-weight:400!important}
.check-line input{margin-top:.5rem}

/* ---------- پیشخوان کاربر ---------- */
.hello{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.hello h1{font-size:clamp(1.6rem,2.6vw,2.15rem);margin:0}
.mytools{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:1.1rem}
.mtool{--tool:#0F7A6C;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-1)}
.mtool-top{display:flex;gap:.9rem;align-items:center;padding:1.2rem 1.3rem .9rem;background:linear-gradient(180deg,color-mix(in srgb,var(--tool) 9%,#fff),#fff)}
.mtool-top h3{margin:0;font-family:var(--display);font-size:1.15rem}
.mtool-top .when{font-size:.84rem;color:var(--muted)}
.mtool-top .when.soon{color:var(--warn);font-weight:700}
.mtool-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem;padding:0 1.3rem;margin:0 0 1rem}
.mtool-stats div{background:var(--bg);border-radius:var(--r-sm);padding:.45rem .65rem}
.mtool-stats dt{font-size:.74rem;color:var(--muted)}
.mtool-stats dd{margin:0;font-weight:800;font-family:var(--display)}
.mtool-note{padding:0 1.3rem;color:var(--muted);font-size:.9rem}
.mtool-foot{margin-top:auto;display:flex;gap:.5rem;align-items:center;padding:.9rem 1.3rem;border-top:1px solid var(--line-2)}
.mtool-foot .btn-primary{background:var(--tool);box-shadow:none}
.mtool-foot .btn-primary:hover{filter:brightness(.92);background:var(--tool)}
.mtool.expired{opacity:.85}
.mtool.expired .mtool-top{background:#F7F8F8}
.first-run{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.4rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.8rem;box-shadow:var(--sh-1)}
@media (max-width:860px){.first-run{grid-template-columns:1fr}}

/* ---------- سفارش‌ها ---------- */
.receipt{max-width:620px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2)}
.receipt-head{padding:1.6rem 1.6rem 1.2rem;text-align:center}
.receipt-head h1{margin:.6rem 0 .2rem}
.receipt-ok .receipt-head h1{color:var(--em-2)}
.receipt-bad .receipt-head h1{color:var(--pg)}
.receipt dl{margin:0;padding:1.1rem 1.6rem;display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem;border-top:1px dashed var(--line);background:#FBFCFC}
.receipt dt{color:var(--muted)}
.receipt dd{margin:0;text-align:left;font-weight:700}
.receipt .row-actions{padding:1.1rem 1.6rem 1.4rem;justify-content:center}

/* ---------- مدیریت ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;margin-bottom:1.3rem}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.95rem 1.1rem;display:flex;flex-direction:column;gap:.1rem}
.kpi span{font-size:.84rem;color:var(--muted)}
.kpi b{font-family:var(--display);font-size:1.45rem;line-height:1.5}
.kpi small{color:var(--muted)}
.kpi-accent{background:var(--ink);color:#fff;border-color:var(--ink)}
.kpi-accent span,.kpi-accent small{color:#A9C2BD}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.2rem;align-items:start}
@media (max-width:1000px){.admin-grid{grid-template-columns:1fr}}
.bars{display:flex;align-items:flex-end;gap:3px;height:160px;padding-top:.5rem;border-bottom:1px solid var(--line)}
.bars i{flex:1;background:var(--em-bright);border-radius:3px 3px 0 0;min-height:2px;position:relative}
.bars i:hover{background:var(--em)}
.bars-axis{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted);margin-top:.3rem}
.drop{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;border:2px dashed #B8CCC8;border-radius:var(--r-lg);padding:2rem 1rem;background:#FBFDFC;cursor:pointer;transition:border-color .15s,background .15s;margin:0!important}
.drop:hover,.drop.over{border-color:var(--em);background:var(--em-soft)}
.drop.has{border-style:solid;border-color:var(--em)}
.drop input{position:absolute;opacity:0;width:1px;height:1px}
.drop b{font-family:var(--display);font-size:1.1rem}
.drop .drop-name{font-weight:700;color:var(--em-2)}
.mf{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1.2rem;margin:0}
.mf dt{color:var(--muted)}
.mf dd{margin:0;font-weight:500}
.issues{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.4rem}
.issues li{padding:.5rem .8rem;border-radius:var(--r-sm);font-size:.92rem}
.issues .err{background:var(--pg-soft);color:#9B2A23}
.issues .wrn{background:var(--warn-soft);color:var(--warn)}
.tool-row{display:flex;align-items:center;gap:.8rem}
.tool-row b{display:block}
.tool-row small{color:var(--muted)}
.code-tag{font-family:ui-monospace,Consolas,monospace;font-size:.85em;background:var(--line-2);padding:.05em .45em;border-radius:6px;direction:ltr;unicode-bidi:isolate}
.kv{display:grid;grid-template-columns:minmax(140px,auto) 1fr;gap:.4rem 1rem;margin:0}
.kv dt{color:var(--muted)}
.kv dd{margin:0}
.danger-zone{border-color:#F0C4BF;background:#FFFAF9}
.danger-zone h2{color:var(--pg)}

/* ---------- صفحه نخست ---------- */
.home main{padding-top:0;max-width:none;padding-inline:0}
.home .flashes{max-width:1140px;margin:1rem auto 0;padding:0 16px}
.band{padding:4.2rem 16px}
.band-in{max-width:1140px;margin:0 auto}
.band-white{background:#fff;border-block:1px solid var(--line)}
.band-ink{background:var(--ink);color:#DDEBE8}
.band-ink h2{color:#fff}
.hero{padding:3.6rem 16px 3.4rem;background:radial-gradient(900px 420px at 85% -10%,#DDF1ED,transparent 70%),radial-gradient(600px 300px at 0% 110%,#FFF1D2,transparent 70%),var(--bg)}
.hero-in{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:2.6rem;align-items:center}
@media (max-width:940px){.hero-in{grid-template-columns:1fr}}
.hero h1{font-size:clamp(2rem,4.4vw,3.25rem);line-height:1.3;letter-spacing:-.01em;margin-bottom:1rem}
.hero .lead{font-size:clamp(1.02rem,1.5vw,1.16rem);max-width:52ch;margin-bottom:1.6rem}
.hero-cta{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.hero-note{color:var(--muted);font-size:.9rem;margin-top:1rem}
.hero-note b{color:var(--ink)}
/* نمونه زنده: هر ابزار = کار واقعی + کلاس درس */
.duo{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--sh-3);overflow:hidden}
.duo-tabs{display:flex;gap:.3rem;padding:.6rem .6rem 0;background:#F6F9F8;border-bottom:1px solid var(--line)}
.duo-tabs button{font:inherit;font-weight:800;border:1px solid transparent;border-bottom:0;background:transparent;padding:.6rem 1.1rem;border-radius:14px 14px 0 0;color:var(--muted);cursor:pointer}
.duo-tabs button[aria-selected=true]{background:#fff;border-color:var(--line);color:var(--em-2);box-shadow:inset 0 3px 0 var(--em)}
.duo-tabs button[data-tt=learn][aria-selected=true]{background:var(--paper-learn);color:var(--sf-2);box-shadow:inset 0 3px 0 var(--sf)}
.duo-body{padding:1.3rem 1.4rem 1.4rem;min-height:330px}
.duo-body[data-tt-panel=learn]{background:var(--paper-learn);background-image:linear-gradient(to left,transparent 30px,#F4D9A4 30px,#F4D9A4 31px,transparent 31px);padding-right:46px}
.duo-label{font-size:.82rem;color:var(--muted);margin-bottom:.6rem}
.duo .tbl{font-size:.88rem;margin-bottom:1rem}
.duo-out{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.duo-out div{background:var(--bg);border-radius:var(--r-sm);padding:.5rem .7rem}
.duo-out span{display:block;font-size:.76rem;color:var(--muted)}
.duo-out b{font-family:var(--display);font-size:1.15rem}
.duo-out .pos{color:var(--em-2)}
.duo .formula{background:#fff;border:1px solid #EADFC6;border-radius:var(--r-sm);padding:.7rem 1rem;text-align:center;font-weight:700;margin:.6rem 0}
.duo .lesson-p{font-size:.95rem;line-height:2}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;counter-reset:s}
@media (max-width:860px){.steps3{grid-template-columns:1fr}}
.step3{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem 1.3rem 1.3rem}
.step3::before{counter-increment:s;content:counter(s,persian);display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:12px;background:var(--ink);color:#fff;font-family:var(--display);font-weight:800;margin-bottom:.8rem}
.step3 h3{font-family:var(--display);font-size:1.12rem;margin-bottom:.3rem}
.step3 p{color:var(--muted);margin:0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.sec-head h2{font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0}
.sec-head p{color:var(--muted);margin:.3rem 0 0;max-width:60ch}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1.6rem 2rem}
.pillar h3{color:#fff;font-family:var(--display);font-size:1.08rem;margin-bottom:.35rem;display:flex;gap:.55rem;align-items:center}
.pillar h3 i{width:10px;height:10px;border-radius:3px;background:var(--sf);flex:none}
.pillar p{color:#B9CFCA;margin:0}
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line);padding:.9rem 0}
.faq summary{cursor:pointer;font-weight:700;font-size:1.02rem;list-style-position:outside}
.faq details p{margin:.6rem 0 0;color:var(--ink-2)}
.cta-final{text-align:center;padding:3.6rem 16px;background:var(--ink);color:#DDEBE8;background-image:radial-gradient(700px 260px at 50% 0%,rgba(25,179,159,.25),transparent 70%)}
.cta-final h2{color:#fff;font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2.1rem)}
.cta-final p{color:#B9CFCA;margin-bottom:1.4rem}

/* ---------- ورود و عضویت ---------- */
.auth-page main{padding:0;max-width:none}
.auth-side .brand{color:#fff;margin-bottom:2rem}

/* ---------- خطا ---------- */
.err-page{text-align:center;padding:4rem 1rem}
.err-page .code{font-family:var(--display);font-size:5rem;line-height:1;color:var(--line);font-weight:800}
.err-page h1{margin:.6rem 0 .4rem}
.err-page p{color:var(--muted)}

@media print{.toolbar{display:none!important}}
.plan-cta{margin-top:auto}
.plan-row{border:1px solid var(--line);border-radius:var(--r-sm);padding:.6rem .9rem;margin-bottom:.6rem;background:#FBFCFC}
.plan-row>summary{cursor:pointer;padding:.2rem 0}
.plan-row[open]>summary{margin-bottom:.8rem}
.plan-edit .fgrid{margin-bottom:.4rem}
.checks li.ok::before,.checks li.bad::before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.78rem;background:var(--em-soft);color:var(--em-2)}
.checks li.bad{border-color:#F0C4BF;background:#FFFBFA}
.checks li.bad::before{content:"!";background:var(--pg);color:#fff}
.logbox{background:var(--ink);color:#CFE3DF;border-radius:var(--r-sm);padding:1rem;font-size:.8rem;line-height:1.7;max-height:420px;overflow:auto;white-space:pre-wrap;word-break:break-all}
.search-box input{min-width:260px}
.tool-summary{margin-bottom:1rem}
.btn.danger,.btn-ghost.danger{color:var(--pg)}
.duo-out b,.hero-buy .from b,.sheet-kpi strong,.jc-kpis b{font-family:Vazirmatn,Tahoma,sans-serif;font-weight:800}
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1 0 auto;width:100%}

/* پشتیبان‌گیری */
.bk-restore{margin-top:.5rem}
.bk-restore>summary{cursor:pointer;color:var(--em-2);font-weight:700;font-size:.88rem}
.bk-restore[open]{background:#F7FAF9;border:1px solid var(--line);border-radius:var(--r-sm);padding:.6rem .8rem;min-width:300px}
.bk-restore h3{font-size:.95rem;margin:.4rem 0 .2rem}
.small{font-size:.86rem}
