@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{--bg:#0b1016;--panel:#121920;--panel2:#171f28;--line:#26313b;--muted:#8e9ba9;--text:#e7edf3;--accent:#d3fc80;--red:#f58c85;--green:#72ccb2;--blue:#83a9f1;--mono:'IBM Plex Mono',monospace;--sans:'Noto Sans SC',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent)}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--line);padding:32px 18px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;background:#0e141b}.brand{display:flex;gap:12px;align-items:center;font-family:var(--mono);font-size:25px;font-weight:600;padding:0 12px}.brand small{display:block;font:12px var(--sans);color:var(--muted);letter-spacing:2px;margin-top:0}.brand-mark{background:var(--accent);color:#162517;width:40px;height:40px;display:grid;place-content:center;border-radius:11px;font-size:26px;font-weight:600}.brand-mark>span{display:none}.workspace-label{font:11px var(--mono);letter-spacing:1.6px;color:#73808d;margin:48px 13px 15px;display:flex;justify-content:space-between}.workspace-label span{color:#4c5967}.nav{border:0;background:transparent;color:#a3afbb;display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border-radius:7px;margin:4px 0;font-size:14px;text-align:left}.nav>span:first-child{font-size:19px;width:22px;text-align:center}.nav:hover{background:#1a232b}.nav.active{color:var(--accent);background:#233023}.nav-count{margin-left:auto;background:#354333;border-radius:4px;font:12px var(--mono);padding:1px 5px}.sidebar-bottom{margin-top:auto;padding:20px 10px 0}.freeze-stamp{display:flex;gap:11px;align-items:center;font-size:12px;color:var(--muted)}.freeze-stamp strong{display:block;color:#c4d0d7;font:12px var(--mono);margin-top:4px}.lock{font-size:24px;color:var(--accent)}.sidebar-bottom p{font-size:12px;color:#758491;margin:18px 0}.sidebar-bottom a{font-size:13px;color:#a3afbb;display:flex;justify-content:space-between}.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;font-size:13px}.crumb{color:var(--muted)}.crumb span{margin:0 14px;color:#43505d}.crumb b{font-weight:400;color:#dce4ec}.topbar-right{display:flex;align-items:center;gap:18px}.timezone{font-size:12px;color:var(--muted)}.mono{font-family:var(--mono)}.icon-button{width:32px;height:32px;background:transparent;border:1px solid var(--line);border-radius:6px;font-size:20px;line-height:1}.content{padding:30px 34px 18px;max-width:1700px;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.eyebrow{color:var(--muted);font:11px var(--mono);letter-spacing:1.5px}h1{font-size:29px;font-weight:500;letter-spacing:.3px;margin:4px 0 5px;display:flex;align-items:center;gap:14px}.version{font:12px var(--mono);color:var(--accent);border:1px solid #3f5034;background:#192419;border-radius:4px;padding:2px 7px}.page-heading p{color:var(--muted);font-size:14px;margin:5px 0 0}.heading-actions{display:flex;gap:10px;align-items:center}.button{background:var(--panel2);border:1px solid #35434f;border-radius:6px;padding:9px 15px;font-size:14px;white-space:nowrap;font-weight:500}.button:hover{border-color:#6a7b8b}.button.primary{background:var(--accent);color:#172315;border-color:var(--accent)}.button.primary:hover{background:#e2ffa9}.button.ghost{background:transparent}.button span{margin-left:12px}select,input{background:#10171e;color:var(--text);border:1px solid #34414d;border-radius:6px;padding:9px 11px;font-size:14px;min-width:0}select{max-width:100%}.notice{display:flex;align-items:center;gap:10px;font-size:13px;color:#bac7d4;padding:11px 15px;border:1px solid #334035;background:#161f1a;border-radius:6px;margin-bottom:22px}.notice .text-button{margin-left:auto;white-space:nowrap}.notice-symbol{border:1px solid #6e8459;color:var(--accent);font:12px var(--mono);width:17px;height:17px;display:grid;place-content:center;border-radius:50%;flex-shrink:0}.notice.error{border-color:#72564b;background:#261b18}.notice.error .notice-symbol{color:#eeb998;border-color:#956d53}.text-button{background:none;border:0;color:#acbece;font-size:13px;padding:2px 0}.text-button:hover{color:var(--accent)}.page{display:none}.page.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:20px}.metric{padding:19px 22px;background:var(--panel);border:1px solid var(--line);border-radius:9px;position:relative}.metric:first-child{border-top:2px solid var(--accent);padding-top:18px}.metric-label{color:#a4b1be;font-size:13px}.metric-value{font:27px var(--mono);letter-spacing:-1.1px;margin:10px 0 11px;color:#f0f3f6;white-space:nowrap}.metric-value small{font:13px var(--sans);letter-spacing:0;margin-left:7px;color:var(--muted)}.metric-bottom{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.metric-bottom strong{font:12px var(--mono);color:#c3d6a5}.positive{color:var(--red)!important}.negative{color:var(--green)!important}.overview-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(290px,1fr);gap:20px;margin-bottom:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;overflow:hidden;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:21px 23px 15px;gap:15px}h2{font-size:16px;font-weight:500;margin:4px 0 0}h3{font-size:15px;font-weight:500}.panel-heading p{font-size:13px;color:var(--muted);margin:7px 0 0}.segmented{display:flex;border:1px solid var(--line);padding:3px;border-radius:6px;flex-shrink:0}.segmented button{font-size:12px;background:none;border:0;color:#8291a0;padding:3px 9px;border-radius:3px}.segmented button.selected{background:#2d3741;color:#e6edf4}.chart-legend{display:flex;align-items:center;gap:19px;padding:2px 24px 8px;font-size:12px;color:#aebbc7;flex-wrap:wrap}.chart-legend label{display:flex;align-items:center;gap:6px;cursor:pointer}.chart-legend input{accent-color:var(--accent);width:12px;height:12px;padding:0;margin:0}.legend-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.legend-dot.baseline{background:#829bd3}.chart-legend>span{margin-left:auto;color:var(--muted);font-size:11px}.chart{height:255px;position:relative;margin:0 14px}.chart svg{width:100%;height:100%;overflow:visible;touch-action:none}.chart .chart-empty{height:100%;display:grid;place-content:center;color:var(--muted);font-size:14px;text-align:center}.chart-empty small{font-size:12px;color:#657381;display:block}.chart-tooltip{position:absolute;pointer-events:none;z-index:2;background:#202b36;border:1px solid #516170;color:#e7eef3;padding:10px 12px;font:12px var(--mono);border-radius:5px;box-shadow:0 6px 20px #0006;white-space:nowrap}.chart-tooltip b{color:var(--accent);display:block;margin-top:5px}.chart-bottom{display:flex;justify-content:space-between;border-top:1px solid #202b34;padding:12px 23px;font:11px var(--mono);color:var(--muted)}.badge{font-size:11px;padding:3px 7px;border:1px solid #394856;border-radius:4px;color:#b6c6d7;white-space:nowrap}.badge.good{color:var(--accent);background:#202b1e;border-color:#44513a}.badge.warn{color:#efc590;background:#31291f;border-color:#6b5337}.wave-list{padding:0 23px}.wave{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #25303a;font-size:13px}.wave .wave-name{width:58px}.wave .wave-window{font:11px var(--mono);color:var(--muted)}.wave-spark{flex:1;height:5px;background:#29343c;border-radius:3px;overflow:hidden;max-width:80px;margin-left:auto}.wave-spark i{display:block;height:100%;background:var(--accent);min-width:2px}.wave strong{font:14px var(--mono);min-width:69px;text-align:right}.route-allocation{display:flex;gap:8px;padding:17px 23px 0}.route-chip{flex:1;background:#1c252d;border-radius:5px;padding:7px 10px;font:11px var(--mono);color:var(--muted)}.route-chip b{display:block;font-size:15px;color:var(--text);font-weight:500;margin-top:2px}.panel-note{font-size:12px;color:var(--muted);line-height:1.8;margin:16px 23px 19px}.lower-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(290px,1fr);gap:20px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px;white-space:nowrap}th{font-weight:400;color:#8998a6;font-size:12px;background:#151e27;padding:11px 20px}td{padding:15px 20px;border-bottom:1px solid #222e38;font-family:var(--mono);font-size:13px}tr:last-child td{border-bottom:none}td.symbol{font-family:var(--sans);color:#e7edf3}td.symbol small{display:block;color:var(--muted);font:11px var(--mono)}tr.clickable{cursor:pointer}tr.clickable:hover{background:#1b2630}.table-empty{padding:46px 20px;text-align:center;color:var(--muted);font-size:14px}.table-empty span{display:block;color:#607080;font-size:12px;margin-top:7px}.subtle{color:var(--muted);font-size:13px}.panel h2>.subtle{font:12px var(--mono);margin-left:8px}.timeline{padding:0 23px 18px}.timeline-item{position:relative;padding:0 0 20px 23px;border-left:1px solid #34414c;margin-left:3px}.timeline-item:last-child{padding-bottom:0;border-color:transparent}.timeline-item:before{position:absolute;content:'';width:7px;height:7px;border-radius:50%;background:#738393;left:-4px;top:6px;box-shadow:0 0 0 4px var(--panel)}.timeline-item:first-child:before{background:var(--accent)}.timeline-item time{font:11px var(--mono);color:#8b9baa}.timeline-item p{font-size:13px;margin:3px 0;color:#c6d3df}.timeline-item small{color:#7f919f;font-size:11px;display:block}.info-strip{padding:16px 2px;color:var(--muted);font-size:13px}.search{display:flex;align-items:center;gap:8px}.search input{width:190px;font-size:13px}.decision-selector{display:flex;gap:15px;align-items:center;margin-bottom:20px;font-size:14px}.decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.decision-stat{padding:20px}.decision-stat>span{font-size:12px;color:var(--muted)}.decision-stat strong{display:block;font:21px var(--mono);margin-top:8px}.decision-stat p{color:var(--muted);font-size:12px;margin-bottom:0}.decision-section{margin-bottom:20px}.rule-panel{margin-top:20px}.rule-flow{display:grid;grid-template-columns:repeat(4,1fr);padding:6px 24px 22px;gap:25px}.rule-flow article{border-left:1px solid #34443e;padding-left:16px}.rule-flow b{font:12px var(--mono);color:var(--accent)}.rule-flow h3{margin:8px 0}.rule-flow p{font-size:13px;color:var(--muted);margin:0}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.data-grid form{padding:3px 23px 16px}.data-grid form>label,.field-row label{display:flex;flex-direction:column;gap:8px;font-size:13px;margin-bottom:16px}.data-grid input{width:100%;padding:10px}.data-grid small{color:var(--muted);font-size:12px}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.divider{height:1px;background:var(--line);margin:0 23px 20px}.check-list{margin:5px 23px 20px}.check{display:flex;gap:10px;align-items:baseline;border-bottom:1px solid #24303a;padding:10px 0;font-size:13px}.check .check-icon{color:var(--accent)}.check.warn .check-icon{color:#e2b783}.check span:last-child{margin-left:auto;color:var(--muted);font-size:12px;text-align:right}.warmup-dates{background:#19242b;border:1px solid #2c3e46;border-radius:6px;padding:13px;font:12px var(--mono);color:#c0d1da;margin-bottom:18px;line-height:2}.warmup-dates b{color:var(--accent)}.progress-track{height:5px;border-radius:3px;background:#2a3741;margin:15px 0 8px;overflow:hidden}.progress-track>div{background:var(--accent);height:100%;width:0;transition:width .4s}.data-status{margin-top:20px}.health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 23px 22px}.health-item{border-left:2px solid #3c4d57;padding-left:12px}.health-item span{display:block;color:var(--muted);font-size:12px}.health-item strong{font-size:13px;font-weight:400;overflow-wrap:anywhere}.health-log{margin:0 23px 22px;padding:14px;background:#0e151c;font:12px/1.9 var(--mono);color:#a7b7c3;max-height:240px;overflow:auto;white-space:pre-wrap}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #26313b;margin-top:28px;padding-top:16px;color:#697987;font-size:11px}footer>span:first-child{font-family:var(--mono)}dialog{background:var(--panel);color:var(--text);border:1px solid #40515e;border-radius:12px;max-width:700px;width:calc(100% - 40px);padding:24px;max-height:85vh}dialog::backdrop{background:#03080dcc;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.modal-grid dt{font-size:12px;color:var(--muted)}.modal-grid dd{margin:4px 0 0;font-family:var(--mono);font-size:15px;overflow-wrap:anywhere}.modal-note{border-top:1px solid var(--line);padding-top:15px;margin-top:20px;color:var(--muted);font-size:13px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#293b34;border:1px solid #658162;border-radius:7px;color:#e2efd5;box-shadow:0 10px 30px #0008;max-width:90vw;font-size:14px;z-index:20}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.content{padding-top:35px}.chart{height:300px}.metric-value{font-size:32px}.wave{padding:13px 0}}@media(max-width:1200px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.content{padding:25px 22px}.topbar{padding:0 22px}.metric{padding:16px}.metric-value{font-size:23px}.metric:first-child{padding-top:15px}.overview-grid,.lower-grid{grid-template-columns:minmax(0,1.5fr) minmax(275px,1fr)}.chart-legend{gap:10px}.chart-legend>span{display:none}th,td{padding-left:14px;padding-right:14px}.heading-actions{align-self:flex-end}}@media(max-width:980px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:25px 10px}.brand{padding:0 6px}.brand>span:last-child,.workspace-label,.sidebar-bottom,.nav-count{display:none}.nav{font-size:0;justify-content:center;padding:13px 0}.nav>span:first-child{font-size:23px}.sidebar nav{margin-top:35px}.metric-grid{gap:10px}.metric-value{font-size:21px}.metric-bottom{font-size:11px}.overview-grid,.lower-grid{grid-template-columns:1fr}.wave-list{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.wave{flex-wrap:wrap}.wave strong{margin-left:auto}.wave-spark{display:none}.route-allocation{padding-top:12px}.timeline{display:flex;gap:25px;flex-wrap:wrap}.timeline-item{flex:1;min-width:140px;border:0}.timeline-item:before{display:none}.timeline-item{padding-left:0}.data-grid{grid-template-columns:1fr}}@media(max-width:690px){.app-shell{display:block}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:15px 15px 0;display:block}.brand{font-size:20px;gap:10px;padding:0}.brand>span:last-child{display:block}.brand small{display:none}.brand-mark{width:30px;height:30px;font-size:21px;border-radius:7px}.sidebar nav{margin-top:12px;display:flex;gap:4px;overflow:auto}.nav{width:auto;padding:10px 11px;font-size:12px;white-space:nowrap;margin:0;border-radius:5px 5px 0 0}.nav>span:first-child{display:none}.topbar{height:45px;padding:0 16px;font-size:11px}.topbar-right{gap:10px}.timezone{display:none}.content{padding:23px 15px 15px}.page-heading{display:block;margin-bottom:18px}h1{font-size:25px}.heading-actions{margin-top:18px;justify-content:space-between}.heading-actions select{flex:1}.notice{font-size:12px;align-items:flex-start}.notice .text-button{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-value{font-size:24px}.metric-bottom{font-size:11px;flex-wrap:wrap}.panel-heading{padding:18px 17px 13px}.chart-legend{padding-left:18px;font-size:11px}.chart{margin:0 6px;height:230px}.segmented button{padding:3px 7px}.wave-list{grid-template-columns:repeat(2,1fr);padding:0 18px}.wave strong{font-size:13px}.route-allocation{padding-left:18px;padding-right:18px}.decision-grid{grid-template-columns:1fr}.rule-flow{grid-template-columns:1fr 1fr;gap:25px}.health-grid{grid-template-columns:1fr 1fr}.field-row{grid-template-columns:1fr}.page-heading p{font-size:13px}.search input{width:130px}footer{flex-wrap:wrap;font-size:10px}footer>span:last-child{display:none}.decision-selector{gap:8px;flex-wrap:wrap}.modal-grid{grid-template-columns:1fr 1fr}.metric-value small{font-size:11px}.timeline-item{flex-basis:45%}}

.capital-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;padding:3px 0 15px;border-bottom:1px solid var(--line)}.capital-actions .subtle{font-size:12px}.capital-actions .button{font-size:13px}.capital-pulse{outline:2px solid var(--accent)}@media(max-width:690px){.heading-actions{flex-wrap:wrap}#capital-shortcut{font-size:12px;padding:9px}.capital-actions{align-items:flex-start}}

.market-strip{display:flex;gap:16px;margin:0 0 24px;padding:16px 20px;border:1px solid var(--border,#293540);border-radius:12px;background:var(--panel,#131a22);align-items:center;flex-wrap:wrap}.market-status{min-width:240px;display:grid;gap:6px}.market-status b{font-size:15px;color:var(--lime,#d3fc80)}.market-status span,.market-quote span{font-size:13px;color:var(--muted,#a4b6c5)}.market-status small,.market-quote small{font-size:12px;color:var(--muted,#a4b6c5)}.market-quote{display:grid;gap:5px;flex:1;min-width:120px;border-left:1px solid var(--border,#293540);padding-left:18px}.market-quote b{font-family:var(--mono,monospace);font-size:20px}.market-empty{font-size:14px;color:var(--muted,#a4b6c5)}

.display-lower{margin-top:20px;grid-template-columns:1fr}.chart-panel{margin-bottom:20px}.chart-tooltip{position:absolute;pointer-events:none;background:#19232e;border:1px solid #415366;border-radius:7px;padding:11px 14px;color:#dce7f1;font-size:12px;z-index:2;box-shadow:0 8px 25px #0006}.chart-tooltip b{display:block;margin:5px 0;color:#d3fc80;font-family:var(--mono)}.chart svg{width:100%;height:100%}.page-heading>.badge{align-self:center}.notice[role=status]{min-height:48px}
