/* ─────────────────────────────────────────────────────────────
   ظاهر «نور هشت» — پوستهٔ الگوبرداری‌شده از «صالح یار» / نسیم رضوان
   هیچ رنگ و اندازه‌ای اینجا نوشته نشده؛ همه از متغیرهایی می‌آید که
   سرور از پنل تنظیمات می‌سازد (قاعدهٔ ۱۲ فایل ۰۲).
   ───────────────────────────────────────────────────────────── */

/* ── فونت از سرور خودمان، نه از اینترنت (قاعدهٔ ۱۵) ──
   فونت‌ها وزنِ متغیر دارند: یک فایل، همهٔ ضخامت‌ها.
   Vazirmatn-1 حروف فارسی و عربی، Vazirmatn-2 حروف لاتین و ارقام. */
@font-face{ font-family:Vazirmatn; font-style:normal; font-weight:100 900; font-display:swap;
  src:url("/static/fonts/Vazirmatn-1.woff2") format("woff2"); }
@font-face{ font-family:Vazirmatn; font-style:normal; font-weight:100 900; font-display:swap;
  src:url("/static/fonts/Vazirmatn-2.woff2") format("woff2"); }
@font-face{ font-family:"Noto Naskh Arabic"; font-style:normal; font-weight:700; font-display:swap;
  src:url("/static/fonts/NaskhX.woff2") format("woff2"); }

*{ box-sizing:border-box; }
html{ color-scheme:light only; }           /* اپ همیشه روشن است — قاعدهٔ ۱۳ */

body{
  margin:0;
  background:var(--page);
  color:var(--ink);
  font-family:Vazirmatn,"Segoe UI",Tahoma,sans-serif;
  font-size:var(--fs-base);
  line-height:var(--lh);
  direction:rtl;
  text-align:right;
  -webkit-tap-highlight-color:transparent;
}
.naskh{ font-family:"Noto Naskh Arabic",Vazirmatn,serif; }
.num{ font-variant-numeric:tabular-nums; }

/* در سبک سنتی، عنوان‌ها خط نسخ می‌شوند */
body.classic .brand,
body.classic .today .dd,
body.classic h1.naskh{ font-family:"Noto Naskh Arabic",Vazirmatn,serif; }

/* ── قاب گوشی ── */
.phone{
  max-width:430px; margin:0 auto; min-height:100vh;
  background:var(--bg); position:relative; overflow-x:hidden; overflow-x:clip;
  box-shadow:0 0 40px -20px rgba(27,43,51,.4);
  display:flex; flex-direction:column;
}

/* پس‌زمینهٔ صفحه — سه حالت */
body.bg-pattern .view{ background-image:var(--patbg); background-size:88px 88px; }
body.bg-scene .view{ background-image:var(--scenebg); background-repeat:no-repeat;
  background-position:bottom center; background-size:100% auto; }

/* ── نوار وضعیت ── */
.statusbar{
  flex:none; display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:5px 12px; background:var(--sky2); color:#fff; font-size:var(--fs-tiny);
}
.statusbar .rolechip{
  display:inline-flex; align-items:center; gap:5px;
  background:rgba(255,255,255,.22); border-radius:999px; padding:2px 10px;
  font-weight:700; color:#fff; text-decoration:none;
  max-width:62%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.statusbar svg{ width:13px; height:13px; }

/* ── سربرگ ── */
.appbar{
  flex:none; position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(135deg,var(--sky1),var(--sky2));
}
.appbar .pat{ position:absolute; inset:0; opacity:.14; pointer-events:none; }
body.classic .appbar .pat{ opacity:.18; }
body.modern .appbar .pat{ opacity:0; }
.appbar .scene{ position:absolute; inset:0; pointer-events:none; }
.appbar .row{ position:relative; display:flex; align-items:center; gap:8px; padding:10px 12px 12px; }
.appbar a{ color:#fff; text-decoration:none; }

.ib{
  width:36px; height:36px; border-radius:12px; border:0; flex:none;
  background:rgba(255,255,255,.2); color:#fff;
  display:grid; place-items:center; cursor:pointer; position:relative;
  text-decoration:none;
}
.ib svg{ width:19px; height:19px; }
.ib:focus-visible{ outline:2px solid #fff; outline-offset:2px; }
.ib .dot{
  position:absolute; top:-3px; inset-inline-end:-3px;
  min-width:17px; height:17px; border-radius:9px;
  background:var(--coral); color:#fff; font-size:10px; font-weight:800;
  display:grid; place-items:center; padding:0 4px; box-shadow:0 0 0 2px var(--sky2);
}
.brandbox{ display:flex; align-items:center; gap:8px; flex:1 1 auto; min-width:0; }
.logo{
  width:38px; height:38px; flex:none; border-radius:50%;
  background:#fff; display:grid; place-items:center;
  box-shadow:0 2px 6px rgba(0,0,0,.15); color:var(--gold);
}
.logo svg{ width:28px; height:28px; }
.brand{ font-weight:800; font-size:var(--fs-title); line-height:1.2; white-space:nowrap; }
.brandsub{ font-size:var(--fs-tiny); opacity:.92; line-height:1.3;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ptitle{ font-size:var(--fs-card); font-weight:800; line-height:1.3;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ── بدنه ── */
.view{ flex:1 1 auto; position:relative; background:var(--bg); }
.pad{ padding:14px 14px 104px; }
body.has-ask .pad{ padding-bottom:150px; }   /* بستهٔ ۳۵.۸: جای دکمهٔ «از من بپرس» بالای «نظر» */

/* ── کارت ── */
.card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r);
  padding:var(--pad-y) var(--pad-x); margin-bottom:var(--gap);
  box-shadow:0 1px 2px rgba(27,43,51,.04); }
.card-2{ background:var(--card-2); }
.card h3{ margin:0 0 4px; font-size:var(--fs-card); font-weight:800; line-height:1.5; }
.card h3 a{ color:inherit; text-decoration:none; }
.card p{ margin:0; color:var(--ink-2); font-size:var(--fs-small); }
a.tap{ display:block; text-decoration:none; color:inherit; transition:border-color .15s; }
a.tap:hover{ border-color:var(--teal); }
.card.hl{ border-color:var(--teal); box-shadow:0 0 0 3px var(--teal-wash); }

.sec{ font-size:var(--fs-small); font-weight:800; color:var(--ink-2);
  margin:16px 2px 8px; display:flex; justify-content:space-between; align-items:center; gap:8px; }

/* ── کارت امروز ── */
.today{
  background:linear-gradient(160deg,var(--card) 0%,var(--card-2) 100%);
  border:1px solid var(--line); border-radius:22px;
  padding:12px 14px; margin-bottom:var(--gap); box-shadow:var(--shadow,none);
}
body.classic .today{ border-color:var(--gold-2); }
.today .date{ display:flex; align-items:center; gap:12px; }
.today .dd{ font-size:34px; font-weight:800; line-height:1; color:var(--teal-deep);
  font-variant-numeric:tabular-nums; }
.today .dm{ font-size:var(--fs-small); line-height:1.5; }
.today .dm b{ display:block; font-size:var(--fs-card); }
.today .hj{ font-size:var(--fs-tiny); color:var(--ink-2);
  margin-inline-start:auto; text-align:left; line-height:1.6; }
.today .salavat{ font-family:"Noto Naskh Arabic",Vazirmatn,serif;
  font-size:var(--fs-small); color:var(--gold); margin-top:2px; }
.orn{ display:none; height:14px; color:var(--gold-2); }
body.classic .orn{ display:block; }
.tmini{ display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:10px; }
.tmini a{
  border:1px solid var(--line); background:var(--card); border-radius:14px;
  padding:7px 8px; text-decoration:none; color:var(--ink); min-width:0; display:block;
}
.tmini a:hover{ border-color:var(--teal); }
.tmini .k{ font-size:var(--fs-tiny); color:var(--ink-3); display:block; line-height:1.4; }
.tmini .v{ font-size:var(--fs-small); font-weight:800; display:block; line-height:1.45;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ── اوقات شرعی ── */
.pray{ padding:10px 12px; }
.pray .ph{ display:flex; align-items:center; gap:6px;
  font-size:var(--fs-small); font-weight:800; margin-bottom:6px; }
.pray .ph svg{ width:18px; height:18px; color:var(--gold); }
.pray .grid{ display:grid; grid-template-columns:repeat(6,1fr); text-align:center; }
.pray .grid div{ border-inline-start:1px solid var(--line); padding:0 2px; }
.pray .grid div:first-child{ border-inline-start:0; }
.pray .k{ font-size:var(--fs-tiny); color:var(--ink-2); display:block; }
.pray .v{ font-size:var(--fs-small); font-weight:800;
  font-variant-numeric:tabular-nums; display:block; }
.pray .next .v, .pray .next .k{ color:var(--teal-deep); font-weight:800; }

/* ── شبکهٔ هشت خدمت ── */
.grid8{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px 8px; }
.tile{ background:none; border:0; padding:4px 2px 2px; text-decoration:none; color:var(--ink);
  display:flex; flex-direction:column; align-items:center; gap:5px;
  position:relative; border-radius:16px; }
.tile:focus-visible{ outline:2px solid var(--teal); outline-offset:1px; }
.tile .sq{
  width:64px; height:64px; border-radius:20px; position:relative;
  display:grid; place-items:center; color:#fff;
  box-shadow:0 1px 2px rgba(27,43,51,.05),0 8px 16px -12px rgba(27,43,51,.3);
  transition:transform .12s;
}
.tile:hover .sq{ transform:translateY(-2px); }
.tile .sq svg{ position:relative; width:28px; height:28px; stroke-width:1.8; }
.tile .lbl{ font-size:var(--fs-tiny); font-weight:700; line-height:1.35; text-align:center;
  min-height:2.7em; display:flex; align-items:flex-start; justify-content:center; }
.tile .badge{
  position:absolute; top:0; inset-inline-end:calc(50% - 38px);
  min-width:20px; height:20px; border-radius:10px; background:var(--coral); color:#fff;
  font-size:11px; font-weight:800; display:grid; place-items:center; padding:0 5px;
  box-shadow:0 0 0 2px var(--bg); z-index:2;
}
/* سبک سنتی: خانهٔ آیکون به شمسه تبدیل می‌شود */
.tile .shamse{ display:none; }
body.classic .tile .sq{ background:none !important; box-shadow:none; width:74px; height:74px; }
body.classic .tile .shamse{ display:block; position:absolute; inset:0; width:100%; height:100%;
  filter:drop-shadow(0 3px 5px rgba(27,43,51,.18)); }
body.classic .tile .lbl{ font-weight:600; }

/* ── برچسب ── */
.pill{ display:inline-block; border-radius:999px; padding:2px 9px;
  font-size:var(--fs-tiny); font-weight:800; white-space:nowrap; }
.pill.g{ background:var(--teal-wash); color:var(--teal-deep); }
.pill.y{ background:var(--gold-wash); color:var(--gold); }
.pill.n{ background:var(--pill-n); color:var(--ink-2); }
.pill.c{ background:var(--coral-wash); color:var(--coral); }
.pill.ok{ background:var(--ok-wash); color:var(--ok); }

/* ── دکمه ── */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px;
  background:var(--teal); color:#fff; border:0; border-radius:var(--r-btn);
  padding:11px 18px; font:inherit; font-weight:800; cursor:pointer; text-decoration:none;
  box-shadow:0 6px 16px -9px var(--teal); }
.btn:hover{ background:var(--teal-deep); }
.btn.w{ width:100%; }
.btn.ghost{ background:transparent; color:var(--teal-deep);
  border:1.5px solid var(--teal); box-shadow:none; }
.btn.soft{ background:var(--teal-wash); color:var(--teal-deep); box-shadow:none; }
.btn.warn{ background:var(--coral); box-shadow:none; }
.btn.small{ padding:7px 13px; font-size:var(--fs-small); }
.btns{ display:flex; gap:8px; margin-top:10px; }
.btns .btn{ flex:1; }

/* ── فرم ── */
label{ display:block; font-size:var(--fs-small); font-weight:700;
  color:var(--ink-2); margin:12px 2px 5px; }
input, select, textarea{ width:100%; font:inherit; color:var(--ink);
  background:var(--card); border:1px solid var(--line); border-radius:var(--r-input);
  padding:11px 12px; direction:rtl; }
input:focus, select:focus, textarea:focus{ outline:2px solid var(--teal-wash); border-color:var(--teal); }
input[type=number], .ltr{ direction:ltr; text-align:right; }
.hint{ font-size:var(--fs-small); color:var(--ink-3); margin:5px 2px 0; }

/* ── سه‌تایی آمار ── */
.chips{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:var(--gap); }
.chip{ background:var(--card); border:1px solid var(--line); border-radius:14px;
  padding:9px 6px; text-align:center; }
.chip b{ display:block; font-size:var(--fs-stat); font-weight:800;
  font-variant-numeric:tabular-nums; line-height:1.2; }
.chip span{ font-size:var(--fs-tiny); color:var(--ink-2); }

/* ── نوار پیشرفت ── */
.bar{ height:8px; background:var(--track); border-radius:5px; overflow:hidden; margin-top:7px; }
.bar > i{ display:block; height:100%; background:var(--teal); border-radius:5px; }

/* ── فهرست ردیفی ── */
.li{ display:flex; align-items:center; gap:10px; padding:10px 0;
  border-bottom:1px solid var(--line); text-decoration:none; color:inherit; }
.li:last-child{ border-bottom:0; }
.li .ic{ width:34px; height:34px; border-radius:11px; flex:none;
  background:var(--teal-wash); color:var(--teal-deep); display:grid; place-items:center; }
.li .ic svg{ width:18px; height:18px; }
.li .ic.y{ background:var(--gold-wash); color:var(--gold); }
.li .ic.c{ background:var(--coral-wash); color:var(--coral); }
.li .ic.ok{ background:var(--ok-wash); color:var(--ok); }
.avatar{ width:36px; height:36px; border-radius:50%; flex:none;
  background:var(--teal-wash); color:var(--teal-deep);
  display:grid; place-items:center; font-weight:800; }

/* ── نوار پایین ── */
.tabs{
  position:fixed; bottom:0; left:0; right:0; z-index:20;
  width:100%; max-width:430px; margin:0 auto;
  background:var(--card); border-top:1px solid var(--line);
  display:grid; align-items:end;
  grid-template-columns:1fr 1fr 1fr 1fr;
  padding-bottom:env(safe-area-inset-bottom);
}
.tabs.has-center{ grid-template-columns:1fr 1fr 84px 1fr 1fr; }
.tabs.five{ grid-template-columns:repeat(5, 1fr); }   /* بستهٔ ۳۵.۷: دکمهٔ وسط خاموش */
.tabs a{ text-decoration:none; color:var(--ink-3); text-align:center;
  font-size:var(--fs-tiny); display:flex; flex-direction:column; align-items:center; gap:2px;
  padding:7px 0 8px; position:relative; }
.tabs a.on{ color:var(--teal-deep); font-weight:800; }
.tabs svg{ width:21px; height:21px; stroke-width:1.8; }
.tabs .dot{ position:absolute; top:3px; inset-inline-start:calc(50% + 5px);
  min-width:16px; height:16px; border-radius:8px; background:var(--coral); color:#fff;
  font-size:10px; font-weight:800; display:grid; place-items:center; padding:0 4px; }
.tabs .center{ padding:0 0 6px; }
.tabs .center .disc{
  width:62px; height:62px; border-radius:50%; margin-top:-26px;
  background:linear-gradient(145deg,var(--sky1),var(--sky2));
  display:grid; place-items:center;
  box-shadow:0 6px 16px -6px var(--sky2), 0 0 0 5px var(--card);
}
.tabs .center .disc svg{ width:36px; height:36px; color:var(--gold-2); }
.tabs .center span{ color:var(--teal-deep); font-weight:800; }

/* ── کشوی کناری ── */
.scrim{ position:fixed; inset:0; z-index:40; background:rgba(20,30,36,.45);
  opacity:0; pointer-events:none; transition:opacity .18s; }
.drawer{
  position:fixed; top:0; bottom:0; inset-inline-start:0; z-index:41;
  width:82%; max-width:320px; background:var(--bg);
  transform:translateX(105%); transition:transform .22s ease;
  display:flex; flex-direction:column; box-shadow:0 0 30px rgba(0,0,0,.25);
}
#menu:target ~ .scrim{ opacity:1; pointer-events:auto; }
#menu:target ~ .drawer{ transform:none; }
.drawer .dh{ padding:18px 16px 14px; color:#fff; flex:none;
  background:linear-gradient(135deg,var(--sky1),var(--sky2)); }
.drawer .db{ overflow-y:auto; padding:8px 10px 18px; }
.drawer .di{ display:flex; align-items:center; gap:10px; width:100%;
  padding:9px 8px; border-radius:12px; font-size:var(--fs-card);
  text-decoration:none; color:var(--ink); }
.drawer .di:hover{ background:var(--teal-wash); }
.drawer .di svg{ width:20px; height:20px; color:var(--teal-deep); flex:none; }

/* ── جدول ── */
table{ width:100%; border-collapse:collapse; font-size:var(--fs-small); }
th, td{ padding:9px 8px; text-align:right; border-bottom:1px solid var(--line); }
th{ color:var(--ink-2); font-weight:700; }
td.num, th.num{ font-variant-numeric:tabular-nums; }

/* ── پیام ── */
.note{ border-radius:var(--r); padding:11px 13px; font-size:var(--fs-small);
  margin-bottom:var(--gap); }
.note.ok{ background:var(--teal-wash); color:var(--teal-deep); }
.note.warn{ background:var(--gold-wash); color:var(--gold); }
.note.err{ background:var(--coral-wash); color:var(--coral); }
.empty{ text-align:center; color:var(--ink-3); padding:34px 10px; font-size:var(--fs-small); }

/* ── کد ورود ── */
.otp{ font-size:var(--fs-otp); letter-spacing:10px; text-align:center; direction:ltr;
  font-variant-numeric:tabular-nums; }

/* ── کمکی‌ها ── */
.row{ display:flex; align-items:center; gap:8px; }
.row .grow{ flex:1; min-width:0; }
.wrap{ flex-wrap:wrap; }
.muted{ color:var(--ink-2); font-size:var(--fs-small); }
.tiny{ color:var(--ink-3); font-size:var(--fs-tiny); }
.split{ display:flex; justify-content:space-between; align-items:center; gap:8px; }
.stack > * + *{ margin-top:var(--gap); }
.divider{ height:1px; background:var(--line); margin:10px 0; }

/* ── پنل ستاد روی صفحهٔ بزرگ ── */
.wide{ max-width:1100px; }
.wide .grid8{ grid-template-columns:repeat(8,1fr); }
.wide .tabs{ max-width:1100px; }
.cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:var(--gap); }

/* ── قاعدهٔ حرکت ── */
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
}
body.no-motion *{ animation:none !important; transition:none !important; }

/* ── فرم طرح توجیهی و مسیر فرایند ── */
.sheetnav{ display:flex; gap:6px; overflow-x:auto; padding:2px 0 8px;
  scrollbar-width:none; }
.sheetnav::-webkit-scrollbar{ display:none; }
.sheetnav a{ flex:none; text-decoration:none; font-size:var(--fs-tiny);
  font-weight:700; padding:6px 11px; border-radius:999px;
  background:var(--pill-n); color:var(--ink-2); border:1px solid var(--line); }
.sheetnav a.on{ background:var(--teal-wash); color:var(--teal-deep);
  border-color:var(--teal); }
.two{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
/* بستهٔ ۳۵: نوار چهار صفحهٔ فرم وام — همیشه کامل، بی پیمایش افقی؛ گوشی ۲×۲، صفحهٔ بزرگ یک ردیف */
.fpnav{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin:2px 0 6px; }
@media (min-width:700px){ .fpnav{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.fpnav .fp{ display:flex; flex-direction:column; gap:2px; min-width:0; text-decoration:none;
  padding:7px 9px; border-radius:12px; background:var(--card); border:1px solid var(--line); color:var(--ink); }
.fpnav .fp-t{ font-size:var(--fs-tiny); font-weight:800; line-height:1.45; overflow-wrap:anywhere; }
.fpnav .fp-n{ display:inline-grid; place-items:center; min-width:1.5em; height:1.5em; margin-inline-end:4px;
  border-radius:999px; background:var(--pill-n); color:var(--ink-2); font-size:.9em; }
.fpnav .fp-s{ font-size:var(--fs-tiny); font-weight:700; }
.fpnav .fp.done .fp-s{ color:var(--ok); }
.fpnav .fp.miss .fp-s{ color:var(--coral); }
.fpnav .fp.on{ background:var(--teal-wash); border-color:var(--teal); box-shadow:inset 0 0 0 1px var(--teal); }
.fpnav .fp.on .fp-n{ background:var(--teal); color:#fff; }
.fpsub{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 8px; }
.fpsub a{ text-decoration:none; font-size:var(--fs-tiny); font-weight:700; padding:5px 11px; border-radius:999px;
  background:var(--pill-n); color:var(--ink-2); border:1px solid var(--line); }
.fpsub a.on{ background:var(--teal-wash); color:var(--teal-deep); border-color:var(--teal); }
/* بستهٔ ۳۵: کادرهای انتخابی فرم وام تمام‌عرض و متن کامل */
#loanform select{ width:100%; max-width:100%; text-overflow:ellipsis; }
.choice-cards{ display:grid; gap:6px; }
.choice-cards label.check{ align-items:flex-start; border:1px solid var(--line); border-radius:12px; padding:8px 10px; background:var(--card); }
.choice-cards label.check:has(input:checked){ border-color:var(--teal); background:var(--teal-wash); }
.choice-cards .hint{ margin:2px 0 0; }
.field-ex{ margin:4px 2px 0; font-size:var(--fs-tiny); color:var(--ink-2); }
.missbox a{ color:inherit; }
.missbox ul{ margin:4px 0 6px; padding-inline-start:18px; }
.isic-pick input[type=search]{ margin-bottom:6px; }
.three{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; }
.rowcard{ border:1px solid var(--line); border-radius:var(--r-btn);
  padding:10px 11px; margin-bottom:8px; background:var(--card-2); }
.rowcard.add{ background:var(--card); border-style:dashed; }
.rowcard .rh{ display:flex; align-items:center; justify-content:space-between;
  font-size:var(--fs-tiny); font-weight:800; color:var(--ink-2);
  margin-bottom:6px; }
.check{ display:flex; align-items:center; gap:7px; font-size:var(--fs-small);
  font-weight:700; margin-top:9px; }
.check input{ width:18px; height:18px; flex:none; margin:0; }
.money{ font-variant-numeric:tabular-nums; font-weight:800; }
.money small{ font-weight:400; color:var(--ink-3); font-size:var(--fs-tiny); }
.steps{ counter-reset:st; }
.steps .st{ display:flex; gap:10px; padding:9px 0;
  border-bottom:1px solid var(--line); }
.steps .st:last-child{ border-bottom:0; }
.steps .st > .pill{ align-self:flex-start; flex:none; }
.steps .st .n{ width:26px; height:26px; border-radius:50%; flex:none;
  display:grid; place-items:center; font-size:var(--fs-tiny); font-weight:800;
  background:var(--pill-n); color:var(--ink-2); }
.steps .st.done .n{ background:var(--ok-wash); color:var(--ok); }
.steps .st.current .n{ background:var(--teal); color:#fff; }
.steps .st.rejected .n{ background:var(--coral-wash); color:var(--coral); }
.sum th{ color:var(--ink-2); font-weight:700; width:52%; }
.sum td{ text-align:left; font-variant-numeric:tabular-nums; font-weight:800;
  direction:ltr; }
.sum tr.big td{ font-size:var(--fs-card); color:var(--teal-deep); }
.scrollx{ overflow-x:auto; }
.scrollx table{ min-width:460px; }

/* ── ردیف سه‌ستونی که روی گوشی یک‌ستونی می‌شود ── */
.stack3{ display:grid; grid-template-columns:1fr; gap:8px; }
@media (min-width: 620px){ .stack3{ grid-template-columns:1fr 1fr 1fr; } }
.stack3 label{ margin-top:0; }

/* ── سند ۲۳: فرم ۹ صفحه‌ای، یکی‌یکی، راهنما، مبلغ ── */
.sheetbar{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:2px 0 6px; }
.sheetbar .cnt{ font-size:var(--fs-tiny); font-weight:800; color:var(--teal-deep);
  background:var(--teal-wash); border-radius:999px; padding:3px 10px; }
.sheetbar b{ font-size:var(--fs-card); flex:1; min-width:0; }
.sheetbar .guide{ font-size:var(--fs-tiny); font-weight:700; color:var(--gold);
  text-decoration:none; border:1px solid var(--gold-2); background:var(--gold-wash);
  border-radius:999px; padding:4px 10px; white-space:nowrap; }
.bar.thin{ height:5px; margin:0 0 8px; }
.qh{ display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px;
  border-radius:50%; border:1.5px solid var(--teal); color:var(--teal-deep); background:var(--card);
  font:inherit; font-size:12px; font-weight:800; line-height:1; padding:0; margin-inline-start:5px;
  vertical-align:middle; cursor:pointer; }
.helpwrap{ position:fixed; inset:0; background:rgba(27,43,51,.45); display:none;
  align-items:flex-end; justify-content:center; z-index:60; padding:16px; }
.helpwrap.on{ display:flex; }
.helpbox{ background:var(--card); border-radius:var(--r); padding:18px 16px; max-width:480px;
  width:100%; box-shadow:var(--shadow); }
.helpbox p{ margin:0 0 14px; line-height:var(--lh); white-space:pre-line; }
.moneybox{ display:flex; align-items:center; gap:8px; }
.moneybox input{ flex:1; }
.moneybox .unit{ font-size:var(--fs-small); font-weight:800; color:var(--ink-2); white-space:nowrap; }
.words{ min-height:1.2em; font-size:var(--fs-tiny); color:var(--teal-deep); margin:4px 2px 0; }
.done{ display:flex; align-items:center; gap:8px; padding:9px 0; border-bottom:1px solid var(--line);
  font-size:var(--fs-small); }
.done:last-of-type{ border-bottom:0; }
.done .tick{ flex:none; width:22px; height:22px; border-radius:50%; background:var(--ok-wash);
  color:var(--ok); display:inline-flex; align-items:center; justify-content:center; font-weight:800; }
.done .grow{ flex:1; min-width:0; }
.done .inline{ display:inline; margin:0; }
.mini{ font:inherit; font-size:var(--fs-tiny); font-weight:700; color:var(--teal-deep);
  background:var(--teal-wash); border:0; border-radius:999px; padding:4px 9px;
  text-decoration:none; cursor:pointer; white-space:nowrap; }
.mini.warn{ color:var(--coral); background:var(--coral-wash); }
label .qh{ margin-inline-start:6px; }
/* راهنمای فرایند — زنجیرهٔ ایستگاه‌ها */
.chain{ position:relative; padding-inline-start:26px; }
.chain::before{ content:""; position:absolute; inset-inline-start:10px; top:14px; bottom:14px;
  border-inline-start:2px dashed var(--line); }
.chain .node{ position:relative; margin-bottom:10px; background:var(--card); border:1px solid var(--line);
  border-radius:var(--r-btn); padding:10px 12px; }
.chain .node::before{ content:attr(data-n); position:absolute; inset-inline-start:-26px; top:10px;
  width:22px; height:22px; border-radius:50%; background:var(--teal); color:#fff; font-size:11px;
  font-weight:800; display:flex; align-items:center; justify-content:center; }
.chain .node b{ display:block; font-size:var(--fs-card); }
.chain .node .who{ font-size:var(--fs-small); color:var(--teal-deep); font-weight:700; }
.chain .node .what{ font-size:var(--fs-tiny); color:var(--ink-2); margin-top:3px; }
.chain .node.cond{ border-style:dashed; }

/* ── بستهٔ ۵: نوار «به‌جای» در حالت آزمایش ── */
.testbar{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  background:var(--gold-wash); border:1px solid var(--gold-2); color:var(--gold);
  border-radius:var(--r); padding:8px 12px; margin-bottom:10px; font-size:var(--fs-small);
}
.testbar .btn{ margin:0; }

/* ── بستهٔ ۵: سربرگ صفحهٔ اول — ثابت / انیمیشن / فیلم ── */
.appbar.hero{ min-height:var(--hero-h, 180px); display:flex; flex-direction:column; justify-content:flex-start; }
.appbar.hero .scene{ inset:auto 0 0 0; height:100%; }
.appbar .herovid{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .8s ease; pointer-events:none;
}
.appbar.video-on .herovid{ opacity:1; }
.appbar.video-on .scene, .appbar.video-on .pat{ opacity:0; transition:opacity .8s ease; }
.appbar.video-on .row{ text-shadow:0 1px 6px rgba(0,0,0,.35); }
.appbar.video-on::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,0) 55%);
}

/* انیمیشن — فقط وقتی کلاس hero-anim هست (بازگشت خودکار از فیلم هم همین کلاس را می‌گذارد) */
.appbar.hero-anim .sc-clouds{ animation:sc-drift 38s linear infinite; }
.appbar.hero-anim .sc-clouds2{ animation:sc-drift 52s linear infinite reverse; }
.appbar.hero-anim .sc-glow{ transform-origin:200px 112px; animation:sc-glow 5s ease-in-out infinite; }
.appbar.hero-anim .sc-sparks circle{ opacity:0; animation:sc-rise 6s ease-in infinite; }
.appbar.hero-anim .sc-sparks circle:nth-child(2){ animation-delay:1s; }
.appbar.hero-anim .sc-sparks circle:nth-child(3){ animation-delay:2.2s; }
.appbar.hero-anim .sc-sparks circle:nth-child(4){ animation-delay:3.1s; }
.appbar.hero-anim .sc-sparks circle:nth-child(5){ animation-delay:.6s; }
.appbar.hero-anim .sc-sparks circle:nth-child(6){ animation-delay:4.2s; }
.appbar.hero-anim .sc-sparks circle:nth-child(7){ animation-delay:5s; }
/* حالت «آرام»: ذره‌ها نیست */
.appbar.anim-soft .sc-sparks{ display:none; }

@keyframes sc-drift{
  from{ transform:translateX(0); }
  to{ transform:translateX(-60px); }
}
@keyframes sc-glow{
  0%,100%{ opacity:.55; transform:scale(1); }
  50%{ opacity:.95; transform:scale(1.08); }
}
@keyframes sc-rise{
  0%{ opacity:0; transform:translateY(0); }
  15%{ opacity:.9; }
  100%{ opacity:0; transform:translateY(-70px); }
}
@media (prefers-reduced-motion: reduce){
  .appbar.hero-anim .sc-clouds, .appbar.hero-anim .sc-clouds2, .appbar.hero-anim .sc-glow,
  .appbar.hero-anim .sc-sparks circle{ animation:none; }
}

/* ── بستهٔ ۶: چاپ نامه و برگهٔ مصوبه ── */
.letter{ white-space:pre-line; line-height:2.1; font-size:var(--fs-base); }
.letterhead{ display:flex; justify-content:space-between; gap:10px; font-size:var(--fs-small);
  border-bottom:2px solid var(--line); padding-bottom:8px; margin-bottom:12px; }
.signs{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin-top:12px; }
.signs .sg{ border:1px dashed var(--line); border-radius:var(--r-input); padding:8px; min-height:74px;
  font-size:var(--fs-small); }
.stars{ display:flex; gap:6px; flex-wrap:wrap; }
.stars label{ display:flex; align-items:center; gap:3px; font-size:var(--fs-small); }
.kv{ display:grid; grid-template-columns:auto 1fr; gap:4px 12px; font-size:var(--fs-small); }
.kv b{ color:var(--ink-2); font-weight:700; }
@media print{
  .statusbar,.appbar,.tabs,.noprint,.testbar,.sheetbar,.sheetnav{ display:none !important; }
  body{ background:#fff !important; }
  .phone{ max-width:none !important; box-shadow:none !important; margin:0 !important; }
  .card{ box-shadow:none !important; border:1px solid #bbb !important; break-inside:avoid; }
  .view,.pad{ padding:0 !important; overflow:visible !important; }
}

/* ── بستهٔ ۸: نوار «چه کسی، در چه نقشی» ── */
.whobar{
  flex:none; display:flex; align-items:center; gap:8px;
  padding:7px 12px; background:var(--card); border-bottom:1px solid var(--line);
}
.whobar .who-i{ width:30px; height:30px; border-radius:10px; display:grid; place-items:center;
  background:var(--sky1); color:#fff; flex:none; }
.whobar .who-i svg{ width:17px; height:17px; }
.whobar .who-t{ flex:1; min-width:0; line-height:1.35; }
.whobar .who-t b{ display:block; font-size:var(--fs-small); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.whobar .who-t span{ display:block; font-size:var(--fs-tiny); color:var(--ink-2);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.whobar .who-sw{ flex:none; display:inline-flex; align-items:center; gap:5px; text-decoration:none;
  border:1px solid var(--sky2); color:var(--sky2); border-radius:999px; padding:4px 11px;
  font-size:var(--fs-tiny); font-weight:800; background:var(--card); }
.whobar .who-sw svg{ width:14px; height:14px; }

/* انتخاب نقش */
.rolepick .rp-head{ display:flex; gap:12px; align-items:flex-start; }
.rolepick .rp-ic{ width:42px; height:42px; border-radius:14px; background:var(--gold); color:#fff;
  display:grid; place-items:center; flex:none; }
.rolepick .rp-ic svg{ width:22px; height:22px; }
.rp-item{ display:flex; align-items:center; gap:10px; background:var(--card); border:2px solid var(--line);
  border-radius:var(--r); padding:11px 12px; margin:8px 0; cursor:pointer; }
.rp-item.on{ border-color:var(--sky2); box-shadow:0 0 0 3px rgba(0,0,0,.04); }
.rp-item input{ width:20px; height:20px; accent-color:var(--sky2); flex:none; margin:0; }
.rp-item .rp-i{ width:34px; height:34px; border-radius:11px; display:grid; place-items:center;
  background:var(--sky1); color:#fff; flex:none; }
.rp-item .rp-i svg{ width:18px; height:18px; }
.rp-item .grow{ flex:1; min-width:0; }
.rp-item b{ display:block; font-size:var(--fs-card); line-height:1.4; }
.rp-item small{ display:block; color:var(--ink-2); font-size:var(--fs-tiny); line-height:1.5; }
.rp-n{ flex:none; background:var(--coral); color:#fff; border-radius:999px; padding:2px 9px;
  font-size:var(--fs-tiny); font-weight:800; }

/* دکمه‌های اصلی چسبان پایین صفحه */
.btns.sticky, .sticky-actions{
  position:sticky; bottom:calc(64px + env(safe-area-inset-bottom)); z-index:15; margin:12px -14px 0; padding:10px 14px;
  background:linear-gradient(to top, var(--bg) 78%, transparent);
}
/* گزینهٔ سه‌تایی */
.seg{ display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.seg label{ flex:1; min-width:90px; margin:0; }
.seg input{ position:absolute; opacity:0; pointer-events:none; }
.seg span{ display:block; text-align:center; border:1.5px solid var(--line); border-radius:12px;
  padding:8px 6px; font-size:var(--fs-small); cursor:pointer; background:var(--card); }
.seg input:checked + span{ border-color:var(--sky2); background:var(--sky2); color:#fff; font-weight:800; }
.seg input:focus-visible + span{ outline:2px solid var(--sky2); outline-offset:2px; }

body.no-tabs .btns.sticky, body.no-tabs .sticky-actions{ bottom:0; }
.saved-toast{ position:fixed; top:14px; left:50%; transform:translateX(-50%); z-index:60;
  background:#1f8a5b; color:#fff; border-radius:999px; padding:8px 18px; font-weight:800;
  font-size:var(--fs-small); box-shadow:0 8px 24px -8px rgba(0,0,0,.35); transition:opacity .5s; }
.saved-toast.hide{ opacity:0; pointer-events:none; }

/* زبانه‌های بالای صفحه‌های بلند */
.ptabs{ position:sticky; top:0; z-index:12; display:flex; gap:6px; overflow-x:auto;
  margin:-4px -14px 12px; padding:8px 14px; background:var(--bg); border-bottom:1px solid var(--line);
  scrollbar-width:none; }
.ptabs::-webkit-scrollbar{ display:none; }
.ptabs button{ flex:none; border:1.5px solid var(--line); background:var(--card); color:var(--ink-2);
  border-radius:999px; padding:6px 14px; font:inherit; font-size:var(--fs-small); font-weight:700; cursor:pointer; }
.ptabs button.on{ background:var(--sky2); border-color:var(--sky2); color:#fff; }
.tabpane[hidden]{ display:none !important; }

/* کارت راهنمای فرایند */
details.flowguide{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); margin-bottom:12px; }
details.flowguide > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px; padding:11px 13px; }
details.flowguide > summary::-webkit-details-marker{ display:none; }
details.flowguide > summary .fg-i{ width:32px; height:32px; border-radius:10px; background:var(--gold); color:#fff; display:grid; place-items:center; flex:none; }
details.flowguide > summary .fg-i svg{ width:18px; height:18px; }
details.flowguide > summary b{ display:block; font-size:var(--fs-card); }
details.flowguide > summary small{ display:block; color:var(--ink-2); font-size:var(--fs-tiny); }
details.flowguide > summary .fg-c{ margin-inline-start:auto; color:var(--ink-3); transition:transform .2s; }
details.flowguide[open] > summary .fg-c{ transform:rotate(180deg); }
details.flowguide .fg-body{ padding:0 13px 13px; }

/* گروه‌های تنظیمات */
.setgrid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); gap:10px; }
.setgrid a{ display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; text-decoration:none;
  color:var(--ink); background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:14px 8px; }
.setgrid a .sg-i{ width:44px; height:44px; border-radius:14px; display:grid; place-items:center; color:#fff;
  background:linear-gradient(135deg,var(--sky1),var(--sky2)); }
.setgrid a .sg-i svg{ width:22px; height:22px; }
.setgrid a b{ font-size:var(--fs-small); line-height:1.4; }
.setgrid a small{ font-size:var(--fs-tiny); color:var(--ink-3); }
.sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.chain .node.mine{ border-color:var(--gold-2); box-shadow:0 0 0 2px rgba(201,182,140,.25); }
.ptabs .tabdot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--coral); vertical-align:middle; margin-inline-start:3px; }
body:has(.tabs.has-center) .btns.sticky, body:has(.tabs.has-center) .sticky-actions{ bottom:calc(98px + env(safe-area-inset-bottom)); }
.btn.nowrap{ white-space:nowrap; flex:none; }

/* ── بستهٔ ۱۰: مسیر صفحه و بازگشت ── */
.crumbs{ flex:none; display:flex; align-items:center; gap:6px; padding:6px 12px; background:var(--bg);
  border-bottom:1px solid var(--line); font-size:var(--fs-small); color:var(--ink-3); white-space:nowrap; overflow:hidden; }
.crumbs a{ color:var(--ink-2); text-decoration:none; }
.crumbs b{ color:var(--ink); font-weight:700; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.crumbs .sep{ color:var(--ink-3); }
.crumbs .crumb-back{ margin-inline-start:auto; flex:none; display:inline-flex; align-items:center; gap:4px;
  background:var(--sky2); color:#fff !important; border-radius:999px; padding:5px 13px 5px 10px; font-weight:800; }
.crumbs .crumb-back svg{ width:15px; height:15px; }

/* ── تصویرهای چرخان سربرگ و پس‌زمینه ── */
.appbar.has-imgs{ min-height:120px; }
.mediarot{ position:absolute; inset:0; overflow:hidden; z-index:0; }
.appbar .row{ z-index:2; }
.appbar.has-imgs .pat{ opacity:.25; }
.mediarot::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,40,55,var(--ov)), rgba(10,40,55,calc(var(--ov) * .6))); }
.bgrot{ position:fixed; max-width:430px; margin:0 auto; left:0; right:0; }
.phone.wide .bgrot{ max-width:none; }
.bgrot::after{ background:rgba(250,247,240,calc(.55 + var(--ov) * .45)); }
.view.has-bg{ background:transparent; } .view.has-bg .pad{ position:relative; z-index:1; }
.mr-img{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.2s ease, transform 1.2s ease, filter 1.2s ease; }
.mr-img.on{ opacity:1; }
.fx-slide .mr-img{ transform:translateX(-12%); } .fx-slide .mr-img.on{ transform:none; }
.fx-slide .mr-img.out{ transform:translateX(12%); }
.fx-zoom .mr-img.on{ animation:kenburns var(--dur, 8s) ease-out forwards; }
.fx-blur .mr-img{ filter:blur(14px); } .fx-blur .mr-img.on{ filter:none; }
.fx-none .mr-img{ transition:none; }
.still .mr-img{ transition:none; animation:none !important; }
@keyframes kenburns{ from{ transform:scale(1); } to{ transform:scale(1.12); } }
.thumbs{ display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.thumbs img{ width:72px; height:48px; object-fit:cover; border-radius:8px; border:1px solid var(--line); }
.thumbs.big > div{ display:flex; flex-direction:column; gap:4px; align-items:center; }
.thumbs.big img{ width:140px; height:90px; }

/* ── میانبرهای میز کار ── */
.shortcuts{ display:grid; grid-template-columns:repeat(auto-fill, minmax(92px, 1fr)); gap:8px; margin-bottom:12px; }
.shortcuts a{ display:flex; flex-direction:column; align-items:center; gap:5px; text-decoration:none; color:var(--ink);
  background:var(--card); border:1px solid var(--line); border-radius:14px; padding:10px 4px; font-size:var(--fs-small); font-weight:700; text-align:center; }
.shortcuts a span.si{ width:38px; height:38px; border-radius:12px; display:grid; place-items:center; color:#fff;
  background:linear-gradient(135deg,var(--sky1),var(--sky2)); }
.shortcuts a span.si svg{ width:20px; height:20px; }
.shortcuts a.edit span.si{ background:var(--card); color:var(--ink-3); border:1.5px dashed var(--line); }

/* ── معرفی سامانه ── */
.tour{ position:fixed; inset:0; z-index:80; background:rgba(12,35,48,.55); display:grid; place-items:center; padding:14px; }
.tour.inline{ position:static; background:none; padding:0; }
.tour-card{ width:100%; max-width:440px; background:var(--card); border-radius:22px; overflow:hidden;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.45); display:flex; flex-direction:column; max-height:92vh; }
.tour-top{ background:linear-gradient(135deg,var(--sky1),var(--sky2)); color:#fff; padding:14px 16px; display:flex; align-items:center; gap:8px; }
.tour-top b{ flex:1; } .tour-top button{ background:rgba(255,255,255,.2); border:0; color:#fff; border-radius:999px; padding:4px 12px; font:inherit; font-size:var(--fs-small); cursor:pointer; }
.tour-body{ padding:16px; overflow:auto; flex:1; }
.tslide{ display:none; } .tslide.on{ display:block; animation:tslide .45s ease both; }
.tslide .big-i{ width:64px; height:64px; border-radius:20px; display:grid; place-items:center; margin:4px auto 12px; color:#fff;
  background:linear-gradient(135deg,var(--gold),var(--gold-2)); animation:tpop .6s .1s cubic-bezier(.3,1.6,.5,1) both; }
.tslide .big-i svg{ width:34px; height:34px; }
.tslide h2{ text-align:center; margin:0 0 8px; font-size:var(--fs-title); }
.tslide p.lead{ text-align:center; color:var(--ink-2); line-height:1.9; }
.tslide ul.tl{ list-style:none; padding:0; margin:8px 0; }
.tslide ul.tl li{ display:flex; gap:10px; align-items:flex-start; padding:8px 10px; border:1px solid var(--line); border-radius:12px; margin:6px 0;
  opacity:0; animation:tfade .45s ease forwards; }
.tslide ul.tl li:nth-child(1){ animation-delay:.15s } .tslide ul.tl li:nth-child(2){ animation-delay:.3s }
.tslide ul.tl li:nth-child(3){ animation-delay:.45s } .tslide ul.tl li:nth-child(4){ animation-delay:.6s }
.tslide ul.tl li:nth-child(5){ animation-delay:.75s } .tslide ul.tl li:nth-child(6){ animation-delay:.9s }
.tslide ul.tl li .ti{ width:30px; height:30px; flex:none; border-radius:10px; display:grid; place-items:center; background:var(--sky1); color:#fff; }
.tslide ul.tl li .ti svg{ width:17px; height:17px; }
.tslide ul.tl li b{ display:block; } .tslide ul.tl li small{ color:var(--ink-2); display:block; line-height:1.7; }
.tour-foot{ display:flex; align-items:center; gap:8px; padding:12px 16px; border-top:1px solid var(--line); }
.tour-dots{ display:flex; gap:5px; flex:1; justify-content:center; } .tour-dots i{ width:7px; height:7px; border-radius:50%; background:var(--line); transition:.3s; }
.tour-dots i.on{ width:20px; border-radius:4px; background:var(--sky2); }
@keyframes tslide{ from{ opacity:0; transform:translateX(-26px); } to{ opacity:1; transform:none; } }
@keyframes tpop{ from{ transform:scale(.4); opacity:0; } to{ transform:scale(1); opacity:1; } }
@keyframes tfade{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
body.no-motion .tslide.on, body.no-motion .tslide .big-i, body.no-motion .tslide ul.tl li{ animation:none; opacity:1; }

/* ── دسته‌های تنظیمات ── */
.setcat{ margin-bottom:16px; } .setcat > h3{ display:flex; align-items:center; gap:8px; font-size:var(--fs-card); margin:14px 2px 8px; }
.setcat > h3 small{ font-weight:400; color:var(--ink-3); font-size:var(--fs-tiny); }

/* ── بستهٔ ۱۰.۱: پس‌زمینهٔ ثابت نباید روی سربرگ، نوار نقش و مسیر صفحه بیفتد ── */
.appbar{ z-index:3; }
.whobar, .crumbs{ position:relative; z-index:3; }

/* بستهٔ ۱۱.۲ — سربرگ سه‌خطی: نام سامانه، عنوان صفحه، توضیح کوتاه */
.brand{ overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.brandsub{ font-weight:700; }
.brandnote{ font-size:calc(var(--fs-tiny) * .9); opacity:.8; line-height:1.3;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ── بستهٔ ۱۳: پیام شناور نتیجهٔ کار ── */
.toast{ position:fixed; bottom:calc(84px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%);
  z-index:70; display:flex; align-items:center; gap:10px; width:min(560px, calc(100% - 28px));
  padding:14px 16px; border-radius:16px; color:#fff; font-size:var(--fs-body);
  box-shadow:0 14px 34px -10px rgba(0,0,0,.45); animation:toastIn .35s ease-out; transition:opacity .6s; }
.toast > span{ flex:0 0 30px; height:30px; border-radius:50%; background:rgba(255,255,255,.22);
  display:grid; place-items:center; font-weight:900; }
.toast b{ flex:1; font-weight:700; line-height:1.7; }
.toast.t-ok{ background:#1f8a5b; } .toast.t-warn{ background:#b7791f; } .toast.t-err{ background:#c0392b; }
.toast.hide{ opacity:0; pointer-events:none; }
.toast-x{ background:none; border:0; color:#fff; font-size:22px; line-height:1; cursor:pointer; padding:0 4px; }
@keyframes toastIn{ from{ opacity:0; transform:translate(-50%, 12px); } to{ opacity:1; transform:translate(-50%, 0); } }
.no-motion .toast{ animation:none; }
/* ردیفی که همین حالا عوض شد */
.row-hit{ background:var(--gold-wash); border-radius:10px; box-shadow:0 0 0 2px var(--gold-2) inset; }
/* جدول دسترسی‌ها */
.acc-wrap{ overflow-x:auto; margin:0 -4px; }
.acc-tbl{ border-collapse:separate; border-spacing:0; min-width:100%; font-size:var(--fs-small); }
.acc-tbl th, .acc-tbl td{ padding:6px 6px; border-bottom:1px solid var(--line); text-align:center; white-space:nowrap; }
.acc-tbl th:first-child, .acc-tbl td:first-child{ text-align:start; position:sticky; inset-inline-start:0; background:var(--card, #fff); z-index:1; }
.acc-tbl select{ width:auto; min-width:0; padding:4px 6px; font-size:var(--fs-small); }
.acc-tbl .grp td{ background:var(--teal-wash); font-weight:800; text-align:start; }
.lv0{ color:var(--ink-3, #999); } .lv1{ color:#2b6cb0; } .lv2{ color:#1f8a5b; } .lv3{ color:#8e44ad; font-weight:800; }
.src{ font-size:11px; color:var(--ink-3, #888); }

/* بستهٔ ۱۴ — عددهای بزرگ مبلغ در کارت‌های سه‌تایی */
.chips.money .chip b{ font-size:var(--fs-card); word-break:break-all; }

/* ── بستهٔ ۱۸: دکمهٔ «نظر همین‌جا» ── */
.fab-fb{ position:fixed; inset-inline-start:12px; bottom:calc(72px + env(safe-area-inset-bottom)); z-index:40;
  display:flex; align-items:center; gap:5px; padding:8px 12px; border:0; border-radius:999px;
  background:var(--gold); color:#fff; font:inherit; font-size:var(--fs-tiny); font-weight:800;
  box-shadow:var(--shadow); cursor:pointer; }
.fab-fb svg{ width:16px; height:16px; }
body.no-tabs .fab-fb{ bottom:14px; }
.fbwrap{ position:fixed; inset:0; background:rgba(27,43,51,.45); display:none; z-index:60;
  align-items:flex-end; justify-content:center; }
.fbwrap.on{ display:flex; }
.fbbox{ background:var(--card); border-radius:var(--r) var(--r) 0 0; padding:14px 16px 18px; width:100%; max-width:520px;
  max-height:88vh; overflow:auto; }

/* بستهٔ ۲۰ — جدول مجوز نوع جلسه */
.permgrid{ border-collapse:collapse; width:100%; font-size:var(--fs-small); }
.permgrid th,.permgrid td{ border-bottom:1px solid var(--line); padding:6px 4px; }
.permgrid th{ font-weight:600; white-space:nowrap; }
.permgrid td:first-child,.permgrid th:first-child{ position:sticky; inset-inline-start:0; background:var(--card, #fff); }
.permgrid input[type=checkbox]{ width:20px; height:20px; }

/* ── بستهٔ ۲۳ (سند ۶۱): صفحهٔ «یکی‌یکی» ثبت برنامه و قاعده‌های ظاهر ── */
/* کادر سؤالِ نوبت — رنگی تا کاربر بداند نوبت کجاست */
.wz-q{ border:2px solid var(--teal); box-shadow:0 0 0 4px var(--teal-wash); scroll-margin-top:90px; }
body:not(.no-motion) .wz-q{ animation:wzpulse 2.4s ease-in-out 2; }
@keyframes wzpulse{ 50%{ box-shadow:0 0 0 9px var(--teal-wash); } }
.wz-head{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:4px; }
.wz-head h3{ margin:0; font-size:var(--fs-card); flex:1; min-width:0; }
.wz-n{ font-size:var(--fs-tiny); color:var(--ink-3); font-weight:700; }
.tag-req, .tag-opt{ border-radius:999px; padding:2px 9px; font-size:var(--fs-tiny); font-weight:800; }
.tag-req{ background:var(--coral-wash); color:var(--coral); }
.tag-opt{ background:var(--pill-n); color:var(--ink-2); }
/* خطا کنار همان کادر — فرم از دست نمی‌رود */
.field-err{ color:var(--coral); font-size:var(--fs-small); font-weight:800; margin:6px 2px 0; }
input.bad, select.bad, textarea.bad, .bad-box{ border-color:var(--coral) !important; background:var(--coral-wash); }
/* هشت دکمهٔ بزرگ هدف‌ها */
.bigpick{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:8px; }
.bigpick button{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; text-align:right;
  padding:12px 12px; border-radius:14px; border:1px solid var(--line); background:var(--card);
  border-inline-start:6px solid var(--gc, var(--teal)); font:inherit; color:var(--ink); cursor:pointer; min-height:64px; }
.bigpick button b{ font-size:var(--fs-card); }
.bigpick button span{ font-size:var(--fs-tiny); color:var(--ink-3); }
.bigpick button.sel{ outline:3px solid var(--teal); background:var(--teal-wash); }
/* ماه‌ها و گزینه‌های دکمه‌ای */
.pickgrid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-top:6px; }
.pickgrid.three{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.pickgrid label{ display:flex; align-items:center; justify-content:center; margin:0; padding:9px 4px;
  border:1px solid var(--line); border-radius:12px; background:var(--card); font-weight:700;
  font-size:var(--fs-small); cursor:pointer; text-align:center; }
.pickgrid input{ position:absolute; opacity:0; width:1px; height:1px; }
.pickgrid label:has(input:checked){ background:var(--teal); color:#fff; border-color:var(--teal); }
.optcards{ display:flex; flex-direction:column; gap:8px; margin-top:6px; }
.optcards > label{ display:flex; gap:10px; align-items:flex-start; margin:0; padding:11px 12px;
  border:1px solid var(--line); border-radius:14px; background:var(--card); cursor:pointer; font-weight:700; }
.optcards > label input{ width:18px; height:18px; flex:none; margin-top:3px; }
.optcards > label span{ display:block; font-weight:400; font-size:var(--fs-tiny); color:var(--ink-3); }
.optcards > label:has(input:checked){ border-color:var(--teal); background:var(--teal-wash); }
.unitlist{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 10px; max-height:260px;
  overflow:auto; padding:8px; border:1px solid var(--line); border-radius:12px; margin-top:6px; }
.unitlist .check{ margin:0; }
/* زیر هر دکمه: «بعد از زدن چه می‌شود» */
.btn-note{ font-size:var(--fs-tiny); color:var(--ink-3); margin:5px 2px 0; line-height:1.7; }
/* چیزهایی که مدیریت طرح و برنامه عوض کرده */
.chg{ background:var(--gold-wash); color:var(--ink); border-radius:6px; padding:0 4px; }
.gsum{ border:1px solid var(--line); border-radius:var(--r); padding:10px 12px; margin-bottom:10px; background:var(--card); }
.gsum .kv{ display:flex; gap:8px; padding:5px 0; border-bottom:1px dashed var(--line); font-size:var(--fs-small); }
.gsum .kv:last-child{ border-bottom:0; }
.gsum .kv > b{ flex:none; width:118px; color:var(--ink-2); font-weight:700; }
.gsum .kv > span{ flex:1; min-width:0; }
.gsum details{ margin-top:4px; }
.gsum summary{ cursor:pointer; color:var(--teal-deep); font-weight:700; font-size:var(--fs-tiny); }
.hotcard{ border:2px solid var(--teal); }
.hotcard .split{ gap:10px; }
@media (max-width:420px){ .gsum .kv{ flex-direction:column; gap:2px; } .gsum .kv > b{ width:auto; } }

/* ═══ بستهٔ ۲۴ (سند ۶۴) ═══ */
/* مثال داخل کادرها کم‌رنگ — تا کاربر خیال نکند پر شده (مشکل ۶) */
input::placeholder, textarea::placeholder{ color:#B9B1A4; opacity:1; font-weight:400; font-style:italic; }
input:placeholder-shown, textarea:placeholder-shown{ background:#fff; }
/* سطر قابل اصلاح: «تغییر» در همان سطر، کادر اصلاح داخل همان باکس (مشکل ۹) */
.erow{ border:1px solid var(--line); border-radius:12px; margin:6px 0; background:var(--card); }
.erow > summary{ list-style:none; display:flex; align-items:flex-start; gap:8px; padding:8px 10px; cursor:pointer;
  font-size:var(--fs-small); }
.erow > summary::-webkit-details-marker{ display:none; }
.erow .ek{ flex:none; width:118px; color:var(--ink-2); font-weight:700; }
.erow .ev{ flex:1; min-width:0; line-height:1.8; }
.erow .eb{ flex:none; color:var(--teal-deep); font-weight:800; font-size:var(--fs-tiny);
  border:1px solid var(--teal); border-radius:999px; padding:1px 10px; background:var(--teal-wash); }
.erow[open]{ border:2px solid var(--teal); }
.erow[open] > summary .eb{ background:var(--teal); color:#fff; }
.erow .ebody{ padding:0 10px 10px; border-top:1px dashed var(--line); }
.erow.is-chg{ border-color:var(--gold); }
@media (max-width:420px){ .erow > summary{ flex-wrap:wrap; } .erow .ek{ width:auto; } .erow .ev{ flex-basis:100%; order:3; } .erow .eb{ margin-inline-start:auto; } }
/* بازبینی: کادر رنگی چیزهای خودکار، نظر برای اصلاح، تیک (مشکل ۲ و ۵) */
.autobox{ margin-top:10px; padding:8px 10px; border-radius:14px; background:var(--gold-wash); border:2px solid var(--gold); }
.autobox .ab-h{ margin:0 0 4px; font-weight:800; font-size:var(--fs-small); }
.rvbox.ok{ border-color:var(--teal); }
.rvnote{ display:block; color:var(--coral); font-weight:800; font-size:var(--fs-tiny); margin-top:3px; }
.kv.has-note{ background:var(--coral-wash); border-radius:8px; padding-inline:6px; }
.flag{ background:var(--coral-wash); color:var(--coral); border-radius:6px; padding:0 4px; font-weight:700; }
.tickline{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:10px; padding-top:8px; border-top:1px dashed var(--line); }
.counter{ margin:0 0 6px; font-weight:800; color:var(--coral); }
.counter.ok{ color:var(--teal-deep); }
button[disabled]{ opacity:.45; cursor:not-allowed; filter:grayscale(.6); }
/* سؤال کوتاهِ داخل یک سؤال و سؤال بعدیِ رنگی */
.subq{ margin-top:12px; padding:10px; border:1px dashed var(--line); border-radius:14px; }
.subq.wz-next{ border:2px solid var(--teal); background:var(--teal-wash); }
/* عدد هر منطقه با جمع زنده */
.sharebox{ border:1px solid var(--line); border-radius:14px; padding:8px 10px; margin-top:8px; }
.srow{ display:flex; align-items:center; gap:8px; margin:4px 0; font-weight:400; }
.srow span{ flex:1; min-width:0; font-size:var(--fs-small); }
.srow input{ width:120px; flex:none; }
.sumline{ margin:8px 0 0; font-weight:800; }
.nowbox{ border:2px solid var(--teal); }
/* تقویم و دکمه‌های «امروز» (مشکل ۶) */
.dtools{ display:flex; gap:6px; flex-wrap:wrap; margin-top:5px; }
.dtools button{ font:inherit; font-size:var(--fs-tiny); font-weight:700; border:1px solid var(--line); background:var(--card);
  border-radius:999px; padding:3px 10px; cursor:pointer; color:var(--teal-deep); }
.dtools button.on{ background:var(--teal); color:#fff; border-color:var(--teal); }
.jcal{ margin-top:6px; border:1px solid var(--line); border-radius:14px; padding:8px; background:var(--card); max-width:320px; }
.jcal .jh{ display:flex; align-items:center; justify-content:space-between; font-weight:800; margin-bottom:6px; }
.jcal .jh button{ border:0; background:none; font-size:18px; cursor:pointer; color:var(--teal-deep); }
.jcal .jg{ display:grid; grid-template-columns:repeat(7,1fr); gap:3px; text-align:center; }
.jcal .jg span{ font-size:var(--fs-tiny); color:var(--ink-3); }
.jcal .jg button{ border:1px solid transparent; background:none; border-radius:8px; padding:5px 0; cursor:pointer; font:inherit; font-size:var(--fs-small); }
.jcal .jg button:hover{ border-color:var(--teal); }
.jcal .jg button.today{ border-color:var(--teal); font-weight:800; }
/* پرسش «مطمئنید؟» پیش از رفتن، فقط وقتی چیزی ذخیره‌نشده هست (مشکل ۱۰) */
.leavebox{ position:fixed; inset:0; z-index:90; background:rgba(27,43,51,.45); display:flex; align-items:center; justify-content:center; padding:16px; }
.leavebox .lb{ background:var(--card); border-radius:18px; padding:16px; max-width:380px; width:100%; box-shadow:var(--shadow); }
.leavebox h3{ margin:0 0 6px; font-size:var(--fs-card); }
.leavebox p{ margin:0 0 10px; line-height:1.9; font-size:var(--fs-small); }

/* ── بستهٔ ۲۵: دستیار همراه (سند ۶۲) — همهٔ رنگ‌ها و اندازه‌ها از متغیرهای ظاهر ── */
.asst-fab{ position:fixed; inset-inline-end:12px; bottom:calc(72px + env(safe-area-inset-bottom)); z-index:42;
  width:50px; height:50px; border-radius:50%; border:0; background:var(--teal); color:#fff;
  box-shadow:var(--shadow); cursor:pointer; display:grid; place-items:center; }
.asst-fab svg{ width:26px; height:26px; }
body.no-tabs .asst-fab{ bottom:14px; }
.asst-chip{ position:absolute; top:-4px; inset-inline-start:-4px; min-width:20px; height:20px; border-radius:999px;
  background:var(--gold-2); color:var(--ink); font-size:var(--fs-tiny); font-weight:800; display:grid; place-items:center; padding:0 4px; }
.asst-back{ position:fixed; inset-inline-end:70px; bottom:calc(80px + env(safe-area-inset-bottom)); z-index:42;
  border:0; border-radius:999px; padding:8px 12px; background:var(--gold-wash); color:var(--gold);
  font:inherit; font-size:var(--fs-tiny); font-weight:800; box-shadow:var(--shadow); cursor:pointer; }
body.no-tabs .asst-back{ bottom:22px; }
.asst-ui{ position:fixed; left:0; right:0; margin:0 auto; bottom:calc(64px + env(safe-area-inset-bottom)); z-index:45;
  width:100%; max-width:430px; background:var(--card); border:1px solid var(--line);
  border-radius:var(--r) var(--r) 0 0; box-shadow:0 -10px 30px -18px rgba(27,43,51,.5);
  display:flex; flex-direction:column; max-height:58vh; }
body.no-tabs .asst-ui{ bottom:0; }
.asst-ui[hidden]{ display:none; }
.asst-h{ display:flex; align-items:center; gap:6px; padding:9px 14px; border-bottom:1px solid var(--line);
  background:var(--teal-wash); border-radius:var(--r) var(--r) 0 0; color:var(--teal-deep); }
.asst-h b{ flex:1; font-size:var(--fs-card); }
.asst-x{ border:0; background:transparent; color:var(--teal-deep); font:inherit; font-size:20px; line-height:1;
  width:32px; height:32px; border-radius:50%; cursor:pointer; }
.asst-log{ padding:10px 12px 4px; overflow-y:auto; display:flex; flex-direction:column; gap:7px; min-height:40px; }
.asst-m{ max-width:88%; padding:8px 11px; border-radius:14px; line-height:var(--lh); font-size:var(--fs-base);
  white-space:pre-line; }
.asst-m.bot{ align-self:flex-start; background:var(--card-2); border:1px solid var(--line); border-start-start-radius:4px; }
.asst-m.me{ align-self:flex-end; background:var(--teal); color:#fff; border-start-end-radius:4px; }
.asst-acts{ display:flex; flex-wrap:wrap; gap:6px; padding:6px 12px; }
.asst-b{ border:1px solid var(--line); background:var(--card); color:var(--ink); border-radius:var(--r-btn);
  padding:8px 12px; font:inherit; font-size:var(--fs-small); font-weight:700; cursor:pointer; text-align:start; }
.asst-b.pri{ background:var(--teal); border-color:var(--teal); color:#fff; }
.asst-b.soft{ background:transparent; color:var(--ink-2); }
.asst-b.it{ flex:1 1 100%; display:flex; flex-direction:column; gap:2px; background:var(--card-2); }
.asst-b.it span{ font-weight:400; color:var(--ink-2); font-size:var(--fs-tiny); }
.asst-foot{ padding:0 12px 10px; display:flex; flex-direction:column; gap:6px; }
.asst-foot textarea{ width:100%; }
.asst-ask{ display:flex; gap:6px; margin:0; }
.asst-ask input{ flex:1; min-width:0; }
.asst-bar{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.asst-quiet{ display:flex; align-items:center; gap:5px; font-size:var(--fs-tiny); color:var(--ink-2); margin:0; font-weight:400; white-space:nowrap; }
.asst-quiet input{ width:18px; height:18px; margin:0; flex:none; }
.asst-ui.mini .asst-log{ overflow:hidden; padding-bottom:9px; }
.asst-ui.mini .asst-log .asst-m:not(:last-child){ display:none; }
.asst-ui.mini .asst-log .asst-m:last-child{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; max-width:100%; }
.asst-ui.mini .asst-acts, .asst-ui.mini .asst-foot{ display:none; }
.asst-hl{ outline:3px solid var(--gold-2); outline-offset:4px; border-radius:var(--r-input); animation:asstPulse 1.6s ease-in-out infinite; }
@keyframes asstPulse{ 0%,100%{ outline-color:var(--gold-2); } 50%{ outline-color:var(--teal); } }
body.no-motion .asst-hl{ animation:none; }
/* شکل «حباب کنار کادر»: بقیهٔ صفحه کمی تیره، حباب نزدیک همان کادر */
.asst-spot{ position:fixed; z-index:44; border-radius:var(--r); pointer-events:none;
  box-shadow:0 0 0 9999px rgba(20,30,36,.42); transition:all .2s ease; }
.asst-spot[hidden]{ display:none; }
body.no-motion .asst-spot{ transition:none; }
.asst-ui.asst-bubble{ border-radius:var(--r); max-width:min(400px, calc(100% - 24px)); bottom:auto; top:20vh;
  box-shadow:0 14px 40px -12px rgba(20,30,36,.55); }
.asst-ui.asst-bubble .asst-h{ border-radius:var(--r) var(--r) 0 0; }
.asst-runbar{ margin-bottom:var(--gap); }
@media print{ .asst-ui,.asst-fab,.asst-spot,.asst-back,.asst-runbar{ display:none !important; } }
/* جای پنجرهٔ گفتگو در پایین صفحه — تا آخرین دکمهٔ صفحه زیر پنجره نماند */
body.asst-open .view{ padding-bottom:calc(var(--asst-h, 0px) + 24px); }
.asst-ui.mini{ cursor:pointer; }

/* ── بستهٔ ۲۸: فرم چهار صفحه‌ای وام و «نظر سامانه» ── */
.lrows{ display:flex; flex-direction:column; gap:8px; margin:6px 0 8px; }
.lrow{ border:1px solid var(--line, #e5e7eb); border-radius:12px; padding:8px 10px 10px; background:var(--card, #fff); }
.lrow-h{ display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:var(--fs-small); }
.lrow label{ margin-top:6px; }
.btn.w{ width:100%; }
.save-state{ min-height:1.2em; color:var(--ink-3); margin:4px 2px; }
.opinion .op-item{ display:flex; gap:8px; align-items:flex-start; padding:6px 0; border-top:1px dashed var(--line, #e5e7eb); font-size:var(--fs-small); line-height:1.8; }
.opinion .op-item:first-child{ border-top:0; }
.op-dot{ flex:none; width:12px; height:12px; border-radius:50%; margin-top:7px; background:var(--ok); }
.op-item.op-warn .op-dot{ background:var(--gold); }
.op-item.op-bad .op-dot{ background:var(--coral); }
.opinion.op-ok{ border-inline-start:4px solid var(--ok); }
.opinion.op-warn{ border-inline-start:4px solid var(--gold); }
.opinion.op-bad{ border-inline-start:4px solid var(--coral); }
.pill.op-pill-ok{ background:var(--ok-wash); color:var(--ok); }
.pill.op-pill-warn{ background:var(--gold-wash); color:var(--gold); }
.pill.op-pill-bad{ background:var(--coral-wash); color:var(--coral); }
/* بستهٔ ۲۸: وقتی دستیار باز است، پیام شناور بالای صفحه می‌آید تا دکمه‌های دستیار را نپوشاند */
body.asst-open .toast{ bottom:auto; top:calc(70px + env(safe-area-inset-top)); }
/* بستهٔ ۳۰: پیام تکراری دستیار به‌جای تکرار، یک بار چشمک می‌زند */
@keyframes asstFlash{ 0%{ box-shadow:0 0 0 0 var(--teal); } 100%{ box-shadow:0 0 0 6px transparent; } }
.asst-m.asst-flash{ animation:asstFlash .7s ease-out 2; }

/* بستهٔ ۳۲ — برچسب رنگی نقش روی کارهای میز و دکمه‌های فیلتر */
.wl-filter{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px; }
.wl-f{ border:2px solid var(--line); background:var(--card); border-radius:999px; padding:6px 12px; font:inherit; cursor:pointer; }
.wl-f.on{ border-color:var(--sky2); box-shadow:0 0 0 3px rgba(0,0,0,.04); }
.wl-f b{ margin-inline-start:4px; }
.wl-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.wl-chip{ font-size:.78em; padding:2px 9px; border-radius:999px; }
.pt0{ background:#dbeafe; color:#1e40af; } .pt1{ background:#dcfce7; color:#166534; }
.pt2{ background:#fef3c7; color:#92400e; } .pt3{ background:#fce7f3; color:#9d174d; }
.pt4{ background:#ede9fe; color:#5b21b6; } .pt5{ background:#ccfbf1; color:#115e59; }

/* بستهٔ ۳۵.۱ — «لطفاً پیش از شروع، راهنمای ثبت پرونده را بخوانید» (پنجرهٔ پایین‌صفحه در موبایل، وسط در رایانه) */
.gatewrap{ position:fixed; inset:0; background:rgba(27,43,51,.45); display:none; z-index:70;
  align-items:flex-end; justify-content:center; }
.gatewrap.on{ display:flex; }
.gatebox{ background:var(--card); border-radius:var(--r) var(--r) 0 0; padding:14px 16px 18px; width:100%;
  max-width:560px; max-height:90vh; display:flex; flex-direction:column; box-shadow:var(--shadow); }
.gatebox > div:first-child{ overflow:auto; min-height:0; }
.gate-title{ margin:0 0 8px; font-size:var(--fs-card); }
.gate-text{ white-space:pre-line; line-height:var(--lh); font-size:var(--fs-small); overflow-wrap:anywhere; }
.gate-inline .gate-text{ max-height:45vh; overflow:auto; border:1px solid var(--line); border-radius:12px; padding:8px 10px; }
.guide-text b{ font-weight:800; }
@media (min-width:700px){ .gatewrap{ align-items:center; padding:16px; } .gatebox{ border-radius:var(--r); } }

/* ── بستهٔ ۳۵.۶: فهرست جمع‌شونده (هم‌شکل «راهنمای این بخش») و برچسب مرحله ── */
details.fold{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); margin:12px 0; }
details.fold > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px;
  padding:11px 13px; font-size:var(--fs-card); font-weight:800; color:var(--ink); }
details.fold > summary::-webkit-details-marker{ display:none; }
details.fold > summary .fold-t{ flex:1; min-width:0; }
details.fold > summary .fold-t b{ color:var(--teal-deep); }
details.fold > summary .fold-c{ margin-inline-start:auto; color:var(--ink-3); transition:transform .2s; flex:none; display:grid; }
details.fold > summary .fold-c svg{ width:18px; height:18px; }
details.fold[open] > summary .fold-c{ transform:rotate(180deg); }
details.fold[open] > summary{ border-bottom:1px solid var(--line); }
details.fold .fold-body{ padding:2px 13px 6px; }
details.fold .fold-body > p:only-child{ margin:10px 0; }
details.fold .li .grow{ flex:1; min-width:0; }
details.fold .li .grow b{ overflow-wrap:anywhere; }
.pill.stg{ white-space:normal; text-align:center; line-height:1.5; max-width:48%; flex:none; }
.pill.st-blue{ background:#dbeafe; color:#1e40af; }
.pill.st-purple{ background:#ede9fe; color:#5b21b6; }
.pill.st-pink{ background:#fce7f3; color:#9d174d; }
.pill.st-cyan{ background:#ccfbf1; color:#115e59; }
.pill.st-indigo{ background:#e0e7ff; color:#3730a3; }
.pill.st-orange{ background:#ffedd5; color:#9a3412; }
.pill.st-lime{ background:#ecfccb; color:#3f6212; }

/* ── بستهٔ ۳۵.۷ ── */
.maint-bar{ display:flex; flex-wrap:wrap; gap:4px 10px; align-items:center; justify-content:space-between;
  background:var(--coral); color:#fff; border-radius:12px; padding:10px 14px; margin:0 0 12px;
  text-decoration:none; font-size:var(--fs-small); line-height:1.6; }
.maint-bar b{ font-weight:800; }
.maint-bar span{ white-space:nowrap; text-decoration:underline; }
.pw-card input[type=password]{ direction:ltr; text-align:left; }
.pw-rules{ margin:6px 0 0; padding-inline-start:18px; font-size:var(--fs-small); color:var(--ink-3); }
.maint-hero{ text-align:center; }
.maint-hero .big{ display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px;
  border-radius:50%; background:var(--coral); color:#fff; margin:6px 0 10px; }
.maint-hero .big svg{ width:34px; height:34px; }
.maint-state{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:10px; }
.reopen-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:380px){ .reopen-row{ grid-template-columns:1fr; } }
button[data-once][disabled]{ opacity:.7; cursor:progress; }

/* ── بستهٔ ۳۵.۸ (F6): «از من بپرس» — بالای دکمهٔ «نظر»، هم‌سو با آن؛ همهٔ رنگ‌ها از متغیرهای ظاهر ── */
.fab-ask{ position:fixed; inset-inline-start:12px; bottom:calc(118px + env(safe-area-inset-bottom)); z-index:40;
  display:flex; align-items:center; gap:5px; padding:8px 12px; border:0; border-radius:999px;
  background:var(--teal-deep); color:#fff; font:inherit; font-size:var(--fs-tiny); font-weight:800;
  box-shadow:var(--shadow); cursor:pointer; text-decoration:none; }
.fab-ask svg{ width:16px; height:16px; }
.fab-ask.solo{ bottom:calc(72px + env(safe-area-inset-bottom)); }       /* دکمهٔ «نظر» خاموش است */
body.no-tabs .fab-ask{ bottom:60px; }
body.no-tabs .fab-ask.solo{ bottom:14px; }
.helpdesk .sec{ margin-top:4px; }
.help-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:var(--gap); }
@media (min-width:700px){ .help-grid{ grid-template-columns:repeat(3,1fr); } }
.help-tile{ display:flex; flex-direction:column; gap:3px; padding:12px; min-height:64px; border-radius:var(--r);
  background:var(--card); border:1px solid var(--line); text-decoration:none; color:var(--ink); box-shadow:var(--shadow); }
.help-tile b{ font-size:var(--fs-small); line-height:1.6; }
.help-tile .tiny{ color:var(--ink-3); }
.help-list{ padding-top:2px; padding-bottom:2px; }
.help-q{ text-decoration:none; color:var(--ink); }
.help-q{ display:flex; align-items:center; }
.help-q .grow{ flex:1 1 auto; display:flex; flex-direction:column; gap:2px; min-width:0; }
.help-q b{ font-size:var(--fs-small); line-height:1.7; font-weight:700; }
.help-q .chev{ color:var(--ink-3); font-size:20px; flex:none; }
.help-steps{ margin:8px 0 0; padding-inline-start:22px; line-height:2; font-size:var(--fs-base); color:var(--ink); }
.help-steps li{ margin-bottom:4px; overflow-wrap:anywhere; }
.help-path{ margin:0 0 6px; }
.help-ask{ display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-top:var(--gap); }
.help-roles{ display:grid; grid-template-columns:1fr 1fr; gap:2px 10px; }
@media (max-width:420px){ .help-roles{ grid-template-columns:1fr; } }
.help-filter{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.help-filter a{ padding:5px 10px; border-radius:999px; border:1px solid var(--line); background:var(--card);
  color:var(--ink-2); text-decoration:none; font-size:var(--fs-tiny); }
.help-filter a.on{ background:var(--teal-wash); color:var(--teal-deep); border-color:var(--teal); font-weight:800; }
.help-qrow{ flex-wrap:wrap; }
/* صفحه‌ای که دکمه‌های چسبان پایین دارد: «نظر» و «از من بپرس» بالای نوار دکمه‌ها می‌روند تا رویشان نیفتند */
body:has(.btns.sticky) .fab-fb{ bottom:calc(136px + env(safe-area-inset-bottom)); }
body:has(.btns.sticky) .fab-ask{ bottom:calc(182px + env(safe-area-inset-bottom)); }
body:has(.btns.sticky) .fab-ask.solo{ bottom:calc(136px + env(safe-area-inset-bottom)); }
body:has(.tabs.has-center):has(.btns.sticky) .fab-fb{ bottom:calc(170px + env(safe-area-inset-bottom)); }
body:has(.tabs.has-center):has(.btns.sticky) .fab-ask{ bottom:calc(216px + env(safe-area-inset-bottom)); }
body:has(.tabs.has-center):has(.btns.sticky) .fab-ask.solo{ bottom:calc(170px + env(safe-area-inset-bottom)); }
body.no-tabs:has(.btns.sticky) .fab-fb{ bottom:76px; }
body.no-tabs:has(.btns.sticky) .fab-ask{ bottom:122px; }
