/* صفحات پوستهٔ بانک — پرتفوی، پروندهٔ اعتباری، شبیه‌ساز، تسهیلات، راهنمای مدل (پیشوند .bk-) — فقط توکن */

.bk-page { min-width: 0; }
.bk-link, .bk-link-inv { border: 0; background: transparent; padding: 0; font: inherit; color: var(--bank); font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.bk-link:hover, .bk-link-inv:hover { text-decoration: underline; }
.bk-link-inv { color: var(--bank-soft); font-size: var(--fs-xs); }
.bk-err { color: var(--critical-ink); font-size: var(--fs-xs); min-height: 18px; margin-top: 6px; }
.bk-kpis .kpi .k-value { font-size: 26px; }
.bk-kpis .kpi.compact .k-value { font-size: 21px; }
.bk-kpis .kpi .k-sub b { color: var(--ink); }

/* ---------- سربرگ پرتفوی / راهنما ---------- */
.bk-hero { position: relative; overflow: hidden; display: flex; gap: var(--s5); align-items: flex-end; justify-content: space-between; flex-wrap: wrap; padding: var(--s5) var(--s6); margin-bottom: var(--s5); border-radius: var(--r-modal); color: var(--ink-inverse); background: linear-gradient(120deg, var(--bank-deep) 0%, var(--bank-strong) 55%, var(--bank) 100%); }
.bk-hero::after { content: ''; position: absolute; inset: auto -60px -120px auto; width: 320px; height: 320px; border-radius: 50%; border: 48px solid var(--bank-soft); opacity: .07; pointer-events: none; }
.bk-hero-t { flex: 1 1 420px; min-width: 0; }
.bk-hero h1 { font-size: 30px; font-weight: 800; letter-spacing: -.4px; margin: 6px 0 8px; }
.bk-hero p { opacity: .82; margin: 0; max-width: 70ch; }
.bk-eyebrow { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-xs); font-weight: 600; letter-spacing: .2px; opacity: .85; flex-wrap: wrap; }
.bk-hero-u { display: flex; gap: var(--s3); align-items: center; background: var(--bank-strong); border: 1px solid var(--bank); border-radius: var(--r-card); padding: var(--s3) var(--s4); position: relative; z-index: 1; }
.bk-hero-u > div { display: flex; flex-direction: column; line-height: 1.5; }
.bk-hero-u span { font-size: var(--fs-xs); opacity: .78; }
.bk-hero-u .avatar { background: var(--bank-soft); color: var(--bank-strong); width: 40px; height: 40px; font-size: 16px; opacity: 1; }

/* صف بررسی امروز */
.bk-queue { display: grid; gap: var(--s3); grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.bk-q { display: flex; flex-direction: column; gap: 6px; padding: var(--s4); background: var(--bg-panel); border: 1px solid var(--line); border-top: 3px solid var(--bank); border-radius: var(--r-card); color: var(--ink) !important; text-decoration: none !important; transition: border-color .15s, background .15s; min-width: 0; }
.bk-q:hover { border-color: var(--bank); background: var(--bg-hover); }
.bk-q-h { display: flex; align-items: center; gap: var(--s2); }
.bk-q-t { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.4; }
.bk-q-t b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bk-q-t span { font-size: var(--fs-xs); color: var(--ink-3); }
.bk-q-amt { font-size: 24px; font-weight: 800; color: var(--bank-strong); font-variant-numeric: tabular-nums; letter-spacing: -.3px; margin-top: 4px; }
.bk-q-m { font-size: var(--fs-xs); color: var(--ink-2); }
.bk-q-f { display: flex; justify-content: space-between; align-items: center; gap: 6px; font-size: var(--fs-xs); color: var(--ink-3); border-top: 1px dashed var(--line); padding-top: 6px; margin-top: auto; }
.bk-q-f span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* فیلتر دکمه‌ای */
.bk-gfilter { display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.bk-gf { border: 1px solid var(--line-strong); background: var(--bg-panel); border-radius: var(--r-pill); min-width: 34px; height: 30px; padding: 0 10px; font-weight: 700; font-size: var(--fs-xs); color: var(--ink-2); }
.bk-gf:hover { border-color: var(--bank); color: var(--bank-strong); }
.bk-gf.on { background: var(--bank); border-color: var(--bank); color: var(--ink-inverse); }
.bk-gf.on .faint { color: var(--bank-soft); }
.bk-cell-farm { display: flex; flex-direction: column; line-height: 1.5; }
.bk-sg { display: inline-flex; align-items: center; gap: 8px; }
.bk-sg .grade { width: 28px; height: 28px; font-size: 15px; border-radius: 8px; }
.bk-pkg { display: inline-block; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
table.t tr.bk-hero-row td { background: var(--bank-soft); }
table.t tr.bk-late-row td { background: var(--critical-soft); }
table.t td .src { margin-top: 2px; }

/* ---------- سربرگ تصمیم پرونده (چسبان) ---------- */
.bk-dh { position: sticky; top: calc(var(--topbar-h) + 8px); z-index: 15; display: grid; grid-template-columns: minmax(0, 1.35fr) auto minmax(0, 1.4fr) auto; gap: var(--s4) var(--s5); align-items: center; padding: var(--s4) var(--s5); border-radius: var(--r-modal); color: var(--ink-inverse); background: linear-gradient(110deg, var(--bank-deep) 0%, var(--bank-strong) 70%, var(--bank) 100%); box-shadow: var(--shadow-float); }
.bk-dh-id { min-width: 0; }
.bk-dh-id h1 { font-size: 24px; font-weight: 800; margin: 2px 0 6px; letter-spacing: -.3px; }
.bk-dh-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: var(--fs-xs); align-items: center; opacity: .92; }
.bk-dh-meta > span:not(.chip) { display: inline-flex; align-items: center; gap: 4px; }
.bk-dh .chip { height: 22px; }
.bk-dh-grade { display: flex; align-items: center; gap: var(--s3); padding-inline: var(--s4); border-inline: 1px solid var(--bank); }
.bk-dh-grade .grade.xl { box-shadow: 0 0 0 3px var(--bank-soft); }
.bk-dh-grade > div { display: flex; flex-direction: column; line-height: 1.45; }
.bk-dh-lbl { font-size: var(--fs-xs); opacity: .8; display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bk-dh .src { color: var(--bank-soft); }
.bk-dh-gs { font-size: var(--fs-xs); opacity: .9; white-space: nowrap; }
.bk-dh-offer { min-width: 0; }
.bk-dh-amt { display: flex; align-items: baseline; gap: 8px; line-height: 1.15; margin: 2px 0 4px; }
.bk-dh-amt b { font-size: var(--fs-hero); font-weight: 800; letter-spacing: -1.2px; font-variant-numeric: tabular-nums; }
.bk-dh-amt span { font-size: var(--fs-md); font-weight: 600; opacity: .85; }
.bk-dh-line { display: flex; flex-wrap: wrap; gap: 2px 0; font-size: var(--fs-sm); font-variant-numeric: tabular-nums; }
.bk-dh-line span:not(:last-child)::after { content: '—'; margin-inline: 8px; opacity: .5; }
.bk-dh-line em { font-style: normal; opacity: .78; }
.bk-dh-prop { margin-top: 6px; display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: var(--fs-xs); background: var(--bank); border-radius: var(--r-pill); padding: 2px 12px; }
.bk-dh-act { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
.bk-dh-dec { display: flex; gap: 6px; }
.bk-dh-dec .btn { flex: 1; }
.bk-dh-done { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: var(--fs-sm); }
.bk-dh-done a { color: var(--ink-inverse); font-weight: 700; }
.bk-dh .btn { height: 34px; }
.btn.bk-btn-inv { background: var(--bg-panel); border-color: var(--bg-panel); color: var(--bank-strong) !important; }
.btn.bk-btn-inv:hover { background: var(--bank-soft); }
.btn.bk-btn-ghost { background: transparent; border-color: var(--bank-soft); color: var(--ink-inverse); }
.btn.bk-btn-ghost:hover { background: var(--bank); }
.btn.bk-btn-ok { background: var(--ok-ink); border-color: var(--ok-ink); color: var(--ink-inverse); }
.btn.bk-btn-ok:hover { background: var(--ok); border-color: var(--ok); }
.btn.bk-btn-no { background: transparent; border-color: var(--critical); color: var(--critical-soft); }
.btn.bk-btn-no:hover { background: var(--critical-ink); color: var(--ink-inverse); }

/* نوار اعتماد داده */
.bk-trust { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0; margin: var(--s3) 0 var(--s4); background: var(--bg-panel); border: 1px solid var(--line); border-radius: var(--r-card); overflow: hidden; }
.bk-tr-i { flex: 1 1 170px; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4px 10px; padding: var(--s3) var(--s4); border-inline-end: 1px solid var(--line); min-width: 0; }
.bk-tr-ic { width: 30px; height: 30px; border-radius: var(--r-ctl); display: grid; place-items: center; background: var(--bank-soft); color: var(--bank-strong); flex: none; }
.bk-tr-t { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; line-height: 1.35; }
.bk-tr-t b { font-size: 17px; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--ink); }
.bk-tr-t span { font-size: 11px; color: var(--ink-2); }
.bk-tr-src { width: 100%; padding-inline-start: 40px; }
.bk-tr-sum { flex: 0 0 auto; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 2px; padding: var(--s3) var(--s4); background: var(--bank-soft); color: var(--bank-strong); font-size: var(--fs-xs); }
.bk-tr-big { font-size: 26px; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.bk-tabs { margin-top: var(--s2); }

/* خلاصه */
.bk-score-top { display: flex; align-items: center; gap: var(--s3); margin-bottom: var(--s3); }
.bk-score-top > div { display: flex; flex-direction: column; }
.bk-part { padding: 8px 0; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 4px; }
.bk-part-h { display: flex; justify-content: space-between; gap: 8px; font-size: var(--fs-sm); }
.bk-part-h em { font-style: normal; font-size: 11px; color: var(--bank-strong); background: var(--bank-soft); border-radius: var(--r-pill); padding: 0 7px; margin-inline-start: 4px; }
.bk-part-h b { font-variant-numeric: tabular-nums; }
.bk-why-min .kv dd b { color: var(--bank-strong); font-size: 16px; }
.bk-flags { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.bk-flags li { display: flex; gap: 8px; align-items: flex-start; padding: 8px 10px; border-radius: var(--r-ctl); font-size: var(--fs-sm); background: var(--bg-sunken); }
.bk-flags li .ic { margin-top: 3px; }
.bk-flags li.warn { background: var(--warn-soft); } .bk-flags li.warn .ic { color: var(--warn-ink); }
.bk-flags li.serious { background: var(--serious-soft); } .bk-flags li.serious .ic { color: var(--serious-ink); }
.bk-flags li.critical { background: var(--critical-soft); } .bk-flags li.critical .ic { color: var(--critical-ink); }
.bk-why .card-h h3 { display: inline-flex; align-items: center; gap: 6px; color: var(--bank-strong); }
.bk-why-l { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: var(--fs-sm); }
.bk-why-l li { display: flex; gap: 8px; align-items: flex-start; }
.bk-why-l li > .ic { color: var(--bank); margin-top: 3px; }
.bk-why-l .src { margin-inline-start: 6px; }

/* اسناد و چک‌لیست */
.bk-check-card { position: sticky; top: calc(var(--topbar-h) + 16px); }
.bk-checks { list-style: none; margin: var(--s3) 0 0; padding: 0; }
.bk-checks li { padding: 8px 0; border-bottom: 1px dashed var(--line); font-size: var(--fs-sm); }
.bk-checks li:last-child { border-bottom: 0; }
.bk-checks .check input { accent-color: var(--bank); flex: none; }

/* تولید */
.bk-rank { display: flex; align-items: center; gap: var(--s5); flex-wrap: wrap; }
.bk-rank-n { display: flex; align-items: baseline; gap: 6px; }
.bk-rank-n .ic { color: var(--series-4); align-self: center; }
.bk-rank-n b { font-size: 22px; font-weight: 800; color: var(--bank-strong); }
.bk-rank-n span { color: var(--ink-2); font-size: var(--fs-sm); }
.bk-rank-t { flex: 1 1 260px; }
.bk-rank .src { margin-inline-end: 8px; }
.bk-bench { gap: var(--s5); }
@media (max-width: 1024px) { .bk-bench { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .bk-bench { grid-template-columns: minmax(0, 1fr); } }

/* جریان نقدی */
.bk-seasons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s2); }
.bk-season { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: var(--r-ctl); background: var(--bg-sunken); border-inline-start: 3px solid var(--line-strong); }
.bk-season.summer { border-inline-start-color: var(--series-2); }
.bk-season.winter { border-inline-start-color: var(--series-1); }
.bk-season.spring { border-inline-start-color: var(--series-3); }
.bk-season.autumn { border-inline-start-color: var(--series-4); }
.bk-season span { font-size: var(--fs-xs); color: var(--ink-2); }
.bk-season b { font-size: 17px; font-variant-numeric: tabular-nums; }
.bk-season em { font-style: normal; font-size: 11px; color: var(--ink-3); }

/* دارایی */
.bk-coll .card { display: flex; flex-direction: column; gap: 4px; border-top: 3px solid var(--bank); }
.bk-coll .card > .ic { color: var(--bank); }
.bk-coll b { font-size: 20px; font-variant-numeric: tabular-nums; color: var(--bank-strong); }

/* اعتبارسنجی: ورودی‌ها، گام‌ها، فرمول */
.bk-inputs { list-style: none; margin: 0; padding: 0; }
.bk-inputs li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 10px; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: var(--fs-sm); }
.bk-inputs li span { color: var(--ink-2); }
.bk-inputs li b { text-align: left; font-variant-numeric: tabular-nums; }
.bk-inputs li .src { grid-column: 1 / -1; }
.bk-profits { display: flex; flex-wrap: wrap; gap: 4px; margin-top: var(--s3); align-items: center; }
.bk-profits > span:first-child { width: 100%; }
.bk-pchip { font-size: 11px; font-weight: 700; padding: 1px 8px; border-radius: var(--r-pill); background: var(--bank-soft); color: var(--bank-strong); font-variant-numeric: tabular-nums; }
.bk-pchip.neg { background: var(--critical-soft); color: var(--critical-ink); }
.bk-bk { list-style: none; margin: 0 0 var(--s2); padding: 0; display: flex; flex-direction: column; gap: 6px; }
.bk-bk li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; font-size: var(--fs-sm); padding: 8px 10px; border-radius: var(--r-ctl); background: var(--bg-sunken); }
.bk-bk li.ok .ic { color: var(--ok-ink); } .bk-bk li.no { background: var(--critical-soft); } .bk-bk li.no .ic { color: var(--critical-ink); }
.bk-bk.big li { font-size: var(--fs-md); padding: 12px 14px; }

.bk-v { font-style: normal; font-weight: 700; color: var(--bank-strong); background: var(--bank-soft); border-radius: 5px; padding: 0 5px; white-space: nowrap; }
.bk-frac { display: inline-flex; flex-direction: column; align-items: center; vertical-align: middle; margin: 0 3px; line-height: 1.5; text-align: center; }
.bk-fn { padding: 0 4px 2px; border-bottom: 1.5px solid currentColor; }
.bk-fd { padding: 2px 4px 0; }
.bk-walk { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.bk-walk li { display: grid; grid-template-columns: 30px minmax(0, 1fr) minmax(130px, auto); gap: 4px var(--s3); align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.bk-walk li:last-child { border-bottom: 0; }
.bk-w-n { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--bank-soft); color: var(--bank-strong); font-weight: 800; font-size: 12px; align-self: start; margin-top: 2px; }
.bk-w-b { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.bk-w-t { font-weight: 700; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.bk-w-f { font-size: var(--fs-sm); color: var(--ink); }
.bk-w-s { font-size: var(--fs-xs); color: var(--ink-3); font-variant-numeric: tabular-nums; overflow-x: auto; }
.bk-w-s .bk-fn, .bk-w-s .bk-fd { white-space: nowrap; }
.bk-w-r { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: left; }
.bk-w-r b { font-size: 16px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bk-walk li.bind { background: var(--bank-soft); border-radius: var(--r-ctl); padding-inline: 8px; }
.bk-walk li.hero { background: var(--bank-deep); color: var(--ink-inverse); border-radius: var(--r-ctl); padding-inline: 8px; }
.bk-walk li.hero .bk-w-f, .bk-walk li.hero .bk-w-s { color: var(--bank-soft); }
.bk-walk li.hero .bk-w-r b { font-size: 20px; }
.bk-walk li.hero .src { color: var(--bank-soft); }
.bk-walk.compact li { padding: 4px 0; font-size: 10.5px; gap: 2px 8px; grid-template-columns: 20px minmax(0, 1fr) auto; }
.bk-walk.compact .bk-w-n { width: 18px; height: 18px; font-size: 9px; }
.bk-walk.compact .bk-w-t { font-size: 11px; }
.bk-walk.compact .bk-w-f { display: none; }
.bk-walk.compact .bk-w-s { font-size: 10px; }
.bk-walk.compact .bk-w-r b { font-size: 11.5px; }
.bk-walk.compact .bk-w-r .src { display: none; }
.bk-walk.compact li.hero .bk-w-r b { font-size: 13px; }
.bk-walk.compact .grade { width: 22px; height: 22px; font-size: 12px; border-radius: 6px; }

/* جدول حساسیت با رمپ ترتیبی */
.bk-sens-wrap { overflow-x: auto; }
.bk-sens { width: 100%; border-collapse: separate; border-spacing: 4px; min-width: 420px; font-variant-numeric: tabular-nums; }
.bk-sens th { font-size: var(--fs-xs); color: var(--ink-2); font-weight: 600; padding: 4px 6px; text-align: center; white-space: nowrap; }
.bk-sens tbody th { text-align: right; }
.bk-sens td { border-radius: var(--r-ctl); padding: 10px 8px; text-align: center; vertical-align: middle; line-height: 1.4; }
.bk-sens td b { display: block; font-size: 16px; }
.bk-sens td span { display: block; font-size: 11px; }
.bk-sens td.cur { outline: 3px solid var(--bank-deep); outline-offset: -1px; }
.bk-s0 { background: var(--seq-100); color: var(--ink); }
.bk-s1 { background: var(--seq-150); color: var(--ink); }
.bk-s2 { background: var(--seq-250); color: var(--ink); }
.bk-s3 { background: var(--seq-400); color: var(--ink-inverse); }
.bk-s4 { background: var(--seq-550); color: var(--ink-inverse); }
.bk-s5 { background: var(--seq-700); color: var(--ink-inverse); }
.bk-s3 td.cur, td.bk-s3.cur, td.bk-s4.cur, td.bk-s5.cur { outline-color: var(--warn); }
.bk-sens-lg { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; font-size: 11px; color: var(--ink-2); margin-top: 8px; }
.bk-sens-lg i { width: 20px; height: 10px; border-radius: 2px; display: inline-block; }
.bk-sens-cur { margin-inline-start: var(--s3); color: var(--ink-3); }
.bk-gl { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 12px; font-size: var(--fs-sm); }
.bk-gl dt { font-weight: 800; color: var(--bank-strong); }
.bk-gl dd { margin: 0; color: var(--ink-2); }

/* سوابق تسهیلات */
.bk-loan .card-h h3 { display: inline-flex; gap: 6px; align-items: center; }
.bk-tl-wrap { max-height: 360px; overflow-y: auto; padding-top: 4px; padding-inline-end: 4px; }
.bk-tl-wrap.tall { max-height: 640px; }
.bk-tl-wrap .tl-m .bk-link { font-size: var(--fs-xs); }

/* مودال تصمیم */
.bk-prev { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 6px; }
.bk-prev:empty { display: none; }
.bk-prev-i { background: var(--bank-soft); border-radius: var(--r-ctl); padding: 8px 10px; display: flex; flex-direction: column; gap: 2px; }
.bk-prev-i span { font-size: 11px; color: var(--ink-2); }
.bk-prev-i b { font-variant-numeric: tabular-nums; color: var(--bank-strong); }
.bk-prev-i .grade { width: 28px; height: 28px; font-size: 15px; border-radius: 8px; }

/* ---------- گزارش چاپی ---------- */
.bk-print-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); flex-wrap: wrap; padding: var(--s3) var(--s4); margin-bottom: var(--s4); border-radius: var(--r-card); background: var(--bank-soft); }
.bk-print-bar > div { display: flex; align-items: center; gap: var(--s3); }
.bk-print-bar > div > div { display: flex; flex-direction: column; }
.bk-print-bar > div > .ic { color: var(--bank); width: 28px; height: 28px; }
.bk-sheets { overflow-x: auto; }
.bk-sheet .sh-head { border-bottom-color: var(--bank-deep); }
.bk-sh-brand { display: inline-flex; align-items: center; gap: 5px; color: var(--bank-strong); font-weight: 800; font-size: 11px; }
.bk-sh-meta { text-align: left; font-size: 10.5px; color: var(--ink-2); line-height: 1.6; white-space: nowrap; }
.bk-sheet .kv { font-size: 11.5px; gap: 3px 14px; }
.bk-sheet h3 { color: var(--bank-strong); border-bottom: 1px solid var(--line); padding-bottom: 3px; }
.bk-sh-offer { display: flex; gap: var(--s5); align-items: center; padding: 12px 16px; border-radius: var(--r-card); background: var(--bank-soft); }
.bk-sh-offer > div { display: flex; flex-direction: column; gap: 2px; }
.bk-sh-offer > div:first-child { align-items: center; font-size: 10.5px; color: var(--ink-2); }
.bk-sh-offer b { font-size: 26px; font-weight: 800; color: var(--bank-deep); line-height: 1.2; }
.bk-sh-offer b small { font-size: 12px; font-weight: 600; }
.bk-sh-offer span { font-size: 11px; color: var(--ink-2); }
.bk-sheet .bk-flags li { padding: 4px 8px; font-size: 11px; }
.bk-sign { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s4); margin-top: 18mm; font-size: 11px; }
.bk-sign > div { border-top: 1px solid var(--ink-3); padding-top: 4px; display: flex; flex-direction: column; }
.bk-sign span { color: var(--ink-3); font-size: 10px; }
.bk-print-checks { list-style: none; margin: 0; padding: 0; columns: 2; font-size: 11.5px; line-height: 2; }
.bk-sh-chart { margin-bottom: 6px; }
.bk-sheet .bk-sens td { padding: 5px; }
.bk-sheet .bk-sens td b { font-size: 12px; }
.bk-sheet .bk-sens td span { font-size: 9.5px; }
.bk-sheet .bk-sens-lg { font-size: 9.5px; }

/* ---------- شبیه‌ساز ---------- */
.bk-sim { display: grid; grid-template-columns: minmax(300px, 360px) minmax(0, 1fr); gap: var(--s4); align-items: start; }
.bk-sim-ctl { position: sticky; top: calc(var(--topbar-h) + 12px); border-top: 3px solid var(--bank); }
.bk-ctl { padding: 10px 0 12px; border-bottom: 1px dashed var(--line); display: flex; flex-direction: column; gap: 6px; }
.bk-ctl-h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.bk-ctl-h label, .bk-ctl-h .lbl { font-size: var(--fs-sm); font-weight: 600; color: var(--ink-2); }
.bk-ctl-h output { font-size: 17px; font-weight: 800; color: var(--bank-strong); font-variant-numeric: tabular-nums; }
.bk-ctl input[type=range] { margin: 2px 0; }
.bk-ctl-r { display: flex; justify-content: space-between; font-size: 11px; color: var(--ink-3); }
.bk-ctl .seg { width: 100%; }
.bk-ctl .seg button { flex: 1; justify-content: center; }
.bk-sw { gap: 10px; }
.bk-sw .switch { font-size: var(--fs-sm); }
.bk-sim-ref { margin-top: var(--s3); padding: 10px 12px; border-radius: var(--r-ctl); background: var(--bg-sunken); }
.bk-sim-ref .kv { font-size: var(--fs-xs); }
.bk-sim-out { min-width: 0; }
.bk-sim-hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--s3); }
.bk-big { display: flex; flex-direction: column; gap: 2px; padding: var(--s4); background: var(--bg-panel); border: 1px solid var(--line); border-radius: var(--r-card); min-width: 0; }
.bk-big > span { font-size: var(--fs-xs); color: var(--ink-2); font-weight: 600; }
.bk-big b { font-size: 24px; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.4px; line-height: 1.25; }
.bk-big em { font-style: normal; font-size: 11px; color: var(--ink-3); }
.bk-big.main { grid-column: span 2; background: linear-gradient(120deg, var(--bank-deep), var(--bank)); color: var(--ink-inverse); border-color: transparent; }
.bk-big.main > span, .bk-big.main em { color: var(--bank-soft); }
.bk-big.main b { font-size: 34px; }
.bk-big.ok b { color: var(--ok-ink); } .bk-big.ok { border-color: var(--ok); }
.bk-big.bad b { color: var(--critical-ink); } .bk-big.bad { border-color: var(--critical); background: var(--critical-soft); }
.bk-big .grade { margin-top: 2px; }
.bk-sim-meta { display: flex; gap: var(--s3); align-items: center; flex-wrap: wrap; margin-top: var(--s2); }
table.t tr.bk-grace td { background: var(--warn-soft); }

/* ---------- تسهیلات ---------- */
.bk-srcbar, .bk-prog { display: flex; flex-direction: column; gap: 3px; min-width: 110px; }

/* ---------- راهنمای مدل ---------- */
.bk-ghero { align-items: stretch; }
.bk-toc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; align-content: start; position: relative; z-index: 1; flex: 0 1 360px; }
.bk-toc button { display: flex; align-items: center; gap: 8px; border: 1px solid var(--bank); background: var(--bank-strong); color: var(--ink-inverse); border-radius: var(--r-ctl); padding: 6px 10px; font-size: var(--fs-xs); font-weight: 600; text-align: right; }
.bk-toc button:hover { background: var(--bank); }
.bk-toc button span { width: 20px; height: 20px; border-radius: 50%; background: var(--bank-soft); color: var(--bank-strong); display: grid; place-items: center; font-size: 11px; font-weight: 800; flex: none; }
.bk-gsec { margin-top: var(--s6); scroll-margin-top: calc(var(--topbar-h) + 16px); }
.bk-gsec-h { display: flex; gap: var(--s3); align-items: flex-start; margin-bottom: var(--s3); }
.bk-gsec-h h2 { font-size: 20px; }
.bk-gsec-h p { color: var(--ink-2); margin: 2px 0 0; font-size: var(--fs-sm); }
.bk-gno { width: 34px; height: 34px; border-radius: 10px; background: var(--bank); color: var(--ink-inverse); display: grid; place-items: center; font-weight: 800; flex: none; }
.bk-pillars .card { display: flex; flex-direction: column; gap: 6px; border-top: 3px solid var(--bank); }
.bk-pillars .card > .ic { color: var(--bank); }
.bk-pillars p { font-size: var(--fs-sm); color: var(--ink-2); margin: 0; }
.bk-pillars b { font-size: 20px; color: var(--bank-strong); font-variant-numeric: tabular-nums; margin-top: auto; }
.bk-gsec .callout { margin-top: var(--s3); }
.bk-params { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--s3); }
.bk-param { background: var(--bg-panel); border: 1px solid var(--line); border-radius: var(--r-card); padding: var(--s3) var(--s4); display: flex; flex-direction: column; gap: 4px; }
.bk-param-h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-weight: 700; }
.bk-param-h b { font-size: 18px; color: var(--bank-strong); font-variant-numeric: tabular-nums; white-space: nowrap; }
.bk-param p { font-size: var(--fs-sm); color: var(--ink-2); margin: 0; }
.bk-fcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--s3); }
.bk-fcard { background: var(--bg-panel); border: 1px solid var(--line); border-radius: var(--r-card); padding: var(--s4); display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.bk-fcard h4 { color: var(--bank-strong); }
.bk-fx { background: var(--bg-sunken); border-radius: var(--r-ctl); padding: 12px 14px; font-size: 15px; line-height: 2.2; overflow-x: auto; }
.bk-fcard p { font-size: var(--fs-sm); color: var(--ink-2); margin: 0; }
.bk-grades { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.bk-grades li { display: flex; align-items: center; gap: var(--s3); font-size: var(--fs-sm); }
.bk-adj { display: flex; flex-direction: column; gap: 6px; margin-top: var(--s4); padding-top: var(--s3); border-top: 1px solid var(--line); font-size: var(--fs-sm); font-weight: 600; }
.bk-flaglist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: var(--fs-sm); }
.bk-flaglist li { display: flex; gap: 8px; align-items: center; }
.bk-flaglist .ic { color: var(--warn-ink); }
.bk-two td { vertical-align: top; }
.bk-ex-sum { display: flex; align-items: center; gap: var(--s5); flex-wrap: wrap; }
.bk-ex-sum > div:nth-child(2) { flex: 1 1 320px; display: flex; flex-direction: column; gap: 3px; }
.bk-ex-sum > div:nth-child(2) > span:first-child { font-size: var(--fs-xs); color: var(--ink-2); }
.bk-ex-sum b { font-size: 26px; font-weight: 800; color: var(--bank-deep); font-variant-numeric: tabular-nums; }

/* ---------- واکنش‌گرایی ---------- */
@media (max-width: 1200px) {
  .bk-dh { position: relative; top: auto; grid-template-columns: minmax(0, 1fr) auto; }
  .bk-dh-offer { grid-column: 1 / 2; }
  .bk-dh-act { grid-column: 2 / 3; }
}
@media (max-width: 1024px) {
  .bk-sim { grid-template-columns: minmax(0, 1fr); }
  .bk-sim-ctl { position: static; }
  .bk-check-card { position: static; }
}
@media (max-width: 768px) {
  .bk-hero { padding: var(--s4); }
  .bk-hero h1 { font-size: 22px; }
  .bk-dh { position: static; grid-template-columns: minmax(0, 1fr); padding: var(--s4); }
  .bk-dh-offer, .bk-dh-act { grid-column: auto; }
  .bk-dh-grade { border-inline: 0; padding-inline: 0; }
  .bk-dh-amt b { font-size: 34px; }
  .bk-dh-act { flex-direction: row; flex-wrap: wrap; }
  .bk-dh-act > * { flex: 1 1 auto; }
  .bk-tr-i { flex-basis: 50%; border-bottom: 1px solid var(--line); }
  .bk-tr-sum { flex: 1 1 100%; }
  .bk-walk li { grid-template-columns: 26px minmax(0, 1fr); }
  .bk-w-r { grid-column: 2; align-items: flex-start; text-align: right; }
  .bk-big.main { grid-column: auto; }
  .bk-toc { flex-basis: 100%; }
  .bk-fcards { grid-template-columns: minmax(0, 1fr); }
  .bk-seasons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bk-sign { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .bk-tr-i { flex-basis: 100%; }
  .bk-toc { grid-template-columns: minmax(0, 1fr); }
  .bk-queue { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- چاپ ---------- */
@media print {
  .bk-dh, .bk-trust, .bk-print-bar, .bk-hero-u { display: none !important; }
  .bk-sheets { overflow: visible; }
  .bk-sheet { padding: 14mm 14mm 18mm; font-size: 11.5px; }
  .bk-sheet .chart-box svg { max-width: 100%; }
  .bk-walk li, .bk-sens td { break-inside: avoid; }
}
