:root{--bg:#0a0a0a;--panel:#141414;--panel2:#1f1f1f;--hairline:#ffffff1a;--hairline2:#ffffff26;--text:#fff;--text-dim:#ffffffb3;--text-mute:#ffffff73;--green:#0c4;--cyan:#0dd;--blue:#6aa9ff;--amber:#ffb020;--orange:#f90;--red:#ff3b30;--active:#ffffff26;--sans:"B612", system-ui, sans-serif;--mono:"B612 Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);min-width:1280px;font-size:14px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}h1,h2{margin:0}table{border-collapse:collapse}.mono{font-family:var(--mono)}.mute{color:var(--text-mute)}.small{font-size:12px}.label{letter-spacing:.12em;color:var(--text-dim);margin:16px 0 8px;font-size:12px;font-weight:700}.empty{color:var(--text-mute);padding:12px}.center{place-items:center;display:grid}.splash{text-align:center;height:100%;color:var(--text-dim);place-content:center;gap:12px;display:grid}.splash a{color:var(--cyan)}.splash button,.blocking button{border:1px solid var(--hairline2);letter-spacing:.1em;padding:8px 18px}.console{flex-direction:column;height:100%;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--hairline);align-items:center;gap:20px;padding:8px 16px;display:flex}.brand{letter-spacing:.12em;font-weight:700}.brand,.tab,.badge,.zone,.user,.signout{white-space:nowrap}.tabs{flex:1;gap:4px;display:flex}.tab{letter-spacing:.1em;color:var(--text-dim);border-radius:2px;padding:6px 12px;font-size:12px}.tab.on{background:var(--active);color:var(--text)}.zone{color:var(--text-mute);font-size:12px}.user{color:var(--text-dim);font-size:12px}.signout{letter-spacing:.1em;color:var(--text-mute);font-size:12px}.signout:hover{color:var(--text)}.badge{letter-spacing:.1em;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.badge-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.badge-time{color:var(--text-mute);letter-spacing:0;font-weight:400;font-family:var(--mono)}.badge-live{color:var(--green)}.badge-connecting,.badge-reconnecting{color:var(--amber)}.badge-stale{color:var(--orange)}.badge-error{color:var(--red)}.content{flex:1;min-height:0;overflow:auto}.content.stale{opacity:.45;filter:grayscale(.6)}.freshness{font-family:var(--mono);padding:8px 16px}.freshness-stale{background:var(--orange);color:#000;font-size:15px;font-weight:700}.freshness-reconnecting{background:var(--panel2);color:var(--amber);border-bottom:1px solid var(--hairline);padding:4px 16px;font-size:12px}.session-notice{background:var(--panel2);color:var(--amber);font-family:var(--mono);border-bottom:1px solid var(--hairline);padding:4px 16px;font-size:12px}.blocking{z-index:10;background:#000000bf;place-items:center;display:grid;position:fixed;inset:0}.blocking>div{background:var(--panel);border:1px solid var(--red);gap:12px;max-width:520px;padding:24px 32px;display:grid}.blocking h2{color:var(--red)}.three-pane{grid-template-columns:280px 1fr 360px;height:100%;display:grid}.rail{background:var(--panel);border-right:1px solid var(--hairline);padding:8px;overflow:auto}.chips{gap:4px;margin-bottom:8px;display:flex}.chip{letter-spacing:.08em;border:1px solid var(--hairline2);color:var(--text-dim);border-radius:2px;padding:4px 8px;font-size:11px}.chip.on{background:var(--active);color:var(--text)}.incident{text-align:left;border:1px solid var(--hairline);border-radius:3px;width:100%;margin-bottom:4px;padding:8px;display:block}.incident.sel{background:var(--active)}.incident-name{font-weight:700}.sweep-list{border-bottom:1px solid var(--hairline2);margin-bottom:12px;padding-bottom:8px}.sweep-list .label{color:var(--amber);margin-top:4px}.tag{letter-spacing:.08em;color:var(--amber);border:1px solid var(--amber);vertical-align:middle;border-radius:2px;padding:0 4px;font-size:10px;font-weight:700;display:inline-block}.board{padding:16px 20px;overflow:auto}.board-header h1{font-size:24px}.hazards{color:var(--amber);margin-top:6px}.deleted{color:var(--red);margin-top:12px;font-weight:700}.freqs{gap:6px;margin-top:12px;display:flex}.freq{background:var(--panel2);border-radius:2px;flex:1;padding:8px}.freq-name{font-weight:700}.freq-empty{margin-top:12px}.aircraft-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;display:grid}.aircraft{background:var(--panel);border-left:4px solid var(--green);padding:8px}.aircraft.lc-onScene{border-color:var(--cyan)}.aircraft.lc-enroute,.aircraft.lc-responding{border-color:var(--blue)}.aircraft.lc-loadAndReturn,.aircraft.lc-loadAndHold,.aircraft.lc-mechRTB{border-color:var(--amber)}.aircraft.lc-released,.aircraft.lc-diverted,.aircraft.lc-canceled{border-color:var(--text-mute)}.callsign{font-weight:700}.warn{color:var(--amber);margin-top:8px}.comms{background:var(--panel);border-left:1px solid var(--hairline);padding:8px 12px;overflow:auto}.msg{background:var(--panel2);border-radius:3px;margin-bottom:6px;padding:8px}.msg-urgent{border-left:3px solid var(--red)}.msg-priority{border-left:3px solid var(--amber)}.msg-head{justify-content:space-between;margin-bottom:4px;display:flex}.table{width:100%;font-family:var(--mono);font-size:13px}.table th{text-align:left;color:var(--text-mute);letter-spacing:.08em;border-bottom:1px solid var(--hairline2);padding:8px;font-weight:400}.table th.sortable{padding:0}.table th .sort{text-align:left;width:100%;letter-spacing:inherit;color:inherit;-webkit-user-select:none;user-select:none;padding:8px;display:block}.table td{border-bottom:1px solid var(--hairline);padding:7px 8px}.table.full{margin:0}.table-chips{flex-wrap:wrap;gap:6px 24px;padding:10px 8px 6px;display:flex}.table-chips .chips{flex-wrap:wrap;align-items:center;margin:0}.chips-label{letter-spacing:.1em;color:var(--text-mute);margin-right:4px;font-size:11px}.chip-count{font-family:var(--mono);color:var(--text-mute);margin-left:2px}.chip.on .chip-count{color:var(--text-dim)}.chip:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}.table-note{margin-top:0;padding:0 8px 6px}.clickable{cursor:pointer}.clickable:hover{background:var(--panel2)}.clickable:focus-visible,.table th .sort:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}.sweep-hint{align-items:center;gap:8px;display:flex}.sweep-hint .chip{color:var(--amber);border-color:var(--amber)}.st-available{color:var(--green)}.st-assigned{color:var(--cyan)}.st-relocating{color:var(--blue)}.st-unavailable{color:var(--amber)}.unreadable{color:var(--red);background:#ff3b3014;border:1px solid #ff3b3059;margin:4px 0;padding:6px 8px;font-size:12px}.unreadable-path{font-family:var(--mono);font-weight:700}
