:root{
  --bg:#ECEEF3;--card:#FFF;--border:#D6DAE4;--border-lt:#EAECF2;--hdr-bg:#F4F5F8;
  --t1:#0D1821;--t2:#3D4A5C;--t3:#8A95A8;--t4:#B8C0CC;
  --we:#0B7A58;--we-mid:#12A872;--we-lt:#DDF5EC;--we-mlt:#B8EDD8;
  --be:#B86800;--be-mid:#E88A00;--be-lt:#FEF0D6;--be-mlt:#FDDCA0;
  --li:#1A65C0;--li-mid:#2B7FD4;--li-lt:#DDEEFF;--li-mlt:#B3D6F8;
  --red:#C0341A;--red-lt:#FDECEA;
  --sh2:0 4px 16px rgba(0,0,0,.07),0 1px 4px rgba(0,0,0,.05);
  --sh3:0 8px 32px rgba(0,0,0,.09),0 2px 8px rgba(0,0,0,.06);
  --radius:12px;--radius-sm:7px;
  --sb-bg:#0D1821;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased}
body{font-family:'DM Sans',-apple-system,sans-serif;font-size:14px;line-height:1.5;color:var(--t1);background:var(--bg);height:100vh;overflow:hidden;display:flex}

/* ── SHELL ───────────────────────────────────────────────────────────────────── */
.app-shell{display:flex;width:100%;height:100vh;overflow:hidden}

/* ── SIDEBAR ─────────────────────────────────────────────────────────────────── */
.sidebar{width:240px;min-width:240px;height:100vh;background:var(--sb-bg);display:flex;flex-direction:column;transition:width .25s cubic-bezier(.4,0,.2,1),min-width .25s cubic-bezier(.4,0,.2,1);overflow:hidden;flex-shrink:0;position:relative;z-index:200}
body.sidebar-collapsed .sidebar{width:52px;min-width:52px}
.sb-logo-zone{display:flex;align-items:center;gap:10px;padding:0 12px;height:60px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}
.ca-mark{width:28px;height:28px;min-width:28px;border-radius:7px;background:var(--we);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;letter-spacing:.5px;flex-shrink:0;cursor:pointer}
.ca-wordmark{font-size:13px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;flex:1;transition:opacity .2s,max-width .2s}
body.sidebar-collapsed .ca-wordmark{opacity:0;max-width:0}
.sb-toggle-btn{width:24px;height:24px;min-width:24px;border-radius:6px;background:rgba(255,255,255,.08);border:none;color:rgba(255,255,255,.5);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,opacity .2s;flex-shrink:0}
.sb-toggle-btn:hover{background:rgba(255,255,255,.15);color:#fff}
body.sidebar-collapsed .sb-toggle-btn{opacity:1;max-width:24px;overflow:visible}
body.sidebar-collapsed .sb-toggle-btn svg{transform:rotate(180deg)}

/* Brand selector */
.sb-brand-selector{position:relative;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}
.sb-brand-sel-inner{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer;transition:background .15s}
.sb-brand-sel-inner:hover{background:rgba(255,255,255,.08)}
.sb-brand-sel-name{font-size:12px;font-weight:600;color:#fff;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s,max-width .2s}
body.sidebar-collapsed .sb-brand-sel-name{opacity:0;max-width:0}
.sb-sel-chev{color:rgba(255,255,255,.35);flex-shrink:0;transition:opacity .2s}
body.sidebar-collapsed .sb-sel-chev{opacity:0;max-width:0;overflow:hidden}
/* Dropdown: fixed position, not clipped by sidebar overflow:hidden */
.sb-brand-drop{display:none;position:fixed;background:#1A2B3C;border:1px solid rgba(255,255,255,.12);border-radius:9px;box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:1000;overflow:hidden;min-width:200px}
.sb-brand-drop.open{display:block}
.sb-drop-item{display:flex;align-items:center;gap:9px;padding:9px 12px;cursor:pointer;font-size:13px;color:rgba(255,255,255,.7);transition:background .15s}
.sb-drop-item:hover{background:rgba(255,255,255,.08)}
.sb-drop-item.active{color:#fff;font-weight:600}
.sb-drop-divider{height:1px;background:rgba(255,255,255,.08);margin:3px 0}
.sb-drop-action{color:rgba(255,255,255,.5);font-size:12px}
.sb-drop-action:hover{color:rgba(255,255,255,.9)}

/* Market nav */
.sb-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:6px 0}
.sb-nav::-webkit-scrollbar{width:3px}.sb-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}
.sb-markets-label{font-size:9px;font-weight:700;color:rgba(255,255,255,.25);letter-spacing:.1em;text-transform:uppercase;padding:8px 16px 4px;white-space:nowrap;overflow:hidden;transition:opacity .2s}
body.sidebar-collapsed .sb-markets-label{opacity:0}
.sb-market-item{margin:0 6px 2px}
.sb-market-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;cursor:pointer;transition:background .15s}
.sb-market-row:hover{background:rgba(255,255,255,.07)}
.sb-market-item.active>.sb-market-row{background:rgba(255,255,255,.05)}
.sb-flag{font-size:15px;width:22px;text-align:center;flex-shrink:0}
.sb-market-sections{padding-left:6px;margin-top:2px}
.sb-group-label{font-size:9px;font-weight:700;color:rgba(255,255,255,.22);letter-spacing:.1em;text-transform:uppercase;padding:7px 10px 3px;white-space:nowrap;overflow:hidden;transition:opacity .2s}
body.sidebar-collapsed .sb-group-label{opacity:0}
.sb-sec-item{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:6px;cursor:pointer;transition:background .15s;margin-bottom:1px}
.sb-sec-item:hover{background:rgba(255,255,255,.07)}
.sb-sec-item.active{background:rgba(11,122,88,.25);border:1px solid rgba(11,122,88,.35)}
.sb-sec-icon{color:rgba(255,255,255,.4);flex-shrink:0;display:flex;align-items:center;width:16px}
.sb-sec-item.active .sb-sec-icon{color:var(--we-mid)}
.sb-soon-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.15);margin-left:auto;flex-shrink:0}
.sb-chev{color:rgba(255,255,255,.3);flex-shrink:0;transition:transform .2s,opacity .2s}
.sb-market-item.expanded>.sb-market-row>.sb-chev{transform:rotate(0deg)}
.sb-market-item:not(.expanded)>.sb-market-row>.sb-chev{transform:rotate(-90deg)}
.sb-dot{width:24px;height:24px;min-width:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}
.sb-add-icon{width:18px;height:18px;border-radius:4px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:13px;color:rgba(255,255,255,.5);flex-shrink:0}
.sb-label{font-size:12px;font-weight:500;color:rgba(255,255,255,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;transition:opacity .2s,max-width .2s}
.sb-sec-item.active .sb-label{color:#fff;font-weight:600}
body.sidebar-collapsed .sb-label{opacity:0;max-width:0;flex:0}
body.sidebar-collapsed .sb-chev{opacity:0}
body.sidebar-collapsed .sb-market-sections{display:none}

/* ── BRAND SECTIONS SIDEBAR ───────────────────────────────────────────────── */
.sb-brand-sections{margin-bottom:4px}

/* ── PHASES & REGION SETTINGS ───────────────────────────────────────────────── */
.sb-region-gear{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.3);padding:3px 4px;border-radius:4px;display:inline-flex;align-items:center;margin-left:auto;transition:color .15s;flex-shrink:0}
.sb-region-gear:hover{color:rgba(255,255,255,.75)}
.ramp-phase-tabs{padding:6px 12px 2px}
/* ramp-seg removed — phase ramp curves no longer exist, single RAMP per scenario */
.phase-row{background:var(--hdr-bg);border-radius:8px;padding:10px 12px;margin-bottom:8px}
.phase-row-hdr{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.phase-num-badge{font-size:11px;font-weight:700;color:var(--we);text-transform:uppercase;letter-spacing:.04em;flex:1}
.phase-rm-btn{background:none;border:none;cursor:pointer;color:var(--t3);font-size:16px;padding:0 4px;border-radius:3px;transition:color .15s;line-height:1}
.phase-rm-btn:hover{color:var(--be)}
.phase-fields{display:flex;gap:12px;flex-wrap:wrap}
.phase-field{display:flex;flex-direction:column;gap:4px;min-width:140px;flex:1}
.phase-lbl{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.04em}
.phase-inp{height:30px;border:1.5px solid var(--border);border-radius:6px;padding:0 10px;font-size:12px;color:var(--t1);background:var(--card);transition:border-color .15s}
.phase-inp:focus{outline:none;border-color:var(--we)}
.phase-sel{height:30px;border:1.5px solid var(--border);border-radius:6px;padding:0 8px;font-size:12px;background:var(--card);color:var(--t1);cursor:pointer}
.phase-locked{font-size:12px;color:var(--t3);padding:6px 0}
.phase-add-btn{width:100%;height:32px;border:1.5px dashed var(--border);border-radius:7px;background:transparent;color:var(--t3);font-size:12px;cursor:pointer;margin-top:4px;margin-bottom:8px;transition:all .15s}
.phase-add-btn:hover{border-color:var(--we);color:var(--we)}
.cs-phase-section{padding:12px 16px;border-top:1px solid var(--border-lt);display:flex;align-items:center;gap:12px}
.cs-phase-lbl{font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}
.cs-phase-sel{flex:1;height:30px;border:1.5px solid var(--border);border-radius:6px;padding:0 8px;font-size:12px;background:var(--card);color:var(--t1);cursor:pointer}
.expand-modal-dlg{width:90vw;max-width:1100px;max-height:88vh;display:flex;flex-direction:column}
.expand-modal-body-wrap{overflow-y:auto;flex:1}
.expand-bars{height:280px!important}
.expand-ph-inner{display:flex;align-items:center;justify-content:center;height:52px;color:var(--t4);font-size:11px;font-style:italic;gap:5px;border:1.5px dashed var(--border);border-radius:7px;margin:8px}
.expand-btn{background:none;border:none;cursor:pointer;color:var(--t3);padding:4px 5px;border-radius:5px;display:inline-flex;align-items:center;transition:color .15s,background .15s;margin-left:2px}
.expand-btn:hover{color:var(--we);background:rgba(11,122,88,.1)}

/* ── SKU AVAILABILITY ─────────────────────────────────────────────────────────── */
.avail-months-sm{gap:3px}
.avail-month-sm{min-width:0;flex:1;padding:4px 2px;font-size:9px}
.orders-wrap{padding:20px 24px;display:flex;flex-direction:column;gap:16px}
.order-controls{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}
.order-ctrl-grp{display:flex;flex-direction:column;gap:5px;min-width:140px}
.order-lbl{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.05em}
.order-inp{height:32px;border:1.5px solid var(--border);border-radius:6px;padding:0 10px;font-size:13px;font-family:'DM Mono',monospace;color:var(--t1);background:var(--card);transition:border-color .15s}
.order-inp:focus{outline:none;border-color:var(--we)}
.order-inp-sm{width:64px}
.order-sel{height:32px;border:1.5px solid var(--border);border-radius:6px;padding:0 8px;font-size:12px;background:var(--card);color:var(--t1);cursor:pointer;transition:border-color .15s}
.order-sel:focus{outline:none;border-color:var(--we)}
.order-state-msg{padding:32px 24px;text-align:center;font-size:13px;color:var(--t3)}
.order-warn-card{background:var(--be-lt);border:1.5px solid var(--be);border-radius:10px;padding:18px 22px}
.order-warn-title{font-size:13px;font-weight:700;color:var(--be);margin-bottom:6px}
.order-warn-body{font-size:12px;color:var(--t2);line-height:1.6}
.ord-c{text-align:center;font-family:'DM Mono',monospace;font-size:12px}
.ord-tbl th.ord-c,.ord-tbl td.ord-c{text-align:center!important}
.ord-row-ov td{background:rgba(230,138,0,.08)!important}
.ord-row-ov td .ord-inp{border-color:rgba(230,138,0,.4)}
.spec-row-mod td{background:rgba(11,122,88,.05)!important}
.vc-mkt-inp option{background:var(--sb-bg);color:var(--t1)}
.ord-inp{width:80px;height:26px;border:1.5px solid var(--border);border-radius:5px;padding:0 6px;font-size:12px;font-family:'DM Mono',monospace;color:var(--t1);background:var(--card);text-align:center;-moz-appearance:textfield;transition:border-color .15s}
.ord-inp:focus{outline:none;border-color:var(--we)}
.ord-inp::-webkit-inner-spin-button,.ord-inp::-webkit-outer-spin-button{-webkit-appearance:none}
.ord-revert-btn{background:none;border:none;cursor:pointer;color:var(--t3);font-size:14px;padding:2px 4px;border-radius:4px;transition:color .15s}
.ord-revert-btn:hover{color:var(--we)}
.spec-revert-btn{background:none;border:none;cursor:pointer;color:var(--t3);padding:3px 5px;border-radius:4px;display:flex;align-items:center;transition:color .15s}
.spec-revert-btn:hover{color:var(--we)}
.spec-sheet-wrap{padding:20px 24px}
.spec-tbl{width:100%;border-collapse:collapse;font-size:12px}
.spec-tbl th{padding:8px 12px;text-align:left;font-size:10px;font-weight:700;letter-spacing:.05em;color:var(--t3);text-transform:uppercase;border-bottom:2px solid var(--border);white-space:nowrap}
.spec-tbl td{padding:6px 12px;border-bottom:1px solid var(--border-lt);vertical-align:middle}
.spec-tbl tr:last-child td{border-bottom:none}
.spec-tbl tr:hover td{background:var(--hdr-bg)}
.spec-inp{width:80px;height:28px;border:1.5px solid var(--border);border-radius:5px;padding:0 8px;font-size:12px;font-family:'DM Mono',monospace;color:var(--t1);background:var(--card);text-align:right;transition:border-color .15s;-moz-appearance:textfield}
.spec-inp:focus{outline:none;border-color:var(--we)}
.spec-inp::-webkit-inner-spin-button,.spec-inp::-webkit-outer-spin-button{-webkit-appearance:none}
.spec-inp.spec-derived{background:var(--hdr-bg);color:var(--t3);border-color:transparent;cursor:default}
.spec-sel{height:28px;border:1.5px solid var(--border);border-radius:5px;padding:0 6px;font-size:12px;background:var(--card);color:var(--t1);cursor:pointer;transition:border-color .15s}
.spec-sel:focus{outline:none;border-color:var(--we)}
#dev-overlay{position:fixed;inset:0;pointer-events:none;z-index:99998;display:none}
body.dev-1 #dev-overlay,body.dev-2 #dev-overlay{display:block}
#dev-pill{position:fixed;bottom:16px;right:16px;z-index:99999;padding:5px 11px;background:rgba(13,24,33,.82);color:rgba(255,255,255,.35);font-size:10px;font-family:'DM Mono',monospace;font-weight:700;border-radius:6px;cursor:pointer;letter-spacing:.05em;border:1px solid rgba(255,255,255,.1);user-select:none;transition:all .15s}
#dev-pill:hover{background:rgba(13,24,33,.95);color:rgba(255,255,255,.7)}
#dev-pill.active{background:#1D4ED8;color:#fff;border-color:#3B82F6}
#dev-pill.active.full{background:#6D28D9;color:#fff;border-color:#8B5CF6}

/* Settings button at sidebar bottom */
.sb-settings-btn{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid rgba(255,255,255,.07);cursor:pointer;transition:background .15s;flex-shrink:0}
.sb-settings-btn:hover{background:rgba(255,255,255,.07)}
.sb-settings-icon{color:rgba(255,255,255,.4);display:flex;align-items:center;flex-shrink:0;width:16px}
.sb-settings-lbl{font-size:12px;font-weight:500;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;transition:opacity .2s,max-width .2s}
body.sidebar-collapsed .sb-settings-lbl{opacity:0;max-width:0;flex:0}

/* ── MAIN WRAP ───────────────────────────────────────────────────────────────── */
.main-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.site-header{background:linear-gradient(135deg,#0D1821 0%,#162336 100%);border-bottom:2px solid var(--we);flex-shrink:0;z-index:300;box-shadow:0 2px 20px rgba(0,0,0,.25)}
.header-inner{padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.hdr-breadcrumb{display:flex;align-items:center;gap:5px;font-size:13px;flex-shrink:0}
.bc-brand{color:rgba(255,255,255,.5);font-weight:500}.bc-sep{color:rgba(255,255,255,.2)}.bc-market{color:rgba(255,255,255,.6);font-weight:500}.bc-section{color:#fff;font-weight:600}
.hdr-forecast-controls{display:flex;align-items:center;gap:10px;flex:1;justify-content:center}
.hdr-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.ur-group{display:flex;gap:3px}
.ur-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.55);cursor:pointer;transition:all .15s}
.ur-btn:hover:not(:disabled){background:rgba(255,255,255,.15);color:#fff}
.ur-btn:disabled{opacity:.22;cursor:not-allowed}
.sens-toggle{display:flex;position:relative;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:3px}
.sens-slider{position:absolute;top:3px;bottom:3px;width:calc(33.33% - 2px);border-radius:6px;transition:transform .22s cubic-bezier(.4,0,.2,1),background .22s;box-shadow:0 1px 4px rgba(0,0,0,.25);pointer-events:none;background:#fff}
.sens-slider.pess{transform:translateX(0);background:#FDECEA}.sens-slider.base{transform:translateX(100%);background:#fff}.sens-slider.opti{transform:translateX(200%);background:#DDF5EC}
.sens-btn{position:relative;z-index:1;padding:6px 10px;font-size:11px;font-weight:600;border:none;border-radius:6px;cursor:pointer;font-family:inherit;background:transparent;color:rgba(255,255,255,.4);transition:color .2s;white-space:nowrap;min-width:78px;text-align:center}
.sens-btn.active.pess{color:#C0341A}.sens-btn.active.base{color:var(--t1)}.sens-btn.active.opti{color:var(--we)}
.sens-btn:hover:not(.active){color:rgba(255,255,255,.75)}
.sens-banner{display:none;font-size:11px;font-weight:600;padding:4px 11px;border-radius:20px}
.sens-banner.pess{display:inline-block;background:rgba(192,52,26,.12);color:#FF6B4A;border:1px solid rgba(192,52,26,.2)}
.sens-banner.opti{display:inline-block;background:rgba(11,122,88,.12);color:var(--we-mid);border:1px solid rgba(11,122,88,.2)}
.view-toggle{display:flex;position:relative;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:3px}
.vt-slider{position:absolute;top:3px;bottom:3px;width:calc(50% - 3px);background:#fff;border-radius:6px;transition:transform .22s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 4px rgba(0,0,0,.2);pointer-events:none}
body.internal-view .vt-slider{transform:translateX(100%)}
.vt-btn{position:relative;z-index:1;padding:6px 14px;font-size:12px;font-weight:500;border:none;border-radius:6px;cursor:pointer;font-family:inherit;background:transparent;color:rgba(255,255,255,.45);transition:color .2s}
.vt-btn.active{color:var(--t1)}.vt-btn:hover:not(.active){color:rgba(255,255,255,.8)}
.btn-present,.btn-export{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s}
.btn-present:hover,.btn-export:hover{background:rgba(255,255,255,.18)}

/* ── SECTION CONTAINER ───────────────────────────────────────────────────────── */
.section-container{flex:1;overflow-y:auto;overflow-x:hidden;position:relative}
.section-panel{display:block}.section-panel.hidden{display:none}
.container{max-width:1600px;margin:0 auto;padding:24px}

/* ── PILL TOGGLES ────────────────────────────────────────────────────────────── */
.tog-pill{display:inline-block;width:28px;height:16px;border-radius:8px;background:var(--red);position:relative;cursor:pointer;transition:background .2s;flex-shrink:0;vertical-align:middle}
.tog-pill::after{content:'';position:absolute;top:2.5px;left:2.5px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s cubic-bezier(.4,0,.2,1)}
.tog-pill.active{background:var(--we)}
.tog-pill.active::after{transform:translateX(12px)}
.tog-pill.partial{background:var(--be-mid)}
.tog-pill.partial::after{transform:translateX(6px)}

/* ── KPI STRIP ───────────────────────────────────────────────────────────────── */
.pin-zone{background:var(--card);border-bottom:2px solid var(--border);position:sticky;top:0;z-index:200}
.kpi-strip{display:flex;align-items:stretch;gap:0;padding:0 24px;min-height:72px;flex-wrap:wrap}
.kpi-item{padding:14px 20px;display:flex;flex-direction:column;justify-content:center;gap:3px;border-right:1px solid var(--border-lt);min-width:140px;flex:1}
.kpi-label{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.07em;display:flex;align-items:center;gap:5px}
.kpi-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.kpi-value{font-size:20px;font-weight:700;color:var(--t1);font-family:'DM Mono',monospace;letter-spacing:-.5px;line-height:1.2}
.kpi-sub{font-size:10px;color:var(--t3)}
.kpi-gp .kpi-value{color:var(--we)}
.kpi-pin{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;background:transparent;border:1.5px solid var(--border);color:var(--t4);cursor:pointer;transition:all .15s;margin:auto 0 auto auto;flex-shrink:0}
.kpi-pin:hover{background:var(--hdr-bg);color:var(--t2)}.kpi-pin.pinned{background:var(--we-lt);border-color:var(--we);color:var(--we)}

/* ── THREE-RAIL LAYOUT ───────────────────────────────────────────────────────── */
.three-rail{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) minmax(0,320px);gap:16px;align-items:start}
.left-rail,.center-rail,.right-rail{display:flex;flex-direction:column;gap:14px;min-width:0;overflow:hidden}

/* Right rail compact overrides */
.right-rail .card-header{padding:10px 14px}
.right-rail .card-title{font-size:11px}
.right-rail .ch-tbl{table-layout:fixed;width:100%}
.right-rail .ch-tbl th{padding:4px 5px;font-size:9px}
.right-rail .ch-tbl td{padding:3px 5px;font-size:11px;overflow:hidden}
.right-rail .ch-tbl td:nth-child(2){max-width:0}
.right-rail .ch-tbl td:nth-child(3),.right-rail .ch-tbl th:nth-child(3){padding:3px 0;text-align:center}
.right-rail .ch-din{width:46px;height:22px;font-size:11px;padding:0 2px;box-sizing:border-box}
.right-rail .ch-tbl td:nth-child(5){text-align:right}
.right-rail .ch-name-cell{display:flex;align-items:center;gap:3px;overflow:hidden}
.right-rail .ch-name-cell>:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.right-rail .vbar{display:flex;align-items:center;gap:4px}
.right-rail .vbar input[type=range]{width:62px;flex-shrink:0}
.right-rail .vval{font-size:10px;width:22px;flex-shrink:0}
.right-rail .preset-row{padding:8px 12px 0;gap:3px;flex-wrap:wrap}
.right-rail .preset-btn{padding:2px 6px;font-size:9.5px;letter-spacing:-.01em}
.right-rail .bar-editor{padding:10px 12px 4px}
.right-rail .eff-bar{padding:7px 12px 6px;gap:10px}
.right-rail .eff-item{font-size:11px}
.left-rail .card-header{padding:10px 14px}
.left-rail .card-title{font-size:11px}
.left-rail .irow{padding:5px 12px}
.left-rail .ilabel{font-size:11px}
.left-rail .locked-val{font-size:12px}
.left-rail .mix-sec{padding:7px 12px 3px;font-size:9px}
.left-rail .flv-sec-hdr{padding:5px 10px;gap:5px}
.left-rail .flv-row{padding:4px 10px;gap:5px}
.left-rail .flv-row-name{width:70px;font-size:11px}
.left-rail .flv-row-pct{font-size:10px;width:26px}
.left-rail .flv-add-zone{padding:5px 10px}
.left-rail .flv-add-inline{gap:4px}
.left-rail .flv-inp-name{font-size:11px;height:24px}
.left-rail .flv-inp-add{height:24px;font-size:11px;padding:0 8px}
.left-rail .preset-row{padding:8px 12px 0;gap:4px}
.left-rail .preset-btn{padding:3px 8px;font-size:10px}
.left-rail .bar-editor{padding:10px 12px 4px}
.left-rail .bar-note{padding:3px 12px 8px;font-size:10px}
.left-rail .locked-note{padding:6px 10px;font-size:11px;margin:8px 10px}

/* ── CARDS ───────────────────────────────────────────────────────────────────── */
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--sh2);border:1px solid var(--border);overflow:visible}
.card-accent-teal{border-top:3px solid var(--we)}.card-accent-amber{border-top:3px solid var(--be)}.card-accent-blue{border-top:3px solid var(--li)}
.card-header{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:var(--hdr-bg);border-bottom:1px solid var(--border-lt);cursor:pointer;gap:8px}
.card-title{font-size:12px;font-weight:700;color:var(--t1);text-transform:uppercase;letter-spacing:.06em}
.card-body{padding:0}.card-body.hidden{display:none}
.cbtn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;background:transparent;border:none;color:var(--t3);cursor:pointer;transition:all .15s;flex-shrink:0}
.cbtn:hover{background:var(--hdr-bg);color:var(--t2)}.cbtn.collapsed{transform:rotate(-90deg)}

/* ── PRICES (LOCKED) ─────────────────────────────────────────────────────────── */
.irow{display:flex;align-items:center;justify-content:space-between;padding:7px 16px;border-bottom:1px solid var(--border-lt);gap:8px}
.irow:last-child{border-bottom:none}
.ilabel{font-size:12px;color:var(--t2);font-weight:500}
.iright{display:flex;align-items:center;gap:6px}
.iunit{font-size:11px;color:var(--t3)}
.locked-note{background:var(--hdr-bg);border:1px solid var(--border-lt);border-radius:7px;padding:8px 12px;font-size:12px;color:var(--t3);margin:10px 14px;display:flex;align-items:center;gap:6px}
.locked-val{font-family:'DM Mono',monospace;font-size:13px;font-weight:500;color:var(--t1)}
.link-btn{background:none;border:none;color:var(--we);font-size:12px;font-weight:600;cursor:pointer;padding:0;font-family:inherit}
.link-btn:hover{text-decoration:underline}

/* ── MIX CARD ────────────────────────────────────────────────────────────────── */
.mix-sec{padding:10px 16px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--t3)}
.flv-section{border-bottom:1px solid var(--border-lt)}
.flv-section:last-child{border-bottom:none}
.flv-section.flv-inactive{opacity:.6}
.flv-sec-hdr{display:flex;align-items:center;flex-wrap:wrap;padding:7px 12px;gap:6px;background:var(--hdr-bg);font-size:11px;cursor:default;border-bottom:1px solid var(--border-lt)}
.flv-sec-content.hidden{display:none}
.flv-row{display:flex;align-items:center;gap:7px;padding:5px 14px;border-bottom:1px solid var(--border-lt)}
.flv-row-name{font-size:12px;color:var(--t2);width:90px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flv-row-slider{flex:1;accent-color:var(--we)}
.flv-row-pct{font-size:11px;font-family:'DM Mono',monospace;color:var(--t2);width:30px;text-align:right;flex-shrink:0}
.flv-row-rm{background:transparent;border:none;color:var(--t4);cursor:pointer;font-size:14px;padding:0 2px;line-height:1}
.flv-row-rm:hover{color:var(--red)}
.flv-add-zone{padding:8px 14px}
.flv-add-inline{display:flex;gap:6px}
.flv-inp-name{flex:1;height:28px;border:1px solid var(--border);border-radius:5px;padding:0 9px;font-size:12px;font-family:inherit;color:var(--t1);background:var(--hdr-bg)}
.flv-inp-name:focus{outline:none;border-color:var(--we)}
.flv-inp-add{height:28px;padding:0 11px;background:var(--we);color:#fff;border:none;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}

/* ── CHANNELS ────────────────────────────────────────────────────────────────── */
.eff-bar{display:flex;gap:16px;padding:10px 16px 8px;border-bottom:1px solid var(--border-lt)}
.eff-item{font-size:12px;color:var(--t2)}
.eff-item strong{color:var(--t1);font-family:'DM Mono',monospace}
.ch-tbl{width:100%;border-collapse:collapse}
.ch-tbl th{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;padding:7px 10px;border-bottom:1px solid var(--border-lt);text-align:left;background:var(--hdr-bg)}
.ch-tbl td{padding:5px 10px;font-size:12px;color:var(--t2);border-bottom:1px solid var(--border-lt);vertical-align:middle}
.ch-tbl .grp-row{background:var(--hdr-bg)}
.ch-tbl .grp-row td{font-size:11px;font-weight:700;color:var(--t1);text-transform:uppercase;letter-spacing:.05em;pointer-events:none}
.ch-tbl .grp-row td:first-child,.ch-tbl .grp-row td:last-child{pointer-events:auto}
.ch-tbl .shared-row{background:#F9FAFB}
.ch-tbl .shared-row td{font-size:11px}
.ch-tbl .tot-row td{font-size:11px;font-weight:700;color:var(--t2);background:var(--hdr-bg);border-top:2px solid var(--border)}
.ch-tbl .ch-inactive{opacity:.5}

/* ── EXPAND DIALOG CHANNEL TABLE (scoped — does not affect rail) ─────────────── */
.expand-ch-wrap{padding:0 16px 16px}
.expand-ch-wrap .ch-tbl{table-layout:fixed;width:100%}
.expand-ch-wrap .ch-tbl col.col-tog{width:48px}
.expand-ch-wrap .ch-tbl col.col-name{width:auto}
.expand-ch-wrap .ch-tbl col.col-doors{width:80px}
.expand-ch-wrap .ch-tbl col.col-vel{width:120px}
.expand-ch-wrap .ch-tbl col.col-eff{width:50px}
.expand-ch-wrap .ch-tbl th{font-size:11px;padding:8px 10px}
.expand-ch-wrap .ch-tbl th:first-child{padding-left:16px}
.expand-ch-wrap .ch-tbl td{font-size:12px;padding:6px 10px}
.expand-ch-wrap .ch-tbl td:first-child{padding-left:16px}
/* Group header rows */
.expand-ch-wrap .ch-tbl .grp-row td{font-size:12px;font-weight:700;color:var(--t1);text-transform:uppercase;letter-spacing:.06em;padding-top:12px;padding-bottom:8px}
/* Divider row: hidden in rail, visible as solid line in expand dialog */
.ch-tbl .grp-divider-row{display:none}
.expand-ch-wrap .ch-tbl .grp-divider-row{display:table-row}
.expand-ch-wrap .ch-tbl .grp-divider-row td{padding:0;height:2px;background:var(--border);border:none;line-height:0;font-size:0}
/* Account rows — indent and slightly subordinate */
.expand-ch-wrap .ch-tbl .acct-row td:nth-child(2){padding-left:22px;font-weight:500;color:var(--t1)}
.expand-ch-wrap .ch-tbl .shared-row td{padding-left:22px;font-style:italic;color:var(--t3);font-size:11px}
.expand-ch-wrap .ch-tbl .shared-row td:first-child{padding-left:16px}
/* DM Mono on all numeric cells and inputs */
.expand-ch-wrap .ch-tbl td:nth-child(3),
.expand-ch-wrap .ch-tbl td:nth-child(4),
.expand-ch-wrap .ch-tbl td:nth-child(5){font-family:'DM Mono',monospace}
.expand-ch-wrap .ch-din{width:56px;height:26px;font-size:12px;font-family:'DM Mono',monospace;padding:0 6px;border:1px solid var(--border);border-radius:4px;text-align:right;-moz-appearance:textfield}
.expand-ch-wrap input[type=number]{font-family:'DM Mono',monospace}
/* Wider sliders in expand dialog */
.expand-ch-wrap .vbar{display:flex;align-items:center;gap:8px}
.expand-ch-wrap .vbar input[type=range]{width:90px;flex-shrink:0;accent-color:var(--we)}
.expand-ch-wrap .vval{font-family:'DM Mono',monospace;font-size:11px;width:36px;color:var(--t2)}
.ch-din{width:55px;height:26px;border:1px solid var(--border);border-radius:4px;padding:0 6px;font-size:12px;font-family:'DM Mono',monospace;text-align:right}
.vbar{display:flex;align-items:center;gap:7px}
.vbar input[type=range]{width:80px;accent-color:var(--we)}
.vval{font-size:11px;font-family:'DM Mono',monospace;color:var(--t2);width:30px}
.shared-lbl{font-size:11px;color:var(--t3);font-style:italic}
.btn-rm{background:transparent;border:none;color:var(--t4);cursor:pointer;font-size:13px;padding:0 3px;margin-left:3px}
.btn-rm:hover{color:var(--red)}
.btn-open-add{background:transparent;border:1px dashed var(--border);border-radius:5px;padding:3px 10px;font-size:11px;color:var(--t3);cursor:pointer;transition:all .15s}
.btn-open-add:hover{border-color:var(--we);color:var(--we)}
.add-form{display:none;align-items:center;gap:7px;padding:8px 10px;background:var(--we-lt);border-top:1px solid var(--we-mlt)}
.add-form.open{display:flex}
.add-name{flex:1;height:28px;border:1px solid var(--we-mlt);border-radius:5px;padding:0 8px;font-size:12px;background:#fff}
.add-doors{width:60px;height:28px;border:1px solid var(--we-mlt);border-radius:5px;padding:0 6px;font-size:12px;font-family:'DM Mono',monospace;text-align:right;background:#fff}
.btn-aac{height:28px;padding:0 12px;background:var(--we);color:#fff;border:none;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer}
.btn-aac-c{height:28px;width:28px;background:transparent;border:1px solid var(--we-mlt);border-radius:5px;color:var(--we);cursor:pointer;font-size:14px}

/* ── BARS ────────────────────────────────────────────────────────────────────── */
.bar-editor{padding:16px 16px 4px}
.bar-editor-title{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--t3);margin-bottom:12px}
.avg-pill{font-family:'DM Mono',monospace;font-size:11px;background:var(--hdr-bg);border:1px solid var(--border);border-radius:20px;padding:2px 8px}
.bar-chart-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;height:90px;position:relative}
.bar-wrap{display:flex;flex-direction:column;align-items:center;height:100%;position:relative}
.bar-wrap:hover .bar-tooltip{opacity:1}
.bar-tooltip{position:absolute;top:-20px;background:var(--t1);color:#fff;font-size:9px;padding:2px 5px;border-radius:3px;white-space:nowrap;opacity:0;pointer-events:none;z-index:10;font-family:'DM Mono',monospace}
.bar-val{font-size:8px;font-family:'DM Mono',monospace;color:var(--t3);margin-bottom:2px;height:12px;line-height:12px}
.bar-track{flex:1;width:100%;background:var(--border-lt);border-radius:3px 3px 0 0;cursor:ns-resize;position:relative;min-height:20px}
.bar-fill{width:100%;border-radius:3px 3px 0 0;position:absolute;bottom:0;transition:height .1s}
.bf-sea{background:var(--li)}.bf-sea.high{background:var(--we)}.bf-sea.low{background:var(--be)}
.bf-ramp{background:var(--li-mid)}.bf-ramp.full{background:var(--we)}
.avg-line{position:absolute;left:0;right:0;height:1px;background:rgba(0,0,0,.15);pointer-events:none}
.bar-lbl{font-size:8px;color:var(--t3);margin-top:3px}
.bar-note{font-size:11px;color:var(--t3);padding:4px 16px 12px;font-style:italic}
.preset-row{display:flex;gap:6px;padding:10px 16px 0;flex-wrap:wrap}
.preset-btn{padding:4px 11px;font-size:11px;font-weight:600;border:1.5px solid var(--border);border-radius:5px;background:var(--hdr-bg);color:var(--t2);cursor:pointer;font-family:inherit;transition:all .15s}
.preset-btn:hover{border-color:var(--we);color:var(--we)}.preset-btn.active{background:var(--we);border-color:var(--we);color:#fff}

/* ── TABLES ──────────────────────────────────────────────────────────────────── */
.tbl-section{margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.tbl-sec-hdr{display:flex;align-items:center;gap:7px;padding:8px 11px;background:var(--hdr-bg);border-bottom:1px solid var(--border);cursor:pointer;user-select:none}
.tbl-sec-hdr:hover{background:#EDEEF4}
.tbl-sec-label{font-size:11px;font-weight:700;color:var(--t1);text-transform:uppercase;letter-spacing:.06em;flex:1}
.tbl-sec-body{overflow-x:auto;max-width:100%}.tbl-sec-body.hidden{display:none}
.tbl-scroll{overflow-x:auto;padding:0 0 4px}
.tbl-label{display:flex;align-items:center;gap:7px;padding:11px 14px 6px;font-size:11px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:.06em}
.tl-dot{width:7px;height:7px;border-radius:50%;background:var(--we);flex-shrink:0}
.dt{width:100%;border-collapse:collapse;font-size:12px}
.dt th{background:var(--hdr-bg);padding:7px 9px;text-align:right;font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-lt);white-space:nowrap}
.dt th:first-child{text-align:left;min-width:140px}
.dt td{padding:6px 9px;text-align:right;border-bottom:1px solid var(--border-lt);font-family:'DM Mono',monospace;color:var(--t2)}
.dt td:first-child{text-align:left;font-family:'DM Sans',sans-serif;color:var(--t1)}
.dt tr:hover td{background:var(--hdr-bg)}
.dt tr.grand td{font-weight:700;color:var(--t1);background:var(--hdr-bg);border-top:2px solid var(--border)}
.grp-sep td{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--t3);background:var(--bg);padding:8px 9px;border-bottom:1px solid var(--border-lt)}
.dt tr.cost-row td{color:var(--be)}.dt tr.gp-row td{color:var(--we)}
.tabs{display:flex;gap:0;border-bottom:2px solid var(--border-lt);margin-bottom:14px}
.tab{padding:9px 18px;font-size:13px;font-weight:500;color:var(--t3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}
.tab.active{color:var(--we);border-bottom-color:var(--we);font-weight:600}
.detail-toggle{display:flex;gap:4px;margin-bottom:14px}
.dt-btn{padding:4px 12px;font-size:11px;font-weight:600;border:1.5px solid var(--border);border-radius:5px;background:var(--hdr-bg);color:var(--t3);cursor:pointer;font-family:inherit;transition:all .15s}
.dt-btn.active{background:var(--we);border-color:var(--we);color:#fff}
.chart-wrap{height:220px;position:relative;margin-bottom:16px}
.legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.leg-i{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--t2)}
.leg-d{width:9px;height:9px;border-radius:2px;flex-shrink:0}
.fin-kpis{display:flex;gap:0;border-bottom:1px solid var(--border-lt)}
.fin-kpi{flex:1;padding:14px 16px}.fin-kpi.hl{background:var(--we-lt)}
.internal-only{display:none}
body.internal-view .internal-only{display:block}
.footer{text-align:center;font-size:11px;color:var(--t4);padding:20px 0 10px}
.tag{display:inline-block;padding:1px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.tag-teal{background:var(--we-lt);color:var(--we)}.tag-amber{background:var(--be-lt);color:var(--be)}.tag-blue{background:var(--li-lt);color:var(--li)}.tag-grey{background:var(--hdr-bg);color:var(--t3)}

/* ── VALUE CHAIN ─────────────────────────────────────────────────────────────── */
.vc-intro{background:var(--we-lt);border:1px solid var(--we-mlt);border-radius:9px;padding:11px 16px;font-size:13px;color:var(--we);margin-bottom:20px}
.vc-price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:4px 0 8px}
.vc-field{display:flex;flex-direction:column;gap:3px}
.vc-field-lbl{font-size:11px;font-weight:700;color:var(--t2);display:flex;align-items:center;gap:5px}
.vc-field-desc{font-size:10px;color:var(--t3);margin-bottom:2px}
.vc-input{height:34px;border:1.5px solid var(--border);border-radius:6px;padding:0 10px;font-size:13px;font-family:'DM Mono',monospace;color:var(--t1);background:#fff;transition:border-color .15s;width:100%}
.vc-input:focus{outline:none;border-color:var(--we)}
.vc-waterfall{border-top:1px solid var(--border-lt);margin-top:12px;padding-top:12px}
.wf-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wf-step{display:flex;flex-direction:column;align-items:center;gap:2px}
.wf-val{font-size:13px;font-weight:600;font-family:'DM Mono',monospace}
.wf-lbl{font-size:10px;color:var(--t3);text-transform:uppercase;letter-spacing:.05em}
.wf-delta{font-size:10px;color:var(--we);font-weight:600}
.wf-arrow{color:var(--t4);font-size:14px}

/* ── STUBS ───────────────────────────────────────────────────────────────────── */
.stub-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;text-align:center;padding:40px 24px;gap:12px}
.stub-icon{width:48px;height:48px;background:var(--hdr-bg);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--t3);margin-bottom:4px}
.stub-icon svg{width:22px;height:22px}
.stub-title{font-size:22px;font-weight:700;color:var(--t1)}.stub-brand{font-size:14px;color:var(--t3);margin-top:-4px}
.stub-desc{max-width:420px;font-size:14px;color:var(--t2);line-height:1.7}
.stub-badge{display:inline-block;padding:5px 14px;background:var(--hdr-bg);border:1px solid var(--border);border-radius:20px;font-size:12px;font-weight:600;color:var(--t3);letter-spacing:.04em;margin-top:4px}

/* ── PRESENT ─────────────────────────────────────────────────────────────────── */
#present-overlay{display:none;position:fixed;inset:0;background:#0D1821;z-index:900;overflow-y:auto;font-family:'DM Sans',sans-serif}
#present-overlay.open{display:block}
.pres-toolbar{position:fixed;top:16px;right:20px;display:flex;align-items:center;gap:10px;z-index:1100}
.pres-exit{display:flex;align-items:center;gap:7px;padding:8px 16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:background .15s}
.pres-exit:hover{background:rgba(255,255,255,.18)}
.pres-pdf-btn{padding:7px 14px;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);border-radius:7px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .15s}
.pres-pdf-btn:hover{background:rgba(255,255,255,.2)}.pres-pdf-btn:disabled{opacity:.5;cursor:not-allowed}
.pres-scn-toggle{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}
.pres-scn-toggle .scn-btn.active{color:#1a1a1a}
.pres-body{max-width:1200px;margin:0 auto;padding:48px 40px 60px}
.pres-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1)}
.pres-brand{display:flex;align-items:center;gap:14px}
.pres-logo{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}
.pres-brand-name{font-size:22px;font-weight:700;color:#fff}
.pres-brand-sub{font-size:13px;color:rgba(255,255,255,.45);margin-top:2px}
.pres-meta{font-size:12px;color:rgba(255,255,255,.35);text-align:right;line-height:1.7}
.pres-kpis{display:grid;gap:16px;margin-bottom:32px}
.pres-kpi-grid-3{grid-template-columns:repeat(3,1fr)}.pres-kpi-grid-5{grid-template-columns:repeat(5,1fr)}
.pres-kpi{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:18px 20px}
.pres-kpi.amber{border-color:rgba(184,104,0,.3);background:rgba(184,104,0,.08)}.pres-kpi.blue{border-color:rgba(26,101,192,.3);background:rgba(26,101,192,.08)}.pres-kpi.gp{border-color:rgba(11,122,88,.35);background:rgba(11,122,88,.1)}
.pres-kpi-label{font-size:11px;font-weight:600;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.pres-kpi-value{font-size:26px;font-weight:700;color:#fff;font-family:'DM Mono',monospace;letter-spacing:-1px}
.pres-kpi-sub{font-size:11px;color:rgba(255,255,255,.35);margin-top:4px}
.pres-pl-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:20px 24px;margin-bottom:28px}
.pres-pl-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pres-pl-label{font-size:11px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.pres-pl-val{font-size:22px;font-weight:700;color:#fff;font-family:'DM Mono',monospace}.pres-pl-val.green{color:var(--we-mid)}
.pres-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}
.pres-chart-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:20px 24px}
.pres-chart-title{font-size:13px;font-weight:600;color:rgba(255,255,255,.6);margin-bottom:10px}
.pres-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pres-leg-i{display:flex;align-items:center;gap:5px;font-size:11px;color:rgba(255,255,255,.5)}
.pres-leg-d{width:8px;height:8px;border-radius:2px;flex-shrink:0}
.pres-chart-wrap{height:170px;position:relative}
.pres-table-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:20px 24px;margin-bottom:24px}
.pres-tbl-title{font-size:13px;font-weight:600;color:rgba(255,255,255,.6);margin-bottom:12px}
.pres-tbl{width:100%;border-collapse:collapse;font-size:11px}
.pres-tbl th{color:rgba(255,255,255,.35);font-weight:600;text-align:right;padding:4px 6px;border-bottom:1px solid rgba(255,255,255,.07);white-space:nowrap}
.pres-tbl th:first-child{text-align:left}
.pres-tbl td{color:rgba(255,255,255,.7);text-align:right;padding:5px 6px;border-bottom:1px solid rgba(255,255,255,.04);font-family:'DM Mono',monospace;font-size:11px}
.pres-tbl td:first-child{text-align:left;font-family:'DM Sans',sans-serif;font-size:12px}
.pres-tbl tr.grand td{color:#fff;font-weight:700;border-top:1px solid rgba(255,255,255,.12)}
.pres-assumptions{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.pres-assume-item{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:14px 16px;font-size:12px;color:rgba(255,255,255,.5);line-height:1.8}
.pres-assume-item strong{color:rgba(255,255,255,.75);display:block;margin-bottom:2px}

/* ── MODALS ──────────────────────────────────────────────────────────────────── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:600;display:none;align-items:center;justify-content:center}
.modal-overlay.open{display:flex}
.modal{background:var(--card);border-radius:var(--radius);box-shadow:var(--sh3);width:540px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}
.modal-export{max-width:460px}
.modal-hdr{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-lt);flex-shrink:0}
.modal-title{font-size:15px;font-weight:700;color:var(--t1)}
.icon-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;background:transparent;border:none;color:var(--t3);cursor:pointer;transition:all .15s}
.icon-btn:hover{background:var(--hdr-bg);color:var(--t2)}
.modal-body{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px}
.modal-foot{padding:14px 20px;border-top:1px solid var(--border-lt);display:flex;align-items:center;gap:10px;flex-shrink:0}
.fg{display:flex;flex-direction:column;gap:6px}.fl{font-size:12px;font-weight:600;color:var(--t2)}
.fi{height:36px;border:1.5px solid var(--border);border-radius:7px;padding:0 12px;font-size:13px;font-family:inherit;color:var(--t1);background:#fff;transition:border-color .15s}
.fi:focus{outline:none;border-color:var(--we)}.fhint{font-size:11px;color:var(--t3)}
.steps{display:flex;gap:6px;justify-content:center;margin-bottom:4px}
.step-dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.step-dot.active{background:var(--we)}.step-dot.done{background:var(--we-mid)}
.step-panel{display:none}.step-panel.active{display:block}
.cat-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;min-height:28px}
.cat-item{display:flex;align-items:center;gap:5px;padding:4px 10px;background:var(--we-lt);border:1px solid var(--we-mlt);border-radius:5px;font-size:12px;font-weight:600;color:var(--we)}
.cat-rm{background:transparent;border:none;color:var(--we);cursor:pointer;font-size:13px;padding:0;line-height:1}
.cat-add-row{display:flex;gap:8px}
.country-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.co{padding:10px;border:2px solid var(--border);border-radius:8px;font-size:13px;font-weight:500;color:var(--t2);cursor:pointer;text-align:center;transition:all .15s}
.co:hover{border-color:var(--we);color:var(--we)}.co.sel{border-color:var(--we);background:var(--we-lt);color:var(--we);font-weight:700}
.cat-price-block{border:1px solid var(--border-lt);border-radius:8px;overflow:hidden;margin-bottom:12px}
.cpb-hdr{display:flex;align-items:center;gap:7px;padding:10px 13px;background:var(--hdr-bg);font-size:12px;font-weight:700;color:var(--t1);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-lt)}
.cpb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:10px 13px}
.cpb-field{display:flex;flex-direction:column;gap:4px}.cpb-label{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.05em}
.cpb-input{height:30px;border:1px solid var(--border);border-radius:5px;padding:0 8px;font-size:12px;font-family:'DM Mono',monospace;color:var(--t1);background:#fff}
.cpb-input:focus{outline:none;border-color:var(--we)}
.flv-list{display:flex;flex-direction:column;gap:4px}
.flv-item{display:flex;align-items:center;gap:7px;padding:4px 0}
.flv-name{flex:1;font-size:12px;color:var(--t2)}.flv-rm{background:transparent;border:none;color:var(--t4);cursor:pointer;font-size:13px;padding:0}
.flv-total{font-size:11px;color:var(--t3);padding:4px 0;font-family:'DM Mono',monospace}
.flv-add-row{display:flex;gap:6px;align-items:center}
.flv-add-name{flex:1}
.btn-primary{height:36px;padding:0 18px;background:var(--we);color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}
.btn-primary:hover{background:var(--we-mid)}
.btn-secondary{height:36px;padding:0 16px;background:transparent;color:var(--t2);border:1.5px solid var(--border);border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}
.btn-secondary:hover{border-color:var(--t2);color:var(--t1)}
.btn-danger{background:var(--red);border-color:var(--red);color:#fff}
.exp-fmt-tabs{display:flex;gap:6px;margin-bottom:2px}
.exp-fmt-btn{padding:6px 14px;font-size:12px;font-weight:500;border:1.5px solid var(--border);border-radius:6px;background:var(--hdr-bg);color:var(--t2);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .15s}
.exp-fmt-btn:hover{border-color:var(--we);color:var(--we)}.exp-fmt-btn.active{background:var(--we);border-color:var(--we);color:#fff}
.exp-csv-target,.exp-scope{background:var(--hdr-bg);border-radius:8px;padding:11px 14px;border:1px solid var(--border)}
.exp-field-label{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}
.exp-radio-group{display:flex;flex-direction:column;gap:7px}
.exp-radio-group label{font-size:13px;color:var(--t2);display:flex;align-items:center;gap:7px;cursor:pointer}
.exp-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--t2);cursor:pointer;padding:3px 0}
.exp-check input[type=checkbox]{width:14px;height:14px;accent-color:var(--we)}



/* ══ VALUE CHAIN V10 ══════════════════════════════════════════════════════════ */

/* Market settings strip */
.vc-mkt-strip{display:flex;align-items:center;gap:28px;background:var(--sb-bg);border-radius:var(--radius-sm);padding:12px 20px;margin-bottom:20px;flex-wrap:wrap}
.vc-mkt-title{font-size:11px;font-weight:700;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.07em;margin-right:4px}
.vc-mkt-field{display:flex;align-items:center;gap:8px}
.vc-mkt-lbl{font-size:11px;color:rgba(255,255,255,.45);font-weight:600}
.vc-mkt-input{height:30px;width:68px;border:1.5px solid rgba(255,255,255,.15);border-radius:5px;padding:0 8px;font-size:13px;font-family:'DM Mono',monospace;font-weight:600;color:#fff;background:rgba(255,255,255,.07);text-align:right;-moz-appearance:textfield}
.vc-mkt-input::-webkit-inner-spin-button{opacity:.3}
.vc-mkt-input:focus{outline:none;border-color:var(--we-mid)}
.vc-mkt-unit{font-size:11px;color:rgba(255,255,255,.35)}
.vc-mkt-curr{font-size:15px;font-weight:700;color:#fff}

/* Category cards */
.vc-cat-card{border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;margin-bottom:14px;box-shadow:var(--sh2)}

/* Card header */
.vc-card-hdr{background:var(--card)}
.vc-hdr-main{display:flex;align-items:center;gap:16px;padding:12px 18px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-lt)}
.vc-hdr-main:hover{background:var(--hdr-bg)}
.vc-hdr-identity{display:flex;align-items:center;gap:8px;min-width:140px;flex-shrink:0}
.vc-cat-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.vc-cat-name{font-size:13px;font-weight:700;color:var(--t1)}
.vc-hdr-numbers{display:flex;align-items:center;gap:12px;flex:1}
.vc-hdr-stat{display:flex;flex-direction:column;gap:1px;min-width:80px}
.vc-hdr-stat-lbl{font-size:9px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.06em}
.vc-hdr-stat-val{font-size:12px;font-weight:700;font-family:'DM Mono',monospace;color:var(--t1)}
.vc-hdr-arrow{color:var(--t4);font-size:12px;flex-shrink:0}
.vc-hdr-vs{font-size:9px;font-weight:700;color:var(--t3);flex-shrink:0}
.vc-hdr-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.vc-expand-btn{width:26px;height:26px;border-radius:6px;border:1.5px solid var(--border);background:var(--hdr-bg);cursor:pointer;font-size:14px;color:var(--t3);display:flex;align-items:center;justify-content:center;transition:all .15s}
.vc-expand-btn:hover{border-color:var(--we);color:var(--we)}
.vc-margin-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}
.vc-margin-badge.vc-green{background:var(--we-lt);color:var(--we)}
.vc-margin-badge.vc-amber{background:var(--be-lt);color:var(--be)}
.vc-margin-badge.vc-red{background:var(--red-lt);color:var(--red)}
.vc-hdr-bar{height:6px;display:flex}
.vc-hdr-bar .vc-bar-seg{height:100%}

/* Card body */
.vc-card-body{display:none;border-top:1px solid var(--border)}
.vc-card-body.open{display:block}

/* Two columns */
.vc-detail-cols{display:grid;grid-template-columns:1fr 1fr}
.vc-col{display:flex;flex-direction:column}
.vc-col-wf{border-right:1px solid var(--border)}

/* ── THREE ROW TYPES ─────────────────────────────────────────────────────────── */

/* 1. Header row — 36px */
.vc-row-hdr{height:36px;display:flex;align-items:center;padding:0 16px;background:var(--hdr-bg);border-bottom:1px solid var(--border-lt);flex-shrink:0}
.vc-col-hdr-lbl{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.07em}

/* 2. Standard row — 40px */
.vc-row{height:40px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--border-lt);background:var(--card);gap:6px;flex-shrink:0}
.vc-row-sub{background:rgba(0,0,0,.015)}

/* 3. Highlight row — 56px */
.vc-row-hl{height:56px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--border);border-left:3px solid transparent;background:var(--card);gap:8px;flex-shrink:0}
.vc-row-hl-cif{background:var(--we-lt)!important;border-bottom:none!important}
.vc-row-hl-exw{background:var(--li-lt)!important}

/* Row content */
.vc-lbl{font-size:12px;color:var(--t2);font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vc-lbl-sub{font-size:11px;color:var(--t3);font-weight:400;padding-left:10px}
.vc-lbl-hl{font-size:12px;font-weight:700;color:var(--t1)}
.vc-hl-sub{font-size:10px;color:var(--t3);margin-top:2px;font-weight:400}
.vc-row-right{display:flex;align-items:center;gap:5px;margin-left:auto;flex-shrink:0}
.vc-val{font-size:13px;font-family:'DM Mono',monospace;color:var(--t1);margin-left:auto}
.vc-ded{font-size:12px;font-family:'DM Mono',monospace;color:var(--red);white-space:nowrap}
.vc-hl-val{font-size:18px;font-weight:700;font-family:'DM Mono',monospace;color:var(--t1);margin-left:auto;white-space:nowrap}
.vc-unit{font-size:10px;color:var(--t3);flex-shrink:0}
.vc-eq{font-size:10px;color:var(--t4);padding:0 2px;flex-shrink:0}

/* Highlight value colours */
.vc-hl-val.vc-amber{color:var(--be)}
.vc-hl-val.vc-green{color:var(--we)}
.vc-hl-val.vc-red{color:var(--red)}
.vc-val.vc-green{color:var(--we);font-weight:600}

/* Inputs */
.vc-inp-main{height:26px;width:82px;border:1.5px solid var(--border);border-radius:5px;padding:0 8px;font-size:13px;font-family:'DM Mono',monospace;color:var(--t1);background:#fff;text-align:right;-moz-appearance:textfield}
.vc-inp-main:focus{outline:none;border-color:var(--we)}
.vc-inp-pct{height:26px;width:56px;border:1.5px solid var(--border);border-radius:5px;padding:0 6px;font-size:12px;font-family:'DM Mono',monospace;color:var(--t1);background:#fff;text-align:right;-moz-appearance:textfield}
.vc-inp-pct:focus{outline:none;border-color:var(--we)}
.vc-inp-abs{height:26px;width:66px;border:1.5px solid var(--border-lt);border-radius:5px;padding:0 6px;font-size:12px;font-family:'DM Mono',monospace;color:var(--t2);background:var(--hdr-bg);text-align:right;-moz-appearance:textfield}
.vc-inp-abs:focus{outline:none;border-color:var(--we);background:#fff;color:var(--t1)}
.vc-inp-exw{height:34px;width:86px;border:2px solid var(--li);border-radius:6px;padding:0 10px;font-size:16px;font-family:'DM Mono',monospace;font-weight:700;color:var(--t1);background:#fff;text-align:right;-moz-appearance:textfield}
.vc-inp-exw:focus{outline:none;border-color:var(--li-mid)}

/* Spin button cleanup */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button{opacity:.35;height:auto}

/* Intro banner */
.vc-intro{background:var(--we-lt);border:1px solid var(--we-mlt);border-radius:var(--radius-sm);padding:10px 16px;font-size:13px;color:var(--we);margin-bottom:16px}

/* ══ VALUE CHAIN V10 ══════════════════════════════════════════════════════════ */

/* Market strip */
.vc-mkt-strip{display:flex;align-items:center;gap:28px;background:var(--sb-bg);border-radius:var(--radius-sm);padding:12px 20px;margin-bottom:18px;flex-wrap:wrap}
.vc-mkt-title{font-size:11px;font-weight:700;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.07em}
.vc-mkt-field{display:flex;align-items:center;gap:8px}
.vc-mkt-lbl{font-size:11px;color:rgba(255,255,255,.45);font-weight:600}
.vc-mkt-inp{height:30px;width:68px;border:1.5px solid rgba(255,255,255,.15);border-radius:5px;padding:0 8px;font-size:13px;font-family:'DM Mono',monospace;font-weight:600;color:#fff;background:rgba(255,255,255,.07);text-align:right;-moz-appearance:textfield}
.vc-mkt-inp:focus{outline:none;border-color:var(--we-mid)}
.vc-mkt-unit{font-size:11px;color:rgba(255,255,255,.35)}
.vc-mkt-curr{font-size:15px;font-weight:700;color:#fff}

/* Category card */
.vc-cat-card{border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;margin-bottom:14px;box-shadow:var(--sh2)}

/* ── HEADER ──────────────────────────────────────────────────────────────────── */
.vc-card-hdr{background:var(--card)}
.vc-hdr-main{display:flex;align-items:center;gap:16px;padding:13px 18px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-lt)}
.vc-hdr-main:hover{background:var(--hdr-bg)}
.vc-hdr-id{display:flex;align-items:center;gap:8px;min-width:145px;flex-shrink:0}
.vc-cat-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.vc-cat-nm{font-size:14px;font-weight:700;color:var(--t1)}
.vc-hdr-stats{display:flex;align-items:center;gap:12px;flex:1}
.vc-hdr-stat{display:flex;flex-direction:column;gap:2px;min-width:78px}
.vc-hdr-sl{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.06em}
.vc-hdr-sv{font-size:13px;font-weight:700;font-family:'DM Mono',monospace;color:var(--t1)}
.vc-hdr-arr{color:var(--t4);font-size:12px;flex-shrink:0}
.vc-hdr-vs{font-size:10px;font-weight:700;color:var(--t3);flex-shrink:0}
.vc-hdr-right{display:flex;align-items:center;gap:12px;flex-shrink:0}
/* CA margin hero in header */
.vc-hdr-margin{text-align:right}
.vc-hdr-mval{font-size:22px;font-weight:700;font-family:'DM Mono',monospace;line-height:1.1}
.vc-hdr-mlbl{font-size:10px;font-weight:700;margin-top:1px}
.vc-hdr-mval.vc-green,.vc-hdr-mlbl.vc-green{color:var(--we)}
.vc-hdr-mval.vc-amber,.vc-hdr-mlbl.vc-amber{color:var(--be)}
.vc-hdr-mval.vc-red,.vc-hdr-mlbl.vc-red{color:var(--red)}
.vc-expand-btn{width:28px;height:28px;border-radius:7px;border:1.5px solid var(--border);background:var(--hdr-bg);cursor:pointer;font-size:15px;color:var(--t3);display:flex;align-items:center;justify-content:center;transition:all .15s}
.vc-expand-btn:hover{border-color:var(--we);color:var(--we)}
.vc-margin-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}
.vc-margin-badge.vc-green{background:var(--we-lt);color:var(--we)}
.vc-margin-badge.vc-amber{background:var(--be-lt);color:var(--be)}
.vc-margin-badge.vc-red{background:var(--red-lt);color:var(--red)}
.vc-hdr-bar{height:6px;display:flex}
.vc-hdr-bar .vc-bar-seg{height:100%}

/* ── BODY ────────────────────────────────────────────────────────────────────── */
.vc-card-body{display:none;border-top:1px solid var(--border)}
.vc-card-body.open{display:block}
.vc-cols{display:grid;grid-template-columns:1fr 1fr}
.vc-col{display:flex;flex-direction:column}
.vc-col-left{border-right:1px solid var(--border)}

/* ── THREE ROW HEIGHTS ───────────────────────────────────────────────────────── */

/* 1. Header row: 36px */
.vc-r-hdr{height:36px;display:flex;align-items:center;padding:0 16px;background:var(--hdr-bg);border-bottom:1px solid var(--border-lt);flex-shrink:0}
.vc-r-hdr-lbl{font-size:11px;font-weight:700;color:var(--t2);text-transform:uppercase;letter-spacing:.06em}

/* 2. Standard row: 40px */
.vc-r-std{height:40px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--border-lt);background:var(--card);gap:6px;flex-shrink:0}
.vc-r-std:last-child{border-bottom:none}
.vc-r-result{background:var(--hdr-bg)}

/* 3. Highlight row: 56px */
.vc-r-hl{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border);border-top:1px solid var(--border);flex-shrink:0;gap:8px}
.vc-r-amber{background:rgba(184,104,0,.06);border-left:3px solid var(--be)}
.vc-r-blue{background:var(--li-lt);border-left:3px solid var(--li)}
.vc-r-green{background:var(--we-lt);border-left:3px solid var(--we)}
.vc-r-hl .vc-r-hdr-lbl{display:none}

/* Row content */
.vc-r-lbl{font-size:12px;color:var(--t2);font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vc-r-lbl-result{font-weight:700;color:var(--t1)}
.vc-r-right{display:flex;align-items:center;gap:5px;margin-left:auto;flex-shrink:0}
.vc-r-val{font-size:13px;font-family:'DM Mono',monospace;color:var(--t1);margin-left:auto;font-weight:600}
.vc-r-info{font-size:10px;color:var(--t3);margin-right:8px;white-space:nowrap}
.vc-r-ded{font-size:12px;font-family:'DM Mono',monospace;color:var(--red);white-space:nowrap;min-width:80px;text-align:right}
.vc-r-amber{color:var(--be)}
.vc-r-val.vc-green{color:var(--we)}
.vc-r-val.vc-amber{color:var(--be)}
.vc-r-val.vc-red{color:var(--red)}
.vc-val-right{font-size:13px;font-family:'DM Mono',monospace;margin-left:auto;font-weight:600}
.vc-val-right.vc-green{color:var(--we)}
.vc-val-right.vc-amber{color:var(--be)}
.vc-val-right.vc-red{color:var(--red)}
.vc-unit{font-size:10px;color:var(--t3);flex-shrink:0}
.vc-eq{font-size:10px;color:var(--t4);padding:0 2px;flex-shrink:0}

/* Highlight row content */
.vc-hl-lbl{font-size:13px;font-weight:700;color:var(--t1)}
.vc-hl-sub{font-size:10px;color:var(--t3);margin-top:2px}
.vc-hl-right{display:flex;align-items:center;gap:7px}
.vc-hl-val{font-size:20px;font-weight:700;font-family:'DM Mono',monospace;white-space:nowrap}
.vc-hl-val.vc-green{color:var(--we)}
.vc-hl-unit{font-size:11px;color:var(--t3)}

/* Inputs */
.vc-inp-hl{height:34px;width:88px;border-radius:6px;padding:0 10px;font-size:16px;font-family:'DM Mono',monospace;font-weight:700;color:var(--t1);background:#fff;text-align:right;-moz-appearance:textfield}
.vc-inp-amber{border:2px solid var(--be)}
.vc-inp-amber:focus{outline:none;border-color:var(--be-mid)}
.vc-inp-blue{border:2px solid var(--li)}
.vc-inp-blue:focus{outline:none;border-color:var(--li-mid)}
.vc-inp-pct{height:26px;width:56px;border:1.5px solid var(--border);border-radius:5px;padding:0 6px;font-size:12px;font-family:'DM Mono',monospace;color:var(--t1);background:#fff;text-align:right;-moz-appearance:textfield}
.vc-inp-pct:focus{outline:none;border-color:var(--we)}
.vc-inp-abs{height:26px;width:66px;border:1.5px solid var(--border-lt);border-radius:5px;padding:0 6px;font-size:12px;font-family:'DM Mono',monospace;color:var(--t2);background:var(--hdr-bg);text-align:right;-moz-appearance:textfield}
.vc-inp-abs:focus{outline:none;border-color:var(--we);background:#fff;color:var(--t1)}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:.35}

/* ── UNAVAILABLE MONTH CELLS ─────────────────────────────────────────────────── */
td.cell-unavail{background:var(--hdr-bg)!important;color:var(--t4)!important}
th.col-yr-next,td.col-yr-next{border-left:2px solid var(--border)!important}
th.col-cat{min-width:120px;text-align:left}
td:first-child{min-width:120px}

/* ── CHANNEL GEAR BUTTON ─────────────────────────────────────────────────────── */
.ch-name-cell{display:inline-flex;align-items:center;gap:4px}
.ch-gear-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;border:none;background:transparent;color:var(--t4);cursor:pointer;padding:0;position:relative;flex-shrink:0;transition:color .15s,background .15s}
.ch-gear-btn:hover{color:var(--we);background:var(--we-lt)}
.ch-gear-btn.has-ov{color:var(--li)}
.ch-gear-dot{position:absolute;top:1px;right:1px;width:5px;height:5px;border-radius:50%;background:var(--li);pointer-events:none}

/* ── CATEGORY GEAR BUTTON ────────────────────────────────────────────────────── */
.cat-gear-btn{position:relative;display:inline-flex;align-items:center;gap:3px;margin-left:4px;color:var(--t4)!important;transition:color .15s!important}
.cat-gear-btn:hover{color:var(--we)!important}
.cat-gear-btn.has-ov{color:var(--li)!important}
.cat-avail-badge{font-size:9px;font-weight:700;font-family:'DM Mono',monospace;color:var(--li);background:var(--li-lt);border-radius:3px;padding:0 3px;white-space:nowrap}

/* ── CHANNEL SETTINGS DIALOG ─────────────────────────────────────────────────── */
.cs-cat-row{border-bottom:1px solid var(--border-lt)}
.cs-cat-row:last-child{border-bottom:none}
.cs-cat-hdr{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--card)}
.cs-cat-name{font-size:12px;font-weight:600;color:var(--t1);flex-shrink:0}
.cs-ros-wrap{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}
.cs-ros-lbl{font-size:10px;color:var(--t3);flex-shrink:0}
.cs-ros-inp{width:52px;height:24px;border:1.5px solid var(--border);border-radius:4px;padding:0 5px;font-size:11px;font-family:'DM Mono',monospace;color:var(--t2);background:var(--hdr-bg);text-align:right;-moz-appearance:textfield}
.cs-ros-inp.overridden{border-color:var(--li);color:var(--li);background:var(--li-lt)}
.cs-ros-inp:focus{outline:none;border-color:var(--we)}
.cs-ros-reset{background:transparent;border:none;color:var(--t3);cursor:pointer;font-size:13px;padding:0 2px;transition:color .15s}
.cs-ros-reset:hover{color:var(--red)}
.cs-flv-toggle{display:flex;align-items:center;gap:4px;margin-left:8px;padding:3px 8px;border:1.5px solid var(--border);border-radius:5px;background:var(--hdr-bg);font-size:10px;font-weight:600;color:var(--t3);cursor:pointer;transition:all .15s;flex-shrink:0}
.cs-flv-toggle:hover{border-color:var(--we);color:var(--we)}
.cs-flv-toggle.has-ov{border-color:var(--li);color:var(--li);background:var(--li-lt)}
.cs-flv-body{display:none;padding:4px 16px 10px 40px;background:var(--hdr-bg);border-top:1px solid var(--border-lt)}
.cs-flv-body.open{display:block}
.cs-flv-row{display:flex;align-items:center;gap:8px;padding:5px 0}
.cs-flv-name{font-size:12px;color:var(--t2)}

/* ── CATEGORY AVAILABILITY DIALOG ────────────────────────────────────────────── */
.avail-months-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-bottom:8px}
.avail-month{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s;background:var(--hdr-bg)}
.avail-month:hover{border-color:var(--we);background:var(--we-lt)}
.avail-month.active{border-color:var(--we);background:var(--we-lt)}
.avail-month-name{font-size:11px;font-weight:600;color:var(--t3)}
.avail-month.active .avail-month-name{color:var(--we)}
.avail-month-ind{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .15s}
.avail-month.active .avail-month-ind{background:var(--we)}
.vc-arch-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-lt)}
.vc-arch-row:last-child{border-bottom:none;padding-bottom:0}
.vc-arch-cat{display:flex;align-items:center;gap:7px;min-width:130px;flex-shrink:0}
.vc-arch-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.vc-arch-name{font-size:12px;font-weight:600;color:var(--t1)}
.vc-arch-bar{flex:1;height:28px;display:flex;border-radius:5px;overflow:hidden;background:var(--border-lt)}
.vc-arch-bar .vc-bar-seg{height:100%}
.vc-arch-nums{display:flex;align-items:center;gap:12px;min-width:220px;flex-shrink:0;justify-content:flex-end}
.vc-arch-rsp{font-size:11px;color:var(--t2);font-family:'DM Mono',monospace}
.vc-arch-cif{font-size:11px;color:var(--t2);font-family:'DM Mono',monospace}
.vc-arch-m{font-size:13px;font-weight:700;font-family:'DM Mono',monospace;min-width:45px;text-align:right}
.vc-arch-m.vc-green{color:var(--we)}
.vc-arch-m.vc-amber{color:var(--be)}
.vc-arch-m.vc-red{color:var(--red)}
.vc-arch-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-lt)}
.vc-arch-legend span{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--t2)}
.vc-leg-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}
.vc-arch-legend-note{font-size:10px;color:var(--t3);margin-left:auto}

.vc-intro{background:var(--we-lt);border:1px solid var(--we-mlt);border-radius:var(--radius-sm);padding:10px 16px;font-size:13px;color:var(--we);margin-bottom:16px}

/* Customs row inline sub-label */
.vc-r-lbl-wrap{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.vc-r-sublbl{font-size:10px;color:var(--t3);font-weight:400;white-space:nowrap}
.vc-r-sublbl span{font-family:'DM Mono',monospace;color:var(--t2);font-weight:600}


/* ── WIZARD ONBOARDING ───────────────────────────────────────────────────────── */
.ob-modal-wide{width:600px}
.ob-progress-wrap{height:3px;background:var(--border-lt);border-radius:2px;margin-top:6px;overflow:hidden}
.ob-progress-bar{height:100%;background:var(--we);border-radius:2px;transition:width .35s ease}
.ob-step-label-row{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 0}
.ob-step-label{font-size:11px;font-weight:700;color:var(--we);text-transform:uppercase;letter-spacing:.07em}
.ob-step-count{font-size:11px;color:var(--t3)}
.ob-modal-body{padding:16px 20px 8px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}
/* Question title */
.ob-q{font-size:17px;font-weight:700;color:var(--t1);line-height:1.4;margin-bottom:4px}
.ob-hint{font-size:12px;color:var(--t3);line-height:1.6;margin-top:-8px}
/* Region pill grid */
.ob-region-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:4px}
.ob-region-pill{padding:14px 16px;border:2px solid var(--border);border-radius:10px;font-size:14px;font-weight:600;color:var(--t2);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:10px;background:#fff}
.ob-region-pill:hover{border-color:var(--we);color:var(--we);background:var(--we-lt)}
.ob-region-pill.sel{border-color:var(--we);background:var(--we-lt);color:var(--we)}
.ob-region-pill .ob-flag{font-size:20px}
.ob-region-pill.other{border-style:dashed}
/* Two-choice cards */
.ob-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.ob-choice-card{padding:16px;border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s;background:#fff;text-align:left}
.ob-choice-card:hover{border-color:var(--we);background:var(--we-lt)}
.ob-choice-card.sel{border-color:var(--we);background:var(--we-lt)}
.ob-choice-card-title{font-size:13px;font-weight:700;color:var(--t1);margin-bottom:3px}
.ob-choice-card-desc{font-size:11px;color:var(--t3);line-height:1.5}
/* Copy-from pills */
.ob-copy-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.ob-copy-pill{padding:8px 14px;border:2px solid var(--border);border-radius:20px;font-size:12px;font-weight:600;color:var(--t2);cursor:pointer;transition:all .15s;background:#fff}
.ob-copy-pill:hover{border-color:var(--we);color:var(--we)}
.ob-copy-pill.sel{border-color:var(--we);background:var(--we-lt);color:var(--we)}
/* FX row */
.ob-fx-row{display:flex;align-items:center;gap:12px;background:var(--hdr-bg);border:1px solid var(--border-lt);border-radius:9px;padding:14px 16px}
.ob-fx-label{font-size:13px;color:var(--t2);flex:1}
.ob-fx-currency{font-size:16px;font-weight:700;color:var(--t1)}
.ob-fx-input{width:80px;height:34px;border:1.5px solid var(--border);border-radius:6px;padding:0 10px;font-size:14px;font-family:'DM Mono',monospace;font-weight:600;color:var(--t1);text-align:right;-moz-appearance:textfield}
.ob-fx-input:focus{outline:none;border-color:var(--we)}
/* ROS per category */
.ob-ros-list{display:flex;flex-direction:column;gap:8px}
.ob-ros-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border-lt);border-radius:8px;background:#fff}
.ob-ros-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.ob-ros-name{font-size:13px;font-weight:600;color:var(--t1);flex:1}
.ob-ros-input{width:80px;height:30px;border:1.5px solid var(--border);border-radius:6px;padding:0 8px;font-size:13px;font-family:'DM Mono',monospace;text-align:right;-moz-appearance:textfield}
.ob-ros-input:focus{outline:none;border-color:var(--we)}
.ob-ros-unit{font-size:11px;color:var(--t3);white-space:nowrap}
/* Preset picker */
.ob-preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px}
.ob-preset-card{padding:14px;border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s;background:#fff}
.ob-preset-card:hover{border-color:var(--we);background:var(--we-lt)}
.ob-preset-card.sel{border-color:var(--we);background:var(--we-lt)}
.ob-preset-title{font-size:13px;font-weight:700;color:var(--t1);margin-bottom:4px}
.ob-preset-note{font-size:11px;color:var(--t3);line-height:1.5}
/* Flavor choice */
.ob-flv-list{display:flex;flex-direction:column;gap:6px}
.ob-flv-row{display:flex;align-items:center;gap:8px;background:var(--hdr-bg);border-radius:7px;padding:8px 12px}
.ob-flv-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.ob-flv-cat{font-size:12px;font-weight:600;color:var(--t2);flex:1}
.ob-flv-inp{width:120px;height:26px;border:1.5px solid var(--border);border-radius:5px;padding:0 8px;font-size:12px;color:var(--t1);background:#fff}
.ob-flv-add{background:none;border:1px solid var(--border);border-radius:5px;padding:2px 8px;font-size:11px;cursor:pointer;color:var(--t2)}
/* Summary */
.ob-summary-block{background:var(--hdr-bg);border:1px solid var(--border-lt);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.ob-summary-row{display:flex;align-items:baseline;gap:8px;font-size:13px}
.ob-summary-key{font-weight:600;color:var(--t2);min-width:130px}
.ob-summary-val{color:var(--t1);font-size:13px}
.ob-summary-copied{font-size:11px;color:var(--we);font-weight:600;margin-top:4px}
/* VC banner */
.ob-vc-banner{background:var(--li-lt);border:1px solid var(--li-mlt);border-radius:8px;padding:10px 14px;font-size:12px;color:var(--li);display:flex;align-items:center;gap:8px;cursor:pointer}
.ob-vc-banner-x{background:none;border:none;color:var(--li);cursor:pointer;font-size:16px;padding:0;margin-left:auto;line-height:1}
/* Settings modal */
.settings-section-label{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.07em;padding-bottom:4px;border-bottom:1px solid var(--border-lt)}
.settings-row{display:flex;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--border-lt)}
.settings-row:last-child{border-bottom:none}
.settings-row-title{font-size:13px;font-weight:600;color:var(--t1);margin-bottom:2px}
.settings-row-hint{font-size:11px;color:var(--t3);line-height:1.5}

/* ── CONFIGURE REGION SIDE SHEET ─────────────────────────────────────────────── */
.cfg-sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:600;display:none;justify-content:flex-end}
.cfg-sheet-overlay.open{display:flex}
.cfg-sheet{width:60vw;height:100vh;background:var(--card);display:flex;flex-direction:column;box-shadow:-4px 0 24px rgba(0,0,0,.12);transform:translateX(100%);transition:transform .25s cubic-bezier(.4,0,.2,1)}
.cfg-sheet-overlay.open .cfg-sheet{transform:translateX(0)}
.cfg-sheet-hdr{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border-lt);flex-shrink:0}
.cfg-sheet-title{font-size:16px;font-weight:700;color:var(--t1)}
.cfg-sheet-subtitle{font-size:12px;color:var(--t3);margin-top:2px}
.cfg-sheet-body{display:flex;flex:1;overflow:hidden}
/* Rail */
.cfg-rail{width:180px;flex-shrink:0;border-right:1px solid var(--border-lt);padding:12px 8px;display:flex;flex-direction:column;gap:2px;background:var(--hdr-bg)}
.cfg-rail-item{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:7px;font-size:12px;font-weight:600;color:var(--t2);cursor:pointer;transition:all .15s}
.cfg-rail-item:hover{background:var(--border-lt);color:var(--t1)}
.cfg-rail-item.active{background:var(--we-lt);color:var(--we)}
.cfg-rail-item svg{flex-shrink:0;opacity:.7}
.cfg-rail-item.active svg{opacity:1}
/* Content */
.cfg-content{flex:1;overflow-y:auto;padding:0}
.cfg-section-hdr{padding:20px 24px 8px}
.cfg-section-title{font-size:14px;font-weight:700;color:var(--t1);margin-bottom:3px}
.cfg-section-hint{font-size:12px;color:var(--t3);line-height:1.5}
.cfg-section-divider{height:1px;background:var(--border-lt);margin:16px 0}
.cfg-add-row{display:flex;align-items:center;gap:8px;padding:8px 24px 16px}
.cfg-empty{padding:16px 24px;font-size:13px;color:var(--t3);font-style:italic}
/* Entity blocks */
.cfg-entity-block{margin:0 24px 12px;border:1px solid var(--border-lt);border-radius:9px;overflow:hidden}
.cfg-entity-hdr{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--hdr-bg);border-bottom:1px solid var(--border-lt)}
.cfg-entity-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.cfg-entity-name{font-size:13px;font-weight:700;color:var(--t1);flex:1;cursor:pointer}
.cfg-entity-name:hover{color:var(--we)}
.cfg-grp-label{font-size:13px;font-weight:700;color:var(--t1);flex:1;text-transform:uppercase;letter-spacing:.04em;font-size:11px}
.cfg-grp-badge{font-size:10px;background:var(--li-lt);color:var(--li);border-radius:4px;padding:2px 6px;font-weight:600}
/* Flavor/account rows */
.cfg-flv-list{padding:8px 14px}
.cfg-flv-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--border-lt)}
.cfg-flv-row:last-of-type{border-bottom:none}
.cfg-flv-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.cfg-flv-name{font-size:12px;color:var(--t2);flex:1}
.cfg-acct-doors{font-size:11px;color:var(--t3);font-family:'DM Mono',monospace;white-space:nowrap}
.cfg-flv-add-row{display:flex;align-items:center;gap:6px;padding-top:8px}
.cfg-flv-inp{height:28px;border:1.5px solid var(--border);border-radius:5px;padding:0 8px;font-size:12px;color:var(--t1);background:#fff;flex:1;min-width:0}
.cfg-flv-inp:focus{outline:none;border-color:var(--we)}
.cfg-flv-add-btn{height:28px;padding:0 10px;border:1.5px solid var(--border);border-radius:5px;background:var(--hdr-bg);color:var(--t2);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}
.cfg-flv-add-btn:hover{border-color:var(--we);color:var(--we)}
/* Delete button */
.cfg-delete-btn{background:none;border:none;cursor:pointer;color:var(--t3);padding:3px;border-radius:4px;display:flex;align-items:center;transition:color .15s;flex-shrink:0}
.cfg-delete-btn:hover{color:#DC2626}
/* General section */
.cfg-general-grid{padding:4px 24px 8px;display:flex;flex-direction:column;gap:0}
.cfg-general-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-lt)}
.cfg-general-row:last-child{border-bottom:none}
.cfg-general-lbl{font-size:13px;font-weight:600;color:var(--t2)}
/* Propagation banner */
.cfg-propagate-banner{margin:12px 24px;padding:14px 16px;background:var(--li-lt);border:1px solid var(--li-mlt,var(--border-lt));border-radius:9px}
.cfg-prop-msg{font-size:13px;font-weight:600;color:var(--t1);margin-bottom:3px}
.cfg-prop-hint{font-size:12px;color:var(--t3);margin-bottom:10px}
.cfg-prop-actions{display:flex;gap:8px}
/* Danger button */
.btn-danger{padding:8px 16px;border-radius:7px;font-size:13px;font-weight:600;border:none;background:#DC2626;color:#fff;cursor:pointer;transition:background .15s}
.btn-danger:hover{background:#B91C1C}

/* ── SCENARIO 1 / 2 SWITCHER ─────────────────────────────────────────────────── */
.scn-toggle{display:flex;position:relative;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:3px}
.scn-slider{position:absolute;top:3px;bottom:3px;width:calc(50% - 2px);border-radius:6px;transition:transform .22s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 4px rgba(0,0,0,.25);pointer-events:none;background:#fff}
.scn-slider.s1{transform:translateX(0)}.scn-slider.s2{transform:translateX(100%)}
.scn-btn{position:relative;z-index:1;padding:6px 12px;font-size:11px;font-weight:600;border:none;border-radius:6px;cursor:pointer;font-family:inherit;background:transparent;color:rgba(255,255,255,.4);transition:color .2s;white-space:nowrap;min-width:84px;text-align:center}
.scn-btn.active{color:var(--t1)}
.scn-btn:hover:not(.active){color:rgba(255,255,255,.75)}
