:root{--bg:#0b1220;--panel:#101a2e;--panel-2:#16223a;--border:#22304a;--text:#e8edf2;--text-dim:#93a1b5;--accent:#3ecbb4;--live:#f5a524;--danger:#e5484d;--radius:10px;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:Inter,-apple-system,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--sans)}a{color:var(--accent);text-decoration:none}button{background:var(--accent);color:#06251f;border:0;border-radius:var(--radius);padding:10px 16px;font-weight:600;cursor:pointer;font-family:var(--sans)}button.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}button.danger{background:var(--danger);color:#fff}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:10px 12px;width:100%;font-family:var(--sans)}label{display:block;font-size:13px;color:var(--text-dim);margin:12px 0 4px}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:24px}.auth-wrap{min-height:100dvh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:400px}.brand{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:14px;color:var(--accent)}.error{color:var(--danger);font-size:13px;margin-top:10px;min-height:1em}.mono{font-family:var(--mono)}.dim{color:var(--text-dim)}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--live);box-shadow:0 0 0 0 rgba(245,165,36,.6);animation:pulse 2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(245,165,36,0)}to{box-shadow:0 0 0 0 rgba(245,165,36,0)}}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--text-dim);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.dock{position:absolute;right:16px;bottom:16px;z-index:20;width:min(340px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.45);overflow:hidden;display:flex;flex-direction:column-reverse}.dock-header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px}.dock-chevron{color:var(--text-dim);font-size:11px;transition:transform .25s ease}.dock-body{max-height:0;overflow:hidden;transition:max-height .25s ease;padding:0 16px}.dock:focus-within .dock-body,.dock:hover .dock-body{max-height:min(70dvh,560px);overflow-y:auto;padding-top:4px}.dock:focus-within .dock-chevron,.dock:hover .dock-chevron{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.dock-body,.dock-chevron{transition:none}}.map-fallback{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:radial-gradient(ellipse at center,var(--panel-2),var(--bg))}.tabbar{display:flex;gap:8px;border-bottom:1px solid var(--border);margin-bottom:16px;flex-wrap:wrap}.tabbar button{background:none;color:var(--text-dim);border-radius:0;padding:10px 14px;border-bottom:2px solid transparent}.tabbar button.active{color:var(--text);border-bottom-color:var(--accent)}