:root{
  --bg:#041116;--panel:#081b22;--panel2:#0c232c;--line:#173942;--text:#effcff;--muted:#7fa1aa;
  --mint:#54efb8;--cyan:#3fd9ff;--yellow:#ffd43b;--orange:#ff9418;--red:#ff334b;--sea:#0b7386;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:radial-gradient(circle at 50% 10%,#0d3440 0,#06171d 35%,#041116 70%)}
.app-shell{height:100vh;display:grid;grid-template-rows:74px 1fr 42px}
.topbar{display:flex;align-items:center;padding:0 18px;border-bottom:1px solid var(--line);background:rgba(3,18,24,.94);backdrop-filter:blur(16px);z-index:20}
.brand{display:flex;align-items:center;gap:11px;min-width:270px}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,var(--mint),#34cfa0);color:#04261b;font-weight:950;box-shadow:0 0 25px rgba(84,239,184,.18)}
.brand-title{font-size:18px;font-weight:850;letter-spacing:-.03em}.brand-title span{font-size:10px;color:var(--mint);border:1px solid rgba(84,239,184,.35);padding:2px 5px;border-radius:6px;vertical-align:3px;margin-left:4px}
.brand-sub{font-size:9px;color:var(--muted);letter-spacing:.16em;margin-top:2px}
.top-stats{display:flex;gap:8px;margin:auto}.mini-stat{height:44px;min-width:76px;border:1px solid var(--line);border-radius:11px;padding:6px 10px;background:#0a1d24}.mini-stat span{display:block;font-size:8px;color:var(--muted);letter-spacing:.13em}.mini-stat strong{font-size:19px;line-height:20px}.mini-stat.danger strong{color:var(--red)}
.system-state{display:flex;align-items:center;gap:9px;min-width:170px;justify-content:flex-end}.system-state strong,.system-state small{display:block;text-align:right}.system-state strong{font-size:10px;letter-spacing:.12em}.system-state small{font-size:8px;color:var(--muted);margin-top:2px}.pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 0 rgba(255,212,59,.6);animation:pulse 1.8s infinite}.system-state.ok .pulse-dot{background:var(--mint)}.system-state.bad .pulse-dot{background:var(--red)}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(84,239,184,0)}100%{box-shadow:0 0 0 0 rgba(84,239,184,0)}}
.workspace{min-height:0;display:grid;grid-template-columns:300px minmax(0,1fr) 330px}
.panel{background:rgba(6,24,31,.97);padding:13px;overflow:auto}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line)}
.panel-head{display:flex;align-items:end;justify-content:space-between;padding:6px 5px 12px}.panel-head small,.hero-card small{font-size:8px;letter-spacing:.16em;color:var(--mint)}.panel-head h2,.hero-card h2{margin:2px 0 0;font-size:18px}.count-pill{background:#12323d;color:var(--mint);padding:4px 9px;border-radius:999px;font-size:11px}
.rider-list{display:grid;gap:8px}.rider-card{position:relative;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,#0c242c,#081c23);padding:11px 12px;overflow:hidden}.rider-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--status,var(--mint))}.rider-top{display:flex;justify-content:space-between;gap:10px}.rider-name{font-weight:850;font-size:14px}.rider-id{font-size:9px;color:var(--muted);margin-top:1px}.status-chip{font-size:9px;font-weight:800;border-radius:999px;padding:4px 7px;background:rgba(84,239,184,.11);color:var(--status,var(--mint));height:max-content}.rider-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.rider-stat{background:#07171d;border-radius:8px;padding:6px}.rider-stat span{display:block;font-size:7px;color:var(--muted);text-transform:uppercase}.rider-stat strong{font-size:11px}
.section-title{font-size:10px;color:#cfe5ea;font-weight:800;letter-spacing:.12em;margin:18px 4px 9px}.section-title.with-line{margin:0 0 10px;display:flex;align-items:center;gap:8px}.section-title.with-line:after{content:"";height:1px;background:var(--line);flex:1}
.alert-card{border:1px solid rgba(255,51,75,.35);background:rgba(255,51,75,.09);border-radius:12px;padding:10px;margin-bottom:7px}.alert-card strong{font-size:12px;color:#ff8190}.alert-card span{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.empty-state{border:1px dashed var(--line);border-radius:12px;padding:20px;color:var(--muted);font-size:10px;text-align:center}.empty-state.compact{padding:11px}
.base-card{display:flex;gap:10px;align-items:center;margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#091d24}.base-card-icon{font-size:26px;color:var(--cyan)}.base-card small,.base-card strong{display:block}.base-card small{font-size:7px;color:var(--muted);letter-spacing:.15em}.base-card strong{font-size:12px;margin-top:2px}
.map-wrap{position:relative;min-width:0;overflow:hidden;background:#0c313b}#map{position:absolute;inset:0}.leaflet-container{background:#0a2932}.map-badge{position:absolute;z-index:700;background:rgba(3,18,24,.86);border:1px solid rgba(95,213,238,.3);backdrop-filter:blur(12px);border-radius:12px;padding:10px 12px}.map-badge.top-left{top:12px;left:12px}.map-badge .eyebrow{display:block;font-size:7px;color:var(--cyan);letter-spacing:.18em}.map-badge strong{font-size:12px}
.legend{position:absolute;z-index:700;bottom:40px;left:12px;display:flex;gap:8px;background:rgba(3,18,24,.88);border:1px solid var(--line);border-radius:11px;padding:8px 10px;font-size:8px}.legend span{display:flex;align-items:center;gap:4px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.green{background:var(--mint)}.yellow{background:var(--yellow)}.orange{background:var(--orange)}.red{background:var(--red)}
.wallboard-note{position:absolute;z-index:700;right:12px;bottom:40px;color:#b7dbe2;background:rgba(3,18,24,.82);border:1px solid var(--line);border-radius:9px;padding:7px 9px;font-size:7px;letter-spacing:.12em}
.hero-card,.leaderboard-card,.event-card{border:1px solid var(--line);border-radius:14px;background:linear-gradient(150deg,#0c242d,#071920);padding:13px;margin-bottom:10px}.hero-card{background:radial-gradient(circle at top right,rgba(63,217,255,.12),transparent 45%),linear-gradient(150deg,#0d2832,#071920)}.hero-value{font-size:46px;font-weight:950;letter-spacing:-.06em;color:var(--cyan);margin-top:12px}.hero-value span{font-size:13px;color:var(--muted);letter-spacing:0}.hero-name{font-size:10px;color:var(--muted)}
.leader-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;border-bottom:1px solid #13323a;padding:8px 2px}.leader-row:last-child{border:0}.rank{font-size:13px;font-weight:900;color:var(--muted)}.leader-row:first-child .rank{color:var(--yellow)}.leader-name{font-size:11px;font-weight:750}.leader-value{font-size:15px;font-weight:900;color:var(--cyan)}.leader-value small{font-size:8px;color:var(--muted)}
.future-card{border:1px dashed #21515c;border-radius:10px;padding:10px;background:#071a20}.future-card strong,.future-card span{display:block}.future-card strong{font-size:11px;color:#bcebf4}.future-card span{font-size:8px;line-height:1.45;color:var(--muted);margin-top:4px}
.event-list{display:grid;gap:6px;max-height:210px;overflow:hidden}.event-item{border-left:2px solid var(--cyan);background:#071920;padding:7px 8px;border-radius:0 8px 8px 0}.event-item strong{display:block;font-size:9px}.event-item span{font-size:8px;color:var(--muted)}
.ticker-bar{display:grid;grid-template-columns:130px 1fr 92px;align-items:center;background:#020d11;border-top:1px solid var(--line);overflow:hidden}.ticker-label{height:100%;display:flex;align-items:center;padding-left:16px;background:linear-gradient(90deg,var(--mint),#3ad5d9);color:#03251e;font-weight:950;font-size:10px;letter-spacing:.1em;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%)}.ticker-window{overflow:hidden;white-space:nowrap}.ticker-track{display:inline-block;padding-left:100%;font-size:10px;font-weight:800;letter-spacing:.08em;color:#cce8ee;animation:ticker 28s linear infinite}.clock{text-align:center;color:var(--cyan);font-family:ui-monospace,monospace;font-size:11px}@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media(max-width:1050px){.workspace{grid-template-columns:260px 1fr}.right-panel{display:none}.top-stats{display:none}} 
@media(max-width:720px){html,body{overflow:auto}.app-shell{height:auto;min-height:100vh;display:block}.topbar{height:68px}.workspace{display:block}.left-panel{border:0}.map-wrap{height:65vh}.right-panel{display:block}.ticker-bar{position:sticky;bottom:0;height:42px}.system-state{min-width:auto}.system-state div{display:none}}
