:root{--bg:#0b0c0e;--panel:#121417;--accent:#ff5a1f;--fail:#e5383b;--healthy:#1d9e75;--battery:#ef9f27;--base:#534ab7;--text:#fff;--label:#8a8f98;--line:#1f2328;--controls-w:300px;--metrics-w:320px;--header-h:48px;--bottom-h:200px;--gap:8px;color:var(--text);background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;margin:0;overflow:hidden}.app{grid-template-columns:var(--controls-w) minmax(0, 1fr) var(--metrics-w);grid-template-rows:var(--header-h) minmax(0, 1fr) var(--bottom-h);gap:var(--gap);height:100vh;padding:var(--gap);grid-template-areas:"header header header""controls map metrics""bottom bottom bottom";display:grid}.header{background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-area:header;align-items:center;gap:16px;min-width:0;padding:0 16px;display:flex}.header h1{white-space:nowrap;margin:0;font-size:14px;font-weight:600}.header .badge{letter-spacing:.08em;text-transform:uppercase;color:var(--battery);border:1px solid var(--battery);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:11px}.header .spacer{flex:1}.header button{font:inherit;color:var(--text);border:1px solid var(--line);cursor:default;background:0 0;border-radius:6px;padding:6px 12px;font-size:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.panel-controls{grid-area:controls}.panel-map{grid-area:map}.panel-metrics{grid-area:metrics}.panel-bottom{grid-area:bottom}.panel-body{flex:1;min-height:0;padding:12px;overflow-y:auto}.label{letter-spacing:.12em;text-transform:uppercase;color:var(--label);font-size:10px}.section{border-bottom:1px solid var(--line);padding:8px 0}.section:last-child{border-bottom:none}.section .hint{color:var(--label);margin-top:4px;font-size:11px}.map-placeholder{color:var(--label);text-align:center;flex:1;place-items:center;padding:16px;font-size:12px;display:grid}.tabs{border-bottom:1px solid var(--line);gap:4px;padding:6px 8px;display:flex}.tabs button{font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--label);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 10px;font-size:11px}.tabs button[aria-selected=true]{color:var(--text);border-color:var(--accent)}
