:root{color-scheme:dark;--brand-red: #c82428;--brand-red-hi: #e8363a;--brand-red-lo: #8b1a1d;--bg-deep: #090909;--bg-panel: #121212;--bg-panel-hi: #1a1a1a;--line: #2e2e2e;--line-dim: #232323;--ink: #f2f2f2;--muted: #8d8d8d;--font-display: "Barlow Condensed", "Segoe UI", sans-serif;--font-body: "IBM Plex Sans", "Segoe UI", sans-serif;--radius: 16px;--sidebar: 248px;--sidebar-mini: 72px;--topbar: 56px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(ellipse 55% 40% at 100% -10%,rgba(200,36,40,.16),transparent 52%),var(--bg-deep)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--brand-red-hi)}img{max-width:100%}button,a{-webkit-tap-highlight-color:transparent}.boot,.empty{color:var(--muted);padding:1.25rem}.app-shell{height:100dvh;display:flex;min-height:0;overflow:hidden}.shell-main{flex:1;min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column}.skytrack-status{margin:.7rem .8rem 0;padding:.45rem .7rem;border:1px solid var(--line-dim);border-radius:8px;background:#111;color:#f4f4f4;font-size:.85rem}.mobile-bar,.nav-scrim,.brand-mark,.profile-compact{display:none}.sidebar{position:relative;z-index:4;width:var(--sidebar);flex:0 0 var(--sidebar);display:flex;flex-direction:column;min-height:0;background:#0c0c0c;border-right:1px solid var(--line-dim);padding:.85rem .75rem .75rem}.side-top{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px}.side-brand{display:flex;justify-content:center;width:100%;min-width:0;text-decoration:none}.brand-word{display:block;width:100%;height:108px;object-fit:contain;object-position:center center}.brand-name{display:none;font-family:var(--font-display);font-size:1.45rem;font-weight:700;letter-spacing:.03em;line-height:1;white-space:nowrap}.side-nav{display:grid;align-content:start;gap:.25rem;margin-top:1rem;overflow:auto;flex:1 1 auto;min-height:0}.side-top,.side-profile{flex-shrink:0}.side-nav a{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.55rem .75rem;border-radius:12px;color:#c6c6c6;text-decoration:none;font-weight:600}.side-nav a.active{background:#c8242829;color:#fff}.side-nav svg,.icon-btn svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-btn{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:12px;background:transparent;color:var(--ink);cursor:pointer}.icon-btn:hover,.side-nav a:hover{background:#1a1a1a}.collapse-btn{position:absolute;right:0;top:.15rem}.is-collapsed .collapse-btn svg{transform:scaleX(-1)}.side-profile{position:relative;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--line-dim)}.profile-full{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.15rem .7rem;align-items:center}.profile-link{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:center;color:inherit;text-decoration:none}.profile-copy{min-width:0}.profile-copy strong,.profile-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-copy strong{font-size:.95rem}.profile-copy small{color:var(--muted);font-size:.75rem}.profile-logout{grid-column:1 / -1;width:100%;margin-top:.35rem}.status-pick{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.45rem}.status-pick button{border:1px solid var(--line);background:transparent;border-radius:8px;padding:.4rem .2rem;font-size:.75rem;cursor:pointer}.status-pick button.on{border-color:var(--brand-red);background:#c8242847}.status-pick small,.status-error{grid-column:1 / -1;color:var(--muted);font-size:.72rem}.status-error{color:#ffb4b4}.side-profile .emergency-btn,.side-profile .emergency-form{grid-column:1 / -1;width:100%}.emergency-btn{background:var(--brand-red);color:#fff;border:0}.emergency-form{display:grid;gap:.35rem}.emergency-form span{display:flex;gap:.35rem}.emergency-form input{width:100%}.emergency-banner{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin:.35rem .9rem;padding:.75rem .85rem;border-radius:12px;background:var(--brand-red);color:#fff}.emergency-banner span{display:grid;gap:.15rem;min-width:0}.emergency-banner small{color:#fff}.emergency-banner button{border:0;background:#fff;color:var(--brand-red-lo);border-radius:8px;padding:.4rem .7rem;cursor:pointer}.recording-play{display:inline-flex;align-items:center;gap:.4rem}.recording-play small{color:#ffb4b4}.profile-compact{width:100%;border:0;background:transparent;padding:0;cursor:pointer;place-items:center}.profile-pop{position:absolute;left:calc(100% + 10px);bottom:0;width:230px;display:grid;gap:.2rem;padding:.85rem;border-radius:14px;background:#161616;border:1px solid var(--line);box-shadow:0 16px 40px #00000073;z-index:5}.profile-pop strong{font-size:1rem}.profile-pop span{color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}.profile-pop .btn{margin-top:.45rem}.btn{border:1px solid var(--line);background:#1b1b1b;border-radius:999px;padding:.55rem .9rem;cursor:pointer}.btn-primary{background:var(--brand-red);border-color:transparent;color:#fff;font-weight:650}.btn-ghost{background:transparent}a.btn,label.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn:disabled{opacity:.45;cursor:default}.login-gate{min-height:100%;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom))}.login-card{width:min(420px,100%);display:grid;gap:.85rem;padding:1.35rem;border-radius:24px;background:#121212;border:1px solid var(--line);box-shadow:0 24px 60px #00000059}.login-logo{width:min(240px,100%);height:auto;justify-self:center}.login-card h1,.pane-head h1,.page h1,.panel h2{font-family:var(--font-display);letter-spacing:.03em;margin:.15rem 0;font-size:clamp(1.7rem,3vw,2.3rem);overflow-wrap:anywhere}.lede,.fine{color:var(--muted);margin:0}.ground-pill{display:inline-flex;width:fit-content;margin:0;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}label{display:grid;gap:.3rem;font-size:.82rem;color:var(--muted)}input,select,textarea{width:100%;min-width:0;border-radius:12px;border:1px solid var(--line);background:#101010;padding:.7rem .75rem}.banner{margin:.35rem .9rem;padding:.7rem .85rem;border-radius:12px;background:#c8242829;color:#ffd0d0;overflow-wrap:anywhere}.banner.ok{background:#1a1a1a;color:#d7d7d7;border:1px solid var(--line)}.console{flex:1;min-height:0;display:flex;flex-direction:column}.console-status{display:flex;gap:.7rem;align-items:center;padding:.85rem 1rem .35rem;min-width:0;flex:0 0 auto}.console-status div{min-width:0}.console-status strong{display:block;font-size:.98rem}.console-status span{display:block;color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}.status-dot{width:9px;height:9px;border-radius:50%;background:#555;flex:0 0 auto}.status-dot.ok{background:#3ddc84}.status-dot.locked{background:var(--brand-red)}.console-grid{flex:1;min-height:0;display:flex;flex-direction:column}.pane{display:none;min-height:0;min-width:0;flex-direction:column;background:transparent;overflow:auto}.pane.radio{overflow:hidden}.pane.on{display:flex;flex:1}.pane-head{padding:.7rem 1rem .2rem}.pane-head p{color:var(--muted);margin:.15rem 0 .45rem}.channel-card,.team-row,.voice-row{display:flex;gap:.75rem;align-items:flex-start;min-width:0;margin:0 .75rem .5rem;text-align:left;border-radius:14px;border:1px solid var(--line-dim);background:#141414;padding:.75rem}.channel-card{cursor:pointer}.channel-card strong,.team-row strong,.voice-row strong{display:block}.channel-card small,.team-row small,.voice-row p{color:var(--muted)}.channel-card>span:last-child,.team-row>span:nth-child(2),.voice-row>div{min-width:0;flex:1}.channel-card.active{border-color:#c82428d9;background:#1a1212}.channel-card.locked{opacity:.72}.presence{width:.55rem;height:.55rem;border-radius:50%;background:#444;margin-top:.4rem;flex:0 0 auto}.presence.on{background:#3ddc84}.history{overflow:auto;flex:1;min-height:0;padding-bottom:.4rem}.pane.radio .history{flex:0 1 auto;min-height:0;max-height:244px;overflow:auto}.pane.radio .talk-dock{flex:1 1 auto;align-content:center;justify-content:center;min-height:0}.voice-row header,.voice-row footer{display:flex;justify-content:space-between;gap:.5rem;align-items:center;flex-wrap:wrap}.voice-row p{margin:.25rem 0;overflow-wrap:anywhere}.voice-row audio{width:min(220px,100%);height:32px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;color:#111;font-size:.75rem;font-weight:700}.fn-pilot{background:var(--brand-red);color:#fff}.fn-drone{background:#d7a441}.fn-guard{background:#d7d7d7}.fn-van{background:#8fd0ff}.fn-control{background:#fff}.talk-dock{flex:0 0 auto;padding:.4rem 1rem .85rem;display:grid;justify-items:center;gap:1.35rem}.ptt-orb{width:150px;height:150px;border-radius:50%;border:0;background:radial-gradient(circle at 50% 38%,#2c2c2c,#121212 68%);color:#f7f7f7;box-shadow:inset 0 0 0 1px #3a3a3a,0 0 0 7px #101010,0 0 0 8px var(--brand-red);display:grid;place-items:center;align-content:center;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none}.ptt-orb span{font-family:var(--font-display);font-size:2.15rem;letter-spacing:.06em;line-height:1}.ptt-orb.live{background:radial-gradient(circle at 50% 38%,#e8363a,#9d1c20 72%);color:#fff;box-shadow:0 0 0 8px #c8242847,0 12px 28px #c8242852}.ptt-orb:disabled{color:#6e6e6e;background:#141414;box-shadow:inset 0 0 0 1px #2a2a2a,0 0 0 7px #101010,0 0 0 8px #3a3a3a;cursor:default}.back-link{margin:.55rem .85rem 0;width:fit-content;background:none;border:0;color:#d0d0d0;cursor:pointer;padding:.35rem 0}.tabbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;flex:0 0 auto;padding:.35rem .45rem calc(.4rem + env(safe-area-inset-bottom));background:#0c0c0c;border-top:1px solid var(--line-dim)}.tabbar button{min-width:0;background:none;border:0;color:var(--muted);padding:.7rem .15rem;border-radius:10px;cursor:pointer;font-size:.75rem;font-weight:650}.tabbar button.active{color:#fff;background:#c824282e}.gm-style .gm-style-mtc-bbw{display:flex!important;gap:16px!important}.gm-style .gm-style-mtc{display:flex!important;float:none!important;gap:16px}.gm-style .gm-style-mtc ul,.gm-style .gm-style-mtc li,.gm-style .gm-style-mtc label,.gm-style [role=menu],.gm-style [role=menuitemcheckbox],.gm-style [role=menuitemcheckbox] *{background:#161616!important;color:#f2f2f2!important;border-color:#2a2a2a!important}.gm-style .gm-style-mtc button{display:inline-flex!important;align-items:center;justify-content:center;background:#161616!important;color:#f2f2f2!important;border:0!important;border-radius:12px!important;box-shadow:0 6px 16px #00000059!important;font-family:var(--font-body)!important;font-size:.92rem!important;font-weight:600!important}.gm-style .gm-style-mtc button[aria-checked=true]{background:#2c2c2c!important;box-shadow:inset 0 0 0 1px #f2f2f2b8,0 6px 16px #00000059!important}.gm-style .gm-style-iw-c{position:relative;background:#161616;color:#f2f2f2;padding:16px 18px 14px!important;text-align:center;box-shadow:0 8px 24px #00000073}.gm-style .gm-style-iw-chr{position:absolute;top:2px;right:2px}.gm-style .gm-style-iw-ch{display:none}.gm-style .gm-style-iw-d{overflow:hidden!important;color:#f2f2f2;text-align:center!important}.gm-style .gm-style-iw-d,.gm-style .gm-style-iw-d *{background:transparent;color:#f2f2f2;text-align:center!important}.gm-style .gm-style-iw-d::-webkit-scrollbar,.gm-style .gm-style-iw-d::-webkit-scrollbar-track,.gm-style .gm-style-iw-d::-webkit-scrollbar-track-piece{background:#161616;width:0;height:0}.gm-style .gm-style-iw-tc:after,.gm-style .gm-style-iw-t:after{background:#161616}.gm-style .gm-ui-hover-effect>span{background-color:#f2f2f2!important}.live-map,.live-map-canvas,.leaflet-container{width:100%;height:100%;min-height:240px}.live-map{position:relative;background:#0e0e0e}.live-map-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.map-fallback{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;margin:0;display:grid;place-items:center;padding:1.25rem;text-align:center;color:var(--muted);background:#101010}.pane.map.on .live-map{flex:1;min-height:240px}.airspace-page{flex:1;min-height:0;display:flex;flex-direction:column}.airspace-page .live-map{flex:1;min-height:0}.airspace-readout{flex:0 0 auto;max-height:34vh;overflow:auto;display:flex;flex-direction:column;gap:.55rem;padding:.7rem 1rem .75rem;background:#101010;border-bottom:1px solid var(--line)}.airspace-readout article{min-width:0}.airspace-who{display:block;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.airspace-line{display:block;margin:.2rem 0 0;font-size:1.02rem;font-weight:500;letter-spacing:0;line-height:1.35}.airspace-readout small{color:var(--muted)}.airspace-wait{margin:0;color:var(--muted)}.map-pin-wrap{background:none;border:0}.map-pin{display:block;width:18px;height:18px;margin:8px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--pin);border:2px solid white}.map-pin.tx{box-shadow:0 0 0 6px #c8242866}.map-pin.stale{opacity:.55}.map-legend{display:flex;gap:.65rem .9rem;align-items:center;flex-wrap:wrap;margin:0;padding:.55rem .9rem calc(.7rem + env(safe-area-inset-bottom));color:var(--muted);font-size:.78rem;list-style:none}.map-legend li{display:flex;gap:.35rem;align-items:center}.team-row{align-items:center}button.team-row{width:calc(100% - 1.5rem);box-sizing:border-box;cursor:pointer}.movement .pane-head h1{display:flex;align-items:center;gap:.55rem}button.team-row:hover{border-color:#f2f2f266;background:#1c1c1c}.pane.team{overflow:hidden}.team-row em{margin-left:auto;color:var(--muted);font-style:normal;font-size:.78rem;white-space:nowrap}.team-row em.on{color:#3ddc84}.motion{position:relative;width:28px;height:28px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#f4f4f4;color:#161616;box-shadow:0 0 0 2px #111}.motion svg{width:18px;height:18px;display:block;fill:currentColor;stroke:none}.motion svg *{fill:currentColor}.motion .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.map-legend .motion{width:22px;height:22px;box-shadow:none}.map-legend .motion svg{width:16px;height:16px}.movement{flex:1;min-height:0;display:flex;flex-direction:column}.movement-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;padding:0 1rem .65rem}.movement-actions span,.movement-note{color:var(--muted);font-size:.85rem}.movement-note{margin:.2rem 1rem .45rem}.movement-map{position:relative;flex:1 1 220px;min-height:180px}.movement-map .live-map{position:absolute;top:0;right:0;bottom:0;left:0}.movement-list{flex:1 1 180px;min-height:0;overflow:auto;padding-bottom:.6rem}.choice-list{display:grid;gap:.4rem}.choice-list button,.day-pills button{text-align:left;border:1px solid var(--line);background:#101010;color:inherit;cursor:pointer}.choice-list button{display:flex;flex-direction:column;gap:.1rem;padding:.7rem .8rem;border-radius:12px}.choice-list button small,.choice-list button strong{display:block}.choice-list button small{color:var(--muted);font-size:.78rem}.choice-list button.on,.day-pills button.on{border-color:var(--brand-red);background:#c824282e}.day-pills{display:flex;flex-wrap:wrap;gap:.4rem}.day-pills button{min-width:3.1rem;padding:.45rem .65rem;border-radius:999px;text-align:center;font-weight:700}.catalog-split{flex:1;min-height:0;display:flex;flex-direction:column}.control-split>.pane.detail:has(.catalog-split){overflow:hidden}.page{padding:.4rem .9rem 2rem;min-width:0}.diag{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.7rem}.diag div,.panel{background:#141414;border:1px solid var(--line-dim);border-radius:16px;padding:.85rem;min-width:0}.diag dt{color:var(--muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.diag dd{margin:.25rem 0 0;overflow-wrap:anywhere}.filter-row,.pair,.days,.checks{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.filter-row>*{min-width:0}.pair>*{flex:1 1 160px;min-width:0}.split{display:grid;gap:.8rem}.control-screen,.control-split{flex:1;min-height:0;display:flex;flex-direction:column}.control-split .detail .panel{margin:0;border:0;border-radius:0;background:transparent;padding:.2rem 1rem 1.5rem;width:min(720px,100%)}.users-split{flex:1;min-height:0;display:flex;flex-direction:column}.control-split>.pane.detail:has(.users-split){overflow:hidden}.stack{display:grid;align-content:start;gap:.45rem;min-width:0}.panel{display:grid;gap:.55rem;align-content:start}.panel h3{margin:.4rem 0 0;font-size:.95rem}.map-panel{min-height:280px;padding:0;overflow:hidden}.pick-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;max-height:180px;overflow:auto}.pick-list button{width:100%;text-align:left;background:#101010;border:0;border-radius:8px;padding:.45rem .55rem;cursor:pointer;overflow-wrap:anywhere}.audit-list{list-style:none;padding:0;margin:0;display:grid;gap:.35rem;color:var(--muted)}.audit-list li{overflow-wrap:anywhere}.checks label,.days label{display:flex;gap:.35rem;align-items:center}.row-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.btn-danger{background:transparent;color:#ffb4b4;border:1px solid var(--brand-red)}.pane-head-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pane-head-row .btn{flex:0 0 auto}.avatar.photo{object-fit:cover;padding:0}.avatar.large,.profile-hero .avatar{width:88px;height:88px;font-size:1.35rem}.profile-hero{display:flex;align-items:center;gap:1rem;margin-bottom:.4rem}.profile-page{max-width:560px}.control-screen .screen-back{margin-left:.85rem}.screen-back{display:inline-flex;align-items:center;gap:.45rem;width:fit-content;margin:.85rem .85rem .2rem;padding:.62rem 1.05rem .62rem .85rem;border-radius:999px;border:1px solid rgba(242,242,242,.72);background:#2a2a2a;color:#fff;font-size:1.05rem;font-weight:700;line-height:1;text-decoration:none;cursor:pointer;box-shadow:0 8px 18px #00000059}.screen-back span{font-size:1.35rem;line-height:1}.pane-head .screen-back{margin:0 0 .65rem}.page>.screen-back{margin-left:0;margin-right:0}@media (min-width: 861px){.is-collapsed .sidebar{width:var(--sidebar-mini);flex-basis:var(--sidebar-mini);padding:.55rem .3rem}.is-collapsed .brand-word,.is-collapsed .brand-name,.is-collapsed .side-nav a span,.is-collapsed .profile-full{display:none}.is-collapsed .brand-mark{display:block;width:32px;height:32px;margin:0;object-fit:contain;flex:0 0 auto}.is-collapsed .side-brand{display:flex;align-items:center;justify-content:center;padding-right:0}.is-collapsed .side-top{flex-direction:column;gap:.1rem}.is-collapsed .collapse-btn{position:static;width:36px;height:36px}.is-collapsed .side-nav a{justify-content:center;padding-inline:0}.is-collapsed .profile-compact{display:grid}}@media (min-width: 1180px){.console-grid{display:grid;grid-template-columns:minmax(190px,230px) minmax(220px,.85fr) minmax(240px,1.15fr) minmax(200px,250px)}.console-grid.has-trail{grid-template-columns:minmax(160px,200px) minmax(190px,.62fr) minmax(180px,.5fr) minmax(420px,1.25fr)}.pane.channels,.pane.radio,.pane.map,.pane.team{display:flex}.tabbar,.back-link{display:none}.pane+.pane{border-left:1px solid var(--line-dim)}.split{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}.control-split{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr)}.control-split>.pane{display:flex}.users-split,.catalog-split{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);height:100%}.users-split>.pane,.catalog-split>.pane{display:flex;min-height:0}.pane.map .live-map,.pane.map .leaflet-container{min-height:0;flex:1}.map-legend{padding-bottom:.7rem}}@media (max-width: 860px){.app-shell{flex-direction:column}.mobile-bar{display:flex;align-items:center;gap:.45rem;min-height:var(--topbar);padding:calc(.35rem + env(safe-area-inset-top)) .65rem .35rem .45rem;background:#0c0c0c;border-bottom:1px solid var(--line-dim);flex:0 0 auto}.mobile-bar img{height:34px;width:auto}.mobile-bar .brand-name{display:block;font-size:1.35rem}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;border:0;padding:0;background:#0000008c;opacity:0;pointer-events:none}.is-drawer .nav-scrim{opacity:1;pointer-events:auto}.sidebar{position:fixed;z-index:30;top:0;bottom:0;left:0;width:min(300px,calc(100vw - 48px));flex-basis:auto;transform:translate(-105%);transition:transform .18s ease;padding-top:calc(.85rem + env(safe-area-inset-top));padding-bottom:calc(.75rem + env(safe-area-inset-bottom));overflow:hidden}.is-drawer .sidebar{transform:none}.collapse-btn,.profile-pop{display:none}.ptt-orb{width:128px;height:128px}.ptt-orb span{font-size:1.85rem}.talk-dock{padding-bottom:.7rem}}
