:root{--bg-0: #020304;--bg-1: #06080c;--bg-2: #0c1015;--panel: #0d1218;--panel-2: #121a23;--border: #2a3340;--text: #d8dee7;--text-dim: #8d99ab;--accent: #ff9d00;--accent-soft: rgba(255, 157, 0, .18);--ok: #62c673;--warn: #ffb347;--err: #ff5b5b;--blue: #4ca3ff}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);font-family:Lucida Console,Consolas,DejaVu Sans Mono,monospace;background:radial-gradient(1200px 700px at 85% -10%,rgba(255,157,0,.06),transparent 55%),radial-gradient(900px 600px at -10% 100%,rgba(76,163,255,.06),transparent 45%),repeating-linear-gradient(0deg,rgba(255,255,255,.015),rgba(255,255,255,.015) 1px,transparent 1px,transparent 3px),var(--bg-0)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.top-strip{background:linear-gradient(180deg,#10161f,#0a0f15);border-bottom:1px solid var(--border);padding:10px 18px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.brand{color:var(--accent);font-size:18px;font-weight:700;letter-spacing:1.4px;text-shadow:0 0 10px rgba(255,157,0,.25)}.status-pill{border:1px solid;border-radius:2px;padding:2px 10px;font-size:12px;font-weight:700;text-transform:uppercase}.content-wrap{padding:14px 18px 18px;flex:1}.auth-strip{background:linear-gradient(180deg,#0f151e,#0b1118);border-bottom:1px solid var(--border);padding:8px 18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.auth-token-input{flex:1;min-width:min(380px,100%);background:#090f15;border:1px solid #2a3340;border-radius:2px;color:#d8dee7;font-size:12px;padding:7px 9px;font-family:Lucida Console,Consolas,DejaVu Sans Mono,monospace}.auth-token-input:focus{outline:none;border-color:#4ca3ff}.auth-token-btn{border:1px solid #4ca3ff;border-radius:2px;color:#4ca3ff;background:linear-gradient(180deg,#4ca3ff2e,#4ca3ff14);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:7px 10px;cursor:pointer}.auth-token-btn:disabled{opacity:.45;cursor:not-allowed}.auth-token-btn-clear{border-color:#ffb347;color:#ffb347;background:linear-gradient(180deg,#ffb34729,#ffb3470f)}.safety-bar{background:linear-gradient(180deg,#171005,#130e06);border:1px solid #514126;border-radius:2px;padding:10px 14px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.safety-label{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.8px}.main-grid{display:grid;grid-template-columns:minmax(230px,300px) minmax(340px,1fr) minmax(240px,330px);gap:12px;align-items:start}.panel{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--border);border-radius:2px;padding:14px}.panel-title{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:1px;margin:0 0 10px;text-transform:uppercase}.control-btn{width:100%;border-radius:2px;padding:9px 10px;font-size:12px;font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.4px;transition:border-color .12s ease,transform .12s ease,background-color .12s ease}.control-btn:enabled:hover{transform:translate(2px)}.map-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.coverage-bar{background:#0a0f14;border:1px solid #263141;border-radius:2px;height:10px;overflow:hidden}.map-canvas{width:100%;aspect-ratio:1 / 1;max-height:540px;background:linear-gradient(rgba(255,157,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,157,0,.05) 1px,transparent 1px),#05080d;background-size:24px 24px,24px 24px,auto;border:1px solid #313f52;border-radius:2px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.kv-line{font-size:11px;color:var(--text-dim);display:flex;gap:10px;flex-wrap:wrap}.mini-tag{border:1px solid;border-radius:2px;padding:1px 6px;font-size:11px;font-weight:700}.estop-btn{background:linear-gradient(180deg,#8f2121,#731a1a);color:#fff;border:1px solid #ff6767;border-radius:2px;padding:8px 18px;font-size:15px;font-weight:700;letter-spacing:.8px;cursor:pointer}.toast-list{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:7px}.toast-item{padding:9px 12px;border-radius:2px;cursor:pointer;color:var(--text);font-size:12px;max-width:min(360px,calc(100vw - 30px))}@media (max-width: 1100px){.main-grid{grid-template-columns:1fr 1fr}}@media (max-width: 760px){.content-wrap{padding:10px}.main-grid{grid-template-columns:1fr}.top-strip{gap:10px;padding:9px 10px}.auth-strip{padding:8px 10px}.auth-token-input{min-width:100%}.safety-bar{flex-direction:column;align-items:flex-start}}
