:root{--bg:#f4f4f8;--sur:#fff;--sur2:#eeeef5;--sur3:#e4e4ef;--brd:rgba(0,0,0,.07);--brds:rgba(0,0,0,.13);--txt:#0f0f1a;--mu:rgba(15,15,26,.5);--di:rgba(15,15,26,.28);--acc:#5b52e8;--red:#e8294a;--grn:#009e7a;--yel:#b87a00;--btn-muted:#414655;--glow:rgba(91,82,232,.07);--grain:.2;--T:background .3s,color .3s,border-color .3s,box-shadow .3s;--r:14px;--rsm:10px;--rxs:7px;--nav:64px;--hdr:56px}
:root:not(.light){--bg:#0a0a0f;--sur:#111118;--sur2:#16161f;--sur3:#1e1e2a;--brd:rgba(255,255,255,.07);--brds:rgba(255,255,255,.13);--txt:#f0f0f6;--mu:rgba(240,240,246,.48);--di:rgba(240,240,246,.26);--acc:#6c63ff;--red:#ff4d6d;--grn:#00d4aa;--yel:#e6a817;--btn-muted:#c5cad7;--glow:rgba(108,99,255,.12);--grain:.5}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{font-family:"Syne",sans-serif;background:var(--bg);color:var(--txt);min-height:100dvh;overflow-x:hidden;transition:var(--T);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
body::before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:0;opacity:var(--grain);transition:opacity .3s}
body::after{content:"";position:fixed;top:-180px;left:50%;transform:translateX(-50%);width:700px;height:360px;background:radial-gradient(ellipse,var(--glow) 0%,transparent 70%);pointer-events:none;z-index:0;transition:background .3s}
.app{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 16px calc(var(--nav) + env(safe-area-inset-bottom) + 16px)}
@media(min-width:768px){.app{padding:0 24px 60px}}
.site-header{position:sticky;top:0;z-index:200;background:var(--bg);border-bottom:1px solid var(--brd);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:var(--T)}
.site-header::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(91,82,232,.3),transparent);opacity:.7}
.hd{max-width:1200px;margin:0 auto;padding:0 16px;height:var(--hdr);display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative}
@media(min-width:768px){.hd{padding:0 24px;height:64px}}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none}
.lm{width:34px;height:34px;background:var(--acc);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:"Manrope","Syne",sans-serif;font-size:12px;font-weight:800;line-height:1;color:#fff;flex-shrink:0;letter-spacing:0}
.lt{display:none;flex-direction:column;gap:1px}
@media(min-width:480px){.lt{display:flex}}
.lt-top{font-size:17px;font-weight:700;letter-spacing:.01em;text-transform:none;color:var(--txt);line-height:1.1}
.lt-sub{font-size:11px;font-weight:600;letter-spacing:.01em;text-transform:none;color:var(--acc);line-height:1.2;margin-top:3px}
.hdr{display:flex;align-items:center;gap:10px}
.socials{display:flex;align-items:center;gap:8px}
.social-icon{display:flex;align-items:center;justify-content:center;opacity:0.7;transition:opacity .2s}
.social-icon:hover{opacity:1}
.social-icon img{display:block}
.social-icon:hover > div{display:flex!important}
.hdmeta{font-size:11px;color:var(--di);font-family:"JetBrains Mono",monospace;display:none}
@media(min-width:620px){.hdmeta{display:block}}
.tpill{position:relative;width:52px;height:26px;background:var(--sur2);border:1.5px solid var(--brds);border-radius:26px;cursor:pointer;transition:background .3s,border-color .3s;flex-shrink:0;touch-action:manipulation}
.tpill:hover{border-color:var(--acc)}
.light .tpill{background:#ddddf0}
.tthumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--acc);transition:transform .35s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px rgba(91,82,232,.4)}
.light .tthumb{transform:translateX(26px)}
.tics{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 5px;pointer-events:none}
.tic{font-size:9px;opacity:.3;transition:opacity .3s}
.light .tic.moon{opacity:.7}
:root:not(.light) .tic.sun{opacity:.7}
.bnav{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--sur);border-top:1px solid var(--brd);display:flex;padding-bottom:env(safe-area-inset-bottom);transition:var(--T);backdrop-filter:blur(16px)}
@media(min-width:768px){.bnav{display:none}}
.nb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:9px 6px;cursor:pointer;border:none;background:none;color:var(--di);font-family:"Syne",sans-serif;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:color .2s;min-height:56px;-webkit-tap-highlight-color:transparent}
.nb.active{color:var(--acc)}
.ni{font-size:20px;line-height:1;position:relative}
.nb.active .ni::after{content:"";position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--acc)}
.dtabs-row{display:none;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 16px}
.dtabs{display:none;gap:4px;background:var(--sur);border:1px solid var(--brd);border-radius:12px;padding:4px;width:fit-content;margin:0;transition:var(--T)}
@media(min-width:768px){.dtabs-row{display:flex}.dtabs{display:flex}}
.dtab{padding:9px 20px;border-radius:8px;font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer;color:var(--mu);transition:all .2s;border:none;background:none;font-family:"Syne",sans-serif}
.dtab.active{background:var(--acc);color:#fff;box-shadow:0 4px 14px rgba(91,82,232,.3)}
.dtab:hover:not(.active){color:var(--txt);background:var(--sur2)}
.guide-tab-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;border:1px solid var(--brd);border-radius:10px;background:var(--sur2);color:var(--btn-muted);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.02em;transition:var(--T)}
.guide-tab-link:hover{border-color:var(--acc);color:var(--acc)}
.guide-tab-link-mobile{display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;border:1px solid var(--brd);border-radius:10px;background:var(--sur2);color:var(--btn-muted);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.02em;margin:14px 0 10px}
@media(min-width:768px){.guide-tab-link-mobile{display:none}}
.guide-actions{display:flex;align-items:center;gap:8px}
.guide-mobile-actions{display:flex;align-items:center;gap:8px}
@media(min-width:768px){.guide-mobile-actions{display:none}}
.guide-tab-btn{font-family:"Syne",sans-serif;cursor:pointer}
.promo-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;margin:16px 0 8px;border-radius:var(--rsm);background:linear-gradient(135deg,var(--acc),#7c6cff);border:none;position:relative;box-shadow:0 4px 20px rgba(91,82,232,.35);font-family:"Syne",sans-serif}
.promo-banner.hidden{display:none}
.promo-banner__close{position:static;flex-shrink:0;background:rgba(255,255,255,.2);border:none;font-size:20px;line-height:1;color:#fff;cursor:pointer;width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .2s;order:3}
.promo-banner__close:hover{background:rgba(255,255,255,.35)}
.promo-banner__text{flex:1;font-size:16px;line-height:1.5;color:#fff}
.promo-banner__text strong{color:#ffe066;font-weight:800;letter-spacing:.08em}
.promo-banner__num{font-family:"JetBrains Mono",monospace;font-weight:600}
.promo-banner__days{display:inline-block;margin-left:10px;padding:2px 10px;border-radius:20px;background:rgba(255,255,255,.18);font-size:12px;font-weight:600;color:#ffe066;white-space:nowrap;vertical-align:middle}
.promo-banner__btn{flex-shrink:0;padding:9px 22px;border-radius:var(--rxs);background:#fff;color:var(--acc);font-family:"Syne",sans-serif;font-size:13.5px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .2s;white-space:nowrap;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.promo-banner__btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.2)}
.promo-banner__btn--disabled{pointer-events:none;opacity:.5;transform:none!important;box-shadow:none!important}
@media(max-width:600px){.promo-banner{flex-direction:column;align-items:stretch;gap:10px;text-align:center;padding:14px 16px}.promo-banner__btn{align-self:center}.promo-banner__close{align-self:flex-end;order:0;margin:-6px -6px 0 0}}
.panel{display:none;animation:fi .2s ease}.panel.active{display:block}
@keyframes fi{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

/* ── Шрифт данных: все три панели используют JetBrains Mono ─────────────────
   Задаётся на корневых контейнерах панелей — наследуется всеми дочерними
   элементами автоматически. Чистые UI-метки и кнопки явно сбрасываются ниже.
   ────────────────────────────────────────────────────────────────────────── */
#panel-profit,
#panel-commission{font-family:"JetBrains Mono",monospace;font-variant-numeric:tabular-nums}

/* UI-метки внутри панелей — Syne (чистый текст без цифр) */
.ptitle,.psub,.stitle,.flbl,.sc-name{font-family:"Syne",sans-serif}

.ptitle{font-size:20px;font-weight:800;margin:16px 0 2px}
.psub{font-size:12px;color:var(--mu);margin-bottom:10px}
@media(min-width:768px){.ptitle{font-size:24px;margin-top:0}}
.card{background:var(--sur);border:1px solid var(--brd);border-radius:var(--r);padding:16px;margin-bottom:10px;position:relative;transition:var(--T)}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(91,82,232,.2),transparent);border-radius:var(--r) var(--r) 0 0}
.light .card{box-shadow:0 1px 3px rgba(0,0,0,.05),0 4px 14px rgba(0,0,0,.04)}
@media(min-width:768px){.card{padding:24px;margin-bottom:14px}}
.fgroup{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f8f8fa;margin-bottom:14px}
:root:not(.light) .fgroup{background:#1a1a24}
@media(min-width:600px){.fgroup{grid-template-columns:repeat(3,1fr)}}
@media(max-width:599px){.fgroup{grid-template-columns:1fr}}
.profit-inputs-wrap{background:#f8f8fa;margin-bottom:14px}
:root:not(.light) .profit-inputs-wrap{background:#1a1a24}
#panel-profit .profit-inputs-wrap .fgroup{background:transparent;margin-bottom:0}
#panel-profit .profit-inputs-wrap .fgroup + .fgroup{border-top:1px solid var(--brd);padding-top:8px;margin-top:8px}
.tax-toggle-row{display:flex;justify-content:flex-end;padding:0 8px 6px}
.tax-toggle-row .exbtn{padding:6px 0;font-size:12px}
.pct-inline{display:inline-flex;align-items:center;gap:0}
.pct-inline .finput{width:62px}
.pct-inline .pct-sign{font-size:12px;color:var(--di);font-family:'JetBrains Mono',monospace;margin-left:-5px;line-height:1}
.tax-subopt{margin-top:4px}
.tax-subopt label{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--mu);user-select:none}
.tax-subopt input[type="checkbox"]{width:12px;height:12px;accent-color:var(--acc)}
.tax-subopt-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.price-duo{display:flex;align-items:center;gap:10px;padding-bottom:12px}
.buyer-price-block{position:relative;display:flex;align-items:center;min-height:18px}
.buyer-price-inline{display:flex;align-items:center;gap:2px}
.buyer-price-rub{font-size:12px;color:var(--di);font-family:'JetBrains Mono',monospace}
.buyer-price-value{font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:500;color:var(--txt);line-height:1}
.buyer-price-hint{position:absolute;left:0;top:100%;margin-top:2px;font-size:10px;line-height:1;color:var(--mu);font-family:'Syne',sans-serif;white-space:nowrap}
.fcell{background:#f8f8fa;padding:10px 14px;display:flex;flex-direction:column;gap:5px;transition:var(--T);position:relative;overflow:visible;min-width:0}
.fcell:focus-within{background:var(--sur3);z-index:10}
:root:not(.light) .fcell{background:#1a1a24}
@media(min-width:768px){.fcell{padding:13px 18px}}
@media(max-width:599px){.fcell{padding:8px 10px}}
.flbl{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--di);font-weight:700}
.fsel{width:100%;font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:500;color:var(--txt);background:transparent;border:none;outline:none;cursor:pointer;padding-right:16px;-webkit-appearance:none;appearance:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:599px){.fsel{font-size:12px}}
.fsel-w{position:relative;display:flex;align-items:center}
.fsel-w::after{content:"\25BE";position:absolute;right:0;font-size:10px;color:var(--di);pointer-events:none}
.fsel-w input.fsel{padding-right:32px}
.finput{font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:500;color:var(--txt);background:transparent;border:none;outline:none;padding:0;-moz-appearance:textfield;width:100%}
.finput::-webkit-inner-spin-button,.finput::-webkit-outer-spin-button{-webkit-appearance:none}
.finput:focus{color:var(--acc)}
@media(max-width:599px){.finput{font-size:12px}}
.price-pair{display:flex;align-items:center;gap:6px}
.price-sep{font-size:11px;color:var(--di)}
@media(max-width:599px){.price-pair{gap:4px}}
.cat-trigger{display:flex;align-items:center;gap:4px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.cat-disp{font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:500;color:var(--txt);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
@media(max-width:599px){.cat-disp{max-width:120px;font-size:12px}}
.cat-arr{font-size:10px;color:var(--di);flex-shrink:0;transition:transform .2s}
.cat-arr.open{transform:rotate(180deg)}
.cat-drop{position:absolute;top:100%;left:0;right:0;min-width:200px;background:var(--sur);border:1px solid var(--brds);border-radius:var(--rsm);box-shadow:0 8px 32px rgba(0,0,0,.14);z-index:1000;overflow:hidden;display:none;margin-top:4px}
.cat-drop.open{display:block;animation:fi .15s ease}
.cat-opt{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .1s;-webkit-tap-highlight-color:transparent}
.cat-opt:hover{background:var(--sur2)}
.cat-opt-active{background:var(--sur2);font-weight:600}
.cat-opt+.cat-opt{border-top:1px solid var(--brd)}
.cat-chk{width:18px;height:18px;border-radius:4px;border:1.5px solid var(--brds);background:var(--sur2);display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;flex-shrink:0;transition:all .12s}
.cat-chk.on{background:var(--acc);border-color:var(--acc)}
.cat-oname{font-size:13px;color:var(--txt)}
.cat-hint{padding:7px 14px;font-size:10px;color:var(--di);border-top:1px solid var(--brd);text-align:center}
.cat-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--acc);color:#fff;border-radius:4px;font-size:12px;font-family:"JetBrains Mono",monospace;font-weight:500}
.cat-chip-remove{cursor:pointer;opacity:.7;font-size:14px;line-height:1;padding:0 2px}
.cat-chip-remove:hover{opacity:1}
.drp-trigger{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.drp-ico{font-size:12px}
.drp-val{font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:500;color:var(--txt)}
.drp-panel{position:absolute;top:calc(100% + 4px);left:0;background:var(--sur);border:1px solid var(--brds);border-radius:var(--rsm);box-shadow:0 8px 32px rgba(0,0,0,.14);z-index:600;padding:14px;display:none;min-width:280px}
.drp-panel.open{display:block;animation:fi .15s ease}
.drp-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.drp-navbtn{background:none;border:none;cursor:pointer;font-size:16px;color:var(--mu);padding:2px 8px;border-radius:5px;transition:background .15s}
.drp-navbtn:hover{background:var(--sur2)}
.drp-month-title{font-size:13px;font-weight:700;color:var(--txt)}
.drp-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:10px}
.drp-dow{font-size:9px;text-transform:uppercase;color:var(--di);text-align:center;padding:3px 0 5px}
.drp-day{font-size:11px;font-family:"JetBrains Mono",monospace;text-align:center;padding:6px 2px;border-radius:5px;cursor:pointer;color:var(--mu);transition:all .1s;user-select:none}
.drp-day:not(.empty):not(.other):hover{background:var(--sur2);color:var(--txt)}
.drp-day.today{font-weight:700;color:var(--acc)}
.drp-day.sel{background:var(--acc)!important;color:#fff!important;font-weight:700}
.drp-day.in-range{background:rgba(91,82,232,.1);color:var(--txt)}
:root:not(.light) .drp-day.in-range{background:rgba(108,99,255,.18)}
.drp-day.empty,.drp-day.other{color:var(--di);cursor:default}
.drp-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid var(--brd)}
.drp-btn{padding:7px 16px;border-radius:var(--rxs);font-size:12px;font-weight:600;cursor:pointer;font-family:"Syne",sans-serif;transition:all .15s;border:none}
.drp-btn.cancel{background:var(--sur2);color:var(--mu)}
.drp-btn.apply{background:var(--acc);color:#fff}
.trow{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.cklbl{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mu);cursor:pointer;-webkit-tap-highlight-color:transparent}
.ckb{width:20px;height:20px;border:1.5px solid var(--brds);border-radius:5px;background:var(--sur2);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--acc);flex-shrink:0;transition:all .15s}
.ckb.on{border-color:var(--acc);background:rgba(91,82,232,.1)}
.fmtg{display:flex;gap:2px;background:var(--sur2);border:1px solid var(--brd);border-radius:8px;padding:3px;transition:var(--T)}
.fmtb{padding:7px 14px;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;border:none;background:none;color:var(--mu);transition:all .15s;font-family:"JetBrains Mono",monospace}
.fmtb.active{background:var(--acc);color:#fff}
.filtrow{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.tsw{position:relative;width:36px;height:20px;cursor:pointer;flex-shrink:0}
.tsw input{opacity:0;width:0;height:0}
.ttrack{position:absolute;inset:0;border-radius:20px;background:var(--sur2);border:1px solid var(--brds);transition:background .2s}
.tthb{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--di);transition:transform .2s,background .2s}
.tsw input:checked~.ttrack{background:rgba(91,82,232,.2);border-color:var(--acc)}
.tsw input:checked~.tthb{transform:translateX(16px);background:var(--acc)}
.flbl{font-size:13px;color:var(--mu)}

/* ══ SCENARIOS ══ */
.sc-lbl{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--di);text-align:left;padding-bottom:14px;border-bottom:1px solid var(--brd);margin-bottom:0}
.sc-hd{display:none}
@media(min-width:600px){
  .sc-hd{display:grid;grid-template-columns:165px 1fr 110px 20px 90px;gap:12px 16px;padding:10px 0 8px;border-bottom:1px solid var(--brd);align-items:center}
}
.sc-hd-own{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--acc);font-weight:700;text-align:center}
.sc-hd-base{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--di);font-weight:700;text-align:center}
.sc-row{padding:14px 0;border-bottom:1px solid var(--brd)}
.sc-row:last-of-type{border-bottom:none}
.sc-mob-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.sc-mob-vals{display:flex;align-items:baseline;gap:8px}
.sc-mob-own{font-family:"JetBrains Mono",monospace;font-size:16px;font-weight:700;color:var(--txt)}
.sc-mob-base{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--mu)}
.sc-name{font-size:13px;color:#666}
@media(min-width:600px){
  .sc-row{display:grid;grid-template-columns:165px 1fr 110px 20px 90px;gap:12px 16px;align-items:center;padding:12px 0}
  .sc-mob-top{display:contents}
  .sc-mob-vals{display:contents}
  .sc-mob-own{display:none}
  .sc-mob-base{display:none}
}
.sc-inp-wrap{display:none}
@media(min-width:600px){
  .sc-inp-wrap{display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-bottom:1px solid var(--brd);padding:5px 4px;gap:4px;transition:border-color .15s;cursor:text}
  .sc-inp-wrap:focus-within{border-color:var(--acc)}
}
.sc-inp{font-family:"JetBrains Mono",monospace;font-size:14px;font-weight:700;color:#666;background:transparent;border:none;outline:none;width:50px;text-align:center;-moz-appearance:textfield}
.sc-inp::-webkit-inner-spin-button,.sc-inp::-webkit-outer-spin-button{-webkit-appearance:none}
.sc-unit{font-size:10px;color:var(--di);font-family:"JetBrains Mono",monospace}
.sc-sep{display:none}
@media(min-width:600px){.sc-sep{display:flex;align-items:center;justify-content:center;color:var(--di);font-size:12px}}
.sc-base-v{display:none}
@media(min-width:600px){.sc-base-v{display:flex;align-items:center;justify-content:center;font-family:"JetBrains Mono",monospace;font-size:13px;color:#666}}

/* ══ GRADIENT SLIDERS ══ */
input[type=range].sl{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:8px;outline:none;cursor:pointer;transition:opacity .15s}
input[type=range].sl::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--sur);border:2.5px solid var(--acc);box-shadow:0 1px 6px rgba(0,0,0,.15),0 0 0 3px rgba(91,82,232,.12);cursor:pointer;transition:box-shadow .15s,transform .1s}
input[type=range].sl::-webkit-slider-thumb:hover{transform:scale(1.12)}
input[type=range].sl:active::-webkit-slider-thumb{box-shadow:0 1px 6px rgba(0,0,0,.2),0 0 0 5px rgba(91,82,232,.18);transform:scale(1.08)}
input[type=range].sl::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--sur);border:2.5px solid var(--acc);box-shadow:0 1px 6px rgba(0,0,0,.12);cursor:pointer}
:root:not(.light) input[type=range].sl::-webkit-slider-thumb{background:#1c1c26;border-color:var(--acc)}

.dtoa{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 20px;padding:11px 14px;background:transparent;border:none;border-radius:var(--rsm);margin-top:14px;transition:var(--T)}
:root:not(.light) .dtoa{background:transparent;border-color:transparent}
.ditem{display:flex;flex-direction:column;gap:2px;align-items:center}
.dname{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--di)}
.dval.neg{color:var(--red);font-size:14px;font-weight:700;font-family:"JetBrains Mono",monospace}
.dval.pos{color:var(--grn);font-size:14px;font-weight:700;font-family:"JetBrains Mono",monospace}
.dval.zero{color:var(--di);font-size:14px;font-weight:700;font-family:"JetBrains Mono",monospace}
td.zero{color:var(--di)}
.dnote{margin-left:auto;font-size:10px;color:var(--di)}
.sd{display:none} .sm{display:block}
@media(min-width:640px){.sd{display:block} .sm{display:none}}
.exbtn{display:flex;align-items:center;gap:8px;color:var(--acc);font-size:13px;font-weight:600;cursor:pointer;border:none;background:none;padding:12px 0;font-family:"Syne",sans-serif;-webkit-tap-highlight-color:transparent}
.exbtn:hover{opacity:.7}
.exic{display:inline-block;transition:transform .25s ease}
.exic.open{transform:rotate(180deg)}
.exable{overflow:hidden;transition:max-height .35s ease;max-height:0}
.exable.open{max-height:1200px}
.dvd{height:1px;background:var(--brd);margin:14px 0}
.shead{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}
.stitle{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--di)}
.dtbl{width:100%;border-collapse:collapse;font-size:13px}
.dtbl th{text-align:left;padding:9px 12px;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--di);border-bottom:1px solid var(--brd)}
.dtbl th:not(:first-child){text-align:right}
.dtbl td{padding:12px 12px;border-bottom:1px solid var(--brd);font-family:"JetBrains Mono",monospace;font-size:13px;transition:var(--T)}
.dtbl td:not(:first-child){text-align:right}
.dtbl tr:last-child td{border-bottom:none}
.dtbl td:first-child{font-family:"Syne",sans-serif;color:var(--mu);font-size:13px}
.dtbl .gh td{background:#f8f8fa;font-family:"Syne",sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#666;border-bottom:1px solid var(--brd)}
.dtbl .gh td:not(:first-child){text-align:right;font-family:"JetBrains Mono",monospace;font-size:13px;color:var(--txt);text-transform:none;letter-spacing:0;font-weight:600}
:root:not(.light) .dtbl .gh td{background:#1a1a24}
.dtbl .sr td:first-child{padding-left:28px;color:var(--di)}
td.neg{color:var(--red)} td.pos{color:var(--grn)} td.neutral{color:var(--di)}
.neg{color:var(--red)} .pos{color:var(--grn)} .zero{color:var(--di)}
td.ppos, span.ppos{color:var(--red) !important} td.pneg, span.pneg{color:var(--grn) !important} td.pz, span.pz{color:var(--di) !important}
.mcards{display:flex;flex-direction:column;gap:1px}
.mcard{background:#f8f8fa;padding:12px 14px;display:flex;align-items:center;transition:var(--T)}
:root:not(.light) .mcard{background:#1a1a24}
.mcards .mcard:first-child{border-radius:var(--rsm) var(--rsm) 0 0}
.mcards .mcard:last-child{border-radius:0 0 var(--rsm) var(--rsm)}
.mname{flex:1;font-size:12px;color:var(--mu);line-height:1.3}
.mcols{display:flex;flex-shrink:0}
.mcol{text-align:right;min-width:80px;padding-left:6px}
.mclbl{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--di);margin-bottom:2px}
.mcval{font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:500;color:var(--txt)}
.mcval.neg{color:var(--red)} .mcval.pos{color:var(--grn)} .mcval.dim{color:var(--di)}
.sd{display:none} .sm{display:block}
@media(min-width:640px){.sd{display:block} .sm{display:none}}
.exbtn{display:flex;align-items:center;gap:8px;color:var(--acc);font-size:13px;font-weight:600;cursor:pointer;border:none;background:none;padding:12px 0;font-family:"Syne",sans-serif;-webkit-tap-highlight-color:transparent}
.exbtn:hover{opacity:.7}
.exic{display:inline-block;transition:transform .25s ease}
.exic.open{transform:rotate(180deg)}
.exable{overflow:hidden;transition:max-height .35s ease;max-height:0}
.exable.open{max-height:1200px}
.dvd{height:1px;background:var(--brd);margin:14px 0}
.ctitle{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--di);margin-bottom:12px}
.csvg{width:100%;position:relative;overflow:hidden}
.csvg svg{width:100%;display:block;overflow:visible}
.ax{stroke:var(--txt);stroke-opacity:.18;fill:none}
.gl{stroke:var(--txt);stroke-opacity:.07;fill:none}
.al{fill:var(--txt);fill-opacity:.6;font-family:"JetBrains Mono",monospace;font-size:9px}
.leg{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;justify-content:center}
.litem{display:flex;align-items:center;gap:5px;font-size:10px;color:#666;font-family:"JetBrains Mono",monospace;font-weight:500}
.ldot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.ch-tooltip{position:absolute;background:var(--sur);border:1px solid var(--brds);border-radius:var(--rxs);padding:8px 12px;font-family:"JetBrains Mono",monospace;font-size:11px;box-shadow:0 4px 20px rgba(0,0,0,.12);pointer-events:none;display:none;z-index:100;white-space:nowrap;transition:none}
.ch-tooltip.show{display:block}
.uihint{display:inline-flex;align-items:center;position:relative;margin-left:6px;vertical-align:middle}
.uihint-btn{width:15px;height:15px;border-radius:50%;border:1px solid var(--brds);background:var(--sur2);color:var(--mu);font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.uihint-btn:hover{border-color:var(--acc);color:var(--acc)}
.uihint-pop{position:absolute;left:0;bottom:calc(100% + 8px);display:none;min-width:180px;max-width:min(300px,78vw);padding:8px 10px;border:1px solid var(--brds);border-radius:var(--rxs);background:var(--sur);color:var(--txt);font-family:"JetBrains Mono",monospace;font-size:11px;line-height:1.35;box-shadow:0 4px 20px rgba(0,0,0,.12);z-index:120;white-space:normal;text-transform:none;letter-spacing:0}
.uihint-pop::after{content:"";position:absolute;left:10px;top:100%;border-width:6px 6px 0 6px;border-style:solid;border-color:var(--brds) transparent transparent transparent}
.uihint-pop::before{content:"";position:absolute;left:10px;top:100%;transform:translateY(-1px);border-width:6px 6px 0 6px;border-style:solid;border-color:var(--sur) transparent transparent transparent;z-index:1}
.uihint:hover .uihint-pop,.uihint:focus-within .uihint-pop,.uihint.open .uihint-pop{display:block}
@media(max-width:768px){.uihint:hover .uihint-pop{display:none}.uihint.open .uihint-pop{display:block}}
.uihint--how{margin-left:auto}
.uihint-btn--how{width:auto;height:auto;border-radius:var(--rxs);border:none;background:none;font-family:"Syne",sans-serif;font-size:11px;font-weight:600;color:var(--mu);letter-spacing:.01em;padding:0;cursor:pointer;opacity:.7;transition:opacity .15s,color .15s}
.uihint-btn--how:hover{opacity:1;color:var(--acc);border-color:transparent}
.uihint-pop--how{left:auto;right:0;bottom:auto;top:calc(100% + 8px);min-width:220px;max-width:min(340px,85vw)}
.uihint-pop--how::after{left:auto;right:12px;top:auto;bottom:100%;border-width:0 6px 6px 6px;border-color:transparent transparent var(--brds) transparent}
.uihint-pop--how::before{left:auto;right:12px;top:auto;bottom:100%;transform:translateY(1px);border-width:0 6px 6px 6px;border-color:transparent transparent var(--sur) transparent}
.psub{display:flex;align-items:center;gap:8px}
.tt-date{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--di);margin-bottom:6px}
.tt-row{display:flex;align-items:center;gap:6px;padding:2px 0}
.tt-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.tt-lbl{color:var(--mu);min-width:60px}
.tt-val{color:var(--txt);font-weight:600}
.chip{padding:6px 13px;border-radius:8px;font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:600;border:1.5px solid var(--brd);background:var(--sur);color:var(--txt);cursor:default;transition:all .15s;white-space:nowrap;flex-shrink:0;display:inline-block}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}
.chip-tb{border-color:var(--yel);color:var(--yel)}
.chip-m30{border-color:var(--grn);color:var(--grn)}
.chip-m40{border-color:var(--grn);color:var(--grn)}
.chip-m50{border-color:var(--grn);color:var(--grn)}
.chip-pr{cursor:pointer}
.chip-pr:hover{border-color:var(--acc);color:var(--acc)}
.chip-pr.inactive{opacity:.4;border-color:var(--brd);color:var(--mu)}
.chip.active{background:rgba(0,212,170,0.15);color:var(--grn);border-color:var(--grn);cursor:pointer}
.chip.inactive{opacity:.42;border-color:var(--brd)!important;color:var(--mu)!important}
.chip-m30,.chip-m40,.chip-m50{cursor:pointer}
.chip-m30:hover,.chip-m40:hover,.chip-m50:hover{border-color:var(--acc);color:var(--acc)}
.chip-r50,.chip-r75,.chip-r100,.chip-r200{cursor:pointer;border-color:var(--grn);color:var(--grn)}
.chip-r50:hover,.chip-r75:hover,.chip-r100:hover,.chip-r200:hover{border-color:var(--acc);color:var(--acc)}
:root:not(.light) .chip{background:var(--sur2)}
:root:not(.light) .chip.active{background:rgba(0,212,170,0.25)}
.cgrid{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:480px){.cgrid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.cgrid{grid-template-columns:repeat(3,1fr)}}
.ccard{background:#f8f8fa;border:1px solid var(--brd);border-radius:var(--rsm);padding:16px;transition:var(--T)}
:root:not(.light) .ccard{background:#1a1a24}
.cname{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mu);margin-bottom:12px}
.cdot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.cstats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cstat{display:flex;flex-direction:column;gap:3px}
.cslbl{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--di)}
.csval{font-family:"JetBrains Mono",monospace;font-size:16px;font-weight:600;color:var(--txt)}
.csval.dm{font-size:14px;color:var(--mu)} .csval.dn{color:var(--red)} .csval.dp{color:var(--grn)} .csval.dz{color:var(--mu)}
.rcards{display:flex;flex-direction:column;gap:8px}
.rcard{background:#f8f8fa;border:1px solid var(--brd);border-radius:var(--rsm);padding:12px 14px;transition:var(--T)}
:root:not(.light) .rcard{background:#1a1a24}
.rtitle{font-size:12px;font-weight:700;color:var(--txt);margin-bottom:8px;font-family:"JetBrains Mono",monospace}
.ritems{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ritem{display:flex;flex-direction:column;gap:3px}
.rilbl{display:flex;align-items:center;gap:5px;font-size:10px;text-transform:uppercase;color:var(--di)}
.ridot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.rv{font-family:"JetBrains Mono",monospace;font-size:14px;font-weight:600}
.rv.ppos, span.ppos{color:var(--red) !important} .rv.pneg, span.pneg{color:var(--grn) !important} .rv.pz, span.pz{color:var(--di) !important}
.rdtbl{width:100%;border-collapse:collapse;font-size:13px}
.rdtbl th{text-align:left;padding:9px 12px;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--di);border-bottom:1px solid var(--brd)}
.rdtbl th:not(:first-child){text-align:right}
.rdtbl td{padding:11px 12px;border-bottom:1px solid var(--brd);font-family:"JetBrains Mono",monospace;font-size:12px;transition:var(--T)}
.rdtbl td:not(:first-child){text-align:right}
.rdtbl tr:last-child td{border-bottom:none}
.rdtbl td:first-child{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--txt);font-weight:400}
.card,.ccard,.rcard,.mcard,.fcell,.fmtg,.chip,.dtoa,.dtbl th,.dtbl td,.rdtbl td,.bnav,.site-header{transition:var(--T)}
/* ===== STABILITY & RISKS ===== */
.risk-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 0 12px}
.risk-kpi{background:transparent;border:1px solid var(--brd);border-radius:var(--rsm);padding:10px 10px 8px;position:relative;overflow:visible;transition:border-color .2s}
.risk-kpi-name{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--di);margin-bottom:4px}
.risk-kpi-val{font-size:24px;font-weight:700;font-family:'JetBrains Mono',monospace;color:var(--txt);line-height:1;margin-bottom:2px}
.risk-kpi-sub{font-size:9px;color:var(--mu);margin-bottom:8px}
.risk-bar-wrap{height:3px;background:var(--sur3);border-radius:2px;overflow:hidden}
.risk-bar-fill{height:100%;border-radius:2px;background:var(--acc);transition:width .5s cubic-bezier(.4,0,.2,1),background .3s}
.risk-kpi.state-good{border-color:#43a047}
.risk-kpi.state-good .risk-bar-fill{background:#43a047}
.risk-kpi.state-good .risk-kpi-val{color:#43a047}
.risk-kpi.state-ok{border-color:#f9a825}
.risk-kpi.state-ok .risk-bar-fill{background:#f9a825}
.risk-kpi.state-warn{border-color:#fb8c00}
.risk-kpi.state-warn .risk-bar-fill{background:#fb8c00}
.risk-kpi.state-bad{border-color:#e53935}
.risk-kpi.state-bad .risk-bar-fill{background:#e53935}
.risk-kpi.state-bad .risk-kpi-val{color:#e53935}
.card#stabilityCard{overflow:visible}
#stabilityCard .risk-kpi-grid{overflow:visible}
#stabilityCard{--stb-text:#565b66;position:relative;z-index:3}
:root:not(.light) #stabilityCard{--stb-text:#b0b7c6}
#stabilityCard .risk-kpi-name,
#stabilityCard .risk-kpi-sub,
#stabilityCard .risk-kpi-val,
#stabilityCard #stabilityScoreBadge,
#stabilityCard #stabilityScoreRange,
#stabilityCard .stability-scale-title,
#stabilityCard .stability-scale-label{color:var(--stb-text)!important}
#stabilityCard #stabilityScoreBadge{background:transparent!important}
#stabilityCard .risk-kpi .uihint{z-index:20}
#stabilityCard .risk-kpi .uihint-pop{z-index:220}
.sens-param-btn{padding:3px 9px;border:1px solid var(--brd);background:transparent;color:#565b66;border-radius:999px;font-size:9px;font-weight:700;cursor:pointer;font-family:'Syne',sans-serif;transition:all .15s;letter-spacing:.03em}
.sens-param-btn.active{background:var(--sur3);color:#565b66;border-color:var(--brds)}
:root:not(.light) .sens-param-btn{color:#b0b7c6}
:root:not(.light) .sens-param-btn.active{background:var(--sur2);color:#b0b7c6}
.sens-param-row > span{color:#565b66!important}
:root:not(.light) .sens-param-row > span{color:#b0b7c6!important}
.chart-tab-btn{transition:all .2s}
.chart-tab-btn.active{background:var(--sur)!important;color:var(--txt)!important}

/* ===== ONBOARDING ===== */
.onb-overlay{position:fixed;inset:0;background:rgba(8,10,20,.24);z-index:1400;padding:16px;display:none;align-items:center;justify-content:center}
.onb-overlay.show{display:flex}
.onb-open{overflow:hidden}
.onb-card{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1403;width:min(460px,calc(100vw - 32px));background:var(--sur);border:1px solid var(--brds);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:14px}
.onb-card.onb-dock-top{top:24px;bottom:auto;transform:translateX(-50%)}
.onb-card.onb-dock-bottom{top:auto;bottom:24px;transform:translateX(-50%)}
.onb-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.onb-kicker{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--di)}
.onb-close{border:none;background:none;color:var(--txt);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}
.onb-title{font-size:16px;font-weight:700;color:var(--txt);margin-bottom:6px}
.onb-text{font-size:13px;line-height:1.45;color:var(--mu);margin-bottom:10px}
.onb-progress{height:6px;background:var(--sur2);border-radius:999px;overflow:hidden;margin-bottom:8px}
.onb-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),#8f88ff);transition:width .2s ease}
.onb-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.onb-meta #onboardingStepCounter{font-size:11px;color:var(--di);font-family:"JetBrains Mono",monospace}
.onb-check{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--mu);user-select:none}
.onb-check input[type="checkbox"]{accent-color:var(--acc)}
.onb-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
.onb-actions-right{display:flex;align-items:center;gap:6px;margin-left:auto}
.onb-btn{border:1px solid var(--brd);border-radius:8px;padding:7px 10px;font-family:"Syne",sans-serif;font-size:12px;font-weight:600;cursor:pointer}
.onb-btn-muted{background:var(--sur2);color:var(--btn-muted)}
.onb-btn-primary{background:var(--acc);border-color:var(--acc);color:#fff}
.onb-target{position:relative;z-index:1402!important;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 0 0 5px rgba(108,99,255,.72),0 0 0 10px rgba(108,99,255,.22)!important;border-radius:10px}
.onb-spotlight{position:fixed;left:-9999px;top:-9999px;width:0;height:0;border-radius:12px;box-shadow:0 0 0 9999px rgba(8,10,20,.28);background:transparent;z-index:1401;pointer-events:none;transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease}
@media(max-width:767px){
  .onb-overlay{padding:10px;align-items:flex-end;justify-content:center}
  .onb-card{left:50%;top:auto;bottom:10px;transform:translateX(-50%);width:calc(100vw - 20px);max-width:none}
  .onb-card.onb-dock-top,.onb-card.onb-dock-bottom{top:auto;bottom:10px;transform:translateX(-50%)}
}
@media(max-width:480px){
  .risk-kpi-grid{grid-template-columns:repeat(3,1fr);gap:6px}
  .risk-kpi{padding:8px 7px 6px}
  .risk-kpi-val{font-size:19px}
  .risk-kpi-name{font-size:8px}
}
#btnCalc:hover{opacity:.8}

/* ===== INVENTORY DASHBOARD ===== */

/* Upload zones */
.inv-upload-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 8px}
.inv-uzone{border:1.5px dashed var(--brd);border-radius:10px;padding:14px 10px;text-align:center;cursor:pointer;position:relative;transition:border-color .15s,background .15s;background:var(--sur2)}
.inv-uzone:hover{border-color:var(--acc);background:rgba(91,82,232,.04)}
.inv-uzone.done{border-style:solid;border-color:var(--grn)}
.inv-uzone.err{border-style:solid;border-color:var(--red)}
.inv-uzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.inv-uzone-icon{font-size:20px;margin-bottom:4px}
.inv-uzone-lbl{font-size:11px;font-weight:700;color:var(--txt)}
.inv-uzone-hint{font-size:9px;color:var(--di);font-family:"JetBrains Mono",monospace;margin-top:2px}
.inv-uzone-status{font-size:9px;color:var(--grn);font-family:"JetBrains Mono",monospace;margin-top:4px;min-height:12px}
.inv-uzone.err .inv-uzone-status{color:var(--red)}
.inv-scope-loading{display:none;align-items:center;gap:6px;font-size:10px;color:var(--di);font-family:"JetBrains Mono",monospace;text-transform:lowercase}
.inv-scope-loading.on{display:inline-flex}
.inv-scope-loading::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  border:2px solid var(--brd);
  border-top-color:var(--acc);
  animation:inv-calc-spin .75s linear infinite;
  flex-shrink:0;
}
@keyframes inv-calc-spin{to{transform:rotate(360deg)}}
.inv-udot{width:7px;height:7px;border-radius:50%;background:var(--brd);flex-shrink:0;display:inline-block;transition:background .2s}
.inv-udot.ok{background:var(--grn)}
.inv-udot.err{background:var(--red)}
.inv-scope-tabs{display:flex;gap:4px;background:var(--sur3);border-radius:8px;padding:2px}
.inv-scope-tab{min-width:48px;padding:4px 8px;border:none;border-radius:6px;font-size:10px;font-weight:700;font-family:"JetBrains Mono",monospace;font-variant-numeric:tabular-nums;cursor:pointer;background:transparent;color:var(--di);letter-spacing:.01em;text-align:center}
.inv-scope-tab.on{background:var(--sur);color:var(--txt)}
.inv-scope-meta{font-size:9px;color:var(--mu);font-family:"JetBrains Mono",monospace;margin-top:6px}
.inv-scope-meta-header{margin-top:0}
.inv-sku-yes{display:inline-block;padding:1px 6px;border-radius:10px;background:rgba(46,194,126,.12);color:var(--grn);font-size:8px;font-weight:700;font-family:"Syne",sans-serif}
.inv-sku-no{display:inline-block;padding:1px 6px;border-radius:10px;background:var(--sur3);color:var(--di);font-size:8px;font-weight:700;font-family:"Syne",sans-serif}

/* Collapsible card */
.inv-card-hdr{display:block;cursor:pointer;user-select:none;padding:2px 0}
.inv-card-hdr-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.inv-card-hdr-sub{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}
.inv-card-hdr-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.inv-card-hdr-left--scope{flex-wrap:nowrap}
.inv-slbl{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:var(--di);font-weight:700}
.inv-arr{font-size:10px;color:var(--di);transition:transform .2s;display:inline-block;flex-shrink:0}
.inv-arr.open{transform:rotate(180deg)}
.inv-card-body{overflow:hidden;transition:max-height .28s ease,opacity .2s;max-height:0;opacity:0}
.inv-card-body.open{max-height:600px;opacity:1}
@media (max-width:560px){.inv-card-hdr-left--scope{flex-wrap:wrap}.inv-card-hdr-top{flex-wrap:wrap}}

/* KPI strip */
.inv-kstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.inv-kpi{background:transparent;border-radius:10px;padding:10px 11px;border:1px solid var(--brd);position:relative;overflow:hidden}
.inv-kpi-l{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--di);margin-bottom:3px}
.inv-kpi-v{font-size:18px;font-weight:700;font-family:"JetBrains Mono",monospace;color:var(--txt)}
.inv-kpi-s{font-size:9px;color:var(--mu);margin-top:1px}
.inv-kpi.grn .inv-kpi-v{color:var(--grn)}
.inv-kpi.red .inv-kpi-v{color:var(--red)}

/* View toggle (map/table) */
.inv-vtabs{display:flex;gap:2px;background:var(--sur3);border-radius:7px;padding:2px}
.inv-vtab{padding:3px 10px;border:none;border-radius:5px;font-size:10px;font-weight:700;font-family:"Syne",sans-serif;cursor:pointer;background:transparent;color:var(--di);letter-spacing:.03em;transition:all .15s}
.inv-vtab.on{background:var(--sur);color:var(--txt)}

/* Map */
.inv-map-wrap{position:relative;width:100%;background:transparent;border:1px solid var(--brd);border-radius:10px;overflow:hidden;margin-bottom:8px}
.inv-map-wrap svg{display:block;width:100%;height:auto}
.inv-map-region{fill:var(--sur3);stroke:var(--sur);stroke-width:0.8;transition:fill .15s;cursor:pointer}
.inv-map-region:hover{filter:brightness(.87)}
.inv-map-region.d-high{fill:#5b52e8}
.inv-map-region.d-mid{fill:#8b84ef}
.inv-map-region.d-low{fill:#bbb8f7}
.inv-map-region.no-stock{fill:rgba(229,57,53,.55)}
.inv-map-region.ineff-r1{fill:#f29b9b}
.inv-map-region.ineff-r2{fill:#e25757}
.inv-map-region.ineff-r3{fill:#c62828}
.inv-map-region.selected{stroke:var(--txt);stroke-width:2}
:root:not(.light) .inv-map-region{fill:var(--sur3)}
:root:not(.light) .inv-map-region.d-high{fill:#5b52e8}
:root:not(.light) .inv-map-region.d-mid{fill:#6e68d8}
:root:not(.light) .inv-map-region.d-low{fill:#3e3880}
:root:not(.light) .inv-map-region.no-stock{fill:rgba(229,57,53,.4)}
:root:not(.light) .inv-map-region.ineff-r1{fill:#d57e7e}
:root:not(.light) .inv-map-region.ineff-r2{fill:#c74949}
:root:not(.light) .inv-map-region.ineff-r3{fill:#9f1f1f}
.inv-map-tip{position:absolute;pointer-events:none;background:var(--sur);border:1px solid var(--brd);border-radius:8px;padding:8px 11px;font-size:11px;font-family:"JetBrains Mono",monospace;color:var(--txt);box-shadow:0 2px 12px rgba(0,0,0,.13);display:none;z-index:20;white-space:nowrap;min-width:165px}
.inv-map-tip b{font-family:"Syne",sans-serif;font-size:12px;display:block;margin-bottom:5px}
.inv-map-tip-row{display:flex;justify-content:space-between;gap:16px;font-size:10px;color:var(--mu);margin-bottom:2px}
.inv-map-tip-row span:last-child{color:var(--txt);font-weight:600}
.inv-map-legend{display:flex;gap:12px;flex-wrap:wrap;padding:5px 2px 2px;font-size:9px;color:var(--mu);font-family:"JetBrains Mono",monospace}
.inv-map-legend-item{display:flex;align-items:center;gap:4px}
.inv-map-legend-dot{width:9px;height:9px;border-radius:2px;flex-shrink:0}

/* Chart */
.inv-csvg{position:relative;width:100%}
.inv-ctip{position:absolute;pointer-events:none;background:var(--sur);border:1px solid var(--brd);border-radius:6px;padding:5px 9px;font-size:10px;font-family:"JetBrains Mono",monospace;color:var(--txt);box-shadow:0 2px 8px rgba(0,0,0,.1);display:none;z-index:10;white-space:nowrap}
.inv-chart-tabs{display:flex;gap:2px;background:var(--sur3);border-radius:7px;padding:2px}
.inv-ctab{padding:4px 10px;border:none;border-radius:5px;font-size:10px;font-weight:700;font-family:"Syne",sans-serif;cursor:pointer;background:transparent;color:var(--di);letter-spacing:.03em;transition:all .15s}
.inv-ctab.on{background:var(--sur);color:var(--txt)}

/* Scenario filter tabs */
.inv-stabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px}
.inv-stab{padding:4px 10px;border:1px solid var(--brd);border-radius:20px;font-size:10px;font-weight:600;font-family:"Syne",sans-serif;cursor:pointer;background:var(--sur2);color:var(--mu);transition:all .15s}
.inv-stab.on{background:var(--acc);color:#fff;border-color:var(--acc)}

/* Scenario table row highlights */
.inv-row-best td{background:rgba(91,82,232,.05)!important}
.inv-row-baseline-a td{background:rgba(46,194,126,.04)!important}
.inv-row-baseline-b td{background:rgba(249,168,37,.04)!important}
.inv-row-ideal td{background:rgba(251,140,0,.04)!important}

/* Badges */
.inv-b-miss{display:inline-block;font-size:8px;padding:1px 5px;background:rgba(229,57,53,.1);color:var(--red);border-radius:4px;font-family:"Syne",sans-serif;font-weight:700}
.inv-b-warn{display:inline-block;font-size:8px;padding:1px 5px;background:rgba(249,168,37,.12);color:var(--yel);border-radius:4px;font-family:"Syne",sans-serif;font-weight:700}
.inv-b-best{display:inline-block;font-size:8px;padding:1px 5px;background:rgba(91,82,232,.1);color:var(--acc);border-radius:4px;font-family:"Syne",sans-serif;font-weight:700}
.inv-b-ok{display:inline-block;font-size:8px;padding:1px 5px;background:rgba(46,194,126,.1);color:var(--grn);border-radius:4px;font-family:"Syne",sans-serif;font-weight:700}
.inv-b-ideal{display:inline-block;font-size:8px;padding:1px 5px;background:rgba(251,140,0,.12);color:var(--yel);border-radius:4px;font-family:"Syne",sans-serif;font-weight:700}
.inv-b-sales{display:inline-block;font-size:8px;padding:1px 5px;background:rgba(46,194,126,.12);color:var(--grn);border-radius:4px;font-family:"Syne",sans-serif;font-weight:700}
.inv-b-stocks{display:inline-block;font-size:8px;padding:1px 5px;background:rgba(249,168,37,.12);color:var(--yel);border-radius:4px;font-family:"Syne",sans-serif;font-weight:700}

/* Comparison cards */
.inv-cmp-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}
.inv-cmp-card{border-radius:10px;padding:10px 12px;border:1px solid var(--brd);position:relative;overflow:hidden;background:var(--sur)}
.inv-cmp-card::before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;border-radius:10px 0 0 10px}
.inv-cmp-card.a::before{background:var(--grn)}
.inv-cmp-card.opt::before{background:var(--acc)}
.inv-cmp-card.ideal::before{background:var(--yel)}
.inv-cmp-tag{font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:4px}
.inv-cmp-tag.a{color:var(--grn)}
.inv-cmp-tag.opt{color:var(--acc)}
.inv-cmp-tag.ideal{color:var(--yel)}
.inv-cmp-name{font-size:10px;font-weight:700;color:var(--txt);margin-bottom:6px;line-height:1.3}
.inv-cmp-row{display:flex;justify-content:space-between;font-size:10px;font-family:"JetBrains Mono",monospace;color:var(--mu);margin-bottom:2px}
.inv-cmp-row b{color:var(--txt)}
.inv-cmp-delta{font-size:11px;font-weight:700;font-family:"JetBrains Mono",monospace;margin-top:5px}

/* Loss block */
.inv-loss-block{background:rgba(229,57,53,.04);border:1px solid rgba(229,57,53,.2);border-radius:10px;padding:12px 14px;margin-top:10px}
.inv-loss-title{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--red);font-weight:700;margin-bottom:8px}
.inv-loss-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.inv-loss-lbl{font-size:8px;color:var(--di);margin-bottom:2px;font-family:"JetBrains Mono",monospace}
.inv-loss-val{font-size:16px;font-weight:700;font-family:"JetBrains Mono",monospace;color:var(--red)}
.inv-loss-sub{font-size:9px;color:var(--mu)}

/* Recommendations */
.inv-rec-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.inv-rec{background:var(--sur2);border-radius:10px;padding:10px;border:1px solid var(--brd);text-align:center}
.inv-rec-ico{font-size:16px;margin-bottom:4px}
.inv-rec-l{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--di);margin-bottom:3px}
.inv-rec-v{font-size:15px;font-weight:800;color:var(--txt)}
.inv-rec-s{font-size:9px;color:var(--mu);margin-top:2px;font-family:"JetBrains Mono",monospace}
.inv-rec.acc{border-color:rgba(91,82,232,.25);background:rgba(91,82,232,.04)}
.inv-rec.acc .inv-rec-v{color:var(--acc)}

/* Insights */
.inv-ins{display:flex;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid var(--brd);margin-top:8px;align-items:flex-start}
.inv-ins.w{border-color:rgba(249,168,37,.35);background:rgba(249,168,37,.05)}
.inv-ins.e{border-color:rgba(229,57,53,.25);background:rgba(229,57,53,.04)}
.inv-ins.i{border-color:rgba(251,140,0,.3);background:rgba(251,140,0,.04)}
.inv-ins.ok{border-color:rgba(46,194,126,.3);background:rgba(46,194,126,.04)}
.inv-ins-t{font-size:11px;font-weight:700;color:var(--txt)}
.inv-ins-s{font-size:9px;color:var(--mu);font-family:"JetBrains Mono",monospace;margin-top:1px}

/* Apply button */
.inv-apply{width:100%;padding:13px;border-radius:10px;border:none;background:var(--acc);color:#fff;font-family:"Syne",sans-serif;font-size:13px;font-weight:700;cursor:pointer;letter-spacing:.05em;transition:opacity .15s,transform .1s}
.inv-apply:hover{opacity:.88;transform:translateY(-1px)}
.inv-apply:active{transform:translateY(0)}
.inv-apply.done{background:var(--grn)}

/* Transfer row */
.inv-xfer-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px;font-size:10px;font-family:"JetBrains Mono",monospace;color:var(--mu)}
.inv-xfer-row b{color:var(--txt)}

/* Chart color helpers */
.inv-gp{color:var(--grn)}
.inv-gn{color:var(--mu)}
.inv-go{color:var(--yel)}

/* Empty/loading states */
.inv-empty{text-align:center;color:var(--di);font-size:11px;padding:16px 0}

@media(max-width:480px){
  .inv-kstrip{grid-template-columns:1fr 1fr}
  .inv-cmp-strip{grid-template-columns:1fr}
  .inv-rec-row{grid-template-columns:1fr 1fr}
  .inv-loss-grid{grid-template-columns:1fr 1fr}
}

/* ── Mobile responsive fixes ────────────────────────────────────────────────
   Addresses overflow on narrow screens across all tabs.
   ────────────────────────────────────────────────────────────────────────── */

/* Prevent absolute-positioned dropdowns from stretching the page */
.drp-panel{max-width:calc(100vw - 32px)}
.cat-drop{max-width:calc(100vw - 32px)}

/* Fix mcard layout: wrap label to full-width row, keep value columns right-aligned */
@media(max-width:599px){
  .mcard{flex-wrap:wrap;gap:6px}
  .mname{flex:1 1 100%;margin-bottom:2px}
  .mcols{flex-shrink:0;justify-content:flex-end}
  .mcol{min-width:72px;padding-left:4px}
  .mcval{font-size:11px}
  .mclbl{font-size:7px}
}

/* Risk KPI grid: 2 columns on very small screens */
@media(max-width:420px){
  .risk-kpi-grid{grid-template-columns:1fr 1fr}
  .risk-kpi-val{font-size:18px}
  .ritems{grid-template-columns:1fr 1fr}
}

/* Commission rcards: allow wrap on narrow screens */
@media(max-width:599px){
  .rcard{overflow-x:auto}
  .ritems{grid-template-columns:1fr 1fr;gap:4px}
}

/* Sensitivity param buttons: wrap on narrow screens */
@media(max-width:480px){
  .dtoa{gap:8px 14px;padding:8px 10px}
  .ditem{min-width:60px}
}
