:root{
  --tb:46px;--bg:#050507;--panel:#0a0a0d;--panel2:#0f0f13;--chart:#030305;
  --line:#1a1a20;--line2:#252530;--text:#c8c8d0;--muted:#505060;--dim:#33333c;
  --green:#00ff88;--red:#ff3b5c;--amber:#f5a623;--cyan:#00d4ff;
  --grid:#1a1a20;--font:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace
}
body.light{
  --bg:#f4f6f9;--panel:#fff;--panel2:#eef2f6;--chart:#fbfcfe;
  --line:#e2e8ee;--line2:#cbd6df;--text:#1f2937;--muted:#64748b;--dim:#a5b2bf;
  --green:#047857;--red:#c2415b;--amber:#a16207;--cyan:#0369a1;--grid:#e2e8ee
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg)}
body{min-height:100vh;background:var(--bg);color:var(--text);font:12px var(--font)}
body:not(.light):before{content:"";position:fixed;inset:0;z-index:999;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.018) 3px,rgba(0,0,0,.018) 4px)}

/* top bar */
.topbar{height:var(--tb);display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:0 14px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:300}
.topbar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,255,136,.4) 40%,rgba(0,212,255,.2) 70%,transparent)}
body.light .topbar:before{display:none}
.tb-left,.tb-context,.tb-actions,.live{display:flex;align-items:center;min-width:0}
.tb-left{gap:12px}.tb-context{gap:12px}.tb-actions{gap:8px}
.tb-actions:before{content:"";width:1px;height:20px;background:var(--line2);margin-right:4px}
.brand{display:flex;align-items:center;gap:9px;min-width:0;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:1.7px;white-space:nowrap;text-decoration:none}
.brand strong{font-size:12px;letter-spacing:2.6px;color:var(--green)}.brand small{display:none}.brand span{overflow:hidden;text-overflow:ellipsis}
.menu-toggle{display:none;flex-direction:column;gap:4px;padding:6px;background:none;border:0;cursor:pointer}
.menu-toggle span{display:block;width:18px;height:1.5px;background:var(--muted)}
.account-switch{height:27px;display:flex;align-items:center;border:1px solid var(--line2);background:var(--bg);color:var(--muted);white-space:nowrap}
.account-switch>span{padding:0 7px;font-size:7px;letter-spacing:1.3px;border-right:1px solid var(--line2)}
.account-switch select{height:25px;min-width:118px;max-width:190px;border:0;outline:0;background:var(--bg);color:var(--text);font:8px var(--font);letter-spacing:.7px;padding:0 24px 0 8px;cursor:pointer}
.live{gap:6px;color:var(--muted);font-size:9px;letter-spacing:1.5px;white-space:nowrap}
.dot,.nav-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green)}
.dot.stale,.nav-dot.stale,.nav-dot.unavailable{background:var(--red)}.nav-dot.pending{background:var(--dim)}
.tbtn,.controls button{background:none;border:1px solid var(--line2);color:var(--muted);font:8px var(--font);letter-spacing:1.2px;padding:5px 10px;cursor:pointer;white-space:nowrap}
.tbtn:hover,.controls button:hover{color:var(--text);border-color:var(--muted)}
.clock{color:var(--muted);font-size:10px;letter-spacing:1px;white-space:nowrap}

/* shell + sidebar */
.app-shell{display:flex;min-height:calc(100vh - var(--tb))}
.sidebar{width:216px;flex:0 0 216px;display:flex;flex-direction:column;height:calc(100vh - var(--tb));position:sticky;top:var(--tb);overflow-y:auto;background:var(--panel);border-right:1px solid var(--line)}
.sidebar-title{padding:12px 16px 8px;color:var(--dim);font-size:8px;letter-spacing:3px}.sidebar-title.account-title{margin-top:8px;border-top:1px solid var(--line)}
.side-nav{display:flex;flex-direction:column}.side-nav a{min-height:39px;display:flex;align-items:center;gap:9px;padding:0 16px;border-top:1px solid var(--line);color:var(--muted);font-size:9px;letter-spacing:1.5px;text-decoration:none;position:relative;white-space:nowrap}
.side-nav a:last-child{border-bottom:1px solid var(--line)}.side-nav a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px}.side-nav a:hover{background:rgba(128,128,140,.05);color:var(--text)}
.side-nav a.active{color:var(--cyan);background:rgba(0,212,255,.06)}.side-nav a.active:before{background:var(--cyan)}
body.light .side-nav a.active{background:rgba(3,105,161,.07)}
.account-nav a.active{color:var(--green);background:rgba(0,255,136,.06)}.account-nav a.active:before{background:var(--green)}body.light .account-nav a.active{background:rgba(4,120,87,.07)}
.side-nav small{margin-left:auto;color:var(--dim);font-size:7px;letter-spacing:.3px}.nav-dot{flex:none}
.sidebar-foot{margin-top:auto;padding:14px 16px;border-top:1px solid var(--line);color:var(--dim);font-size:8px;letter-spacing:1px;line-height:1.9}.sidebar-foot b{color:var(--amber);font-weight:500}
.sidebar-overlay{display:none;position:fixed;inset:var(--tb) 0 0;background:rgba(0,0,0,.52);z-index:255}
.dashboard-main{flex:1;min-width:0;margin:0 0 28px;background:var(--bg)}

/* stat tiles */
.stats,.overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.stat{min-width:0;padding:13px 16px;background:var(--panel)}
.eyebrow{margin-bottom:7px;color:var(--muted);font-size:8px;letter-spacing:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-value{color:var(--green);font-size:20px;font-weight:700;letter-spacing:-.5px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-value.dark-value{color:var(--text)}.stat-value.missing{color:var(--dim)}.stat-value.amber{color:var(--amber)}.stat-value.status-value{font-size:14px;letter-spacing:.3px;color:var(--cyan);line-height:20px}
.stat-detail{margin-top:5px;color:var(--muted);font-size:8px;letter-spacing:.4px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status-line{padding:7px 16px;color:var(--muted);background:var(--panel);border-bottom:1px solid var(--line);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* panels + charts */
.panel{background:var(--bg);border-bottom:1px solid var(--line)}
.panel-head{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 12px;background:var(--panel);border-bottom:1px solid var(--line);color:var(--muted);font-size:9px;letter-spacing:1.4px;flex-wrap:wrap}
h1,h2{margin:0;color:var(--muted);font-size:9px;font-weight:500;letter-spacing:1.4px}
.controls,.group,.daily-legend{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.separator{display:block;width:1px;height:14px;margin:0 4px;background:var(--line2)}
.controls button{padding:4px 8px}.controls button.selected{color:var(--cyan);border-color:rgba(0,212,255,.45);background:rgba(0,212,255,.08)}.controls [data-metric].selected{color:var(--green);border-color:rgba(0,255,136,.45);background:rgba(0,255,136,.06)}
body.light .controls button.selected{background:rgba(3,105,161,.08)}body.light .controls [data-metric].selected{background:rgba(4,120,87,.08)}
.chart-box{height:330px;min-height:0;position:relative;padding:12px;background:var(--chart)}.daily-box{height:230px}.plot{position:relative;width:100%;height:100%}.plot canvas{position:absolute;inset:0}.plot #chart{pointer-events:none}.plot #crosshair{cursor:crosshair}canvas{display:block;width:100%;height:100%}
.empty{position:absolute;inset:0;display:grid;place-items:center;background:var(--panel);color:var(--muted)}.empty[hidden],.tooltip[hidden]{display:none}
.tooltip{position:absolute;z-index:3;padding:7px 9px;pointer-events:none;background:var(--panel);color:var(--text);border:1px solid var(--line2);box-shadow:0 4px 16px rgba(0,0,0,.18);font:10px var(--font);white-space:nowrap}
.chart-foot{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--panel);color:var(--muted);font-size:8px;line-height:1.5}.daily-legend{gap:13px;color:var(--muted);font-size:8px;letter-spacing:1px}.daily-legend span{white-space:nowrap}.swatch{display:inline-block;width:8px;height:8px;margin-right:5px;vertical-align:-1px}.swatch.up{background:#059669}.swatch.down{background:#c2415b}

/* account overview */
.overview-main{background:var(--bg)}.overview-header{min-height:92px;display:flex;align-items:center;padding:18px 24px;background:var(--panel);border-bottom:1px solid var(--line)}.overview-header .eyebrow{color:var(--green);margin-bottom:8px}.overview-header h1{font-size:20px;font-weight:700;letter-spacing:1px;color:var(--text)}.overview-header p{margin-top:7px;color:var(--muted);font-size:9px}
.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.account-panel-head{margin-top:12px}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;background:var(--line)}
.account-card{display:block;min-width:0;padding:18px 20px;background:var(--panel);color:inherit;text-decoration:none;border-left:2px solid transparent}.account-card:hover{background:var(--panel2);border-left-color:var(--green)}.account-card.pending{opacity:.72}
.card-top,.card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.card-index{color:var(--dim);font-size:8px;letter-spacing:1.5px}.status-pill{padding:3px 7px;color:var(--green);border:1px solid rgba(0,255,136,.35);font-size:8px}.status-pill.stale,.status-pill.unavailable{color:var(--red);border-color:rgba(255,59,92,.35)}.status-pill.pending{color:var(--muted);border-color:var(--line2)}
.card-name{margin:17px 0 8px;color:var(--text);font-size:13px;font-weight:700}.card-value{color:var(--green);font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-card.pending .card-value{color:var(--dim)}.card-unit{margin-top:5px;color:var(--muted);font-size:8px;letter-spacing:1px}.card-foot{margin-top:18px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:8px}.card-arrow{color:var(--green);font-size:15px}.overview-disclaimer{padding:10px 16px;color:var(--muted);background:var(--panel);border-bottom:1px solid var(--line);font-size:8px;line-height:1.6}

/* login */
.login-body{min-height:100vh;display:grid;place-items:center}.login{width:min(390px,calc(100vw - 28px));padding:28px;background:var(--panel);border:1px solid var(--line)}.login h1{margin:20px 0;color:var(--text);font-size:15px}.login label{display:block;margin-bottom:7px;color:var(--muted);font-size:10px}.login input{width:100%;padding:10px;background:var(--bg);color:var(--text);border:1px solid var(--line2);font:inherit}.login button{width:100%;margin-top:11px;padding:8px;background:none;color:var(--green);border:1px solid var(--line2);font:10px var(--font);cursor:pointer}.login p{margin-top:10px;color:var(--muted);font-size:10px}

@media(max-width:920px){
  .menu-toggle{display:flex}.sidebar{position:fixed;left:-218px;top:var(--tb);z-index:260;transition:left .18s ease}.sidebar.open{left:0}.sidebar-overlay.show{display:block}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.account-grid{grid-template-columns:1fr}.stat-value{font-size:17px}.chart-box{height:260px;padding:8px}.daily-box{height:200px}
}
@media(min-width:521px) and (max-width:920px){
  :root{--tb:62px}.topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:22px 27px;align-content:center;column-gap:8px;row-gap:3px;padding:0 10px}.tb-left{grid-column:1;grid-row:1}.tb-context{grid-column:1;grid-row:2}.tb-actions{grid-column:2;grid-row:2}.tb-actions:before{display:none}.sidebar-overlay{inset:var(--tb) 0 0}
}
@media(max-width:520px){
  :root{--tb:42px}.topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:6px;padding:0 8px}.tb-left{gap:4px}.menu-toggle{padding:4px}.brand strong,.brand span{display:none}.brand small{display:block;color:var(--green);font-size:9px;letter-spacing:.4px}.tb-context{min-width:0;gap:5px}.live{order:-1;flex:0 0 6px}.live>span{display:none}.account-switch{width:100%;max-width:160px;height:28px}.account-switch>span{display:none}.account-switch select{width:100%;height:26px;min-width:0;max-width:none;padding:0 20px 0 6px;text-overflow:ellipsis}.tb-actions{gap:4px}.tb-actions:before,.clock{display:none}.tbtn{min-height:28px;padding:3px 7px}.tb-actions #themeBtn{display:none}
  .stat{padding:10px 12px}.eyebrow{margin-bottom:5px}.status-line{padding:7px 10px}.chart-foot{padding:7px 10px;gap:8px;flex-direction:column}.overview-header{min-height:74px;padding:14px 12px}.overview-header h1{font-size:16px}.overview-stats{grid-template-columns:1fr}.account-grid{grid-template-columns:1fr}.account-card{padding:15px 14px}.account-panel-head>span{display:none}
}
@media(max-width:360px){.topbar{padding-left:6px;padding-right:6px}.tbtn{padding-left:5px;padding-right:5px;letter-spacing:.8px}.controls button{padding:4px 5px}.stat{padding:10px}}
