
:root{--bg:#001f1b;--bg2:#002b26;--panel:#063d35;--panel2:#0a493f;--line:#1b5c51;--mint:#64e6c8;--teal:#00a896;--green:#00695c;--gold:#c99d47;--amber:#e1a34a;--red:#d45b52;--text:#f3f8f7;--muted:#9eb8b2;--white:#fff;--shadow:0 12px 30px rgba(0,0,0,.22);}
*{box-sizing:border-box} html,body{height:100%;margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);overflow:hidden}
body{display:grid;grid-template-columns:190px 1fr;grid-template-rows:76px 1fr}
.header{grid-column:1/3;display:flex;align-items:center;padding:10px 26px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#001b17,#00332c);z-index:5}
.logo{height:56px;width:auto;object-fit:contain;margin-right:22px}
.header-title{font-size:21px;font-weight:700;color:var(--gold);letter-spacing:.2px}
.header-sub{font-size:11px;color:var(--muted);margin-top:3px}
.header-right{margin-left:auto;display:flex;gap:12px;align-items:center}
.filter{border:1px solid #6c7249;border-radius:7px;padding:9px 12px;color:var(--text);background:#052d27;font-size:11px;min-width:150px}
.update{font-size:10px;color:var(--muted)}
.nav{grid-row:2;background:#062e28;border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:8px}
.nav button{border:0;background:transparent;color:#9db8b2;display:flex;align-items:center;gap:11px;padding:12px 11px;border-radius:8px;font-size:12px;text-align:left;cursor:pointer;transition:.2s}
.nav button:hover,.nav button.active{color:var(--white);background:#0a493f;box-shadow:inset 3px 0 var(--gold)}
.nav .icon{width:22px;height:22px;border:1px solid currentColor;border-radius:5px;display:grid;place-items:center;font-size:11px}
.nav-footer{margin-top:auto;color:#79958f;font-size:9px;line-height:1.45;padding:10px}
.main{grid-column:2;grid-row:2;overflow:auto;padding:18px 22px 26px;background:radial-gradient(circle at 92% 8%,rgba(0,168,150,.10),transparent 28%),var(--bg)}
.page{display:none;min-height:calc(100vh - 120px)} .page.active{display:block}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 13px}
.page-title{font-size:22px;font-weight:700} .page-kicker{color:var(--gold);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;margin-bottom:5px}
.page-note{max-width:650px;color:var(--muted);font-size:11px;line-height:1.5;text-align:right}
.journey{display:grid;grid-template-columns:1fr 38px 1fr 38px 1fr;align-items:center;margin-bottom:14px}
.journey-card{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:10px 14px;min-height:58px}
.journey-card strong{font-size:11px;color:var(--gold);display:block;margin-bottom:4px} .journey-card span{font-size:11px;color:#d9e8e5}
.arrow{text-align:center;color:var(--gold);font-size:24px}
.grid{display:grid;gap:13px} .g4{grid-template-columns:repeat(4,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:linear-gradient(145deg,var(--panel),#04342d);border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.card::after{content:"";position:absolute;right:-48px;top:-55px;width:120px;height:120px;border:1px solid rgba(100,230,200,.10);border-radius:50%;box-shadow:0 0 0 12px rgba(100,230,200,.035),0 0 0 28px rgba(100,230,200,.02)}
.card-title{font-size:11px;font-weight:700;color:var(--gold);margin-bottom:10px;position:relative;z-index:1} .card-sub{font-size:9.5px;color:var(--muted);margin-top:-6px;margin-bottom:8px;position:relative;z-index:1}
.kpi{min-height:105px} .kpi .label{font-size:10px;color:var(--gold)} .kpi .value{font-size:28px;font-weight:700;margin:8px 0 3px;letter-spacing:-.7px} .kpi .foot{font-size:9px;color:var(--muted);line-height:1.35}
.signal-high{border-top:3px solid var(--red)} .signal-medium{border-top:3px solid var(--amber)} .signal-good{border-top:3px solid var(--mint)}
.callout{border-left:4px solid var(--gold);background:#0a443b;padding:13px 16px;border-radius:8px;font-size:12px;line-height:1.55;margin:14px 0}
.callout strong{color:var(--gold)}
.chart{height:310px;position:relative;z-index:1} .chart.sm{height:250px} .chart.lg{height:360px}
.decision-list{display:grid;gap:8px;position:relative;z-index:1} .decision{display:grid;grid-template-columns:88px 1fr;gap:10px;border-bottom:1px solid rgba(255,255,255,.08);padding:8px 0;font-size:10.5px;line-height:1.45} .decision:last-child{border:0} .decision b{color:var(--gold)}
.cohort{display:flex;align-items:center;gap:18px} .equation{font-size:18px;font-weight:700;color:var(--mint)} .cohort .step{font-size:10px;color:var(--muted)}
.table-wrap{overflow:auto;position:relative;z-index:1} table{border-collapse:collapse;width:100%;font-size:9.5px} th{text-align:left;background:#00584e;color:var(--white);padding:8px;border-bottom:1px solid #2b7065;position:sticky;top:0} td{padding:7px 8px;border-bottom:1px solid rgba(255,255,255,.08);color:#dbe9e6} tr:hover td{background:rgba(100,230,200,.05)} .pill{display:inline-block;padding:3px 7px;border-radius:999px;font-size:8.5px;font-weight:700} .p-high{background:rgba(212,91,82,.20);color:#ff9991} .p-medium{background:rgba(225,163,74,.18);color:#f3c978} .p-selective{background:rgba(100,230,200,.15);color:var(--mint)}
.bench-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} .bench-card{background:#063d35;border:1px solid var(--line);border-radius:11px;padding:12px 14px} .bench-head{display:flex;justify-content:space-between;gap:8px;align-items:start} .bench-name{font-size:11px;font-weight:700} .bench-assess{font-size:9px;font-weight:700;color:#ffaaa4} .bench-scale{position:relative;height:52px;margin:10px 4px 2px} .bench-line{position:absolute;left:0;right:0;top:22px;height:5px;background:linear-gradient(90deg,#0b7567 0 25%,#1c9c89 25% 50%,#d1a348 50% 75%,#a74f49 75%);border-radius:4px;opacity:.85} .tick{position:absolute;top:15px;width:1px;height:19px;background:#dfece9} .tick-label{position:absolute;top:35px;transform:translateX(-50%);font-size:7.5px;color:#a9c0bb} .actual-marker{position:absolute;top:9px;transform:translateX(-50%);width:14px;height:14px;background:var(--gold);border:2px solid white;border-radius:50%;box-shadow:0 0 0 3px rgba(201,157,71,.25)} .actual-label{position:absolute;top:-3px;transform:translate(-50%,-100%);font-size:8px;font-weight:700;color:white;white-space:nowrap} .bench-note{font-size:9px;color:var(--muted);line-height:1.35;margin-top:8px} .bench-meta{font-size:8px;color:#83a39c;margin-top:5px}
.matrix{display:grid;grid-template-columns:140px 1fr 1fr;gap:1px;background:#1b5c51;border:1px solid #1b5c51;border-radius:8px;overflow:hidden} .matrix>div{background:#063d35;padding:10px;font-size:9.5px;line-height:1.4} .matrix .mh{background:#00584e;font-weight:700;color:#fff} .matrix .mr{font-weight:700;color:var(--gold)}
.select{background:#052e28;border:1px solid #51776f;color:white;padding:7px 10px;border-radius:6px;font-size:10px}
.timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;position:relative} .timeline::before{content:"";position:absolute;left:5%;right:5%;top:19px;height:2px;background:#3b786e} .tl{position:relative;padding-top:38px;font-size:9px;color:#d9e8e5;line-height:1.4} .tl::before{content:"";position:absolute;top:10px;left:12px;width:18px;height:18px;border-radius:50%;background:var(--gold);border:3px solid #07392f;z-index:2} .tl strong{display:block;color:var(--gold);margin-bottom:3px}
.gauge{height:18px;background:#164e45;border-radius:10px;position:relative;margin:14px 0} .gauge .range{position:absolute;left:36%;width:28%;top:0;bottom:0;border-radius:10px;background:linear-gradient(90deg,var(--gold),var(--amber))} .gauge .current{position:absolute;right:0;top:-6px;width:3px;height:30px;background:#fff} .gauge-labels{display:flex;justify-content:space-between;font-size:8px;color:var(--muted)}
.action-table td:nth-child(2),.action-table td:nth-child(3){white-space:nowrap}
.footer-note{font-size:8px;color:#718f88;margin-top:11px;line-height:1.5}
.validation{background:linear-gradient(90deg,rgba(0,105,92,.25),rgba(201,157,71,.12));border:1px dashed #7f8d61;border-radius:9px;padding:12px;font-size:10px;line-height:1.5}
@media(max-width:1050px){body{grid-template-columns:68px 1fr} .nav button span:last-child{display:none} .nav-footer{display:none} .g4{grid-template-columns:repeat(2,1fr)} .bench-grid{grid-template-columns:1fr}}

.startup-status{position:fixed;inset:0;display:grid;place-items:center;background:#001f1b;color:#c99d47;font:700 16px Arial,sans-serif;z-index:99999;letter-spacing:.2px}
.startup-status.error{padding:30px;text-align:center;color:#fff;background:#4b1715;line-height:1.5}
