:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;font-size:14px;color-scheme:light;--bg:#fff;--surface:#fff;--soft:#f7f8fb;--text:#171e2e;--muted:#81899b;--border:#eceef3;--accent:#2563eb;--positive:#159976;--negative:#dc5d68;--shadow:0 8px 35px #17284205}
:root[data-theme=gray]{--bg:#f2f3f6;--surface:#fff;--soft:#eaedf2;--border:#e1e5ec}
.card fieldset{min-width:0;margin:0;padding:16px;border:1px solid var(--border);border-radius:9px;display:grid;gap:14px}.card legend{font-size:13px;font-weight:600;padding:0 8px}#models-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-top:16px}
:root[data-theme=blue]{--bg:#f1f7ff;--surface:#fff;--soft:#e9f2ff;--border:#dce8f8}
:root[data-theme=charcoal]{color-scheme:dark;--bg:#1c1f26;--surface:#242830;--soft:#2c313c;--text:#f0f2f7;--muted:#a0a9bb;--border:#353c49;--shadow:none}
:root[data-theme=navy]{color-scheme:dark;--bg:#0e1627;--surface:#141f34;--soft:#1c2b43;--text:#edf3ff;--muted:#98a9c5;--border:#263750;--shadow:none}
.chart-tooltip{display:block;min-height:26px;font-size:10px;color:var(--muted);overflow-wrap:anywhere}.chart{touch-action:pan-y}.mobile-head button{min-width:40px;min-height:40px}
@media(max-width:760px){.statusbar [data-stream-text]{display:none}.statusbar{gap:9px!important}.page-heading{flex-wrap:wrap}button,input,select{min-height:44px}input[type=checkbox]{min-height:22px;min-width:22px}.mobile-head{gap:5px!important}.theme-choice{min-width:0;padding:7px 4px}#mobile-menu .nav{grid-template-columns:1fr 1fr}#mobile-menu .nav button{font-size:12px}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--accent)}button{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:9px 15px;border-radius:9px;transition:background .15s,transform .15s}button:hover{background:var(--soft)}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button.danger{color:var(--negative);border-color:color-mix(in srgb,var(--negative) 30%,var(--border))}button.small{padding:5px 10px;font-size:12px}button.ghost{border:0;background:none;padding:6px}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface);color:var(--text)}input[type=checkbox]{width:auto;accent-color:var(--accent)}input[type=color]{height:42px;padding:5px}textarea{min-height:100px;resize:vertical}label{display:grid;gap:7px;font-size:12px;color:var(--muted)}h1,h2,h3,p{margin:0}h1{font-size:26px;letter-spacing:-.7px;font-weight:650}h2{font-size:15px;font-weight:620}h3{font-size:13px}small,.muted{color:var(--muted)}.boot{display:grid;place-content:center;min-height:90vh;font-size:26px}.boot span{font-size:13px;color:var(--muted);margin-top:15px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:35px;height:35px}.brand strong{display:block;font-size:16px;letter-spacing:-.4px}.brand small{font-size:10px;letter-spacing:2px}.sidebar{width:224px;border-right:1px solid var(--border);position:fixed;inset:0 auto 0 0;background:var(--surface);padding:30px 19px;display:flex;flex-direction:column;z-index:10}.nav-caption{color:var(--muted);font-size:10px;letter-spacing:1.8px;margin:38px 13px 12px}.nav{display:grid;gap:5px}.nav button{text-align:left;border:0;background:none;color:var(--muted);padding:11px 14px;display:flex;gap:12px;align-items:center;font-size:13px}.nav button svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7}.nav button.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));font-weight:600}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--border);padding:20px 10px 0;display:grid;gap:12px}.user-dot{width:32px;height:32px;display:grid;place-content:center;border-radius:50%;background:var(--soft);color:var(--text);font-size:12px}.user{display:flex;align-items:center;gap:10px}.user .ghost{margin-left:auto}.shell-main{margin-left:224px}.topbar{height:75px;border-bottom:1px solid var(--border);padding:0 38px;display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;top:0;background:var(--bg);z-index:8}.crumb{font-size:12px;color:var(--muted)}.crumb span{color:var(--text);margin-left:12px}.statusbar{display:flex;align-items:center;gap:18px;font-size:11px;color:var(--muted)}.status{display:flex;align-items:center;gap:7px}.dot{width:6px;height:6px;border-radius:50%;background:var(--muted);display:inline-block}.dot.online{background:var(--positive)}.badge{padding:3px 8px;border-radius:5px;background:var(--soft);font-size:11px;color:var(--muted)}.badge.positive{background:color-mix(in srgb,var(--positive) 9%,var(--surface));color:var(--positive)}.badge.negative{background:color-mix(in srgb,var(--negative) 9%,var(--surface));color:var(--negative)}.content{padding:34px 38px 60px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.page-heading p{font-size:12px;color:var(--muted);margin-top:6px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eyebrow{color:var(--accent);text-transform:uppercase;font-size:10px;letter-spacing:2px;margin-bottom:7px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:22px;box-shadow:var(--shadow);min-width:0}.kpi-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.kpi-value{margin:14px 0 7px;font-size:29px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.kpi-value small{font-size:12px;letter-spacing:0;margin-left:5px}.kpi-bottom{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.positive{color:var(--positive)}.negative{color:var(--negative)}.grid-main{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px}.stack{display:grid;gap:22px;align-content:start}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;gap:10px}.card-head p{font-size:11px;color:var(--muted);margin-top:5px}.chart{display:block;width:100%;height:265px}.chart.market{height:380px}.legend{display:flex;gap:17px;font-size:11px;color:var(--muted)}.legend i{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--accent);margin-right:5px}.metrics{display:grid;gap:14px}.metric-row{display:flex;justify-content:space-between;gap:12px;font-size:12px}.metric-row dt{color:var(--muted)}.metric-row dd{margin:0;text-align:right;max-width:65%;overflow-wrap:anywhere}.divider{border:0;border-top:1px solid var(--border);margin:20px 0}.empty{display:grid;place-content:center;text-align:center;color:var(--muted);padding:40px 20px;font-size:12px;min-height:130px}.empty strong{color:var(--text);font-size:13px;font-weight:500;margin-bottom:8px}.table-wrap{overflow:auto;width:100%}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}th{color:var(--muted);font-size:10px;letter-spacing:.2px;font-weight:500;padding:13px 12px;border-bottom:1px solid var(--border);background:var(--soft)}td{padding:15px 12px;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}tbody tr:last-child td{border:0}.note{padding:12px 15px;border:1px solid var(--border);background:var(--soft);border-radius:9px;font-size:12px;color:var(--muted);margin-bottom:20px}.note.warning{border-left:3px solid #d6a948}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;gap:10px;margin-top:22px;align-items:center}.check{display:flex;align-items:center;gap:9px;color:var(--text);padding:8px 0}.settings-section{margin-bottom:22px}.theme-options{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:20px}.theme-choice{font-size:10px;display:grid;gap:9px;text-align:center;padding:10px 6px}.swatch{height:38px;display:block;border:1px solid #c3c9d4;border-radius:6px}.tabs{display:flex;gap:5px;flex-wrap:wrap}.tabs button{border:0;background:none;color:var(--muted);padding:7px 10px;font-size:11px}.tabs button.active{background:var(--soft);color:var(--accent)}.log-list{display:grid;gap:8px;font:11px/1.8 ui-monospace,SFMono-Regular,monospace;max-height:550px;overflow:auto}.log-line{padding:10px;border-bottom:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere}.decision{padding:15px;background:var(--soft);border-radius:9px;font-size:12px;line-height:1.8}.decision-step{display:flex;gap:12px;margin-bottom:16px;font-size:12px}.step-number{width:24px;height:24px;border:1px solid var(--border);border-radius:50%;display:grid;place-content:center;flex:none;color:var(--muted);font-size:10px}.step-copy span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.mobile-nav{display:none}.login-page{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:var(--soft);padding:65px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--border)}.login-story h1{font-size:48px;line-height:1.15;letter-spacing:-2px;max-width:430px}.login-story p{color:var(--muted);max-width:340px;margin-top:20px;font-size:14px;line-height:1.9}.story-footer{font-size:11px;color:var(--muted);display:flex;gap:25px}.login-form{padding:50px;display:grid;place-content:center}.login-box{width:min(360px,80vw)}.login-box h1{font-size:25px;margin-bottom:8px}.login-box>p{color:var(--muted);font-size:12px;margin-bottom:35px}.login-box form{display:grid;gap:20px}.password-wrap{position:relative}.password-wrap input{padding-right:52px}.password-wrap button{position:absolute;right:6px;top:5px;border:0;background:none;padding:5px}.login-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.login-footer{margin-top:30px;text-align:center;font-size:10px;color:var(--muted)}.connection-box{border-top:1px solid var(--border);margin-top:30px;padding-top:20px;display:grid;gap:12px}.connection-box input{font-size:11px}.error{font-size:12px;color:var(--negative);min-height:18px}#toast{position:fixed;bottom:25px;right:25px;max-width:420px;background:var(--text);color:var(--bg);padding:14px 20px;border-radius:10px;z-index:100;font-size:12px;box-shadow:0 12px 40px #0002}dialog{width:min(460px,90vw);border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);padding:28px;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#10182870}dialog p{margin:15px 0;color:var(--muted);font-size:13px}dialog .actions{justify-content:flex-end}.mobile-head{display:none}.pill-label{font-size:10px;letter-spacing:1px;color:var(--muted)}.number{font-variant-numeric:tabular-nums}.footer-note{font-size:10px;color:var(--muted);margin-top:25px;display:flex;justify-content:space-between;gap:10px}.skeleton{animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(min-width:1500px){.content{padding-top:42px}.kpi-value{font-size:33px}.grid-main{grid-template-columns:minmax(0,1fr) 340px}}@media(max-width:1100px){.sidebar{width:190px;padding:25px 12px}.shell-main{margin-left:190px}.content{padding:26px}.topbar{padding:0 26px}.grid-main{grid-template-columns:minmax(0,1fr) 270px;gap:15px}.card{padding:18px}.kpis{gap:12px}.kpi-value{font-size:24px}.statusbar{gap:10px}}
@media(max-width:760px){.sidebar{display:none}.shell-main{margin:0}.topbar{height:64px;padding:0 18px}.crumb{display:none}.mobile-head{display:flex;gap:8px;align-items:center;font-size:13px}.mobile-head img{width:25px;height:25px}.statusbar .desktop-only{display:none}.content{padding:22px 16px 105px}.page-heading{margin-bottom:20px}.page-heading h1{font-size:23px}.page-heading>.actions .desktop-only{display:none}.kpis{grid-template-columns:1fr 1fr;gap:11px;margin-bottom:16px}.card{border-radius:11px;padding:17px}.kpi-top{font-size:10px}.kpi-value{font-size:24px;margin-top:10px}.kpi-bottom{font-size:10px}.grid-main,.two-col{grid-template-columns:1fr;gap:16px}.stack{gap:16px}.chart{height:230px}.chart.market{height:330px}.mobile-nav{display:flex;position:fixed;inset:auto 0 0;background:var(--surface);border-top:1px solid var(--border);padding:8px 6px calc(8px + env(safe-area-inset-bottom));z-index:20;justify-content:space-around}.mobile-nav button{display:grid;place-items:center;gap:5px;border:0;background:none;font-size:9px;padding:6px 10px;color:var(--muted);min-width:52px}.mobile-nav button svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6}.mobile-nav button.active{color:var(--accent)}.form-grid{grid-template-columns:1fr}.theme-options{gap:6px}.theme-choice{font-size:9px}.theme-choice .swatch{height:30px}.tabs{gap:0}.tabs button{padding:6px 8px}.login-page{display:block}.login-story{display:none}.login-form{min-height:100dvh;padding:30px}.login-box{width:min(370px,85vw)}.login-box .brand{margin-bottom:45px}.footer-note{display:grid;gap:5px}.note{font-size:11px}.table-wrap table{font-size:11px}#toast{bottom:90px;left:16px;right:16px;max-width:none}.card-head{margin-bottom:18px}.login-footer{padding-bottom:env(safe-area-inset-bottom)}}
