
:root{
  --ground:#FFFFFF; --surface:#FFFFFF; --surface-2:#F7F8FD;
  --ink:#0B0C17; --ink-soft:#474B60; --ink-faint:#82869F;
  --rule:#EAECF5; --rule-strong:#D3D7E9;
  --brand:#6C4CF1; --brand-2:#A382FF; --brand-soft:#F3F0FE; --brand-ink:#5533DA; --brand-line:#DFD5FE;
  --amber:#0A6B4F; --amber-soft:#E9F6F1; --gold:#0A6B4F;
  --good:#07684C; --good-soft:#E7F5EF; --bad:#C92B44; --bad-soft:#FDECEF;
  --clay:#C92B44; --stopnote:#FDF0F2;
  --shadow-s:0 1px 2px rgba(20,22,45,.05);
  --shadow-m:0 1px 2px rgba(20,22,45,.04),0 14px 34px -20px rgba(20,22,45,.16);
  --shadow-l:0 2px 4px rgba(20,22,45,.05),0 28px 60px -32px rgba(76,58,200,.22);
  --r:18px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#0A0B13; --surface:#12131F; --surface-2:#191B2A;
    --ink:#EEF0F8; --ink-soft:#A4A8C0; --ink-faint:#7A7E97;
    --rule:#212335; --rule-strong:#32354D;
    --brand:#9B85FF; --brand-2:#C4B2FF; --brand-soft:#1A1730; --brand-ink:#C3B1FF; --brand-line:#332C58;
    --amber:#3FDCB0; --amber-soft:#0F2A23; --gold:#3FDCB0;
    --good:#4ADCA8; --good-soft:#0E2A21; --bad:#FF7A90; --bad-soft:#2C1219;
    --clay:#FF7A90; --stopnote:#2A1119;
    --shadow-s:0 1px 2px rgba(0,0,0,.4);
    --shadow-m:0 1px 2px rgba(0,0,0,.5),0 14px 34px -20px rgba(0,0,0,.9);
    --shadow-l:0 2px 4px rgba(0,0,0,.5),0 30px 64px -34px rgba(0,0,0,.95);
  }
}
:root[data-theme="dark"]{
  --ground:#0A0B13; --surface:#12131F; --surface-2:#191B2A;
  --ink:#EEF0F8; --ink-soft:#A4A8C0; --ink-faint:#7A7E97;
  --rule:#212335; --rule-strong:#32354D;
  --brand:#9B85FF; --brand-2:#C4B2FF; --brand-soft:#1A1730; --brand-ink:#C3B1FF; --brand-line:#332C58;
  --amber:#3FDCB0; --amber-soft:#0F2A23; --gold:#3FDCB0;
  --good:#4ADCA8; --good-soft:#0E2A21; --bad:#FF7A90; --bad-soft:#2C1219;
  --clay:#FF7A90; --stopnote:#2A1119;
  --shadow-s:0 1px 2px rgba(0,0,0,.4);
  --shadow-m:0 1px 2px rgba(0,0,0,.5),0 14px 34px -20px rgba(0,0,0,.9);
  --shadow-l:0 2px 4px rgba(0,0,0,.5),0 30px 64px -34px rgba(0,0,0,.95);
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--ground);color:var(--ink);
  background-image:radial-gradient(1000px 520px at 90% -10%,color-mix(in srgb,var(--brand) 6%,transparent),transparent 72%),
                   radial-gradient(820px 440px at 2% 2%,color-mix(in srgb,var(--gold) 5%,transparent),transparent 70%);
  background-attachment:fixed;
  font-family:"IBM Plex Sans Arabic",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{margin:0;letter-spacing:-.02em;text-wrap:balance}
.display,.lead h1,.sechead h1,.chead h1,.seccard h2{
  font-family:Manrope,"IBM Plex Sans Arabic",-apple-system,sans-serif;
  font-weight:800;letter-spacing:-.035em;
}
:root[dir="rtl"] .lead h1,:root[dir="rtl"] .sechead h1,
:root[dir="rtl"] .chead h1,:root[dir="rtl"] .seccard h2{font-weight:700;letter-spacing:0}
p{margin:0}
a{color:var(--brand-ink)}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}
.skip{position:absolute;top:-70px;inset-inline-start:0;background:var(--brand);color:#fff;
  padding:10px 18px;z-index:100;border-radius:0 0 10px 0;font-weight:600;text-decoration:none;transition:top .15s ease}
.skip:focus{top:0}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* header */
.top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--surface) 86%,transparent);
  backdrop-filter:saturate(150%) blur(14px);-webkit-backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid var(--rule);box-shadow:var(--shadow-s)}
.topin{max-width:1240px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  transition:padding .22s ease}
.top.scrolled .topin{padding-top:7px;padding-bottom:7px}
.top.scrolled .brand svg{width:30px;height:30px;transition:all .22s ease}
.top.scrolled .brand .tl{opacity:0;max-height:0;overflow:hidden;line-height:0;margin:0}
.brand>span{display:block;overflow:hidden}
.top.scrolled .brand .nm{font-size:1.06rem}
.top.scrolled .navlinks a{padding-top:5px;padding-bottom:5px}
.top.scrolled select.ctl,.top.scrolled button.ctl{padding-top:5px;padding-bottom:5px;font-size:.8rem}
.brand svg{transition:width .22s ease,height .22s ease}
.brand .tl{transition:opacity .18s ease,max-height .22s ease;display:block;max-height:20px}
.brand .nm{transition:font-size .22s ease}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.brand svg{flex:none}
.brand .nm{font-weight:700;font-size:1.22rem;letter-spacing:-.03em}
.brand .nm span{color:var(--brand)}
.brand .tl{font-size:.7rem;color:var(--ink-faint);letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.tools{margin-inline-start:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;position:relative}
select.ctl,button.ctl{
  font-family:inherit;font-size:.84rem;font-weight:600;padding:7px 12px;border-radius:10px;
  border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-soft);cursor:pointer;
  transition:border-color .15s ease,color .15s ease,padding .22s ease,font-size .22s ease;
}
button.ctl:hover,select.ctl:hover{border-color:var(--brand);color:var(--brand-ink)}
button.ctl[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
:root[data-theme="dark"] button.ctl[aria-pressed="true"]{color:#150F24}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) button.ctl[aria-pressed="true"]{color:#150F24}
}

/* layout */
.shell{max-width:1240px;margin:0 auto;padding:22px 20px 90px;display:grid;grid-template-columns:266px 1fr;gap:26px;align-items:start}
@media(max-width:960px){.shell{grid-template-columns:1fr;gap:16px}}
.side{position:sticky;top:78px;max-height:calc(100vh - 96px);overflow-y:auto;padding-inline-end:6px}
@media(max-width:960px){.side{position:static;max-height:none}}
.sec{margin-bottom:3px}
.sub{margin:0 0 4px}
.sub>h3{font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-faint);padding:9px 12px 4px}
.side a{
  display:block;padding:7px 12px;border-radius:8px;font-size:.855rem;font-weight:400;color:var(--ink-soft);
  text-decoration:none;border-inline-start:2px solid transparent;transition:background .14s ease,color .14s ease;
}
.side .subbody{margin-inline-start:11px;border-inline-start:1.5px solid var(--rule);padding-inline-start:4px}
.side .subbody a{font-size:.845rem}
.side .subbody a::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;
  background:var(--rule-strong);margin-inline-end:9px;vertical-align:middle}
.side .subbody a:hover::before,.side .subbody a[aria-current="page"]::before{background:var(--brand)}
.side a:hover{background:var(--surface-2);color:var(--ink)}
.side a[aria-current="page"]{background:var(--surface-2);color:var(--brand-ink);font-weight:600;border-inline-start-color:var(--brand)}

.main{min-width:0}
.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);box-shadow:var(--shadow-m);overflow:hidden}
.chead{padding:20px 22px 16px;border-bottom:1px solid var(--rule)}
.crumb{font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin-bottom:6px}
.chead h1{font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.15}
.chead p{color:var(--ink-soft);font-size:.94rem;margin-top:7px;max-width:62ch}
.cbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}
@media(max-width:820px){.cbody{grid-template-columns:1fr}}
.inputs{padding:20px 22px;display:flex;flex-direction:column;gap:14px}
.out{padding:20px 22px;background:var(--surface-2);border-inline-start:1px solid var(--rule);display:flex;flex-direction:column;gap:12px;border-radius:0 0 var(--r) 0}
@media(max-width:820px){.out{border-inline-start:none;border-top:1px solid var(--rule);border-radius:0 0 var(--r) var(--r)}}
.fld{display:flex;flex-direction:column;gap:5px}
.fld label{font-size:.86rem;font-weight:600;color:var(--ink)}
.fld .hint{font-size:.78rem;color:var(--ink-faint)}
.inwrap{position:relative;display:flex;align-items:center}
.fld input,.fld select{
  width:100%;font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;
  font-size:.98rem;padding:11px 13px;border-radius:11px;border:1px solid var(--rule-strong);
  background:var(--surface);color:var(--ink);transition:border-color .16s ease,box-shadow .16s ease;
}
.fld input:focus,.fld select:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}
.fld select{font-family:inherit}
.fld input:hover,.fld select:hover{border-color:var(--v-400)}
.unit{position:absolute;inset-inline-end:11px;font-size:.8rem;color:var(--ink-faint);pointer-events:none;font-weight:500}
.fld input[data-unit]{padding-inline-end:46px}

.res{background:var(--surface);border:1px solid var(--rule);border-radius:11px;padding:14px 16px;
  display:flex;flex-direction:column;gap:3px;transition:border-color .15s ease,transform .15s ease}
.res:hover{border-color:var(--rule-strong);transform:translateY(-1px)}
.res.big{border:1.5px solid var(--brand);background:var(--surface);box-shadow:0 8px 24px -16px rgba(108,76,241,.3)}
.res.big::before{content:"";display:block;width:26px;height:2px;background:var(--gold);margin-bottom:4px}
.res .k{font-size:.79rem;color:var(--ink-soft);font-weight:500}
.res .v{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700;letter-spacing:-.02em}
.res.big .v{font-size:1.9rem;color:var(--brand-ink);font-weight:800;letter-spacing:-.03em}
.res .n{font-size:.76rem;color:var(--ink-faint)}
.res.good{border-color:var(--good);background:var(--good-soft)}
.res.bad{border-color:var(--bad);background:var(--bad-soft)}
.res.good .v{color:var(--good)}.res.bad .v{color:var(--bad)}

.acts{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px}
button.btn{
  font-family:inherit;font-size:.86rem;font-weight:700;padding:10px 16px;border-radius:10px;cursor:pointer;
  border:1px solid transparent;background:linear-gradient(135deg,#7C5CFF,#5B34E8);color:#fff;
  box-shadow:0 8px 20px -12px rgba(108,76,241,.4);transition:transform .15s ease,box-shadow .15s ease;
}
button.btn:hover{transform:translateY(-1px)}
:root[data-theme="dark"] button.btn{color:#150F24}
button.btn.ghost{background:transparent;color:var(--brand-ink);border-color:var(--rule-strong)}
:root[data-theme="dark"] button.btn.ghost{color:var(--brand-ink)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) button.btn.ghost{color:var(--brand-ink)}
}
button.btn.ghost:hover{border-color:var(--brand)}
button.btn:hover{filter:brightness(1.06)}

.tblwrap{overflow-x:auto;border:1px solid var(--rule);border-radius:9px;background:var(--surface);margin-top:4px}
table{border-collapse:collapse;width:100%;font-size:.85rem;min-width:460px}
th,td{padding:8px 11px;text-align:start;border-bottom:1px solid var(--rule);white-space:nowrap}
thead th{font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;background:var(--surface-2);position:sticky;top:0}
tbody tr:last-child td{border-bottom:none}
td.num{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;text-align:end}
.scroll-note{font-size:.76rem;color:var(--ink-faint);margin-top:5px}
.tblacts{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:9px}
.tblacts .scroll-note{margin:0}
@media print{.tblacts .btn{display:none!important}}

.note{background:var(--amber-soft);border-inline-start:3px solid var(--amber);border-radius:6px;padding:11px 13px;font-size:.83rem;color:var(--ink-soft)}
.note b{color:var(--ink)}
.note.warn{background:var(--stopnote);border-inline-start-color:var(--clay);color:var(--ink-soft)}

.home{display:flex;flex-direction:column;gap:26px}
.hero{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:34px 30px;box-shadow:var(--shadow-m);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset-inline-end:-70px;top:-70px;width:250px;height:250px;border-radius:50%;background:var(--brand-soft);opacity:.7}
.hero>*{position:relative}
.hero h1{font-size:clamp(1.7rem,4.4vw,2.5rem);line-height:1.06}
.hero p{color:var(--ink-soft);margin-top:12px;max-width:56ch;font-size:1.03rem}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.chip{font-size:.79rem;font-weight:600;padding:6px 14px;border-radius:999px;background:var(--surface-2);
  color:var(--brand-ink);border:1px solid var(--brand-line);transition:transform .2s ease,background .2s ease}
.chip:hover{transform:translateY(-2px)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px}
a.tile{
  display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--surface);
  border:1px solid var(--rule);border-radius:9px;text-decoration:none;color:inherit;box-shadow:var(--shadow-s);
}
a.tile:hover{border-color:var(--brand);transform:translateY(-1px)}
a.tile .t{font-weight:600;font-size:.94rem}
a.tile .d{font-size:.81rem;color:var(--ink-faint);line-height:1.45}
.secblock h2{font-size:1.12rem;margin-bottom:4px}
.secblock .sd{font-size:.87rem;color:var(--ink-faint);margin-bottom:12px}
.subttl{font-size:.74rem;letter-spacing:.11em;text-transform:uppercase;color:var(--brand-ink);font-weight:700;margin:14px 0 8px}

.saved{display:flex;flex-direction:column;gap:10px}
.srow{display:flex;gap:12px;align-items:center;padding:13px 15px;background:var(--surface);border:1px solid var(--rule);border-radius:9px;flex-wrap:wrap}
.srow .meta{flex:1;min-width:180px}
.srow .meta .t{font-weight:600;font-size:.93rem}
.srow .meta .s{font-size:.79rem;color:var(--ink-faint)}
.srow input[type=checkbox]{width:19px;height:19px;accent-color:var(--brand);cursor:pointer;flex:none}
.empty{padding:36px 20px;text-align:center;color:var(--ink-faint);background:var(--surface);border:1px dashed var(--rule-strong);border-radius:var(--r)}

.foot{margin:56px 0 0;padding:0;border:0;font-size:.82rem;
  background:linear-gradient(150deg,#2A1470 0%,#3E1FA0 42%,#1A1148 100%);
  color:#C6BAEF;position:relative;overflow:hidden;isolation:isolate}
.foot::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(760px 380px at 84% -20%,rgba(140,110,255,.55),transparent 68%),
             radial-gradient(600px 320px at 6% 120%,rgba(15,191,149,.28),transparent 66%)}
.footin{max-width:1240px;margin:0 auto;padding:40px 20px 46px;
  display:grid;grid-template-columns:1.3fr 1fr;gap:30px}
@media(max-width:760px){.footin{grid-template-columns:1fr;gap:22px;padding:32px 18px 38px}}
.footbrand{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.footbrand svg{width:34px;height:34px;flex:none}
.footbrand b{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-weight:800;font-size:1.06rem;
  color:#fff;letter-spacing:-.02em}
.footbrand b i{font-style:normal;color:#9F86FF}
.foot p{max-width:64ch;line-height:1.6;color:#B4A6E4}
.footlinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 24px;margin:0}
@media(max-width:760px){.footlinks{grid-template-columns:1fr}}
.footlinks a{font-size:.87rem;font-weight:500;color:#CFC4F4;text-decoration:none;
  padding:6px 0;border:0;background:none;transition:color .18s ease}
.footlinks a:hover{color:#fff;text-decoration:none}
.footcol h4{display:none}
.footbar{border-top:1px solid rgba(255,255,255,.13)}
#footcopy{direction:ltr;unicode-bidi:isolate}
.footbar div{max-width:1240px;margin:0 auto;padding:15px 20px 22px;display:flex;gap:14px;
  flex-wrap:wrap;align-items:center;justify-content:space-between;color:#9A8CD0;font-size:.78rem}

.brkprint{display:none}
@media print{
  .top,.side,.acts,.skip,.foot,.tools,.mqwrap,.listbar,.crumbnav,.scen{display:none!important}
  .shell{display:block;padding:0;max-width:none}
  .cbody{display:block!important}
  .card,.hero,.srow{box-shadow:none;border-color:#bbb;break-inside:avoid}
  .out{background:#fff;border-inline-start:0;border-top:1px solid #ddd}
  body{background:#fff;color:#000;font-size:12px}
  .res.big{background:#f4f0fd}
  /* breakdowns: hide the editor, print a clean itemised table instead */
  .brk .brow,.brk .addsrc,.brk .btot{display:none!important}
  .brkprint{display:table!important;width:100%;border-collapse:collapse;margin:6px 0 4px;
    break-inside:avoid;font-size:11px}
  .brkprint caption{text-align:start;font-weight:700;font-size:11px;padding:4px 0 3px;color:#000}
  .brkprint td{border-bottom:1px solid #ddd;padding:3px 6px}
  .brkprint td.num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}
  .brkprint tr.tot td{font-weight:700;border-top:1.5px solid #666;border-bottom:0}
  table{break-inside:auto} tr{break-inside:avoid}
  thead{display:table-header-group}
}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
a.tile{transition:transform .12s ease,border-color .12s ease}

/* ===== motion ===== */
@keyframes mlUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes mlIn{from{opacity:0}to{opacity:1}}
@keyframes mlScale{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.22,.9,.3,1),transform .7s cubic-bezier(.22,.9,.3,1)}
.reveal.in{opacity:1;transform:none}
.landing>.hero2{animation:mlUp .62s cubic-bezier(.22,.9,.3,1) both}

.hero2 .inner>*{animation:mlUp .7s cubic-bezier(.22,.9,.3,1) both}
.hero2 .inner>*:nth-child(1){animation-delay:.12s}
.hero2 .inner>*:nth-child(2){animation-delay:.2s}
.hero2 .inner>*:nth-child(3){animation-delay:.3s}
.hero2 .inner>*:nth-child(4){animation-delay:.4s}
.hero2 .inner>*:nth-child(5){animation-delay:.5s}
.secgrid a.seccard{transition:transform .5s cubic-bezier(.22,.9,.3,1),box-shadow .3s ease,border-color .3s ease,opacity .5s ease}
.reveal.in .seccard:nth-child(1),.secgrid.reveal.in a:nth-child(1){transition-delay:0s}
.secgrid.reveal.in a:nth-child(2){transition-delay:.09s}
.secgrid.reveal.in a:nth-child(3){transition-delay:.18s}
.secgrid.reveal a{opacity:0;transform:translateY(24px)}
.secgrid.reveal.in a{opacity:1;transform:none}
.main>.card,.main>.mk,.main>.sechead{animation:mlUp .42s cubic-bezier(.22,.9,.3,1) both}
.main>.crumbnav{animation:mlIn .3s ease both}
.grid a.ctile{animation:mlScale .38s cubic-bezier(.22,.9,.3,1) both}
.grid a.ctile:nth-child(2){animation-delay:.04s}
.grid a.ctile:nth-child(3){animation-delay:.08s}
.grid a.ctile:nth-child(4){animation-delay:.12s}
.grid a.ctile:nth-child(5){animation-delay:.16s}
.grid a.ctile:nth-child(n+6){animation-delay:.2s}
.out .res{animation:mlIn .3s ease both}

/* ===== header nav ===== */
.navlinks{display:flex;gap:4px;align-items:center}
.navlinks a{
  font-size:.85rem;font-weight:600;color:var(--ink-soft);text-decoration:none;
  padding:7px 13px;border-radius:10px;transition:background .15s ease,color .15s ease,padding .22s ease;
}
.navlinks a:hover{background:var(--surface-2);color:var(--brand-ink)}
.navlinks a.on{color:var(--brand-ink);background:var(--surface-2)}

.homequick{
  font-size:.76rem;font-weight:600;color:var(--ink-faint);text-decoration:none;
  padding:6px 8px;border-radius:9px;white-space:nowrap;flex:none
}
.homequick:hover{color:var(--brand-ink);background:var(--surface-2)}
:root[dir="rtl"] .homequick{font-family:"IBM Plex Sans Arabic",sans-serif}
@media(max-width:640px){.homequick{font-size:.72rem;padding:5px 6px}}
.navlinks a.navhome{font-size:.77rem;font-weight:500;color:var(--ink-faint);padding-inline:8px}
.navlinks a.navhome:hover{color:var(--ink-soft)}
.navlinks a.navhome.on{color:var(--ink-soft);background:transparent}
.mobilepop a.navhome{font-weight:550;color:var(--ink-faint);border-bottom:1px solid var(--rule);border-radius:0;margin-bottom:3px}
@media(max-width:820px){.navlinks{display:none}}
.iconbtn{
  width:32px;height:32px;flex:none;display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;cursor:pointer;border:1px solid var(--rule-strong);background:var(--surface);
  color:var(--ink-soft);padding:0;transition:border-color .15s ease,color .15s ease,background .15s ease;
}
.iconbtn:hover{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-soft)}
.iconbtn svg{width:16px;height:16px}
.mobilemenu{display:none}
.searchpop,.mobilepop{position:absolute;z-index:80;inset-inline-end:0;top:calc(100% + 10px);width:min(360px,calc(100vw - 24px));
  background:var(--surface);border:1px solid var(--rule-strong);border-radius:15px;box-shadow:var(--shadow-l);padding:10px}
.searchpop[hidden],.mobilepop[hidden]{display:none!important}
.searchfield{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--rule-strong);border-radius:11px;background:var(--surface-2)}
.searchfield>svg{width:17px;height:17px;flex:none;color:var(--ink-faint)}
.searchfield input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:.9rem}
.searchfield input::placeholder{color:var(--ink-faint)}
.searchfield button{width:25px;height:25px;border:0;border-radius:7px;background:transparent;color:var(--ink-faint);cursor:pointer;font-size:18px;line-height:1}
.searchfield button:hover{background:var(--surface);color:var(--ink)}
.searchresults{display:flex;flex-direction:column;gap:3px;margin-top:7px;max-height:360px;overflow:auto}
.searchhint{padding:14px 10px;color:var(--ink-faint);font-size:.82rem;line-height:1.45}
a.searchitem{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;text-decoration:none;color:inherit}
a.searchitem:hover{background:var(--surface-2)}
.searchitem .sicon{width:34px;height:34px;flex:none;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-ink)}
.searchitem .sicon svg{width:17px;height:17px}
.searchitem .stxt{min-width:0;display:flex;flex-direction:column}
.searchitem b{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.searchitem small{font-size:.7rem;color:var(--ink-faint)}
.mobilepop{width:230px;display:flex;flex-direction:column;gap:3px}
.mobilepop a{padding:9px 11px;border-radius:9px;text-decoration:none;color:var(--ink-soft);font-size:.88rem;font-weight:650}
.mobilepop a:hover{background:var(--surface-2);color:var(--brand-ink)}
.listbar{display:none}

/* Reliable calculator-list collapse/reopen */
.shell:not(.wide):not(.collapsed){grid-template-columns:266px minmax(0,1fr)}
.shell:not(.wide):not(.collapsed) .side{display:block}
.shell:not(.wide):not(.collapsed) .listbar{display:none}

.shell:not(.wide).collapsed{
  grid-template-columns:44px minmax(0,1fr);
  gap:12px
}
.shell:not(.wide).collapsed .side{display:none!important}
.shell:not(.wide).collapsed .listbar{
  display:flex!important;align-items:flex-start;justify-content:center;
  position:sticky;top:78px;align-self:start;margin:0
}
.shell:not(.wide).collapsed .listbar .sidetoggle{
  background:var(--surface);box-shadow:var(--shadow-s)
}
.shell.wide .listbar{display:none!important}

/* sidebar shell */
.side{background:var(--surface);border:1px solid var(--rule);border-radius:16px;padding:12px 10px 10px;
  box-shadow:var(--shadow-s)}
.sidehead{display:flex;align-items:center;gap:8px;padding:2px 4px 10px;margin-bottom:6px;border-bottom:1px solid var(--rule)}
.sidetitle{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-faint);font-weight:500;flex:1}
.secbtn{
  width:100%;display:flex;align-items:center;gap:9px;padding:11px 10px;border-radius:10px;cursor:pointer;
  border:1px solid transparent;background:transparent;
  font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:.95rem;font-weight:800;letter-spacing:-.01em;
  color:var(--ink);text-align:start;transition:background .15s ease,color .15s ease;
}
.secbtn:hover{background:var(--surface-2)}
.secbtn .nm{flex:1}
.secbtn .ct{font-family:"IBM Plex Mono",monospace;font-size:10.5px;color:var(--ink-faint);
  background:var(--surface-2);border-radius:20px;padding:2px 7px}
.secbtn .cv{display:inline-flex;color:var(--ink-faint);transition:transform .22s cubic-bezier(.3,.8,.3,1)}
.secbtn .cv svg{width:15px;height:15px}
.sec.open>.secbtn{color:var(--brand-ink);background:var(--brand-soft)}
.sec.open>.secbtn .cv{transform:rotate(180deg);color:var(--brand)}
.sec.open>.secbtn .ct{background:var(--surface);color:var(--brand-ink)}
.secbody{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s cubic-bezier(.3,.8,.3,1),opacity .22s ease}
.sec.open>.secbody{max-height:1400px;opacity:1;padding-top:4px}
.side a.ov{font-weight:600;color:var(--brand-ink)}

/* breakdown lines */
.brk{display:flex;flex-direction:column;gap:6px;margin-top:2px}
.brow{display:grid;grid-template-columns:1fr 116px 30px;gap:6px;align-items:center}
.brow input{padding:7px 10px;font-size:.86rem}
.brow input.bn{font-family:inherit}
.brow button{width:30px;height:32px;border-radius:7px;border:1px solid var(--rule-strong);
  background:var(--surface);color:var(--ink-faint);cursor:pointer;font-size:15px;line-height:1;padding:0}
.brow button:hover{border-color:var(--bad);color:var(--bad)}
.addsrc{align-self:flex-start;font-family:inherit;font-size:.78rem;font-weight:700;padding:6px 11px;
  border-radius:8px;border:1px dashed var(--brand-line);background:var(--surface);color:var(--brand-ink);cursor:pointer}
.addsrc:hover{border-style:solid;background:var(--brand-soft)}
.btot{font-family:"IBM Plex Mono",monospace;font-size:.78rem;color:var(--ink-faint);
  display:flex;justify-content:space-between;padding-top:2px;border-top:1px dashed var(--rule)}
.btot b{color:var(--ink);font-weight:500}
input[readonly]{background:var(--surface-2);color:var(--ink-soft)}

.infolink{
  display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;margin-inline-start:7px;
  border-radius:50%;border:1.4px solid var(--brand);color:var(--brand);font-family:"IBM Plex Mono",monospace;
  font-size:10.5px;font-weight:600;line-height:1;text-decoration:none;vertical-align:middle;
}
.infolink:hover{background:var(--brand);color:#fff}
.cbody.one{grid-template-columns:1fr}
.cbody.one .out{border-inline-start:none;border-top:1px solid var(--rule);border-radius:0 0 var(--r) var(--r);
  display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:12px;align-content:start}
.cbody.one .out .note,.cbody.one .out .tblwrap,.cbody.one .out .scroll-note{grid-column:1/-1}
.cbody.one .res.big{grid-column:1/-1}

/* product mix table */
.mixwrap{border:1px solid var(--rule);border-radius:11px;overflow-x:auto;background:var(--surface);margin-top:4px}
table.mix{border-collapse:collapse;width:100%;min-width:660px;font-size:.85rem}
table.mix th,table.mix td{padding:7px 9px;border-bottom:1px solid var(--rule);text-align:start;white-space:nowrap}
table.mix thead th{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-faint);font-weight:400;background:var(--surface-2)}
table.mix tbody tr:last-child td{border-bottom:none}
table.mix input{width:100%;padding:6px 8px;font-size:.85rem;border-radius:7px;border:1px solid var(--rule-strong);
  background:var(--surface);color:var(--ink);font-family:"IBM Plex Mono",monospace}
table.mix input.pn{font-family:inherit;min-width:120px}
table.mix td.calc{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;text-align:end;color:var(--ink-soft)}
table.mix td.act{text-align:center;width:34px}
table.mix td.act button{width:28px;height:28px;border-radius:7px;border:1px solid var(--rule-strong);
  background:var(--surface);color:var(--ink-faint);cursor:pointer;padding:0;font-size:14px}
table.mix td.act button:hover{border-color:var(--bad);color:var(--bad)}
.methpick{display:flex;gap:6px;flex-wrap:wrap}
.methpick button{font-family:inherit;font-size:.78rem;font-weight:700;padding:7px 12px;border-radius:8px;
  border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-soft);cursor:pointer}
.methpick button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.grp{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--brand-ink);padding-top:8px;margin-top:2px;border-top:1px solid var(--rule)}

/* comparison extras */
.baseline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.84rem;color:var(--ink-soft)}
.baseline button{font-family:inherit;font-size:.78rem;font-weight:700;padding:6px 12px;border-radius:8px;
  border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-soft);cursor:pointer}
.baseline button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
td .dv{display:block;font-size:.76rem;margin-top:2px}
td .dv.up,td .dv.dn{color:var(--ink-soft)}
td .dv.fl{color:var(--ink-faint)}
tr.sub th{font-weight:400;color:var(--ink-soft);padding-inline-start:26px;font-size:.83rem}
tr.sub td{color:var(--ink-soft)}
.basecol{background:var(--surface-2)}
h2.blk{font-size:1.02rem;font-weight:700;margin-top:6px}

/* ===== photo hero ===== */
.hero2{
  position:relative;border-radius:26px;overflow:hidden;min-height:460px;display:flex;align-items:center;
  background-size:cover;background-position:center;box-shadow:var(--shadow-l);isolation:isolate;
}
.hero2::after{content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 0 130px rgba(0,0,0,.16)}
.hero2 .scrim{position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(10,7,28,.90) 0%,rgba(10,7,28,.70) 30%,rgba(10,7,28,.26) 62%,rgba(10,7,28,.10) 100%)}
.aurora{position:absolute;inset:-25%;pointer-events:none;filter:blur(80px);opacity:.26}
.aurora i{position:absolute;display:block;border-radius:50%;mix-blend-mode:screen}
.aurora i:nth-child(1){width:46%;height:60%;left:6%;top:8%;background:#6C4CF1;animation:drift1 17s ease-in-out infinite alternate}
.aurora i:nth-child(2){width:38%;height:52%;left:52%;top:24%;background:#0FBF95;opacity:.55;animation:drift2 21s ease-in-out infinite alternate}
.aurora i:nth-child(3){width:34%;height:46%;left:30%;top:46%;background:#C4B2FF;opacity:.5;animation:drift3 25s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate3d(9%,-7%,0) scale(1.18)}}
@keyframes drift2{to{transform:translate3d(-11%,9%,0) scale(1.22)}}
@keyframes drift3{to{transform:translate3d(7%,11%,0) scale(1.12)}}
.hero2 .glow{position:absolute;width:420px;height:420px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(160,130,255,.28),transparent 68%);
  transform:translate(-50%,-50%);opacity:0;transition:opacity .4s ease}
.hero2:hover .glow{opacity:1}
.hero2 h1 .hl{background:linear-gradient(100deg,#fff 10%,#C9B8FF 40%,#5FE6C0 70%,#fff 95%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shimmer 7s linear infinite}
@keyframes shimmer{to{background-position:220% 0}}
:root[dir="rtl"] .hero2 .scrim{
  background:linear-gradient(260deg,rgba(12,8,30,.90) 0%,rgba(12,8,30,.72) 30%,rgba(12,8,30,.28) 62%,rgba(12,8,30,.10) 100%)}
.hero2 .inner{position:relative;padding:54px 48px;max-width:620px;color:#F6F2FF}
.heroviz{position:absolute;inset-inline-end:44px;top:50%;transform:translateY(-50%);
  width:310px;pointer-events:none;z-index:2;display:block}
@media(max-width:1120px){.heroviz{display:none}}
.vcard{position:relative;border-radius:18px;padding:18px 18px 16px;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.22);
  animation:float1 9s ease-in-out infinite alternate,mlUp .8s cubic-bezier(.22,.9,.3,1) both}
.vcard+.vcard{margin-top:14px;animation:float2 11s ease-in-out infinite alternate,mlUp .8s .18s cubic-bezier(.22,.9,.3,1) both}
@keyframes float1{to{transform:translate3d(0,-12px,0)}}
@keyframes float2{to{transform:translate3d(0,10px,0)}}
.vcard .vh{display:flex;align-items:center;justify-content:space-between;
  font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#C9BCF2;font-weight:700}
.vcard .vh b{display:flex;width:7px;height:7px;border-radius:50%;background:#5FE6C0;
  box-shadow:0 0 0 0 rgba(95,230,192,.7);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(95,230,192,0)}100%{box-shadow:0 0 0 0 rgba(95,230,192,0)}}
.vcard .vbig{margin-top:8px;font-family:Manrope,sans-serif;font-weight:800;font-size:1.85rem;color:#fff;
  letter-spacing:-.02em}
.vcard .vsub{font-size:.76rem;color:#BFB2E6;margin-top:2px}
.vbars{display:flex;align-items:flex-end;gap:7px;height:62px;margin-top:14px}
.vbars i{flex:1;display:block;border-radius:5px 5px 2px 2px;transform-origin:bottom;
  background:linear-gradient(180deg,#A382FF,#6C4CF1);animation:grow 1s cubic-bezier(.22,.9,.3,1) both}
.vbars i:last-child{background:linear-gradient(180deg,#7BF0D2,#0FBF95)}
@keyframes grow{from{transform:scaleY(.04);opacity:0}to{transform:scaleY(1);opacity:1}}
.vrow{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:7px 0;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:#D6CCF2}
.vrow:first-of-type{border-top:0}
.vrow span:last-child{font-weight:700;color:#fff;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.vrow .up{color:#7BF0D2}
@media(prefers-reduced-motion:reduce){.vcard,.vcard+.vcard,.vbars i,.vcard .vh b{animation:none}}
@media(max-width:700px){.hero2 .inner{padding:36px 24px}.hero2{min-height:auto}}
.hero2 h1{font-size:clamp(2.3rem,5.4vw,3.7rem);line-height:1.03;color:#fff;
  font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-weight:800}
.hero2 p{margin-top:16px;max-width:46ch;color:#DFD6EE;font-size:1.06rem}
.kicker.light{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#EBDFFF}
.chips.light .chip{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22);color:#EFE7FF}
.ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
a.btn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:.9rem;font-weight:700;
  padding:13px 22px;border-radius:12px;cursor:pointer;border:1px solid transparent;
  background:linear-gradient(135deg,#7C5CFF,#5B34E8);color:#fff;text-decoration:none;
  box-shadow:0 10px 26px -14px rgba(108,76,241,.45);transition:transform .16s ease,box-shadow .16s ease}
a.btn:hover{transform:translateY(-1px);box-shadow:0 16px 32px -14px rgba(108,76,241,.55)}
a.btn.light{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
a.btn.light:hover{background:rgba(255,255,255,.12)}
a.btn svg{width:15px;height:15px}
:root[dir="rtl"] a.btn svg,:root[dir="rtl"] .seccard .go svg{transform:scaleX(-1)}

/* ===== section card photo ===== */
.seccard .art{background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.22,.9,.3,1)}
a.seccard:hover .art{transform:scale(1.05)}
a.seccard{border-radius:22px}
.seccard .artico{border-radius:18px;transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
a.seccard:hover .artico{transform:translateY(-4px) rotate(-4deg)}
.seccard .artscrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,8,26,0) 55%,rgba(10,8,26,.34) 100%)}
.seccard .artico{display:none}
.seccard .hd{display:flex;align-items:center;gap:11px}
.seccard .tico{width:38px;height:38px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-ink);
  transition:transform .3s cubic-bezier(.3,1.4,.5,1),background .25s ease}
.seccard .tico svg{width:20px;height:20px}
a.seccard:hover .tico{transform:translateY(-2px) rotate(-5deg)}

/* ===== scenario slots ===== */
.slots{display:flex;flex-direction:column;gap:10px;margin-top:6px;padding-top:16px;border-top:1px solid var(--rule)}
.slots h3{font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}
.slotrow{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
@media(max-width:560px){.slotrow{grid-template-columns:1fr}}
.slot{border:1px solid var(--rule);border-radius:11px;background:var(--surface-2);padding:11px 12px;
  display:flex;flex-direction:column;gap:6px;min-height:104px}
.slot.filled{background:var(--surface);border-color:var(--brand-line)}
.slot .sl{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-ink)}
.slot .sv{font-size:.83rem;color:var(--ink-soft);flex:1;line-height:1.4}
.slot .sv b{display:block;font-family:"IBM Plex Mono",monospace;font-size:.95rem;color:var(--ink);font-weight:500}
.slot .sb{display:flex;gap:6px;flex-wrap:wrap}
.slot button{font-family:inherit;font-size:.75rem;font-weight:700;padding:5px 9px;border-radius:7px;cursor:pointer;
  border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-soft)}
.slot button:hover{border-color:var(--brand);color:var(--brand-ink)}
.slot button.pri{background:var(--brand);border-color:var(--brand);color:#fff}

/* ===== landing ===== */
.shell.wide{grid-template-columns:1fr}
.shell.wide .side{display:none}
.landing{display:flex;flex-direction:column;gap:40px}
.lead{
  display:grid;grid-template-columns:1.02fr .98fr;gap:36px;align-items:center;
  background:linear-gradient(155deg,var(--surface) 0%,var(--surface) 58%,var(--surface-2) 100%);
  border:1px solid var(--rule);border-radius:22px;padding:52px 46px;box-shadow:var(--shadow-m);
  position:relative;overflow:hidden;
}
.lead::after{content:"";position:absolute;inset-inline:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--brand) 0%,var(--gold) 55%,transparent 100%)}
.lead::before{
  content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);
  background-size:44px 44px;mask-image:radial-gradient(circle at 78% 42%,#000 0%,transparent 62%);
  -webkit-mask-image:radial-gradient(circle at 78% 42%,#000 0%,transparent 62%);
}
.lead>*{position:relative}
@media(max-width:900px){.lead{grid-template-columns:1fr;padding:32px 24px;gap:26px}}
.kicker{
  display:inline-flex;align-items:center;gap:8px;font-size:.71rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--brand-ink);background:var(--surface-2);
  border:1px solid var(--rule-strong);padding:6px 14px;border-radius:20px;margin-bottom:20px;
}
.kicker i{width:5px;height:5px;border-radius:50%;background:var(--gold);display:block}
.lead h1{font-size:clamp(2.4rem,5.6vw,3.9rem);line-height:1.02}
.lead h1 em{font-style:normal;color:var(--brand)}
.lead p.sub{color:var(--ink-soft);margin-top:16px;max-width:46ch;font-size:1.06rem}
.leadart{display:flex;justify-content:center}
.leadart svg{width:100%;max-width:420px;height:auto}

.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:1px;background:var(--rule);
  border:1px solid var(--rule);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-s)}
.strip div{background:var(--surface);padding:20px 21px;display:flex;flex-direction:column;gap:4px;position:relative}
.strip div::before{content:"";position:absolute;inset-inline-start:21px;top:0;width:24px;height:2px;background:var(--gold)}
.strip .n{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:1.85rem;font-weight:800;
  letter-spacing:-.045em;background:linear-gradient(120deg,var(--brand),var(--gold));
  -webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.strip .l{font-size:.81rem;color:var(--ink-faint);line-height:1.35}

.secgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(292px,1fr));gap:20px}
a.seccard{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--surface);
  border:1px solid var(--rule);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-m);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
a.seccard:hover{transform:translateY(-4px);border-color:var(--brand-line);box-shadow:var(--shadow-l)}
.seccard .art{
  height:196px;background:linear-gradient(165deg,var(--surface-2) 0%,var(--surface) 100%);
  display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--rule);position:relative;
}
.secgrid .seccard .art,.seccard .art[style]{background-size:cover;background-position:center;background-repeat:no-repeat}
.band[style]{background-size:cover;background-position:center;background-repeat:no-repeat}

.seccard .compareart{overflow:hidden;background:var(--surface-2)}
.seccard .compareart .cardphoto{
  position:absolute;inset:0;width:100%;height:100%;display:block;
  object-fit:cover;object-position:center
}
.seccard .compareart .artscrim,.seccard .compareart .tag{z-index:1}
.seccard .art::after{content:"";position:absolute;inset-inline:0;bottom:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.65}
.seccard .art svg{width:88%;height:auto;max-height:126px}
.seccard .bd{padding:20px 22px 22px;display:flex;flex-direction:column;gap:9px;flex:1}
.seccard h2{font-size:1.24rem;font-weight:700}
.seccard .d{font-size:.9rem;color:var(--ink-soft);flex:1}
.seccard .chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.seccard .chips span{font-size:.73rem;font-weight:600;padding:4px 9px;border-radius:14px;background:var(--surface-2);color:var(--ink-soft)}
.seccard .go{display:flex;align-items:center;gap:7px;font-size:.86rem;font-weight:700;color:var(--brand-ink);margin-top:6px}
.seccard .go svg{width:15px;height:15px}
:root[dir="rtl"] .seccard .go svg{transform:scaleX(-1)}

/* ===== section page ===== */
.sechead{
  display:flex;gap:22px;align-items:center;background:var(--surface);border:1px solid var(--rule);
  border-radius:18px;padding:26px 28px;box-shadow:var(--shadow-m);margin-bottom:26px;
}
.sechead .ic{width:110px;flex:none;display:flex;align-items:center;justify-content:center;
  background:var(--surface-2);border:1px solid var(--rule);border-radius:14px;padding:12px}
.sechead .ic svg{width:100%;height:auto}
.sechead h1{font-size:clamp(1.5rem,3.4vw,2.05rem);line-height:1.1}
.sechead p{color:var(--ink-soft);margin-top:8px;max-width:58ch;font-size:.97rem}
@media(max-width:640px){.sechead{flex-direction:column;align-items:flex-start;gap:16px}.sechead .ic{width:84px}}
.subhead{display:flex;align-items:center;gap:11px;margin:26px 0 12px}
.subhead h2{font-size:.79rem;letter-spacing:.13em;text-transform:uppercase;color:var(--brand-ink);font-weight:700;white-space:nowrap}
.subhead .ln{flex:1;height:1px;background:linear-gradient(90deg,var(--gold),var(--rule) 42%,transparent)}
:root[dir="rtl"] .subhead .ln{background:linear-gradient(270deg,var(--gold),var(--rule) 42%,transparent)}

a.ctile{
  display:flex;gap:13px;align-items:flex-start;padding:16px 17px;background:var(--surface);
  border:1px solid var(--rule);border-radius:13px;text-decoration:none;color:inherit;box-shadow:var(--shadow-s);
  transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;
}
a.ctile{border-radius:16px}
a.ctile:hover{transform:translateY(-3px);border-color:var(--brand-line);
  box-shadow:0 18px 36px -22px rgba(108,76,241,.55)}
a.ctile::after{content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;opacity:0;
  background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 8%,transparent),transparent 60%);
  transition:opacity .3s ease}
a.ctile{position:relative}
a.ctile:hover::after{opacity:1}
.ctile .chip{
  width:42px;height:42px;flex:none;border-radius:12px;background:var(--surface-2);
  border:1px solid var(--brand-line);color:var(--brand);
  display:flex;align-items:center;justify-content:center;
}
a.ctile:hover .chip{background:var(--brand);border-color:var(--brand);color:#fff}
.ctile .chip svg{width:21px;height:21px}
.ctile .tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.ctile .tx .t{font-weight:700;font-size:.95rem;letter-spacing:-.012em}
.ctile .tx .d{font-size:.815rem;color:var(--ink-faint);line-height:1.45}

.crumbnav{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--ink-faint);margin-bottom:14px;flex-wrap:wrap}
.crumbnav a{color:var(--ink-soft);text-decoration:none;font-weight:600}
.crumbnav a:hover{color:var(--brand-ink);text-decoration:underline}
.crumbnav span{opacity:.5}

/* calculator head icon */
.chead{display:flex;gap:16px;align-items:flex-start}
.chead .hic{width:48px;height:48px;flex:none;border-radius:13px;background:var(--surface-2);
  border:1px solid var(--brand-line);color:var(--brand);display:flex;align-items:center;justify-content:center}
.chead .hic svg{width:24px;height:24px}
.chead .ht{min-width:0}
.side a.navsolo,.navsolo{display:flex;align-items:center;gap:9px;padding:11px 12px;margin-bottom:2px;border-radius:11px;
  font-size:.92rem;font-weight:700;color:var(--ink);text-decoration:none;
  border:1px solid transparent;transition:background .16s ease,border-color .16s ease,color .16s ease}
.navsolo:hover{background:var(--surface-2)}
.navsolo.on{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink)}
.navsolo .si{width:24px;height:24px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--brand-ink)}
.navsolo .si svg{width:16px;height:16px}

/* ===== three-year plan ===== */
.bizgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;padding:20px 22px}
.biztile{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:start;cursor:pointer;
  padding:16px;border-radius:15px;border:1px solid var(--rule);background:var(--surface);font-family:inherit;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.biztile:hover{transform:translateY(-3px);border-color:var(--brand-line);box-shadow:var(--shadow-m)}
.biztile .bp{position:relative;width:100%;height:108px;border-radius:14px;overflow:hidden;
  background-size:cover;background-position:center;border:1px solid var(--rule);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.biztile .bp::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,26,0) 20%,rgba(10,8,26,.18) 100%)}
.biztile .bi{position:absolute;inset-inline-start:12px;inset-block-end:12px;z-index:1;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.92);border:1px solid rgba(223,213,254,.95);color:var(--brand-ink);box-shadow:0 10px 24px -16px rgba(20,22,45,.45)}
.biztile .bi svg{width:21px;height:21px}
.biztile .bn{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-weight:700;font-size:1rem;color:var(--ink)}
.biztile .bd{font-size:.76rem;color:var(--ink-faint);line-height:1.4}
.psec{padding:18px 22px;border-top:1px solid var(--rule)}
.psec h2{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;
  display:flex;align-items:center;gap:8px;margin-bottom:4px}
.psec h2 .opt{font-size:.62rem;letter-spacing:.08em;padding:2px 7px;border-radius:9px;
  background:var(--surface-2);color:var(--ink-faint);text-transform:none}
.pper{font-size:.78rem;font-weight:600;color:var(--brand-ink);margin:-2px 0 9px;letter-spacing:.01em}
.pnote{font-size:.82rem;color:var(--ink-soft);margin:6px 0 12px;max-width:70ch}
.revextra{margin-top:16px;padding-top:15px;border-top:1px dashed var(--rule-strong)}
.revextra h3{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:.86rem;font-weight:800;color:var(--ink);margin:0}
.revextra .pnote{margin:4px 0 8px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.pin{position:relative;display:flex;align-items:center}
.pin input{width:100%}
.pin .u{position:absolute;inset-inline-end:11px;font-size:.75rem;color:var(--ink-faint);pointer-events:none;font-weight:600}
.pin input[type=number]{padding-inline-end:46px}
.tin{width:100%;min-width:78px;font-family:inherit;font-size:.86rem;padding:7px 9px;border-radius:8px;
  border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);font-variant-numeric:tabular-nums}
.tin.w{max-width:96px}
.tin:focus,.pin input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}
.exrow{display:flex;gap:8px;margin-top:9px;align-items:center}
.exrow input[type=text]{flex:1.6;min-width:0}
.exrow input[type=number]{flex:1;min-width:0}
.exrow input{font-family:inherit;font-size:.86rem;padding:8px 10px;border-radius:9px;
  border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink)}
.exrow button{width:34px;height:34px;flex:none;border-radius:9px;cursor:pointer;font-size:1rem;
  border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-faint)}
.exrow button:hover{border-color:var(--bad);color:var(--bad)}
.addln{margin-top:11px;font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;padding:7px 13px;
  border-radius:9px;border:1px dashed var(--brand-line);background:transparent;color:var(--brand-ink)}
.addln:hover{border-style:solid;background:var(--brand-soft)}
.segs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--surface-2);
  border:1px solid var(--rule);margin-bottom:12px}
.seg{font-family:inherit;font-size:.83rem;font-weight:600;padding:7px 14px;border-radius:9px;cursor:pointer;
  border:1px solid transparent;background:transparent;color:var(--ink-soft)}
.seg.on{background:var(--surface);border-color:var(--rule-strong);color:var(--brand-ink);box-shadow:var(--shadow-s)}
.trendbox{padding:13px 15px;border-radius:12px;background:var(--brand-soft);border:1px solid var(--brand-line);
  font-size:.9rem;color:var(--ink)}
.trendbox strong{font-family:Manrope,sans-serif;font-weight:800;font-size:1.35rem;color:var(--brand-ink)}
.trendbox .hint{display:block;margin-top:5px;font-size:.79rem;color:var(--ink-soft)}
.ichips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ichip{display:inline-flex;align-items:baseline;gap:6px;font-size:.78rem;font-weight:600;color:var(--ink-soft);
  padding:6px 11px;border-radius:11px;background:var(--surface-2);border:1px solid var(--rule)}
.ichip b{font-family:Manrope,sans-serif;font-weight:800;font-size:.98rem;color:var(--ink);
  font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.ichip.good b{color:var(--good)} .ichip.bad b{color:var(--bad)}
.pwarn{margin-top:10px;font-size:.84rem;line-height:1.5;color:var(--ink-soft);padding:11px 13px;border-radius:9px;
  background:var(--surface-2);border-inline-start:3px solid var(--brand-2)}
.pwarn.bad{background:var(--bad-soft);border-inline-start-color:var(--bad);color:var(--ink)}
.ph2{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;margin-top:26px}
.pico{width:24px;height:24px;flex:none;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-ink);margin-inline-end:3px}
.pico svg{width:14px;height:14px}
.lntot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:9px;
  border-top:1px dashed var(--rule-strong);font-size:.8rem;color:var(--ink-soft)}
.lntot b{font-family:Manrope,sans-serif;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;
  direction:ltr;unicode-bidi:isolate}
.loanrow{display:grid;grid-template-columns:1.5fr 1.2fr .9fr .9fr 36px;gap:8px;margin-top:9px;align-items:center}
@media(max-width:760px){.loanrow{grid-template-columns:1fr 1fr;gap:7px}.loanrow button{grid-column:span 2}}
.loanrow input{width:100%;font-family:inherit;font-size:.86rem;padding:8px 10px;border-radius:9px;
  border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink)}
.loanrow .pin input{padding-inline-end:42px}
.loanrow button{width:34px;height:34px;border-radius:9px;cursor:pointer;font-size:1rem;
  border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-faint)}
.loanrow button:hover{border-color:var(--bad);color:var(--bad)}
/* what-if */
.whatif{border:1px solid var(--brand-line);background:var(--brand-soft);border-radius:15px;padding:15px 17px;margin-bottom:18px}
.whatif .wh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.whatif .wh b{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-weight:800;font-size:1rem;color:var(--ink)}
.whatif .wh span{font-size:.83rem;color:var(--ink-soft);flex:1}
.whatif .rst{font-family:inherit;font-size:.76rem;font-weight:700;padding:5px 11px;border-radius:8px;cursor:pointer;
  border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-soft)}
.whatif .rst:hover{border-color:var(--brand);color:var(--brand-ink)}
.wgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 20px}
.wrow{display:grid;grid-template-columns:minmax(96px,1.1fr) 1.4fr auto;align-items:center;gap:9px}
.wrow .wl{font-size:.83rem;font-weight:600;color:var(--ink-soft)}
.wrow .wv{font-size:.83rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink-faint);
  min-width:44px;text-align:end;direction:ltr;unicode-bidi:isolate}
.wrow .wv.up{color:var(--good)} .wrow .wv.dn{color:var(--bad)}
.wrow input[type=range]{width:100%;accent-color:var(--brand);cursor:pointer}
/* chart */
.pichic{position:relative;background-size:cover;background-position:center;overflow:visible}
.pichic.has svg:not(.picbtn svg){display:none}
.picbtn{position:absolute;inset-inline-end:-7px;bottom:-7px;width:24px;height:24px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  background:var(--brand);color:#fff;border:2px solid var(--surface);box-shadow:var(--shadow-s)}
.picbtn svg{width:12px;height:12px}
.picbtn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.picx{position:absolute;inset-inline-start:-7px;top:-7px;width:22px;height:22px;border-radius:50%;cursor:pointer;
  background:var(--surface);color:var(--ink-faint);border:1px solid var(--rule-strong);font-size:.85rem;
  display:flex;align-items:center;justify-content:center;line-height:1;padding:0}
.picx:hover{color:var(--bad);border-color:var(--bad)}
.scen{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.scb{font-family:inherit;font-size:.79rem;font-weight:700;padding:7px 13px;border-radius:999px;cursor:pointer;
  border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-soft);
  transition:border-color .16s ease,color .16s ease,background .16s ease}
.scb:hover{border-color:var(--brand);color:var(--brand-ink)}
.scb.on{background:var(--brand);border-color:var(--brand);color:#fff}
.scb.x{border-style:dashed}
.scb.x.on{background:var(--clay);border-color:var(--clay)}
.whatif .wh b{display:block;width:100%}
.lntot .yr{font-size:.76rem;color:var(--ink-faint);margin-inline-start:10px;
  font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-top:10px}
.mcell{padding:11px 13px;border-radius:12px;border:1px solid var(--rule);background:var(--surface);
  display:flex;flex-direction:column;gap:3px}
.mcell.key{background:var(--surface-2);border-color:var(--rule-strong)}
.mcell .l{font-size:.75rem;color:var(--ink-soft);font-weight:600}
.mcell .v{font-family:Manrope,sans-serif;font-weight:800;font-size:1.08rem;color:var(--ink);
  font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.mcell.key .v{color:var(--brand-ink)}
.mcell.neg .v{color:var(--ink-soft)}
.fcsvg .gl{stroke:var(--rule);stroke-width:1;stroke-dasharray:3 4}
.fcsvg .ln{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.fcsvg .le{stroke:var(--brand-2)} .fcsvg .li{stroke:#8E74FF} .fcsvg .lp{stroke:var(--gold)}
.fcsvg .dt{stroke:var(--surface);stroke-width:2}
.fcsvg .de{fill:var(--brand-2)} .fcsvg .di{fill:#8E74FF} .fcsvg .dp{fill:var(--gold)}
.fcgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px;margin-top:10px}
.fcp{border:1px solid var(--rule);border-radius:14px;padding:12px 14px 8px;background:var(--surface-2)}
.fcp h3{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);font-weight:800}
.fcsvg .vl{fill:var(--ink-soft);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
.fcsvg .vl.neg{fill:var(--bad)}
.fcsvg .bi{fill:#8E74FF}
.fclg .lg.i::before{background:#8E74FF}
.fcsvg{width:100%;height:auto;display:block;margin-top:10px}
.fcsvg .ax{stroke:var(--rule-strong);stroke-width:1.2}
.fcsvg .lb{fill:var(--ink-faint);font-size:12px;font-weight:600}
.fcsvg .br{fill:var(--brand)} .fcsvg .be{fill:var(--brand-2)} .fcsvg .bn{fill:var(--gold)}
.fclg{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px}
.fclg .lg{display:inline-flex;align-items:center;gap:6px;font-size:.79rem;font-weight:600;color:var(--ink-soft)}
.fclg .lg::before{content:"";width:11px;height:11px;border-radius:3px;display:inline-block}
.fclg .lg.r::before{background:var(--brand)} .fclg .lg.e::before{background:var(--brand-2)}
.fclg .lg.n::before{background:var(--gold)}
@media print{.whatif{display:none!important}}
tr.strong td{font-weight:800;font-family:Manrope,"IBM Plex Sans Arabic",sans-serif}
tr.sub td{font-weight:700;background:var(--surface-2)}
td.num{font-variant-numeric:tabular-nums;text-align:end;direction:ltr;unicode-bidi:isolate}
th.num{text-align:end}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px;margin-top:16px}
.kpi{padding:13px 15px;border-radius:13px;border:1px solid var(--rule);background:var(--surface-2);
  display:flex;flex-direction:column;gap:3px}
.kpi .l{font-size:.75rem;color:var(--ink-soft);font-weight:600}
.kpi .v{font-family:Manrope,sans-serif;font-weight:800;font-size:1.3rem;color:var(--brand-ink);
  font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.kpi .v.bad{color:var(--bad)}
.kpi .s{font-size:.72rem;color:var(--ink-faint)}
.cbars{display:flex;align-items:flex-end;gap:6px;height:150px;margin-top:14px;padding:10px 0;
  border-bottom:1px solid var(--rule-strong)}
.cb{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:5px}
.cb .bar{width:100%;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,var(--brand-2),var(--brand));
  animation:grow .7s cubic-bezier(.22,.9,.3,1) both;transform-origin:bottom}
.cb.neg .bar{background:linear-gradient(180deg,#F2748A,var(--bad))}
.cb.low .bar{background:linear-gradient(180deg,#7BF0D2,var(--gold));box-shadow:0 0 0 2px var(--good-soft)}
.cb.low.neg .bar{background:linear-gradient(180deg,#F2748A,var(--bad));box-shadow:0 0 0 2px var(--bad-soft)}
.cb.low .mo{color:var(--ink);font-weight:800}
.cb .mo{font-size:.68rem;color:var(--ink-faint);font-variant-numeric:tabular-nums}
.btn.sm{padding:7px 13px;font-size:.8rem;margin-inline-start:auto;align-self:flex-start}
.chead{display:flex;align-items:flex-start;gap:13px}
@media(max-width:640px){.cbars{height:110px}.psec{padding:16px 15px}}

/* ===== use-case marquee ===== */
.mq{position:relative;overflow:hidden;padding:6px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq+.mq{margin-top:10px}
.mqt{display:flex;width:max-content;gap:10px;will-change:transform}
.mq.a .mqt{animation:mqL 46s linear infinite}
.mq.b .mqt{animation:mqR 54s linear infinite}
.mqwrap:hover .mqt{animation-play-state:paused}
@keyframes mqL{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes mqR{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
@keyframes mqLr{from{transform:translate3d(0,0,0)}to{transform:translate3d(50%,0,0)}}
@keyframes mqRr{from{transform:translate3d(50%,0,0)}to{transform:translate3d(0,0,0)}}
:root[dir="rtl"] .mq.a .mqt{animation-name:mqLr}
:root[dir="rtl"] .mq.b .mqt{animation-name:mqRr}
.mqi{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;flex:none;text-decoration:none;
  font-size:.88rem;font-weight:600;color:var(--ink-soft);padding:9px 16px 9px 10px;border-radius:999px;
  background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow-s);
  transition:border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
:root[dir="rtl"] .mqi{padding:9px 10px 9px 16px}
.mqi:hover{border-color:var(--brand-line);color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-m)}
.mqi i{width:7px;height:7px;border-radius:50%;flex:none;background:var(--brand-2);margin-inline-start:6px}
.mqi.g i{background:var(--gold)}
.mqi .mi{width:28px;height:28px;flex:none;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:var(--brand-soft);color:var(--brand-ink);border:1px solid var(--brand-line)}
.mqi.brand .mi svg{width:17px;height:17px}
.mqi.brand{font-weight:700;color:var(--ink)}
.mqi .mi svg{width:15px;height:15px}
.mqi.s .mi{background:var(--good-soft);color:var(--good);border-color:color-mix(in srgb,var(--good) 26%,transparent)}
.mqi.g{padding:9px 16px}
.mqi.calc{color:var(--ink)}
.mqi.calc:hover{color:var(--brand-ink)}
.mqlab{font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);
  font-weight:800;margin:16px 0 8px}
.mqlab:first-of-type{margin-top:4px}
.mqhead{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap;margin-bottom:12px}
.mqhead h2{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-weight:800;font-size:1.35rem;letter-spacing:-.02em}
.mqhead p{font-size:.9rem;color:var(--ink-soft)}
@media(prefers-reduced-motion:reduce){.mq .mqt{animation:none}.mq{overflow-x:auto}}

/* ===== five-card home grid ===== */
.secgrid5{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.secgrid5>a:nth-child(-n+3){grid-column:span 2}
.secgrid5>a:nth-child(n+4){grid-column:span 2}
.secgrid5>a:nth-child(n+4) .art{height:158px}
@media(max-width:980px){.secgrid5{grid-template-columns:repeat(2,1fr)}
  .secgrid5>a{grid-column:span 1!important}}
@media(max-width:660px){.secgrid5{grid-template-columns:1fr}}
.seccard .tag{position:absolute;top:12px;inset-inline-start:12px;font-size:.64rem;letter-spacing:.11em;
  text-transform:uppercase;font-weight:800;padding:5px 10px;border-radius:999px;
  background:rgba(255,255,255,.92);color:var(--brand-ink);box-shadow:0 6px 16px -8px rgba(8,6,24,.6)}

/* ===== sidebar subsection accordion ===== */
.side .sub{border-top:1px solid var(--rule)}
.side .sub:first-of-type{border-top:0}
.subbtn{width:100%;display:flex;align-items:center;gap:8px;cursor:pointer;font-family:inherit;
  padding:9px 10px;border:0;background:transparent;text-align:start;border-radius:9px;
  color:var(--ink-soft);transition:background .15s ease,color .15s ease}
.subbtn:hover{background:var(--surface-2);color:var(--ink)}
.subbtn .nm{flex:1;font-size:.73rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;font-style:italic}
.subbtn .ct{font-size:.68rem;font-weight:700;color:var(--ink-faint);background:var(--surface-2);
  border-radius:999px;padding:1px 7px;min-width:20px;text-align:center}
.subbtn .cv{display:flex;color:var(--ink-faint);transition:transform .25s ease}
.subbtn .cv svg{width:13px;height:13px}
.sub.open>.subbtn{color:var(--brand-ink)}
.sub.open>.subbtn .cv{transform:rotate(180deg)}
.subbody{display:none;padding:0 0 7px}
.sub.open>.subbody{display:block}

/* ===== about / contact ===== */
.prose{padding:20px 22px;max-width:74ch}
.prose h2{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-weight:800;font-size:1.05rem;
  margin:22px 0 8px;letter-spacing:-.01em}
.prose h2:first-child{margin-top:0}
.prose p{font-size:.94rem;line-height:1.65;color:var(--ink-soft);margin-bottom:11px}
.prose ul{margin:0 0 12px;padding-inline-start:20px}
.prose li{font-size:.94rem;line-height:1.65;color:var(--ink-soft);margin-bottom:5px}
.prose strong{color:var(--ink);font-weight:700}
.ccards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));gap:13px;padding:0 22px 22px}
.ccard{padding:16px 17px;border-radius:15px;border:1px solid var(--rule);background:var(--surface-2);
  display:flex;flex-direction:column;gap:6px}
.ccard .ci{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-ink);margin-bottom:3px}
.ccard .ci svg{width:19px;height:19px}
.ccard h3{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-weight:700;font-size:.98rem}
.ccard p{font-size:.85rem;color:var(--ink-soft);line-height:1.55}
.ccard a{font-size:.9rem;font-weight:700;color:var(--brand-ink);text-decoration:none;word-break:break-all}
.ccard a:hover{text-decoration:underline}


/* ===== publish photo treatment: external optimized images, icons retained ===== */
.sechead .ic.secphoto{
  width:150px;height:96px;padding:0;position:relative;overflow:hidden;
  background-size:cover;background-position:center;border-color:var(--rule-strong);
}
.secphoto .phshade,.photohead .phshade{
  position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,26,.02),rgba(10,8,26,.26));
}
.secphoto .headico,.photohead .headico{
  position:absolute;inset-inline-start:10px;inset-block-end:10px;
  width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.92);border:1px solid rgba(223,213,254,.95);color:var(--brand-ink);
  box-shadow:0 10px 24px -16px rgba(20,22,45,.55);z-index:1;
}
.secphoto .headico svg,.photohead .headico svg{width:20px;height:20px}
.chead .hic.photohead{
  width:96px;height:64px;padding:0;position:relative;overflow:visible;background-size:cover;background-position:center;
  border-color:var(--rule-strong);
}
.chead .hic.photohead>.phshade{border-radius:12px;overflow:hidden}
.chead .hic.photohead>.headico{inset-inline-start:8px;inset-block-end:8px;width:34px;height:34px;border-radius:10px}
.chead .hic.photohead>.headico svg{width:18px;height:18px}
.pichic.has .headico svg{display:block}
@media(max-width:640px){
  .sechead .ic.secphoto{width:120px;height:80px}
  .chead .hic.photohead{width:82px;height:58px}
}

/* ===== launch responsive pass ===== */
@media(max-width:960px){
  .shell:not(.wide),.shell:not(.wide).collapsed{grid-template-columns:1fr;gap:12px}
  .shell:not(.wide):not(.collapsed) .side{
    display:block!important;position:static;max-height:none
  }
  .shell:not(.wide).collapsed .side{display:none!important}
  .shell:not(.wide).collapsed .listbar{
    display:flex!important;position:static;justify-content:flex-start;margin:0 0 4px
  }
}
@media(max-width:820px){
  .mobilemenu{display:inline-flex}
}
@media(max-width:640px){
  .topin{padding:9px 12px;gap:7px;flex-wrap:nowrap}
  .brand{gap:8px;min-width:0}
  .brand svg{width:34px;height:34px}
  .brand .nm{font-size:1.03rem;white-space:nowrap}
  .brand .tl{display:none!important}
  .tools{gap:5px;flex-wrap:nowrap}
  select.ctl{max-width:72px;padding:6px 7px;font-size:.78rem}
  button.ctl{padding:6px 8px;font-size:.78rem}
  .iconbtn{width:30px;height:30px;border-radius:9px}
  .searchpop,.mobilepop{position:fixed;top:62px;inset-inline:10px;width:auto;max-width:none}
  .mobilepop{inset-inline-start:auto;width:min(250px,calc(100vw - 20px))}
  .shell{padding:14px 12px 72px}
  .chead{padding:16px 14px 13px;gap:11px;flex-wrap:wrap}
  .chead .ht{flex:1;min-width:180px}
  .btn.sm{margin-inline-start:0}
  .bizgrid{padding:14px;grid-template-columns:1fr}
  .pgrid{grid-template-columns:1fr}
  .exrow{display:grid;grid-template-columns:minmax(0,1fr) 112px 34px;gap:6px}
  .exrow input[type=text],.exrow input[type=number]{min-width:0}
  .ccards{padding:0 14px 14px;grid-template-columns:1fr}
  .prose{padding:16px 14px}
  .seccard .bd{padding:17px 16px 18px}
  .hero2 .inner{padding:34px 20px}
  .hero2 h1{font-size:clamp(2rem,11vw,2.8rem)}
}
@media(max-width:400px){
  .brand .nm{font-size:.96rem}
  select.ctl{max-width:64px}
  #lang{max-width:62px;overflow:hidden}
  .exrow{grid-template-columns:minmax(0,1fr) 96px 32px}
}

/* compact calculator search */
#searchtoggle{width:28px;height:28px;border-radius:9px}
#searchtoggle svg{width:14px;height:14px}
.searchpop{width:min(315px,calc(100vw - 24px));padding:8px;border-radius:13px}
.searchfield{gap:6px;padding:6px 8px;border-radius:9px}
.searchfield>svg{width:14px;height:14px}
.searchfield input{font-size:.82rem}
.searchfield button{width:22px;height:22px;font-size:16px}
.searchresults{gap:2px;margin-top:5px;max-height:320px}
.searchlabel{padding:5px 8px 3px;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}
a.searchitem{gap:8px;padding:7px 8px;border-radius:9px}
.searchitem .sicon{width:30px;height:30px;border-radius:9px}
.searchitem .sicon svg{width:15px;height:15px}
.searchitem b{font-size:.8rem}
.searchitem small{font-size:.66rem}
@media(max-width:640px){#searchtoggle{width:30px;height:30px}.searchpop{inset-inline:12px;width:auto}}

/* ===== zero-account / zero-fee promise ===== */
.strip .zero-promise{position:relative}
.strip .zero-promise .mini{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-ink);margin-top:2px}
.strip .zero-promise::after{content:"";position:absolute;inset-inline-end:18px;top:18px;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 12%,transparent)}
.brand .mark{filter:drop-shadow(0 7px 14px rgba(75,53,185,.16))}
@media(max-width:560px){.strip .zero-promise::after{inset-inline-end:14px;top:14px}}

/* SEO / printable brand footer */
.printjoin{display:none}
.seofoot{margin-top:10px;font-size:.76rem;color:#9A8CD0;line-height:1.7}
.seofoot a{color:#CFC4F4;text-decoration:none;margin-inline-end:12px;white-space:nowrap}
.seofoot a:hover{color:#fff;text-decoration:underline}
@media print{
  .printjoin{display:block!important;margin:16px 0 0;padding:10px 0 0;border-top:1px solid #bbb;text-align:center;font-size:10px;color:#555;direction:ltr;unicode-bidi:isolate}
}

/* ===== mobile calculator fit + reliable table scrolling ===== */
.calc-card,.calc-card .cbody,.calc-card .inputs,.calc-card .out,.calc-card fieldset,.calc-card .fld{
  min-width:0;max-width:100%;
}
.tblwrap,.mixwrap{
  width:100%;max-width:100%;min-width:0;
  overflow-x:auto;overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
}
.tblwrap table,.mixwrap table{max-width:none}
.bracketwrap table.mix{min-width:0;table-layout:fixed}
.bracketwrap table.mix th:first-child,.bracketwrap table.mix td:first-child{width:auto}
.bracketwrap table.mix th:nth-child(2),.bracketwrap table.mix td:nth-child(2){width:34%}
.bracketwrap table.mix th:last-child,.bracketwrap table.mix td:last-child{width:42px}

@media(max-width:960px){
  .calc-card .cbody{grid-template-columns:1fr}
  .calc-card .out{border-inline-start:0;border-top:1px solid var(--rule);border-radius:0 0 var(--r) var(--r)}
}
@media(max-width:640px){
  .calc-card{width:100%;overflow:hidden}
  .calc-card .chead{padding:15px 13px 12px;gap:10px;flex-wrap:nowrap}
  .calc-card .chead .hic{width:42px;height:42px;border-radius:11px}
  .calc-card .chead .hic svg{width:21px;height:21px}
  .calc-card .chead .ht{min-width:0;flex:1}
  .calc-card .chead h1{font-size:1.18rem;overflow-wrap:anywhere}
  .calc-card .chead p{font-size:.84rem;line-height:1.45}
  .calc-card .inputs,.calc-card .out{padding:15px 13px}
  .calc-card .cbody.one .out{grid-template-columns:1fr}
  .calc-card .res,.calc-card .res.big{grid-column:1/-1}
  .calc-card .fld input,.calc-card .fld select{font-size:16px;padding:10px 11px}
  .calc-card .fld input[data-unit]{padding-inline-end:44px}
  .calc-card .acts{gap:7px}
  .calc-card .acts .btn{flex:1 1 120px;padding:9px 10px}
  .brow{grid-template-columns:minmax(0,1fr) 92px 30px;gap:5px}
  .brow input{min-width:0;padding:7px 8px;font-size:.82rem}
  .btot{gap:8px;font-size:.72rem}
  .mixwrap{border-radius:9px}
  table.mix{min-width:690px;font-size:.8rem}
  .bracketwrap table.mix{min-width:0;font-size:.8rem}
  .bracketwrap table.mix th,.bracketwrap table.mix td{padding:6px 5px;white-space:normal}
  .bracketwrap table.mix input{min-width:0;padding:7px 6px;font-size:16px}
  .tblwrap table{min-width:620px;font-size:.8rem}
  .tblwrap thead th{position:static}
  .tblwrap th,.tblwrap td{padding:7px 8px}
  .scroll-note{display:block;font-size:.72rem}
}
@media(max-width:380px){
  .shell{padding-inline:8px}
  .calc-card .inputs,.calc-card .out{padding-inline:11px}
  .brow{grid-template-columns:minmax(0,1fr) 82px 28px}
  .brow button{width:28px}
}

/* ===== document-style printing / PDF export ===== */
.printmast{display:none}
@media print{
  @page{size:A4 portrait;margin:13mm 12mm 15mm}
  html,body{width:auto!important;min-width:0!important;background:#fff!important;color:#111!important}
  body{font-size:10.5pt!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .printmast{display:flex!important;align-items:center;gap:10px;margin:0 0 14px;padding:0 0 10px;border-bottom:2px solid #6C4CF1;color:#111}
  .printmast>div:nth-child(2){display:flex;flex-direction:column;line-height:1.15}
  .printmast b{font-family:Arial,sans-serif;font-size:17pt;letter-spacing:-.5px}
  .printmast b span{color:#6C4CF1}
  .printmast small{display:block;font-size:7.5pt;color:#666;margin-top:3px}
  .printmastmeta{margin-inline-start:auto;text-align:end;display:flex;flex-direction:column;max-width:45%}
  .printmastmeta strong{font-size:9pt;color:#312e81}
  .shell{display:block!important;padding:0!important;margin:0!important;max-width:none!important}
  .main{width:100%!important;max-width:none!important}
  .card,.hero,.srow{break-inside:auto!important;page-break-inside:auto!important;overflow:visible!important;box-shadow:none!important}
  .cbody,.cbody.one{display:block!important;overflow:visible!important}
  .inputs,.out,.psec,.fcgrid,.fcp{overflow:visible!important;max-height:none!important}
  .out{background:#fff!important;border:0!important;border-top:1px solid #ddd!important;padding-inline:0!important}
  .inputs{padding-inline:0!important}
  .tblwrap,.mixwrap{overflow:visible!important;max-width:none!important;width:100%!important;border-color:#bbb!important}
  .tblwrap table,table.mix{min-width:0!important;width:100%!important;table-layout:auto!important;font-size:8.5pt!important}
  .tblwrap th,.tblwrap td,table.mix th,table.mix td{white-space:normal!important;overflow-wrap:anywhere!important;padding:4px 5px!important}
  table.mix input{border:0!important;background:transparent!important;padding:0!important;font-size:8.5pt!important;color:#111!important}
  .bracketwrap table.mix{table-layout:fixed!important}
  .res{break-inside:avoid!important;box-shadow:none!important}
  .res.big{break-inside:avoid!important}
  .note{break-inside:avoid!important}
  table{break-inside:auto!important;page-break-inside:auto!important}
  thead{display:table-header-group!important}
  tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .tblacts,.scroll-note{display:none!important}
  .chead{padding-inline:0!important}
  .chead .hic{display:none!important}
  .printjoin{display:block!important;margin-top:18px!important}
}

/* About: user-initiated app install card */
.appdownload{
  margin:22px 0 24px;padding:18px 20px;border:1px solid var(--rule);border-radius:18px;
  display:flex;gap:16px;align-items:flex-start;background:linear-gradient(135deg,var(--panel),color-mix(in srgb,var(--brand) 7%,var(--panel)));
}
.appdownload h2{margin:0 0 6px!important}.appdownload p{margin:0 0 14px!important}
.appdownloadico{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--brand) 12%,var(--panel));color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 20%,var(--rule));}
.appdownloadico svg{width:22px;height:22px}.installappbtn{min-height:40px}
@media(max-width:640px){.appdownload{padding:16px;gap:12px}.appdownloadico{width:40px;height:40px;flex-basis:40px}.installappbtn{width:100%}}

/* ===== guided decisions + all-calculations hub ===== */
.allcalchead{padding:28px 30px;margin-bottom:28px;border:1px solid var(--rule);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-m);position:relative;overflow:hidden}
.allcalchead::after{content:"";position:absolute;inset-inline-end:-70px;inset-block-start:-80px;width:260px;height:260px;border-radius:50%;background:var(--brand-soft);opacity:.7;pointer-events:none}
.allcalchead>*{position:relative;z-index:1}.allcalchead .kicker{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--brand-ink)}
.allcalchead .kicker i{width:8px;height:8px;border-radius:50%;background:var(--brand)}
.allcalchead h1{font-size:clamp(1.8rem,4vw,2.55rem);line-height:1.05;margin-top:10px;max-width:18ch}
.allcalchead p{margin-top:12px;color:var(--ink-soft);max-width:72ch;line-height:1.65}
.guidechips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.guidechips a{padding:8px 12px;border-radius:999px;text-decoration:none;border:1px solid var(--brand-line);background:var(--surface-2);color:var(--brand-ink);font-size:.8rem;font-weight:700}.guidechips a:hover{background:var(--brand-soft);transform:translateY(-1px)}
.calcgroup{margin:30px 0 38px}.calcgrouphead{display:flex;gap:13px;align-items:center;margin-bottom:8px}.calcgrouphead .cgico{width:46px;height:46px;border-radius:13px;background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand);display:flex;align-items:center;justify-content:center}.calcgrouphead .cgico svg{width:23px;height:23px}.calcgrouphead h2{font-size:1.35rem}.calcgrouphead p{font-size:.85rem;color:var(--ink-faint);margin-top:2px}
.calcgroup .subhead h3{font-size:.79rem;letter-spacing:.13em;text-transform:uppercase;color:var(--brand-ink);font-weight:700;white-space:nowrap}.decisiongrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:12px}.decisiontile{position:relative;display:grid;grid-template-columns:44px 1fr 20px;gap:12px;align-items:start;padding:17px;background:var(--surface);border:1px solid var(--rule);border-radius:16px;text-decoration:none;color:inherit;box-shadow:var(--shadow-s);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.decisiontile:hover{transform:translateY(-3px);border-color:var(--brand-line);box-shadow:0 18px 36px -24px rgba(108,76,241,.55)}.decisiontile .chip{width:44px;height:44px;border-radius:12px;margin:0;padding:0;display:flex;align-items:center;justify-content:center}.decisiontile .chip svg{width:21px;height:21px}.decisiontile .tx{display:flex;flex-direction:column;gap:4px}.decisiontile .q{font-weight:800;font-size:.96rem;line-height:1.35}.decisiontile .name{font-size:.74rem;font-weight:700;color:var(--brand-ink)}.decisiontile .d{font-size:.78rem;color:var(--ink-faint);line-height:1.45}.decisiontile .arrow{color:var(--brand);align-self:center}.decisiontile .arrow svg{width:16px;height:16px}:root[dir="rtl"] .decisiontile .arrow svg{transform:scaleX(-1)}

/* ===== guided calculator flow ===== */
.calcguide{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--surface-2)}.gstep{display:flex;gap:10px;padding:13px 16px;align-items:flex-start}.gstep+.gstep{border-inline-start:1px solid var(--rule)}.gstep>b{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;font-size:.72rem;flex:none}.gstep>span{display:flex;flex-direction:column;gap:2px}.gstep strong{font-size:.78rem}.gstep small{font-size:.7rem;line-height:1.4;color:var(--ink-faint)}.stepcap{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-ink);font-weight:800;padding-bottom:2px}.resultcap{margin-bottom:2px}.calcvisual{grid-column:1/-1;border-top:1px solid var(--rule);padding:22px;background:var(--surface);min-width:0}.vizhead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:3px 0 18px}.vizhead .eyebrow,.forecastguide .eyebrow{display:block;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:var(--brand-ink);margin-bottom:4px}.vizhead h3{font-size:1.08rem;line-height:1.25}.vizhint{font-size:.7rem;color:var(--ink-faint)}
.hbars{display:flex;flex-direction:column;gap:12px}.hbarlab{display:flex;justify-content:space-between;gap:14px;font-size:.78rem;margin-bottom:5px}.hbarlab span{color:var(--ink-soft)}.hbarlab b{font-variant-numeric:tabular-nums}.track{height:12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--rule);overflow:hidden}.track span{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--gold));transition:width .35s ease}
.bechart{display:block;width:100%;height:auto;max-height:340px;overflow:visible}.bechart .gridline{stroke:var(--rule);stroke-width:1}.bechart .axis{stroke:var(--rule-strong);stroke-width:1.4}.bechart .revline{stroke:var(--brand);stroke-width:4;fill:none;stroke-linecap:round}.bechart .costline{stroke:var(--gold);stroke-width:4;fill:none;stroke-linecap:round}.bechart .bemarker{stroke:var(--good);stroke-width:2;stroke-dasharray:7 6}.bechart .targetmarker{stroke:var(--bad);stroke-width:1.8;stroke-dasharray:4 6}.bechart .bedot{fill:var(--good);stroke:var(--surface);stroke-width:3}.bechart text{fill:var(--ink-faint);font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:12px}.bechart .belabel{fill:var(--good);font-weight:800}.vizlegend{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:.72rem;color:var(--ink-soft)}.vizlegend span{display:flex;align-items:center;gap:6px}.vizlegend i{width:18px;height:3px;border-radius:3px}.revkey{background:var(--brand)}.costkey{background:var(--gold)}.targetkey{background:var(--bad)}.vizexplain{font-size:.8rem;color:var(--ink-soft);line-height:1.55;margin-top:12px;max-width:75ch}.decisionnote{display:flex;gap:12px;margin-top:18px;padding:14px 15px;border-radius:14px;background:var(--surface-2);border:1px solid var(--rule)}.decisionnote>span{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--brand);background:var(--brand-soft);flex:none}.decisionnote svg{width:18px;height:18px}.decisionnote b{font-size:.8rem}.decisionnote p{font-size:.78rem;color:var(--ink-soft);line-height:1.5;margin-top:3px}

/* ===== guided forecast ===== */
.forecaststart{margin:0 22px 2px;padding:13px 14px;border:1px solid var(--brand-line);border-radius:13px;background:var(--brand-soft);display:flex;gap:10px;align-items:center}.forecaststart b{font-size:.75rem;color:var(--brand-ink);white-space:nowrap}.forecaststart span{font-size:.78rem;color:var(--ink-soft)}.forecastguide{margin:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:18px 22px;background:linear-gradient(135deg,var(--surface-2),var(--surface))}.fgintro h2{font-size:1.12rem}.fgintro p{font-size:.8rem;color:var(--ink-soft);margin-top:4px;max-width:70ch}.fgsteps{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:14px}.fgsteps span{display:flex;align-items:center;gap:7px;padding:8px 9px;border-radius:11px;background:var(--surface);border:1px solid var(--rule);font-size:.72rem;font-weight:700;color:var(--ink-soft)}.fgsteps b{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--brand-soft);color:var(--brand-ink);font-size:.68rem;flex:none}

@media(max-width:820px){.calcguide{grid-template-columns:1fr}.gstep+.gstep{border-inline-start:0;border-top:1px solid var(--rule)}.calcvisual{padding:16px 13px}.vizhead{align-items:flex-start;flex-direction:column;gap:4px}.decisiongrid{grid-template-columns:1fr}.fgsteps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.allcalchead{padding:22px 18px}.allcalchead h1{max-width:none}.decisiontile{grid-template-columns:42px 1fr 16px;padding:14px}.fgsteps{grid-template-columns:repeat(2,1fr)}.forecaststart{margin-inline:13px;align-items:flex-start;flex-direction:column;gap:4px}.bechart{min-width:620px}.calcvisual{overflow-x:auto}.vizlegend{position:sticky;left:0}}

@media print{.calcguide,.decisionnote,.vizhint{display:none!important}.calcvisual{display:block!important;border-top:1px solid #ddd!important;padding:14px 0!important}.bechart{max-height:280px!important}}

/* ===== start-here questionnaire ===== */
.herohelper{margin-top:12px;font-size:.78rem;color:rgba(255,255,255,.78);max-width:52ch}
.guidechips a.guideprimary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 10px 24px -16px color-mix(in srgb,var(--brand) 70%,transparent)}
.guidechips a.guideprimary:hover{background:var(--brand-ink);color:#fff}
.guidecard,.guideresult{max-width:920px;margin:0 auto;background:var(--surface);border:1px solid var(--rule);border-radius:24px;box-shadow:var(--shadow-l);padding:34px;position:relative;overflow:hidden}
.guidecard::after,.guideresult::after{content:"";position:absolute;width:310px;height:310px;border-radius:50%;inset-inline-end:-130px;inset-block-start:-170px;background:var(--brand-soft);opacity:.78;pointer-events:none}
.guidecard>*,.guideresult>*{position:relative;z-index:1}
.guidebar{height:7px;background:var(--surface-2);border:1px solid var(--rule);border-radius:999px;overflow:hidden;margin-bottom:10px}
.guidebar span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-2));border-radius:inherit;transition:width .28s ease}
.guidecount{font-size:.72rem;color:var(--ink-faint);font-weight:700;margin-bottom:22px}
.guidecard .kicker,.guideresult .kicker{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--brand-ink)}
.guidecard .kicker i,.guideresult .kicker i{width:8px;height:8px;border-radius:50%;background:var(--brand)}
.guidecard h1,.guideresult h1{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:clamp(1.65rem,4vw,2.45rem);line-height:1.08;margin-top:10px;max-width:21ch;letter-spacing:-.035em}
:root[dir="rtl"] .guidecard h1,:root[dir="rtl"] .guideresult h1{letter-spacing:0;font-weight:700}
.guidehint,.guideresult>p{margin-top:10px;color:var(--ink-soft);font-size:.92rem;max-width:68ch}
.guideoptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:26px}
.guideoption{font:inherit;text-align:start;display:grid;grid-template-columns:22px 1fr 18px;align-items:center;gap:11px;min-height:66px;padding:14px 15px;border-radius:15px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-s);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.guideoption:hover{transform:translateY(-2px);border-color:var(--brand-line);background:var(--surface-2);box-shadow:var(--shadow-m)}
.guideoption.selected{border-color:var(--brand);background:var(--brand-soft)}
.guideoption .radio{width:20px;height:20px;border:2px solid var(--rule-strong);border-radius:50%;position:relative}
.guideoption:hover .radio,.guideoption.selected .radio{border-color:var(--brand)}
.guideoption.selected .radio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--brand)}
.guideoption>span:nth-child(2){font-size:.88rem;font-weight:700;line-height:1.35}
.guideoption .optarrow{color:var(--brand);opacity:.6;display:flex;align-items:center;justify-content:center}
.guideoption .optarrow svg{width:16px;height:16px}
:root[dir="rtl"] .guideoption .optarrow svg,:root[dir="rtl"] .recarrow svg{transform:scaleX(-1)}
.guidefoot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding-top:18px;border-top:1px solid var(--rule);color:var(--ink-faint);font-size:.72rem}
.guideback{font:inherit;border:0;background:transparent;color:var(--brand-ink);font-weight:800;padding:7px 0;cursor:pointer}
.guideback:disabled{color:var(--ink-faint);cursor:default;opacity:.55}
.guidecomplete{width:48px;height:48px;border-radius:15px;background:var(--good-soft);color:var(--good);display:flex;align-items:center;justify-content:center;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--good) 20%,var(--rule))}
.guidecomplete svg{width:25px;height:25px;stroke-width:2.2}
.guidesignals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0 26px}
.gsignal{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;background:var(--surface-2);border:1px solid var(--rule);border-radius:13px}
.gsignal .dot{width:9px;height:9px;border-radius:50%;margin-top:5px;background:var(--ink-faint);flex:none}
.gsignal.good .dot{background:var(--good)}.gsignal.warn .dot{background:#B37A09}.gsignal.bad .dot{background:var(--bad)}.gsignal.neutral .dot{background:var(--brand)}
.gsignal span:last-child{display:flex;flex-direction:column;gap:1px;min-width:0}.gsignal b{font-size:.73rem}.gsignal small{font-size:.7rem;color:var(--ink-soft);line-height:1.35}
.recgrid{display:flex;flex-direction:column;gap:11px}
.reccard{display:grid;grid-template-columns:34px 46px 1fr 22px;gap:13px;align-items:start;padding:17px 18px;border:1px solid var(--rule);border-radius:17px;background:var(--surface);text-decoration:none;color:inherit;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.reccard:hover{transform:translateY(-2px);border-color:var(--brand-line);box-shadow:var(--shadow-m)}
.reccard.primary{border-color:var(--brand-line);background:linear-gradient(135deg,var(--brand-soft),var(--surface))}
.recnum{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--rule);font-size:.74rem;font-weight:800;color:var(--brand-ink)}
.reccard.primary .recnum{background:var(--brand);border-color:var(--brand);color:#fff}
.recico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--rule);color:var(--brand)}
.recico svg{width:21px;height:21px}
.rectx small{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-ink);font-weight:800;margin-bottom:2px}.rectx h2{font-size:1rem;line-height:1.3}.rectx p{font-size:.78rem;color:var(--ink-soft);line-height:1.5;margin-top:4px;max-width:70ch}.rectx b{display:inline-block;margin-top:8px;font-size:.76rem;color:var(--brand-ink)}
.recarrow{align-self:center;color:var(--brand);display:flex}.recarrow svg{width:18px;height:18px}
.guidewhy{margin-top:18px;padding:14px 15px;border-radius:14px;background:var(--surface-2);border:1px solid var(--rule)}.guidewhy b{font-size:.78rem}.guidewhy p{font-size:.76rem;color:var(--ink-soft);line-height:1.5;margin-top:3px}
.guideactions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:18px}.guideactions .btn{display:inline-flex;align-items:center;gap:7px;text-decoration:none}.guideactions .btn svg{width:15px;height:15px}:root[dir="rtl"] .guideactions .btn svg{transform:scaleX(-1)}
.guideprivacy{margin-top:22px;padding-top:18px;border-top:1px solid var(--rule);display:flex;gap:10px;align-items:flex-start;color:var(--ink-faint)}.guideprivacy>svg{width:20px;height:20px;color:var(--good);flex:none;margin-top:1px}.guideprivacy span{display:flex;flex-direction:column;gap:2px;font-size:.72rem;line-height:1.45}.guideprivacy b{color:var(--ink-soft);font-size:.74rem}
@media(max-width:760px){.guideoptions{grid-template-columns:1fr}.guidesignals{grid-template-columns:1fr}.guidecard,.guideresult{padding:24px 18px;border-radius:19px}.reccard{grid-template-columns:30px 40px 1fr 18px;padding:14px 13px;gap:10px}.recico{width:38px;height:38px}.guidefoot{align-items:flex-start;flex-direction:column-reverse;gap:7px}.guideactions{align-items:stretch}.guideactions .btn{justify-content:center;flex:1 1 100%}}
@media(max-width:1080px){.navlinks a{font-size:.79rem;padding-inline:8px}}

/* ===== comparison center & decision comparisons ===== */
.guidechips a.comparechip{border-color:var(--brand-line);background:var(--brand-soft);color:var(--brand-ink);font-weight:800}
.comparehubhead{padding:30px 30px 24px;background:linear-gradient(135deg,var(--brand-soft),var(--surface));border:1px solid var(--brand-line);border-radius:22px;margin-bottom:18px;box-shadow:var(--shadow-m)}
.comparehubhead .kicker{display:inline-flex;align-items:center;gap:8px;font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--brand-ink)}
.comparehubhead .kicker i{width:8px;height:8px;border-radius:50%;background:var(--brand)}
.comparehubhead h1{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.05;letter-spacing:-.04em;margin-top:8px;max-width:19ch}
:root[dir="rtl"] .comparehubhead h1{letter-spacing:0}
.comparehubhead>p{margin-top:10px;color:var(--ink-soft);font-size:.9rem;line-height:1.6;max-width:75ch}
.comparesteps{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.comparesteps span{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--rule);border-radius:13px;background:var(--surface);font-size:.76rem;font-weight:700;color:var(--ink-soft)}.comparesteps b{width:25px;height:25px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;font-size:.7rem;flex:none}
.comparehubgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.comparetile{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;padding:18px;border:1px solid var(--rule);border-radius:17px;background:var(--surface);color:inherit;text-decoration:none;box-shadow:var(--shadow-s);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.comparetile:hover{transform:translateY(-2px);border-color:var(--brand-line);box-shadow:var(--shadow-m)}.compareico{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--brand-soft);color:var(--brand);border:1px solid var(--brand-line)}.compareico svg{width:22px;height:22px}.comparetext h2{font-size:1rem;line-height:1.3}.comparetext p{font-size:.78rem;color:var(--ink-soft);line-height:1.5;margin-top:4px}.comparetext b{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:.76rem;color:var(--brand-ink)}.comparetext b svg{width:14px;height:14px}:root[dir="rtl"] .comparetext b svg{transform:scaleX(-1)}
.compareprivacy{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:14px 15px;border:1px solid var(--rule);border-radius:14px;background:var(--surface-2);font-size:.75rem;color:var(--ink-soft);line-height:1.45}.compareprivacy>svg{width:21px;height:21px;color:var(--good);flex:none}.compareprivacy span{display:flex;flex-direction:column;gap:2px}.compareprivacy b{color:var(--ink)}
.comparecoach{display:flex;gap:11px;align-items:flex-start;padding:14px 14px;margin:3px 0 12px;border:1px solid var(--brand-line);background:linear-gradient(135deg,var(--brand-soft),var(--surface));border-radius:14px}.comparecoachico{width:36px;height:36px;border-radius:10px;background:var(--surface);border:1px solid var(--brand-line);display:flex;align-items:center;justify-content:center;color:var(--brand);flex:none}.comparecoachico svg{width:19px;height:19px}.comparecoach h3{font-size:.9rem;color:var(--brand-ink)}.comparecoach p{font-size:.75rem;line-height:1.45;color:var(--ink-soft);margin-top:3px;max-width:66ch}
.compareinsight{padding:15px;border:1px solid var(--brand-line);border-radius:15px;background:linear-gradient(135deg,var(--brand-soft),var(--surface))}.compareinsight>div>p,.compareinsight>p{font-size:.78rem;color:var(--ink-soft);line-height:1.5;margin-top:4px}.compareinsighthead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.compareinsighthead>b{font-size:.84rem;color:var(--brand-ink)}.compareinsighthead>span{font-size:.68rem;color:var(--ink-faint);text-align:end;max-width:36ch}.signalgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.signalcard{padding:11px 12px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);display:flex;flex-direction:column;gap:2px}.signalcard small{font-size:.67rem;color:var(--ink-faint)}.signalcard strong{font-size:.84rem;color:var(--ink)}.signalcard span{font-size:.78rem;color:var(--brand-ink);font-weight:800}.comparecaveat{padding-top:11px;margin-top:11px!important;border-top:1px solid var(--rule)}
@media(max-width:760px){.comparehubhead{padding:23px 18px}.comparesteps{grid-template-columns:1fr}.comparehubgrid{grid-template-columns:1fr}.signalgrid{grid-template-columns:1fr}.compareinsighthead{flex-direction:column;gap:4px}.compareinsighthead>span{text-align:start}.comparecoach{margin-inline:0}}

.guidecompareprompt{display:grid;grid-template-columns:42px 1fr 18px;gap:12px;align-items:center;margin:16px 0;padding:14px 15px;border:1px solid var(--brand-line);border-radius:15px;background:linear-gradient(135deg,var(--brand-soft),var(--surface));color:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.guidecompareprompt:hover{transform:translateY(-2px);box-shadow:var(--shadow-m)}.guidecompareprompt>span:first-child{width:40px;height:40px;border-radius:11px;background:var(--surface);border:1px solid var(--brand-line);color:var(--brand);display:flex;align-items:center;justify-content:center}.guidecompareprompt>span:first-child svg{width:20px;height:20px}.guidecompareprompt div b{font-size:.82rem;color:var(--brand-ink)}.guidecompareprompt div p{font-size:.75rem;color:var(--ink-soft);line-height:1.45;margin-top:2px}.guidecompareprompt>svg{width:16px;height:16px;color:var(--brand)}:root[dir="rtl"] .guidecompareprompt>svg{transform:scaleX(-1)}

/* Search-friendly explanatory content: lightweight and native to the app */
.homefaq,.calcseo{max-width:980px;margin:28px auto 8px}
.homefaq{padding:26px;border:1px solid var(--line);border-radius:24px;background:var(--card)}
.homefaq h2,.calcseo h2{margin:8px 0 14px;font-size:clamp(1.25rem,2.4vw,1.8rem)}
.homefaq details,.faqbox details{border-top:1px solid var(--line);padding:14px 0}
.homefaq summary,.faqbox summary{cursor:pointer;font-weight:700}
.homefaq details p,.faqbox details p{margin:8px 0 0;color:var(--muted);line-height:1.7}
.bootseo{max-width:900px;margin:20px auto;padding:24px}
.bootseo h1{margin-top:0}
.bootseo .bootlinks{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.bootseo .bootlinks a{display:inline-flex;padding:8px 11px;border:1px solid var(--line);border-radius:999px;text-decoration:none}


/* ---------- optional business documents ---------- */
.docpromo{margin-top:26px;border:1px solid var(--line);background:linear-gradient(135deg,var(--surface),var(--surface-2));border-radius:22px;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:center;box-shadow:var(--shadow-s)}
.docpromotext h2{font-size:clamp(1.45rem,2.5vw,2rem);margin:8px 0}.docpromotext p{color:var(--ink-soft);max-width:760px;margin:0}.docpromolinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.docpromolinks a{font-size:.82rem;font-weight:700;text-decoration:none;color:var(--brand-ink);background:var(--brand-soft);border:1px solid var(--brand-line);padding:7px 10px;border-radius:999px}.docpromocta{display:flex;flex-direction:column;gap:5px;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:var(--surface);padding:18px;border-radius:17px;position:relative}.docpromocta>span{width:38px;height:38px;color:var(--brand);margin-bottom:4px}.docpromocta small{color:var(--ink-faint);padding-inline-end:24px}.docpromocta>.arr{position:absolute;inset-inline-end:16px;bottom:18px}.docquick{margin-top:14px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px dashed var(--brand-line);background:var(--brand-soft);border-radius:14px}.docquickico{width:32px;height:32px;color:var(--brand)}.docquick small{display:block;color:var(--brand-ink);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.docquick b{display:block;margin:2px 0}.docquick p{margin:0;color:var(--ink-soft);font-size:.82rem}.docshub,.docbuilderhead{max-width:1120px;margin:0 auto}.docshubhead{max-width:820px}.docshubhead h1,.docbuilderhead h1{font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.045em;margin:9px 0}.docshubhead p,.docbuilderhead p{color:var(--ink-soft);font-size:1.02rem;max-width:760px}.docflow{display:flex;align-items:center;gap:10px;margin:24px 0}.docflow span{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line);padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:700}.docflow span b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--surface);font-size:.72rem}.docflow span.extra{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink)}.docflow span.extra b{background:var(--brand);color:#fff}.docflow>i{color:var(--ink-faint);font-style:normal}.docsgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.doctile{display:flex;gap:14px;padding:20px;border:1px solid var(--line);background:var(--surface);border-radius:18px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-s);transition:.18s ease}.doctile:hover{transform:translateY(-2px);border-color:var(--brand-line)}.docico{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:13px;background:var(--brand-soft);color:var(--brand)}.docico svg{width:24px}.doctile small{display:block;color:var(--ink-faint);font-size:.76rem}.doctile h2{font-size:1.05rem;margin:3px 0 6px}.doctile p{font-size:.84rem;color:var(--ink-soft);margin:0 0 12px}.doctile b{font-size:.82rem;color:var(--brand-ink)}.docreports{margin:18px 0;display:flex;gap:13px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}.docreports>span{width:36px;height:36px;flex:0 0 36px;color:var(--brand)}.docreports b{display:block}.docreports p{margin:4px 0 0;color:var(--ink-soft);font-size:.86rem}.docbuilderhead{margin-bottom:18px}.docbuilder{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:20px;align-items:start}.docform{display:flex;flex-direction:column;gap:12px}.docset{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--surface);margin:0}.docset legend{font-weight:800;padding:0 6px}.docfieldgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.docfieldgrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.docfld,.docitem label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:700;color:var(--ink-soft)}.docfld input,.docfld textarea,.docfld select,.docitem input{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:10px 11px;font:inherit}.docfld.full{margin-top:12px}.rememberrow{display:flex;gap:8px;align-items:flex-start;margin-top:11px;font-size:.78rem;color:var(--ink-soft)}.rememberrow input{margin-top:2px}.docitem{display:grid;grid-template-columns:minmax(0,1.7fr) 86px minmax(120px,.8fr) 32px;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}.docitem:first-child{padding-top:0}.docitem .narrow{min-width:0}.itemdel{width:32px;height:38px;border:0;background:transparent;color:var(--ink-faint);font-size:1.35rem;cursor:pointer}.docmoney{margin-top:12px}.docactions{display:flex;flex-wrap:wrap;gap:8px}.doclegal{font-size:.74rem;color:var(--ink-faint);margin:0}.docpreviewwrap{position:sticky;top:84px}.docpreviewlabel{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin:0 0 7px}.docpreview{background:#fff;color:#182033;border:1px solid #e3e6ec;border-radius:16px;padding:24px;box-shadow:0 16px 44px rgba(21,28,48,.10);min-height:540px;font-family:Arial,Tahoma,sans-serif}.dpbrand{display:flex;justify-content:space-between;gap:15px;border-bottom:2px solid #6c4cf1;padding-bottom:12px}.dpbrand b{font-size:1.08rem}.dpbrand span{text-align:end;color:#687386;font-size:.72rem}.dptitle{display:flex;justify-content:space-between;align-items:flex-end;margin:22px 0 14px}.dptitle h2{font-size:1.7rem;margin:0}.dptitle>div{text-align:end;display:flex;flex-direction:column;font-size:.75rem;color:#687386}.dpto{background:#f7f6ff;padding:11px 12px;border-radius:9px;display:flex;flex-direction:column;margin-bottom:15px}.dpto small{color:#777f91}.dpto b{font-size:.9rem}.dpto span{font-size:.72rem;color:#687386}.dptable{font-size:.72rem;width:100%;border-collapse:collapse}.dptable th,.dptable td{padding:7px 5px;border-bottom:1px solid #e9ebef;text-align:start}.dptable th:nth-child(n+2),.dptable td:nth-child(n+2){text-align:end}.dptotals{margin:13px 0 0 auto;max-width:240px}.dptotals span{display:flex;justify-content:space-between;gap:15px;padding:3px 0;font-size:.76rem}.dptotals i{font-style:normal;color:#687386}.dptotals .grand{border-top:2px solid #6c4cf1;margin-top:4px;padding-top:7px;font-size:.92rem}.dpdue{text-align:end;font-size:.7rem;margin-top:10px}.dpnotes{background:#f8fafc;margin-top:18px;padding:9px 10px;font-size:.7rem}.dpnotes p{white-space:pre-wrap;margin:4px 0 0}.dpfooter{border-top:1px solid #e9ebef;margin-top:26px;padding-top:8px;text-align:center;font-size:.64rem;color:#9198a6}.receiptamount{background:#f7f6ff;border:1px solid #e5e1ff;border-radius:11px;text-align:center;padding:22px;margin:20px 0}.receiptamount small{display:block;color:#687386}.receiptamount strong{display:block;font-size:1.75rem;color:#4c35c7;margin-top:4px}.dpreceiptfacts{display:grid;gap:9px;font-size:.75rem}.dpreceiptfacts span{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e9ebef;padding-bottom:7px}.dpreceiptfacts b{color:#687386}.docactions .btn{text-decoration:none}.docform .addsrc{margin-top:10px}
@media(max-width:900px){.docpromo{grid-template-columns:1fr}.docsgrid{grid-template-columns:1fr}.docbuilder{grid-template-columns:1fr}.docpreviewwrap{position:static}.docpreview{min-height:0}.docfieldgrid.three{grid-template-columns:1fr 1fr}.docflow{overflow:auto;padding-bottom:4px}.docflow span{white-space:nowrap}}
@media(max-width:580px){.docpromo{padding:18px}.docquick{grid-template-columns:32px 1fr}.docquick .btn{grid-column:1/-1;width:100%}.docfieldgrid,.docfieldgrid.three{grid-template-columns:1fr}.docitem{grid-template-columns:minmax(0,1fr) 70px}.docitem label:nth-child(3){grid-column:1/2}.docitem .itemdel{grid-column:2;grid-row:2}.docpreview{padding:16px}.dptitle h2{font-size:1.4rem}.docflow>i{display:none}}


/* ================= Forecast shared styles ================= */
.forecastcard{overflow:visible}.fgbuttons{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.fgbuttons button{appearance:none;border:1px solid var(--rule);background:var(--surface);color:var(--ink-faint);border-radius:11px;padding:9px 6px;display:flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer;min-width:0}
.fgbuttons button b{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--brand-ink);font-size:.68rem;flex:none}.fgbuttons button.on{border-color:var(--brand-line);background:var(--brand-soft);color:var(--brand-ink)}.fgbuttons button.on b{background:var(--brand);color:white}
.stepkicker{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:8px}.fstep[hidden]{display:none!important}.subdivider{height:1px;background:var(--rule);margin:25px 0}.forecastoptional{margin-top:22px;border:1px solid var(--rule);border-radius:14px;padding:0 16px}.forecastoptional summary{cursor:pointer;padding:14px 0;font-weight:750;color:var(--ink-soft)}.forecastoptional[open]{padding-bottom:16px}
.forecastnav{position:sticky;bottom:10px;z-index:8;margin:18px 22px 22px;padding:10px 12px;border:1px solid var(--rule);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;box-shadow:var(--shadow-m)}.forecastnav #fprev{justify-self:start}.forecastnav #fnext{justify-self:end}.forecastnav span{font-size:.78rem;color:var(--ink-faint);font-weight:700}.forecastnav button:disabled{opacity:.35;pointer-events:none}
.monthadjust{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:12px}.monthadjust label{display:flex;flex-direction:column;gap:5px;font-size:.72rem;font-weight:700;color:var(--ink-soft)}.monthadjust .pin input{min-width:0;width:100%}.seasonhead{display:flex;justify-content:space-between;gap:16px;align-items:start}.startmonth{min-width:165px;display:flex;flex-direction:column;gap:5px}.startmonth label{font-size:.72rem;font-weight:700;color:var(--ink-faint)}.startmonth input{min-height:40px;padding:8px 10px;border:1px solid var(--rule);border-radius:10px;background:var(--surface);color:var(--ink)}.seasonok{padding:11px 12px;border:1px dashed var(--rule);border-radius:10px;background:var(--surface-2)}
.scheduledrow{display:grid;grid-template-columns:minmax(160px,1.5fr) minmax(120px,.85fr) minmax(135px,.8fr) minmax(150px,1fr) 34px;gap:8px;align-items:center;margin:8px 0}.scheduledrow>input,.scheduledrow select{width:100%;min-width:0;height:42px;border:1px solid var(--rule);border-radius:10px;background:var(--surface);color:var(--ink);padding:8px 10px;font:inherit}.scheduledrow>button{width:34px;height:34px;border:1px solid var(--rule);background:var(--surface-2);color:var(--ink-faint);border-radius:9px;cursor:pointer}.emptypay,.emptyscen{padding:13px;border:1px dashed var(--rule);border-radius:12px;color:var(--ink-faint);font-size:.82rem;background:var(--surface-2)}
.readybox{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid var(--brand-line);border-radius:16px;background:var(--brand-soft)}.readyico{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;flex:none}.readyico svg{width:21px}.readybox h2{margin:0 0 5px}.readybox p{margin:0;color:var(--ink-soft)}
.forecastresultbody{padding:18px 22px}.forecastconclusion{margin:18px 0 22px;padding:18px;border-radius:17px;border:1px solid var(--rule);background:var(--surface-2)}.forecastconclusion.good{border-color:color-mix(in srgb,#15803d 28%,var(--rule));background:color-mix(in srgb,#dcfce7 34%,var(--surface))}.forecastconclusion.warn{border-color:color-mix(in srgb,#d97706 30%,var(--rule));background:color-mix(in srgb,#fef3c7 30%,var(--surface))}.forecastconclusion.bad{border-color:color-mix(in srgb,#dc2626 28%,var(--rule));background:color-mix(in srgb,#fee2e2 28%,var(--surface))}.conclusionhead{display:flex;gap:12px;align-items:flex-start}.conclusionhead>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--rule);flex:none}.conclusionhead svg{width:19px}.conclusionhead small{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink)}.conclusionhead h2{margin:3px 0 0;font-size:1.18rem}.conclusiongrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:14px}.conclusiongrid>div{padding:11px 12px;background:color-mix(in srgb,var(--surface) 78%,transparent);border:1px solid var(--rule);border-radius:11px}.conclusiongrid b{font-size:.78rem}.conclusiongrid p{font-size:.8rem;color:var(--ink-soft);line-height:1.48;margin:4px 0 0}.rulebased{font-size:.69rem;color:var(--ink-faint);margin:11px 2px 0}
.forecastscenarios{margin:18px 0;padding:16px;border:1px solid var(--rule);border-radius:16px;background:var(--surface)}.scenariohead{display:flex;justify-content:space-between;gap:14px;align-items:start}.scenariohead h2{margin:3px 0 4px;font-size:1.08rem}.scenariohead p{margin:0;color:var(--ink-faint);font-size:.8rem;max-width:60ch}.fscencards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.fscencard{padding:11px;border:1px solid var(--rule);border-radius:11px;background:var(--surface-2);display:grid;gap:6px}.fscencard small{color:var(--ink-faint)}.fscencard>div{display:flex;gap:7px}.fscencard button{border:0;background:none;color:var(--brand-ink);font-weight:700;font-size:.73rem;padding:0;cursor:pointer}.fscencompare{margin-top:12px}.fscencompare table{min-width:520px}
.monthlycharts{margin-top:12px}.monthlycharts .fcp{min-width:0}.monthsvg{min-height:210px}.monthlytable{margin-top:12px}.monthlytable table{min-width:720px}.monthlytable .cashneg td:last-child{color:#b91c1c;font-weight:800;background:color-mix(in srgb,#fee2e2 40%,transparent)}.cashwarning{margin-top:15px}.cashhealthy{margin-top:15px;padding:11px 13px;border:1px solid color-mix(in srgb,#16a34a 28%,var(--rule));background:color-mix(in srgb,#dcfce7 28%,var(--surface));border-radius:11px;color:var(--ink-soft);font-size:.82rem}.forecastacts{flex-wrap:wrap}.reportnote{max-width:75ch}.recenttbl table{min-width:650px}
@media(max-width:900px){.fgbuttons{grid-template-columns:repeat(3,minmax(0,1fr))}.monthadjust{grid-template-columns:repeat(4,minmax(0,1fr))}.scheduledrow{grid-template-columns:1fr 1fr}.scheduledrow>button{grid-column:2;justify-self:end}.scenariohead{flex-direction:column}.fscencards{grid-template-columns:1fr 1fr}.conclusiongrid{grid-template-columns:1fr}.monthlycharts{grid-template-columns:1fr!important}}
@media(max-width:600px){.fgbuttons{grid-template-columns:repeat(2,minmax(0,1fr))}.fgbuttons button{justify-content:flex-start}.forecastnav{margin:14px 14px 18px;bottom:6px}.monthadjust{grid-template-columns:repeat(3,minmax(0,1fr))}.seasonhead{flex-direction:column}.startmonth{width:100%}.scheduledrow{grid-template-columns:1fr}.scheduledrow>button{grid-column:1;justify-self:end}.fscencards{grid-template-columns:1fr}.forecastresultbody{padding:14px}.forecastconclusion{padding:14px}.conclusionhead h2{font-size:1rem}}
@media print{.forecastguide,.forecastnav,.whatif,.forecastscenarios,.forecastacts,.reportnote{display:none!important}.forecastresultbody{padding:0!important}.forecastconclusion{break-inside:avoid}.monthlycharts{break-inside:avoid}.monthlytable{overflow:visible!important}.monthlytable table{min-width:0!important;font-size:7.6pt!important}}

.fxfetch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0 2px}.fxfetch .hint{margin:0}.taxsources{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:9px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);font-size:.76rem;color:var(--ink-faint)}.taxsources a{color:var(--brand-ink);font-weight:700;text-decoration:none}.taxsources a:hover{text-decoration:underline}


/* Income-tax bracket currency conversion */
.brfxbox{border:1px solid var(--line);background:var(--surface-2);border-radius:16px;padding:14px;display:grid;gap:12px}
.brfxhead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.brfxhead h3{margin:2px 0 4px;font-size:1.03rem}.brfxhead p{margin:0;color:var(--ink-muted);font-size:.84rem;max-width:650px}.brfxpill{white-space:nowrap;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:700;color:var(--brand-ink)}
.brfxcontrols{display:grid;gap:6px}.brfxcontrols label{font-size:.8rem;font-weight:700}.brfxrow{display:flex;gap:8px;align-items:center}.brfxrow input{min-width:0;flex:1;max-width:240px}
@media(max-width:620px){.brfxhead{display:grid}.brfxpill{justify-self:start}.brfxrow{align-items:stretch;flex-direction:column}.brfxrow input{max-width:none;width:100%}}


/* ===== Income-tax country presets + country coverage ticker ===== */
.pitnotice{display:flex;gap:11px;align-items:flex-start;padding:12px 13px;margin:2px 0 12px;border:1px solid color-mix(in srgb,var(--amber) 34%,var(--rule));background:color-mix(in srgb,var(--amber) 7%,var(--surface));border-radius:12px}
.pitnotice.ready{border-color:color-mix(in srgb,var(--brand) 28%,var(--rule));background:color-mix(in srgb,var(--brand) 6%,var(--surface))}
.pitnoticeico{width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px;border-radius:50%;font-weight:800;background:var(--surface);border:1px solid var(--rule);color:var(--brand-ink)}
.pitnotice b{display:block;font-size:.86rem;color:var(--ink)}
.pitnotice p{margin:3px 0 0;font-size:.78rem;line-height:1.45;color:var(--ink-muted)}
.countrycoverage{margin:34px 0 28px;padding:14px 0 12px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);overflow:hidden}
.countrycoveragehead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 10px;color:var(--ink-muted);font-size:.78rem}
.countrycoveragehead span{font-weight:700;color:var(--ink)}
.countrycoveragehead b{font-size:.72rem;font-weight:650;color:var(--ink-faint)}
.countryticker{position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.countrytrack{display:flex;align-items:center;width:max-content;gap:9px;animation:countrycrawl 105s linear infinite;will-change:transform}
.countryticker:hover .countrytrack,.countryticker:focus-within .countrytrack{animation-play-state:paused}
.tickerclone{display:contents}
.countrytick{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 11px 6px 8px;border:1px solid var(--rule);background:var(--surface);border-radius:999px;white-space:nowrap;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.countryflag{font-size:1.45rem;line-height:1;filter:saturate(.95)}
.countryticktxt{display:flex;align-items:baseline;gap:6px}
.countryticktxt b{font-size:.78rem;font-weight:650;color:var(--ink)}
.countryticktxt small{font-size:.68rem;color:var(--ink-faint);font-weight:700;letter-spacing:.03em}
@keyframes countrycrawl{from{transform:translateX(0)}to{transform:translateX(-50%)}}
:root[dir="rtl"] .countrytrack{animation-name:countrycrawlrtl}
@keyframes countrycrawlrtl{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(max-width:640px){.countrycoverage{margin-top:22px}.countrycoveragehead{padding-inline:2px}.countrytick{min-height:40px;padding:5px 9px 5px 7px}.countryflag{font-size:1.3rem}.countryticktxt b{font-size:.74rem}.countrytrack{animation-duration:118s}}
@media(prefers-reduced-motion:reduce){.countrytrack{animation:none;transform:none}.countryticker{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.tickerclone{display:none}}

/* ================= FORECAST 3.0 ================= */
.v3badge{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;background:rgba(108,76,241,.1);color:#6c4cf1;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px}
.v3entry .chead,.v3forecast .chead{align-items:center}.v3choice{margin-top:22px;padding:22px;border:1px solid rgba(108,76,241,.18);background:linear-gradient(135deg,rgba(108,76,241,.07),rgba(68,218,176,.05));border-radius:18px;display:flex;gap:24px;align-items:center;justify-content:space-between}.v3choice h2{margin:8px 0 6px}.v3choice p{margin:0;color:var(--muted);max-width:720px}.v3choiceacts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;flex:0 0 auto}.v3routerhead{margin:24px 0 14px}.v3routerhead>span{font-size:12px;font-weight:800;color:#6c4cf1;text-transform:uppercase;letter-spacing:.05em}.v3routerhead h2{font-size:24px;margin:5px 0}.v3routerhead p{color:var(--muted)}.v3bizgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.v3goalgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v3goalgrid button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text);font:inherit;font-weight:700;text-align:start;cursor:pointer;box-shadow:0 4px 18px rgba(20,24,44,.035)}.v3goalgrid button:hover{border-color:rgba(108,76,241,.55);transform:translateY(-1px)}.v3goalgrid svg{width:17px;flex:0 0 auto}.v3recommend{margin-top:24px;padding:22px;border-radius:18px;border:1px solid rgba(108,76,241,.22);background:linear-gradient(135deg,rgba(108,76,241,.09),rgba(108,76,241,.025));display:flex;gap:16px;align-items:flex-start}.v3recommend.good{border-color:rgba(30,177,125,.28);background:linear-gradient(135deg,rgba(30,177,125,.09),rgba(30,177,125,.025))}.v3routeicon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#6c4cf1;color:#fff;flex:0 0 auto}.v3recommend.good .v3routeicon{background:#1eb17d}.v3routeicon svg{width:22px}.v3recommend small{color:var(--muted);font-weight:700}.v3recommend h2{margin:3px 0 6px}.v3recommend p{margin:0 0 14px;color:var(--muted)}
.v3histmode{margin-bottom:14px}.v3tablehead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:18px 0 8px}.v3tablehead h3{margin:0 0 3px}.v3tablehead p{margin:0;color:var(--muted);font-size:12px;max-width:700px}.v3count{white-space:nowrap;padding:6px 10px;border-radius:999px;background:var(--soft);font-size:11px;font-weight:800;color:var(--muted)}.v3histtbl table{min-width:760px}.v3histtbl th:last-child,.v3histtbl td:last-child{width:42px}.v3rowx,.v3event>button,.loanrow>button,.lineitem>button{width:34px;height:34px;border:0;border-radius:9px;background:var(--soft);color:var(--muted);font-size:20px;cursor:pointer}.v3rowx:hover,.v3event>button:hover,.loanrow>button:hover,.lineitem>button:hover{background:rgba(209,55,79,.1);color:#d1374f}.v3rowacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.v3readout{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.v3readout span{padding:8px 11px;background:rgba(108,76,241,.07);border:1px solid rgba(108,76,241,.14);border-radius:10px;font-size:12px;font-weight:700}.v3twocol{display:grid;grid-template-columns:1fr 1fr;gap:28px}.v3twocol h3{margin-top:0}.v3months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:12px}.v3months label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:var(--muted)}.v3advanced{margin-top:8px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--soft)}.v3advanced summary{cursor:pointer;font-weight:800}.v3advanced .pgrid{margin-top:12px}.v3event{display:grid;grid-template-columns:minmax(150px,1.2fr) 155px minmax(140px,.8fr) minmax(170px,1fr) 38px;gap:8px;align-items:center;margin:8px 0}.v3event>input,.v3event>select,.v3monthpick>input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);padding:0 10px;font:inherit}.v3monthpick{display:flex;flex-direction:column;gap:7px;margin-top:12px;max-width:420px}.v3monthpick>span{font-size:12px;font-weight:800}.v3monthpick small{color:var(--muted);line-height:1.45}.v3nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;margin-top:12px;border-top:1px solid var(--line)}.v3nav>span{font-size:12px;color:var(--muted);font-weight:800}.v3resulthead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.v3resulthead h2{margin:5px 0 7px}.v3resulthead p{margin:0;color:var(--muted);max-width:760px}.v3confidence{min-width:132px;border-radius:16px;padding:12px 14px;border:1px solid var(--line);background:var(--soft);display:flex;flex-direction:column;gap:2px}.v3confidence small{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase}.v3confidence strong{font-size:25px;line-height:1.1}.v3confidence.good strong{color:#11875e}.v3confidence.warn strong{color:#a56b00}.v3confidence.bad strong{color:#c83248}.v3confidence span{font-size:11px;font-weight:800}.v3kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.v3statement,.v3monthly{margin:20px 0}.v3sthead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px}.v3sthead h3{margin:0;font-size:17px}.v3sthead>span{font-size:11px;font-weight:800;color:var(--muted);background:var(--soft);padding:5px 8px;border-radius:8px}.v3statement table{min-width:610px}.v3statement tr.strong td{font-weight:800}.v3statement tr.sub td{font-weight:700;border-top:1px solid var(--line)}.v3assumptionnote{margin:18px 0;padding:15px 16px;border:1px solid rgba(108,76,241,.18);background:rgba(108,76,241,.055);border-radius:14px}.v3assumptionnote b{display:block;margin-bottom:4px}.v3assumptionnote p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.v3pf small{display:block;margin-top:5px;color:var(--muted);font-weight:500}.v3forecast [hidden]{display:none!important}
@media(max-width:900px){.v3bizgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.v3choice{align-items:flex-start;flex-direction:column}.v3twocol{grid-template-columns:1fr}.v3event{grid-template-columns:1fr 1fr}.v3event>button{grid-column:2}.v3months{grid-template-columns:repeat(4,minmax(0,1fr))}.v3kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.v3resulthead{flex-direction:column}.v3confidence{width:100%;min-width:0}}
@media(max-width:600px){.v3bizgrid,.v3goalgrid{grid-template-columns:1fr}.v3months{grid-template-columns:repeat(3,minmax(0,1fr))}.v3event{grid-template-columns:1fr}.v3event>button{grid-column:auto}.v3kpis{grid-template-columns:1fr}.v3choiceacts{width:100%}.v3choiceacts .btn,.v3choiceacts a.btn{flex:1 1 100%;justify-content:center}.v3nav{position:sticky;bottom:0;background:var(--card);padding:12px 0;z-index:5}.v3tablehead{flex-direction:column}.v3count{align-self:flex-start}}

/* Forecast 3.0 header actions */
.v3headacts{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){.v3headacts{width:100%;justify-content:flex-start}}

/* Production forecast refinements */
.v3loanrow{grid-template-columns:minmax(120px,.8fr) minmax(130px,1.1fr) repeat(3,minmax(100px,.8fr)) minmax(145px,1fr) 36px;align-items:end}.loanstart{display:grid;gap:5px;font-size:11px;font-weight:700;color:var(--muted)}.loanstart input{min-height:42px}.v3modelnote{margin:12px 0}.v3confidence small{letter-spacing:.04em}@media(max-width:900px){.v3loanrow{grid-template-columns:1fr 1fr}.v3loanrow>button{grid-column:2;justify-self:end}.loanstart{grid-column:1/-1}}


/* ================= FORECAST PRODUCT POLISH · v5 ================= */
.v3entry,.v3forecast{border-color:rgba(108,76,241,.12);box-shadow:0 18px 60px rgba(36,27,79,.08)}
.v3entry .chead,.v3forecast .chead{padding:28px 30px 22px;background:linear-gradient(135deg,rgba(108,76,241,.055),rgba(68,218,176,.025));border-bottom:1px solid var(--rule)}
.v3entry .ht h1,.v3forecast .ht h1{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:clamp(1.55rem,3vw,2.3rem);letter-spacing:-.035em;margin:1px 0 6px;line-height:1.12}
:root[dir="rtl"] .v3entry .ht h1,:root[dir="rtl"] .v3forecast .ht h1{letter-spacing:0}
.v3entry .ht p,.v3forecast .ht p{max-width:780px;color:var(--ink-soft);line-height:1.6}
.v3badge{background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-ink);letter-spacing:.08em}
.v3questionnaire{margin:24px 28px 0;padding:26px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;border:1px solid var(--brand-line);border-radius:22px;background:linear-gradient(135deg,var(--brand-soft),var(--surface));box-shadow:0 16px 42px rgba(71,52,148,.07)}
.v3recommended{display:inline-flex;align-items:center;gap:7px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-ink)}
.v3recommended:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand)}
.v3questionnaire h2{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:clamp(1.25rem,2.4vw,1.75rem);letter-spacing:-.025em;margin:6px 0 7px;color:var(--ink)}
.v3questionnaire p{margin:0;color:var(--ink-soft);line-height:1.6;max-width:760px}
.v3qbenefits{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.v3qbenefits span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--rule);font-size:.74rem;font-weight:700;color:var(--ink-soft)}.v3qbenefits svg{width:15px;height:15px;color:var(--brand)}
.v3qcta{min-height:48px;padding:0 18px;white-space:nowrap;gap:10px}.v3qcta svg{width:17px}
.v3or{display:flex;align-items:center;gap:12px;margin:23px 28px 8px;color:var(--ink-faint);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.v3or:before,.v3or:after{content:"";height:1px;flex:1;background:var(--rule)}
.v3directstart{padding:0 6px 24px}.v3routerhead.compact{padding:0 22px;margin:18px 0 6px}.v3routerhead.compact h2{font-size:1.2rem}.v3routerhead.compact p{font-size:.82rem;max-width:720px;line-height:1.55}
.v3routerhead{padding:6px 28px 0}.v3routerhead h2{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;letter-spacing:-.025em}.v3routerhead>span{color:var(--brand-ink)}
.v3goalgrid{padding:0 28px 28px}.v3goalgrid button{min-height:72px;border:1px solid var(--rule);border-radius:16px;background:var(--surface);box-shadow:none;padding:16px 17px;transition:.16s ease}.v3goalgrid button:hover{border-color:var(--brand-line);box-shadow:0 10px 28px rgba(51,39,102,.07);transform:translateY(-1px)}.v3goalgrid button>span{line-height:1.4}.v3goalgrid button svg{color:var(--brand)}
.v3bizgrid{padding:14px 22px 24px}.v3entry .biztile{box-shadow:none}.v3entry .biztile:hover{box-shadow:0 12px 30px rgba(34,27,74,.08)}
.v3recommend{margin:24px 28px 28px}

/* Forecast workspace: reduce spreadsheet feel and use a clear form hierarchy. */
.v3forecast .forecastguide{margin:0;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:var(--surface);padding:20px 26px}
.v3forecast .fgintro{max-width:760px}.v3forecast .fgbuttons{margin-top:14px;gap:8px}.v3forecast .fgbuttons button{border-radius:12px;min-height:44px;border:1px solid var(--rule);background:var(--surface-2);box-shadow:none}.v3forecast .fgbuttons button.on{background:var(--brand);border-color:var(--brand);color:#fff}.v3forecast .fgbuttons button.on b{background:rgba(255,255,255,.18);color:#fff}
.v3forecast .psec{padding:28px 30px 30px;border-top:0;background:var(--surface)}
.v3forecast .stepkicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--brand-ink);margin-bottom:7px}
.v3forecast .psec>h2{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:1.25rem;letter-spacing:-.025em;text-transform:none;color:var(--ink);margin:0 0 5px}
:root[dir="rtl"] .v3forecast .psec>h2{letter-spacing:0}
.v3forecast .pnote{font-size:.84rem;line-height:1.6;max-width:78ch;margin:6px 0 16px}
.v3histmode{margin:8px 0 4px}.v3histmode .seg{padding:8px 14px}.v3histmode .seg.on{border-color:var(--brand-line);background:var(--brand-soft);color:var(--brand-ink)}
.v3tablehead{margin:22px 0 10px}.v3tablehead h3{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:1rem}.v3tablehead p{font-size:.78rem;line-height:1.5}.v3count{background:var(--surface-2);border:1px solid var(--rule)}
.v3periodlist{display:flex;flex-direction:column;gap:8px}.v3periodrow{display:grid;grid-template-columns:minmax(160px,.85fr) repeat(3,minmax(145px,1fr)) 36px;gap:10px;align-items:end;padding:13px 14px;border-radius:14px;background:var(--surface-2);border:1px solid transparent;transition:border-color .15s ease,background .15s ease}.v3periodrow:focus-within{border-color:var(--brand-line);background:var(--surface)}
.v3perioddate,.v3metricfield{display:grid;gap:6px;min-width:0}.v3perioddate>span,.v3metricfield>span,.v3linename>span,.v3linevalue>span,.v3financegrid label>span,.v3fieldlabel{font-size:.69rem;font-weight:800;color:var(--ink-faint);letter-spacing:.02em}.v3perioddate input,.v3yearinput{width:100%;min-height:42px;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 10px;font:inherit}.v3perioddate small{font-size:.66rem;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3amountinput{position:relative;display:flex;align-items:center}.v3amountinput>b{position:absolute;inset-inline-start:10px;z-index:1;font-size:.66rem;font-weight:800;color:var(--ink-faint);pointer-events:none}.v3amountinput input{width:100%;min-height:42px;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 10px 0 48px;font:inherit;font-variant-numeric:tabular-nums}.v3amountinput input:focus,.v3perioddate input:focus,.v3financegrid input:focus,.v3financegrid select:focus,.v3lineitem input:focus,.v3inputwrap input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}
:root[dir="rtl"] .v3amountinput input{padding:0 48px 0 10px}
.v3rowx{align-self:center;border:1px solid transparent;background:transparent}.v3rowx:hover{border-color:rgba(209,55,79,.16)}
.v3rowacts{margin-top:13px}.v3readout span{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink)}

/* Reusable forecast inputs */
.v3forecast .pgrid{gap:14px}.v3pf{display:grid;gap:6px}.v3inputwrap input{min-height:44px;border-radius:11px;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;padding:0 48px 0 11px}.v3inputwrap .u{font-size:.69rem;font-weight:800}.v3pf small{font-size:.7rem;line-height:1.4}
:root[dir="rtl"] .v3inputwrap input{padding:0 11px 0 48px}
.v3lineitem{display:grid!important;grid-template-columns:minmax(180px,1.4fr) minmax(160px,.8fr) 36px!important;gap:10px!important;align-items:end!important;margin:8px 0!important;padding:12px 13px!important;border:1px solid transparent!important;border-radius:13px!important;background:var(--surface-2)!important}.v3lineitem:focus-within{border-color:var(--brand-line)!important;background:var(--surface)!important}.v3linename,.v3linevalue{display:grid;gap:6px;min-width:0}.v3linename input{min-height:42px;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 10px;font:inherit}.v3lineitem>button{align-self:center;background:transparent;border:1px solid transparent}.v3lineitem>button:hover{border-color:rgba(209,55,79,.16)}
.v3advanced{border-radius:16px;background:var(--surface-2);padding:16px 18px}.v3advanced summary{font-size:.84rem}.subdivider{border-top:1px solid var(--rule)!important;margin:24px 0!important}

/* Financing and events as cards, not spreadsheet rows. */
.v3emptycard{display:flex;flex-direction:column;gap:3px;padding:16px;border:1px dashed var(--rule-strong);border-radius:14px;background:var(--surface-2);color:var(--ink-soft);font-size:.8rem}.v3emptycard b{color:var(--ink);font-size:.84rem}
.v3financecard{margin:10px 0 14px;padding:16px;border:1px solid var(--rule);border-radius:16px;background:var(--surface);box-shadow:0 6px 22px rgba(30,26,55,.035)}.v3financehead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:12px;margin-bottom:13px;border-bottom:1px solid var(--rule)}.v3financehead>div{display:flex;flex-direction:column;gap:2px}.v3financehead span{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--ink-faint)}.v3financehead strong{font-size:.92rem}.v3financehead>button{width:32px;height:32px;border:0;border-radius:9px;background:var(--surface-2);color:var(--ink-faint);font-size:18px;cursor:pointer}.v3financehead>button:hover{background:rgba(209,55,79,.09);color:var(--bad)}
.v3financegrid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px}.v3financegrid label{display:grid;gap:6px;min-width:0}.v3financegrid input,.v3financegrid select{width:100%;min-height:42px;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 10px;font:inherit}.v3financegrid label small{font-size:.66rem;color:var(--ink-faint);line-height:1.35}
.v3eventgrid{grid-template-columns:1.2fr .8fr .8fr 1.1fr}
.v3monthpick{padding:14px 0 0;max-width:460px}.v3monthpick>input{border-radius:10px;border-color:var(--rule-strong)}
.v3nav{margin-top:0;padding:16px 30px 20px;border-top:1px solid var(--rule);background:var(--surface);position:sticky;bottom:0;z-index:7;box-shadow:0 -10px 25px rgba(35,29,65,.035)}.v3nav>span{background:var(--surface-2);border:1px solid var(--rule);padding:6px 10px;border-radius:999px}
.v3questionbtn{box-shadow:none}.v3headacts{padding-inline-end:2px}

/* Results keep financial-statement tables, but make them read like a management report. */
.v3resulthead{padding:2px 0 8px}.v3kpis .kpi{border-radius:15px;background:var(--surface-2);border-color:var(--rule);box-shadow:none}.v3statement,.v3monthly{padding:16px 0 0}.v3statement .tblwrap,.v3monthly .tblwrap{border:1px solid var(--rule);border-radius:14px;overflow:auto;background:var(--surface)}.v3statement table,.v3monthly table{margin:0}.v3statement th,.v3monthly th{background:var(--surface-2);font-size:.7rem}.v3statement td,.v3monthly td{font-variant-numeric:tabular-nums}.v3confidence{box-shadow:none;background:var(--surface-2)}

@media(max-width:980px){.v3periodrow{grid-template-columns:1fr 1fr}.v3periodrow .v3rowx{justify-self:end}.v3financegrid{grid-template-columns:1fr 1fr}.v3eventgrid{grid-template-columns:1fr 1fr}.v3questionnaire{grid-template-columns:1fr}.v3qcta{justify-self:start}}
@media(max-width:700px){.v3entry .chead,.v3forecast .chead{padding:22px 18px 18px;align-items:flex-start}.v3questionnaire{margin:16px 16px 0;padding:19px}.v3or{margin-inline:16px}.v3routerhead{padding-inline:18px}.v3goalgrid{padding:0 18px 20px}.v3bizgrid{padding:12px 16px 20px}.v3recommend{margin:18px}.v3forecast .forecastguide{padding:18px}.v3forecast .psec{padding:22px 18px 24px}.v3forecast .fgbuttons{display:flex!important;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.v3forecast .fgbuttons::-webkit-scrollbar{display:none}.v3forecast .fgbuttons button{min-width:112px;flex:0 0 auto}.v3periodrow,.v3financegrid,.v3eventgrid,.v3lineitem{grid-template-columns:1fr!important}.v3periodrow .v3rowx,.v3lineitem>button{justify-self:end}.v3nav{padding:12px 18px 14px}.v3qcta{width:100%;justify-content:center}.v3qbenefits{gap:6px}}
@media(max-width:480px){.v3entry .hic,.v3forecast .hic{width:42px;height:42px}.v3entry .chead,.v3forecast .chead{gap:12px}.v3entry .ht h1,.v3forecast .ht h1{font-size:1.48rem}.v3questionnaire h2{font-size:1.2rem}.v3qbenefits span{width:100%;justify-content:flex-start}.v3forecast .psec>h2{font-size:1.12rem}.v3amountinput input{min-height:44px}.v3periodrow{padding:12px}.v3nav>span{display:none}.v3nav .btn{flex:1;justify-content:center}}

/* Forecast v7 — flexible month range, live charts, integrated scenarios */
.v3monthrange{display:grid;grid-template-columns:minmax(220px,1fr) minmax(145px,.55fr) 22px minmax(145px,.55fr) auto;gap:10px;align-items:end;padding:14px;margin:12px 0 14px;border:1px solid var(--rule);border-radius:15px;background:var(--surface-2)}
.v3rangeintro{display:grid;gap:3px;align-self:center}.v3rangeintro b{font-size:.83rem}.v3rangeintro span{font-size:.7rem;line-height:1.45;color:var(--ink-faint)}
.v3monthrange label{display:grid;gap:5px}.v3monthrange label>span{font-size:.68rem;font-weight:800;color:var(--ink-faint)}.v3monthrange input{width:100%;min-height:42px;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 10px;font:inherit}.v3rangearrow{align-self:center;text-align:center;color:var(--ink-faint);padding-bottom:8px}
.v3scenario{margin:26px 0 28px;padding:20px;border:1px solid var(--brand-line);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--brand-soft) 68%,var(--surface)),var(--surface));box-shadow:var(--shadow-s)}
.v3scenariohead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.v3scenariohead h3{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:1.23rem;margin:5px 0 4px}.v3scenariohead p{color:var(--ink-soft);font-size:.82rem;line-height:1.55;max-width:760px}
.v3horizon{display:flex;gap:4px;border:1px solid var(--rule);border-radius:10px;padding:3px;background:var(--surface);flex:0 0 auto}.v3horizon button{border:0;background:transparent;color:var(--ink-soft);font:inherit;font-size:.72rem;font-weight:800;padding:7px 9px;border-radius:7px;cursor:pointer}.v3horizon button.on{background:var(--ink);color:var(--surface)}
.v3scenpresets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:17px 0 14px}.v3scenpresets button{display:grid;gap:2px;text-align:start;min-height:68px;padding:11px 12px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;transition:.15s ease}.v3scenpresets button:hover{border-color:var(--brand-line);transform:translateY(-1px)}.v3scenpresets button.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.v3scenpresets b{font-size:.78rem}.v3scenpresets small{font-size:.66rem;line-height:1.35;color:var(--ink-faint)}
.v3scencontrols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 18px;padding:14px 15px;border-radius:13px;background:var(--surface);border:1px solid var(--rule)}.v3scenslider{display:grid;gap:7px}.v3scenslider>span{display:flex;justify-content:space-between;gap:8px;align-items:center}.v3scenslider b{font-size:.72rem}.v3scenslider em{font-style:normal;font-size:.7rem;font-weight:800;color:var(--brand-ink);font-variant-numeric:tabular-nums}.v3scenslider input{width:100%;accent-color:var(--brand)}
.v3scensummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:15px 0}.v3scensummary>div{display:grid;gap:2px;padding:12px;border:1px solid var(--rule);border-radius:12px;background:var(--surface)}.v3scensummary small{font-size:.64rem;font-weight:800;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}.v3scensummary strong{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:1.12rem;font-variant-numeric:tabular-nums}.v3scensummary strong.bad{color:var(--bad)}.v3scensummary span{font-size:.65rem;color:var(--ink-faint)}
.v3chartgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.v3chartcard{min-width:0;padding:14px;border:1px solid var(--rule);border-radius:14px;background:var(--surface)}.v3charthead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.v3charthead h4{font-size:.87rem;margin:0}.v3charthead p{font-size:.66rem;color:var(--ink-faint);line-height:1.4;max-width:420px}.v3legend{display:flex;gap:8px;flex-wrap:wrap;font-size:.65rem;font-weight:800;color:var(--ink-soft)}.v3legend span{display:flex;align-items:center;gap:5px}.v3legend span:before{content:"";width:18px;height:3px;border-radius:2px;background:var(--brand)}.v3legend .s2:before{background:var(--good)}.v3legend .cash:before{background:var(--brand)}
.v3linesvg{display:block;width:100%;height:auto;overflow:visible}.v3gridline{stroke:var(--rule);stroke-width:1}.v3zeroline{stroke:var(--ink-faint);stroke-width:1;stroke-dasharray:4 4}.v3chartline{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.v3chartline.s1{stroke:var(--brand)}.v3chartline.s2{stroke:var(--good)}.v3chartdot{stroke:var(--surface);stroke-width:2}.v3chartdot.s1{fill:var(--brand)}.v3chartdot.s2{fill:var(--good)}.v3axislabel,.v3xlabel{fill:var(--ink-faint);font-size:10px;font-family:"IBM Plex Sans Arabic",sans-serif}.v3scenarioCompare{margin-top:15px}.v3comparegrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.v3comparegrid article{display:grid;gap:6px;padding:11px;border:1px solid var(--rule);border-radius:11px;background:var(--surface)}.v3comparegrid article.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.v3comparegrid article>b{font-size:.72rem}.v3comparegrid article>span{display:flex;justify-content:space-between;gap:8px;font-size:.64rem;color:var(--ink-faint)}.v3comparegrid strong{color:var(--ink);font-variant-numeric:tabular-nums}.v3comparegrid strong.bad{color:var(--bad)}
@media(max-width:980px){.v3monthrange{grid-template-columns:1fr 1fr}.v3rangeintro{grid-column:1/-1}.v3rangearrow{display:none}.v3monthrange .btn{grid-column:1/-1;justify-self:start}.v3scenpresets,.v3scensummary,.v3comparegrid{grid-template-columns:repeat(2,minmax(0,1fr))}.v3chartgrid{grid-template-columns:1fr}}
@media(max-width:620px){.v3monthrange{grid-template-columns:1fr}.v3monthrange .btn{grid-column:auto;width:100%;justify-content:center}.v3scenario{padding:15px;margin-inline:-2px}.v3scenariohead{flex-direction:column}.v3horizon{width:100%}.v3horizon button{flex:1}.v3scenpresets,.v3scensummary,.v3comparegrid,.v3scencontrols{grid-template-columns:1fr}.v3chartcard{padding:10px}.v3charthead{flex-direction:column}.v3linesvg{min-width:520px}.v3chartcard{overflow-x:auto}}
@media print{.v3scenario{break-inside:avoid}.v3scencontrols,.v3scenpresets,.v3horizon{display:none!important}.v3chartcard{break-inside:avoid}.v3linesvg{min-width:0!important}}

/* Forecast V8 — recommendation router polish */
.v3recommendmulti{align-items:flex-start}
.v3recbody{min-width:0;flex:1}
.v3reccards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 18px}
.v3reccard{padding:17px;border:1px solid var(--rule);border-radius:16px;background:var(--surface);box-shadow:0 7px 24px rgba(40,31,82,.045)}
.v3reccard h3{font-size:1rem;margin:7px 0 7px;line-height:1.35}
.v3reccard p{font-size:.9rem;line-height:1.55;margin:0 0 14px;color:var(--muted)}
.v3rectag{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;background:rgba(108,76,241,.09);color:var(--brand-ink);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.v3forecastsecondary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;border:1px solid rgba(108,76,241,.16);border-radius:16px;background:linear-gradient(135deg,rgba(108,76,241,.055),rgba(68,218,176,.035))}
.v3forecastsecondary>div{min-width:0}.v3forecastsecondary small{font-weight:800;color:var(--brand-ink)}
.v3forecastsecondary h3{font-size:1rem;margin:3px 0 4px}.v3forecastsecondary p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5;max-width:720px}
.v3forecastsecondary .btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:760px){.v3reccards{grid-template-columns:1fr}.v3forecastsecondary{align-items:stretch;flex-direction:column}.v3forecastsecondary .btn{width:100%;justify-content:center}}

/* ===== V9 forecast questionnaire-first polish ===== */
.v3questionfirst{grid-template-columns:1fr!important;margin-bottom:14px}
.v3goalfirst{padding-top:0}
.v3goalfirst button:first-child{border-color:var(--brand-line);background:linear-gradient(135deg,var(--brand-soft),var(--surface));box-shadow:0 10px 28px rgba(51,39,102,.06)}
.v3readycard{margin-bottom:28px}
.v3nav.islast{justify-content:space-between}
.v3nav.islast #v3stepcount{margin-inline-start:auto}
@media(max-width:700px){.v3questionfirst{margin-bottom:10px}.v3goalfirst{padding-top:0}.v3readycard{margin-bottom:18px}}


/* Forecast v10 — optional opening balances + non-overlapping input add-ons */
/* Never let currency/unit labels sit on top of user-entered numbers. */
.v3amountinput{
  display:grid!important;grid-template-columns:max-content minmax(0,1fr)!important;
  align-items:stretch!important;min-height:44px;border:1px solid var(--rule-strong)!important;
  border-radius:11px!important;background:var(--surface)!important;overflow:hidden!important;
}
.v3amountinput>b{
  position:static!important;inset:auto!important;z-index:auto!important;display:flex!important;
  align-items:center!important;justify-content:center!important;min-width:48px;padding:0 10px!important;
  border-inline-end:1px solid var(--rule)!important;background:var(--surface-2)!important;
  color:var(--ink-faint)!important;font-size:.68rem!important;font-weight:800!important;white-space:nowrap!important;
}
.v3amountinput input,.v3financegrid .v3amountinput input,.v3lineitem .v3amountinput input{
  width:100%!important;min-width:0!important;min-height:42px!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:var(--ink)!important;padding:0 12px!important;font:inherit!important;
  font-variant-numeric:tabular-nums!important;box-shadow:none!important;
}
.v3amountinput:focus-within{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)!important}
.v3amountinput input:focus{outline:0!important}
:root[dir="rtl"] .v3amountinput input{padding:0 12px!important}
:root[dir="rtl"] .v3amountinput>b{border-inline-end:1px solid var(--rule)!important;border-inline-start:0!important}

/* The same treatment for Forecast fields with suffix units such as days, %, years and currency. */
.v3inputwrap{
  position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:stretch!important;min-height:44px;border:1px solid var(--rule-strong)!important;
  border-radius:11px!important;background:var(--surface)!important;overflow:hidden!important;
}
.v3inputwrap input{
  width:100%!important;min-width:0!important;min-height:42px!important;border:0!important;border-radius:0!important;
  background:transparent!important;padding:0 12px!important;outline:0!important;
}
.v3inputwrap .u{
  position:static!important;inset:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;
  min-width:44px;padding:0 10px!important;border-inline-start:1px solid var(--rule)!important;background:var(--surface-2)!important;
  white-space:nowrap!important;pointer-events:none!important;
}
.v3inputwrap:focus-within{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)!important}
:root[dir="rtl"] .v3inputwrap input{padding:0 12px!important}

/* Manual seasonality percentages use a compact, connected suffix as well. */
.v3months .pin{display:grid!important;grid-template-columns:minmax(0,1fr) max-content!important;align-items:stretch!important;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface);overflow:hidden}
.v3months .pin input{border:0!important;padding:0 9px!important;min-width:0!important;outline:0!important}
.v3months .pin .u{position:static!important;inset:auto!important;display:flex;align-items:center;padding:0 8px;border-inline-start:1px solid var(--rule);background:var(--surface-2)}
.v3months .pin:focus-within{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}

/* Opening balance manager — optional lines instead of a fixed spreadsheet-like block. */
.v3openingnote{display:flex;flex-direction:column;gap:4px;margin:14px 0 12px;padding:12px 14px;border-left:3px solid var(--brand);background:var(--brand-soft);border-radius:0 11px 11px 0}
:root[dir="rtl"] .v3openingnote{border-left:0;border-right:3px solid var(--brand);border-radius:11px 0 0 11px}
.v3openingnote b{font-size:.82rem}.v3openingnote span{font-size:.72rem;line-height:1.5;color:var(--ink-soft)}
.v3openingbalances{display:grid;gap:10px}.v3openingempty{margin-bottom:10px}
.v3openingcard{border:1px solid var(--rule);border-radius:14px;background:var(--surface);padding:13px 14px;box-shadow:var(--shadow-s)}
.v3openinghead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.v3openinghead>div{min-width:0}.v3openinghead span{display:block;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:var(--ink-faint)}.v3openinghead strong{display:block;margin-top:2px;font-size:.92rem}.v3openinghead button{width:32px;height:32px;flex:0 0 32px;border:0;border-radius:9px;background:var(--surface-2);color:var(--ink-faint);font-size:20px;cursor:pointer}.v3openinghead button:hover{background:rgba(209,55,79,.1);color:#d1374f}
.v3openingbody{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr);gap:16px;align-items:center}.v3openingbody>label{display:grid;gap:6px}.v3openingbody>label>span{font-size:.69rem;font-weight:800;color:var(--ink-faint)}.v3openingbody>p{margin:0;font-size:.72rem;line-height:1.5;color:var(--ink-soft)}
.v3balanceadd{display:flex;align-items:end;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--rule)}.v3balanceadd label{display:grid;gap:5px;min-width:230px;max-width:420px;flex:1}.v3balanceadd label>span{font-size:.69rem;font-weight:800;color:var(--ink-faint)}.v3balanceadd select{min-height:42px;width:100%;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 10px;font:inherit}.v3alladded{margin-top:10px;font-size:.72rem;color:var(--ink-faint)}

/* Safer spacing for all older calculator unit badges too. */
.fld input[data-unit]{padding-inline-end:68px!important}
.pin input[type=number]{padding-inline-end:58px}
@media(max-width:640px){.v3openingbody{grid-template-columns:1fr;gap:8px}.v3balanceadd{align-items:stretch;flex-direction:column}.v3balanceadd label{min-width:0;max-width:none}.v3balanceadd .addln{width:100%;justify-content:center}}

/* ================= Forecast V11: continuous questionnaire ================= */
.v11entry{overflow:visible}
.v11progress{display:flex;gap:0;margin:22px 28px 4px;border:1px solid var(--rule);border-radius:16px;background:var(--surface);overflow:hidden}
.v11progress span{flex:1;display:flex;align-items:center;gap:9px;padding:12px 14px;color:var(--muted);font-size:.78rem;font-weight:750;border-inline-end:1px solid var(--rule)}
.v11progress span:last-child{border-inline-end:0}.v11progress span.on{color:var(--ink);background:linear-gradient(135deg,var(--brand-soft),transparent)}
.v11progress b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--rule);font-size:.72rem;color:var(--muted)}
.v11progress span.on b{background:var(--brand);color:#fff}
.v11qsection{margin:18px 28px 0;padding:24px;border:1px solid var(--rule);border-radius:20px;background:var(--surface);scroll-margin-top:92px}
.v11qsection:last-child{margin-bottom:28px}.v11qsection.v11reveal{animation:v11reveal .22s ease both}
@keyframes v11reveal{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:none}}
.v11qhead{max-width:830px;margin-bottom:16px}.v11qhead>span{display:inline-flex;font-size:.7rem;line-height:1;font-weight:850;letter-spacing:.075em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:8px}
.v11qhead h2{font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:clamp(1.2rem,2.2vw,1.6rem);letter-spacing:-.025em;margin:0 0 7px;color:var(--ink)}
:root[dir="rtl"] .v11qhead h2{letter-spacing:0}.v11qhead p{margin:0;color:var(--ink-soft);line-height:1.6;font-size:.91rem}
.v11bizlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v11biz{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 24px;gap:12px;align-items:center;min-height:82px;padding:14px;border:1px solid var(--rule);border-radius:15px;background:var(--card);font:inherit;color:var(--text);text-align:start;cursor:pointer;transition:.16s ease}
.v11biz:hover{border-color:var(--brand-line);transform:translateY(-1px);box-shadow:0 8px 24px rgba(40,31,84,.055)}.v11biz.selected{border-color:rgba(108,76,241,.55);background:linear-gradient(135deg,var(--brand-soft),var(--card));box-shadow:0 0 0 1px rgba(108,76,241,.06)}
.v11bizico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--soft);color:var(--brand)}.v11bizico svg{width:23px;height:23px}
.v11bizcopy{min-width:0;display:flex;flex-direction:column;gap:3px}.v11bizcopy strong{font-size:.91rem;line-height:1.25}.v11bizcopy small{font-size:.72rem;color:var(--muted);line-height:1.35}.v11check{display:grid;place-items:center;color:var(--brand);font-weight:900}.v11check svg{width:17px}
.v11goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v11goal{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:86px;padding:15px 16px;border:1px solid var(--rule);border-radius:15px;background:var(--card);font:inherit;color:var(--text);text-align:start;cursor:pointer;transition:.16s ease}.v11goal:hover{border-color:var(--brand-line);transform:translateY(-1px)}.v11goal.primary{background:linear-gradient(135deg,var(--brand-soft),var(--card));border-color:var(--brand-line)}.v11goal.selected{border-color:rgba(108,76,241,.58);box-shadow:0 0 0 1px rgba(108,76,241,.07)}.v11goal>span{display:flex;flex-direction:column;gap:4px}.v11goal strong{font-size:.89rem;line-height:1.28}.v11goal small{font-size:.74rem;color:var(--muted);line-height:1.4}.v11goal i{font-style:normal;color:var(--brand);font-weight:900;flex:0 0 auto}.v11goal i svg{width:17px}
.v11recommendwrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v11recommendcard{padding:18px;border:1px solid var(--brand-line);border-radius:16px;background:linear-gradient(135deg,var(--brand-soft),var(--card))}.v11recommendcard>span{font-size:.67rem;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:var(--brand-ink)}.v11recommendcard h3{margin:6px 0 6px;font-family:Manrope,"IBM Plex Sans Arabic",sans-serif;font-size:1.05rem}.v11recommendcard p{margin:0 0 14px;color:var(--ink-soft);font-size:.82rem;line-height:1.5}.v11forecastchoice{margin-top:12px;padding:17px 18px;border:1px dashed var(--brand-line);border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--soft)}.v11forecastchoice strong{font-size:.9rem}.v11forecastchoice p{margin:4px 0 0;color:var(--muted);font-size:.79rem;line-height:1.45;max-width:700px}.v11forecastchoice .btn{flex:0 0 auto}
.v11historychoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v11historychoices button{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:2px 12px;align-items:center;padding:15px 16px;border:1px solid var(--rule);border-radius:15px;background:var(--card);font:inherit;color:var(--text);text-align:start;cursor:pointer;transition:.16s ease}.v11historychoices button:hover{border-color:var(--brand-line);transform:translateY(-1px)}.v11historychoices strong{font-size:.88rem}.v11historychoices small{font-size:.73rem;color:var(--muted);grid-column:1;line-height:1.35}.v11historychoices svg{grid-column:2;grid-row:1/3;width:17px;color:var(--brand)}
@media(max-width:900px){.v11bizlist{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.v11progress{margin:16px 16px 2px}.v11progress span{padding:10px 8px;font-size:.69rem;justify-content:center}.v11progress span{flex-direction:column;gap:5px;text-align:center}.v11qsection{margin:14px 16px 0;padding:18px}.v11qsection:last-child{margin-bottom:18px}.v11bizlist,.v11goals,.v11recommendwrap,.v11historychoices{grid-template-columns:1fr}.v11forecastchoice{align-items:flex-start;flex-direction:column}.v11forecastchoice .btn{width:100%;justify-content:center}}
@media(max-width:430px){.v11progress span{font-size:.62rem}.v11progress b{width:22px;height:22px}.v11biz{grid-template-columns:38px minmax(0,1fr) 20px;padding:12px}.v11bizico{width:38px;height:38px}.v11goal{padding:13px 14px}}

/* ===== Forecast V12: responsive cards — never clip fields inside the calculator workspace ===== */
.v3forecast,.v3forecast .psec,.v3forecast .card,.v3periodlist,.v3periodrow,
.v3openingbalances,.v3openingcard,.v3openingbody,.v3balanceadd,.v3financegrid,
.v3eventgrid,.v3lineitem,.v3metricfield,.v3perioddate,.v3linename,.v3linevalue{
  min-width:0;max-width:100%;box-sizing:border-box;
}
.v3forecast .psec{overflow-x:clip}
.v3periodrow>* , .v3openingbody>* , .v3financegrid>* , .v3eventgrid>* , .v3lineitem>*{min-width:0}
.v3openingbody>p{max-width:100%;overflow-wrap:anywhere;word-break:normal}
.v3openinghead strong,.v3linename input,.v3perioddate input{min-width:0}

/* The month is already visible in the native month control; avoid repeating it underneath. */
.v3perioddate small{display:none!important}

/* At laptop widths the calculator sidebar leaves a narrower content column.
   Reflow based on that real-world width before the global mobile breakpoint. */
@media (max-width:1180px){
  .v3periodrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important}
  .v3periodrow .v3rowx{grid-column:2;justify-self:end;align-self:center}
  .v3financegrid,.v3eventgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .v3openingbody{grid-template-columns:1fr!important;gap:9px!important;align-items:start!important}
  .v3openingbody>p{padding:2px 1px 0}
  .v3lineitem{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr) 36px!important}
}

@media (max-width:760px){
  .v3periodrow,.v3financegrid,.v3eventgrid,.v3lineitem{grid-template-columns:1fr!important}
  .v3periodrow .v3rowx,.v3lineitem>button{grid-column:1;justify-self:end}
  .v3openingcard{padding:14px!important}
  .v3openingbody{gap:8px!important}
}

/* Compact connected amount control. Currency never competes with the value for space. */
.v3amountinput{width:100%;max-width:100%;grid-template-columns:auto minmax(0,1fr)!important}
.v3amountinput>b{min-width:44px!important;padding-inline:8px!important}
.v3amountinput input{min-width:0!important;text-overflow:ellipsis}
.v3inputwrap{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr) auto!important}
.v3inputwrap .u{min-width:40px!important;padding-inline:8px!important}

/* Opening balance cards read as web cards, not spreadsheet rows. */
.v3openingbody>label>span{font-size:.66rem!important;text-transform:uppercase;letter-spacing:.045em}
.v3openingbody>p{border-inline-start:2px solid var(--brand-line);padding-inline-start:11px;color:var(--ink-soft)!important}
:root[dir="rtl"] .v3openingbody>p{border-inline-start:0;border-inline-end:2px solid var(--brand-line);padding-inline-start:0;padding-inline-end:11px}

/* Give the last column of wide history rows room to breathe at full desktop widths. */
@media (min-width:1181px){
  .v3periodrow{grid-template-columns:minmax(150px,.9fr) repeat(3,minmax(120px,1fr)) 36px!important}
}

/* Forecast V14: V12 layout preserved; small production polish only. */
.v14company{margin:14px 0 16px;max-width:560px}
.v14company label{display:grid;gap:6px}
.v14company label>span,.v14customrow label>span{font-size:.69rem;font-weight:800;color:var(--ink-faint);letter-spacing:.02em}
.v14company input,.v14customrow input,.v14customrow select{width:100%;min-height:42px;box-sizing:border-box;border:1px solid var(--rule-strong);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 11px;font:inherit}
.v14company small{font-size:.68rem;color:var(--ink-faint)}
.v14custombs{margin-top:16px;padding-top:15px;border-top:1px solid var(--rule)}
.v14customhead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}
.v14customhead>div{display:grid;gap:4px;min-width:0}.v14customhead b{font-size:.84rem}.v14customhead span{font-size:.72rem;line-height:1.5;color:var(--ink-soft);max-width:720px}
.v14customrow{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(150px,.85fr) minmax(160px,.8fr) 36px;gap:10px;align-items:end;padding:12px 13px;margin-top:8px;border-radius:13px;background:var(--surface-2);border:1px solid transparent}
.v14customrow:focus-within{border-color:var(--brand-line);background:var(--surface)}
.v14customrow label{display:grid;gap:6px;min-width:0}.v14customrow>.v3rowx{align-self:center;justify-self:center}
.v3perioddate input,.v3amountinput,.v3amountinput input,.v3linename input{box-sizing:border-box}
@media(max-width:900px){.v14customrow{grid-template-columns:1fr 1fr}.v14customrow>.v3rowx{grid-column:2;justify-self:end}}
@media(max-width:640px){.v14customhead{align-items:stretch;flex-direction:column}.v14customhead .addln{width:100%;justify-content:center}.v14customrow{grid-template-columns:1fr}.v14customrow>.v3rowx{grid-column:1;justify-self:end}.v14company{max-width:none}}


/* ===== V16 Forecast micro-polish: history state, loan timing, month visibility ===== */
.v3nohistory{
  margin-top:14px;
  display:grid;
  grid-template-columns:1fr;
  gap:5px;
  padding:15px 16px;
  border:1px solid var(--brand-line);
  border-radius:14px;
  background:var(--brand-soft);
  color:var(--ink-soft);
  max-width:760px;
}
.v3nohistory strong{display:block;color:var(--brand-ink);font-size:.9rem;line-height:1.35}
.v3nohistory span{display:block;font-size:.79rem;line-height:1.55;color:var(--ink-soft)}

.v3loanstatus{
  min-width:0;
  display:grid;
  align-content:center;
  gap:4px;
  min-height:76px;
  padding:11px 12px;
  border:1px solid var(--rule);
  border-radius:11px;
  background:var(--surface-2);
}
.v3loanstatus>span{font-size:.69rem;font-weight:800;color:var(--ink-faint);letter-spacing:.02em}
.v3loanstatus strong{font-size:.82rem;line-height:1.3;color:var(--ink)}
.v3loanstatus small{font-size:.66rem;line-height:1.4;color:var(--ink-faint)}

/* Native month controls can become visually borderless depending on OS/browser theme.
   Give every Forecast month input an explicit application-level surface and border. */
.v3forecast input[type="month"],
.v3monthcontrol{
  width:100%;
  min-height:44px;
  border:1.5px solid var(--rule-strong)!important;
  border-radius:10px!important;
  background-color:var(--surface)!important;
  color:var(--ink)!important;
  padding:0 10px!important;
  font:inherit;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rule-strong) 22%,transparent);
  color-scheme:light;
}
.v3forecast input[type="month"]:hover,.v3monthcontrol:hover{border-color:color-mix(in srgb,var(--brand) 48%,var(--rule-strong))!important}
.v3forecast input[type="month"]:focus,.v3monthcontrol:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)!important}
.v3forecast input[type="month"]::-webkit-calendar-picker-indicator{opacity:.82;cursor:pointer}

/* Make the forecast-start control read as a complete field, not a floating native picker. */
.v3monthpick{
  padding:14px 15px;
  border:1px solid var(--rule);
  border-radius:14px;
  background:var(--surface-2);
}
.v3monthpick>span{color:var(--ink)}
.v3monthpick small{display:block;color:var(--ink-faint)}

:root[data-theme="dark"] .v3forecast input[type="month"],
:root[data-theme="dark"] .v3monthcontrol{color-scheme:dark}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .v3forecast input[type="month"],
  :root:not([data-theme="light"]) .v3monthcontrol{color-scheme:dark}
}
@media(max-width:700px){
  .v3nohistory{max-width:none}
  .v3loanstatus{min-height:0}
}

.v3histmode{display:flex;flex-wrap:wrap;width:max-content;max-width:100%}.v3histmode .seg{flex:0 0 auto}
@media(max-width:520px){.v3histmode{width:100%}.v3histmode .seg{flex:1 1 calc(50% - 4px);text-align:center}}


/* ===== V17 Forecast correctness + interactive visual explorer ===== */
/* The historical-seasonality notice must always read vertically, never as an inline sentence. */
.v3forecast .trendbox,
.v17historystate{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  gap:6px!important;
  padding:15px 17px!important;
  border:1px solid var(--brand-line)!important;
  border-radius:14px!important;
  background:var(--brand-soft)!important;
  max-width:880px;
}
.v3forecast .trendbox>strong,
.v17historystate>strong{
  display:block!important;
  margin:0!important;
  font-family:Manrope,sans-serif;
  font-size:1rem!important;
  line-height:1.3!important;
  color:var(--brand-ink)!important;
}
.v3forecast .trendbox>span,
.v17historystate>span{
  display:block!important;
  margin:0!important;
  font-size:.8rem!important;
  line-height:1.55!important;
  color:var(--ink-soft)!important;
}
.v17historystate.ready{background:color-mix(in srgb,var(--brand-soft) 72%,var(--surface))!important}

/* New financing only: compact, self-contained funding month field. */
.v17loanstart{align-content:start!important}
.v17loanstart small{display:block;margin-top:1px;max-width:36ch}
.v17loanstart .v3monthcontrol{min-height:42px!important}

/* More chart interactivity without a charting library. */
.v3chartdot{cursor:crosshair;transition:r .12s ease,opacity .12s ease;opacity:.9}
.v3chartdot:hover{r:5.5;opacity:1}
.v17explorer{margin:22px 0;padding:18px;border:1px solid var(--rule);border-radius:18px;background:var(--surface-2)}
.v17explorerhead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:13px}
.v17explorerhead h3{margin:6px 0 5px;font-size:1.08rem}.v17explorerhead p{margin:0;color:var(--ink-soft);font-size:.78rem;line-height:1.5;max-width:720px}
.v17horizon{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--rule);border-radius:11px;background:var(--surface);flex:0 0 auto}
.v17horizon button,.v17metrictabs button{border:0;background:transparent;color:var(--ink-soft);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer;border-radius:8px;padding:7px 10px}
.v17horizon button.on,.v17metrictabs button.on{background:var(--brand-soft);color:var(--brand-ink)}
.v17metrictabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.v17metrictabs button{border:1px solid var(--rule);background:var(--surface);padding:8px 11px}
.v17metrictabs button:hover,.v17horizon button:hover{color:var(--brand-ink);border-color:var(--brand-line)}
.v17explorercard{padding:14px;border:1px solid var(--rule);border-radius:15px;background:var(--surface);overflow:auto}
.v17explorercard .v3linesvg{display:block;width:100%;min-width:620px;max-height:310px}
.v17chartfoot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 4px 0;color:var(--ink-faint);font-size:.7rem}
.v17chartfoot b{color:var(--ink);font-variant-numeric:tabular-nums}
@media(max-width:700px){.v17explorer{padding:14px;margin-inline:-2px}.v17explorerhead{flex-direction:column}.v17horizon{width:100%}.v17horizon button{flex:1}.v17metrictabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.v17metrictabs button:last-child{grid-column:1/-1}.v17explorercard{padding:10px}}
/* Third explorer series (e.g. payables) */
.v3chartline.s3{stroke:var(--brand-2)}
.v3chartdot.s3{fill:var(--brand-2)}
.v3legend .s3:before{background:var(--brand-2)}

/* ===== V18 financing row alignment ===== */
@media (min-width: 1000px){
  .v3financegrid{
    grid-template-columns:
      minmax(118px,.78fr)
      minmax(160px,1.18fr)
      minmax(128px,.9fr)
      minmax(118px,.82fr)
      minmax(118px,.82fr)
      minmax(165px,1.08fr) !important;
    align-items:end;
    column-gap:10px;
    row-gap:10px;
  }
  .v3financegrid > label,
  .v3financegrid > .v3loanstatus{
    min-width:0;
    align-self:end;
  }
  .v3financegrid .v17loanstart{
    min-width:0;
    align-self:end;
  }
  .v3financegrid .v17loanstart small,
  .v3financegrid .v3loanstatus small{
    margin-top:3px;
    line-height:1.25;
  }
}


/* V20 - print/PDF quality only. No screen-layout changes. */
@media print{
  @page{size:A4 portrait;margin:13mm 11mm 16mm}
  .printmast{break-after:avoid-page!important}
  .crumbnav,.baseline,.acts,.guidecompareprompt{display:none!important}
  .card>.chead{break-inside:avoid-page!important;margin-bottom:8px!important;border-bottom:1px solid #ddd!important;padding-bottom:10px!important}
  .card>.chead h1{font-size:18pt!important;color:#111!important}
  .card>.chead p{font-size:9pt!important;color:#555!important}
  .comparecoach,.compareinsight{break-inside:avoid-page!important;box-shadow:none!important}
  .tblwrap{break-inside:auto!important}
  .tblwrap table{font-size:8pt!important}
  .tblwrap thead{display:table-header-group!important}
  .tblwrap tr{break-inside:avoid-page!important}
  .basecol{background:#f4f0ff!important}
  .dv{font-size:7pt!important}
  .printjoin{break-before:auto!important}
}
