:root{color-scheme:dark;--bg:#080e1a;--panel:#101c2d;--panel2:#15243a;--border:#26354c;--muted:#99acc6;--text:#eff4fd;--mint:#62e7bc;--red:#f28092;--gold:#f2c06a;--blue:#89aafa;--shadow:0 20px 50px #0002}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 system-ui,-apple-system,'Segoe UI',Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:3px}#app{min-height:100vh;display:flex}.sidebar{width:250px;flex:0 0 250px;background:#0d1728;border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;padding:23px 14px}.brand{display:flex;align-items:center;gap:12px;padding:7px 11px 30px}.brand b{font-size:21px;letter-spacing:-.7px}.brand b span{color:var(--mint);margin-inline-start:3px}.brand small{display:block;color:#7890aa;letter-spacing:2px;font-size:9px;margin-top:-5px}.logo{background:#153b3a;border:1px solid #2d6561;color:var(--mint);border-radius:15px;width:43px;height:43px;display:grid;place-items:center;font-size:29px}.navlabel{font-size:10px;color:#8090a8;letter-spacing:1.2px;padding:0 14px 8px}nav{display:grid;gap:5px}nav button{display:flex;gap:12px;align-items:center;text-align:right;width:100%;padding:11px 13px;color:#a8bad2;background:transparent;border:1px solid transparent;border-radius:11px}nav button span{font-size:18px;min-width:20px;text-align:center}nav button:hover{background:#17273a}nav button.active{border-color:#236356;background:#173331;color:#eafff8}.sidebar-bottom{margin-top:auto;display:flex;gap:8px;align-items:center;padding:14px;color:#b5cadf;border-top:1px solid var(--border);flex-wrap:wrap;font-size:12px}.sidebar-bottom small{display:block;width:100%;padding-inline-start:17px;color:#758ba5}.online-dot{width:8px;height:8px;border-radius:50%;background:var(--mint)}.main-area{flex:1;min-width:0}.topbar{height:76px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#0d1624}.crumb{font-size:11px;letter-spacing:1.1px;color:#7c91ac}.crumb span{color:#e4eaf3;letter-spacing:0}.top-actions{display:flex;gap:16px;align-items:center}.avatar{border:1px solid #395273;background:#1f3450;color:#cbddfb;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-weight:700}.pill{display:inline-flex;align-items:center;gap:7px;font-size:11px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);color:#b8d7e8;background:#172538;white-space:nowrap}.pill.amber{color:#f4c67e;border-color:#66522d;background:#332817}.pill.green{color:#83edc7;background:#15362d;border-color:#28634d}.pill.blue{color:#bacdfb;background:#1b3150;border-color:#34517c}main{max-width:1420px;margin:0 auto;padding:30px 36px 42px}.hero{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--mint);font-weight:700}.hero h1{font-size:29px;margin:5px 0;line-height:1.3;letter-spacing:-.7px}.hero p{color:var(--muted);margin:5px 0}.btn{border:1px solid #42617a;border-radius:10px;background:#19324a;color:#f7fbff;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:9px}.btn:hover{background:#234461}.btn.primary{background:#1c6d5d;border-color:#368c73}.btn.primary:hover{background:#25816e}.btn.secondary{background:transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}.card{background:linear-gradient(160deg,#132237,#101a2b);border:1px solid var(--border);border-radius:15px;padding:20px;box-shadow:var(--shadow);min-width:0}.card.soft{background:#0f1a2a}.kpi-label{color:#94a9c6;font-size:12px}.kpi-value{font-weight:750;font-size:28px;direction:ltr;text-align:right;line-height:1.5;margin-top:5px;font-variant-numeric:tabular-nums}.kpi-sub{font-size:11px;color:var(--muted)}.mint{color:var(--mint)}.red{color:var(--red)}.gold{color:var(--gold)}.muted{color:var(--muted)}.section{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.section h2{font-size:17px;margin:0}.section small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.stack{display:grid;gap:18px}.chart-shell{background:#0c1727;border-radius:12px;padding:14px;border:1px solid #25334a;min-height:210px}.chart-shell svg{display:block;width:100%;height:auto;max-height:260px}.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:#9cafc9}.legend:before{content:'';display:inline-block;background:var(--mint);width:7px;height:7px;border-radius:100%;align-self:center}.minirows{display:grid;gap:7px}.minirow{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#112139;padding:12px;border:1px solid #22344d;border-radius:10px}.minirow b{font-size:13px}.minirow small{display:block;color:#8297b4}.ticker{direction:ltr;display:inline-block;font-weight:750;letter-spacing:.4px;color:#ddecff}.minirow .meta{font-size:11px;color:var(--mint)}.minirow button{background:none;border:none;color:inherit;text-align:inherit;flex:1}.lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lane-card{background:var(--panel);padding:18px;border-radius:13px;border:1px solid var(--border)}.lane-icon{font-size:22px;color:var(--mint)}.lane-card b{display:block;font-size:14px;margin-top:10px}.lane-card p{margin:3px 0 12px;color:var(--muted);font-size:12px}.lane-card .count{font-size:23px;font-weight:750}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:12px}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:right}th,td{padding:13px 15px;border-bottom:1px solid #203148}th{font-size:11px;color:#94a9c3;background:#16263a;font-weight:600}td{font-size:12px}tr:last-child td{border-bottom:none}tbody tr:hover{background:#16283d}.table-btn{color:var(--mint);border:0;background:none;font-weight:700;padding:4px}.score-dot{border-radius:50px;background:#16392f;color:var(--mint);padding:4px 9px;font-size:11px}.cols{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.agent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.agent{border:1px solid var(--border);border-radius:12px;background:#101e30;padding:15px}.agent-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.agent-title{font-weight:700}.agent p{font-size:12px;color:#a6bad2;margin-bottom:0;min-height:44px}.agent .found{color:var(--mint);font-size:11px}.agent .miss{color:#8198b4;font-size:11px}.notice{background:#292416;border:1px solid #5d4a27;border-radius:11px;color:#edd19a;padding:13px;font-size:12px}.notice.blue{background:#152840;border-color:#37516b;color:#b5d1f4}.notice.red{background:#3a202b;border-color:#773b4f;color:#ffd4db}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:4px 8px;background:#1b334c;border:1px solid #2b506e;border-radius:6px;color:#c3e2ff;font-size:10px}.portfolio-list{display:grid;gap:10px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.input-label{font-size:11px;color:#98aec8;display:block;margin-bottom:6px}input,select{background:#0b1828;border:1px solid #35516c;color:#f5f9ff;border-radius:9px;width:100%;padding:11px 12px}input:focus,select:focus{border-color:var(--mint)}.stat-inline{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--border)}.stat-inline:last-child{border-bottom:0}.empty{border:1px dashed #34465e;padding:28px;text-align:center;border-radius:13px;color:#a8bdd3}.learning-card{display:flex;gap:15px;align-items:flex-start;border-bottom:1px solid var(--border);padding:15px 0}.learning-card:last-child{border:0}.learning-card .num{color:var(--mint);font-size:24px;font-weight:750}.learning-card strong{display:block}.learning-card small{color:#91a9c5}.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.news-card{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:18px}.news-card h3{font-size:14px;margin:12px 0}.news-card p{font-size:12px;color:var(--muted)}.model-status{display:grid;gap:10px}.statusline{display:flex;align-items:center;gap:10px;padding:14px;background:#102039;border-radius:10px;border:1px solid #213955;justify-content:space-between}footer{text-align:center;color:#71849c;font-size:11px;padding:20px;border-top:1px solid #1e2d42}#toast{position:fixed;bottom:24px;left:24px;z-index:100;background:#214436;border:1px solid #3d7962;color:#d7ffec;padding:13px 20px;box-shadow:var(--shadow);border-radius:9px;max-width:350px;display:none}#toast.show{display:block}#mobile-menu{display:none;background:none;border:0;color:var(--text);font-size:23px}.up{color:var(--mint)}.down{color:var(--red)}.action-spread{justify-content:space-between}.subhead{font-size:15px;margin:0 0 13px}.spacer{height:16px}code{color:#b6d4f8;direction:ltr;unicode-bidi:embed}@media(max-width:1050px){.sidebar{width:211px;flex-basis:211px}.kpis{grid-template-columns:repeat(2,1fr)}main{padding:25px 22px}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:760px){#app{display:block}.sidebar{position:fixed;z-index:20;right:0;top:0;transform:translateX(103%);transition:transform .22s;box-shadow:0 0 30px #0008;width:270px}.sidebar.open{transform:translateX(0)}.topbar{height:64px;padding:0 16px}#mobile-menu{display:block}.crumb{display:none}.hero h1{font-size:23px}main{padding:21px 14px 32px}.kpis{gap:10px}.card{padding:15px}.kpi-value{font-size:22px}.dashboard-grid,.cols,.news-grid{grid-template-columns:1fr}.lanes{grid-template-columns:repeat(2,1fr)}.agent-grid{grid-template-columns:1fr}.top-actions{margin-inline-start:auto}.pill{font-size:10px}.hero{align-items:flex-start}.form-row{grid-template-columns:1fr}footer{font-size:10px}.sidebar-bottom{margin-top:auto}}@media(max-width:420px){.lanes{grid-template-columns:1fr 1fr}.top-actions .avatar{display:none}.card{padding:13px}.kpi-value{font-size:20px}}

/* v0.2 design refresh: compact primary navigation and accessible compute settings */
.top-settings{background:transparent;border:1px solid var(--border);border-radius:10px;color:var(--text);padding:8px 12px}
.top-settings:hover{background:#1a2b42}
.compute-options{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.compute-options button[aria-pressed="true"]{outline:1px solid var(--mint)}
@media(max-width:560px){.top-settings{font-size:11px;padding:6px 8px}.top-actions{gap:6px}.crumb{font-size:10px}.compute-options .btn{width:100%}}

/* iPhone PWA: safe-area insets, touch targets and accessible navigation. */
@supports (padding: env(safe-area-inset-top)) {
  .topbar {padding-top:env(safe-area-inset-top);height:calc(76px + env(safe-area-inset-top));padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));}
  .sidebar {padding-top:calc(23px + env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);}
  main {padding-bottom:calc(42px + env(safe-area-inset-bottom));}
  #toast {bottom:calc(24px + env(safe-area-inset-bottom));}
  @media(max-width:760px) {.topbar{height:calc(64px + env(safe-area-inset-top));}.sidebar{height:100dvh;}}
}
.nav-backdrop[hidden]{display:none!important}
@media(max-width:760px) {
  .nav-backdrop:not([hidden]) {display:block;position:fixed;inset:0;border:0;background:#0009;z-index:19;width:100%;height:100%;}
  .sidebar {max-width:min(84vw,320px);}
  .sidebar nav button {min-height:44px;}
  #mobile-menu,.top-settings {min-width:44px;min-height:44px;}
  input,select {font-size:16px;min-height:44px;}
  .btn {min-height:44px;}
  .table-wrap {overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;}
  .main-area {overflow-x:clip;}
}

/* Operational metrics are real D1 metadata; trading cards below remain DEMO. */
.server-panel{margin-bottom:18px;border-color:#2e6f66}
.server-panel .section{flex-wrap:wrap}
.server-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:9px;margin:13px 0}
.server-metric{background:#0f2931;border:1px solid #2a5659;border-radius:11px;padding:11px 13px}
.server-metric b{display:block;font-size:21px;color:#a8f5d7;line-height:1.35;font-variant-numeric:tabular-nums}
.server-metric span{font-size:11px;color:#bbd2da}
.server-caption{font-size:12px;margin-top:12px;line-height:1.8}
.server-footnote{font-size:11px;margin:13px 0 0;color:#a7bdd0}
