:root{--bg:#0f1418;--panel:#162028;--panel-2:#1e2b35;--text:#edf4f7;--muted:#9cb1bc;--accent:#40c3a6;--danger:#ff6a6a;--line:hsla(0,0%,100%,.08)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:linear-gradient(hsla(0,0%,100%,.018) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.018) 1px,transparent 0),radial-gradient(circle at top,#22363e 0,#142028 28%,#0f1418 62%);background-size:14px 14px,14px 14px,auto;background-position:0 0,0 0,0 0;color:var(--text);font-family:IBM Plex Sans,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}body{min-height:100vh}.shell{max-width:1200px;margin:0 auto;padding:32px 24px 64px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.topbar-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.topbar-buttons{display:flex;gap:8px}.topbar-session{text-align:right}.mobile-nav{display:none}.brand-lockup{gap:14px;margin-left:-10px}.brand-lockup,.brand-logo-image{display:inline-flex;align-items:center}.brand-logo-image{max-width:min(202px,38.4vw);padding:2px 0}.brand-logo-image img{display:block;width:100%;height:auto}.brand-copy{display:grid;grid-gap:1px;gap:1px}.brand-kicker{font-size:11px;font-weight:700;letter-spacing:.34em;color:var(--accent);text-transform:uppercase}.brand{font-size:28px;font-weight:700;letter-spacing:.2em;line-height:1}.brand-version-line{display:flex;align-items:baseline;gap:10px;margin-top:8px;flex-wrap:wrap}.brand-product{font-size:.875rem;font-weight:700;letter-spacing:.14em;line-height:1;color:#fff;text-transform:uppercase}.muted{color:var(--muted)}.live-refresh{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 16px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:hsla(0,0%,100%,.03);font-size:.92rem}.live-radioid-sync,.live-viewer-counts{white-space:nowrap}.splash-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:4vh 4vw;background:radial-gradient(circle at center,rgba(13,22,28,.58),rgba(8,12,15,.94));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:1;transition:opacity .52s ease,visibility .52s ease}.splash-overlay.is-closing{opacity:0;visibility:hidden}.splash-panel{position:relative;width:min(92vw,1180px);max-height:88vh;border-radius:26px;overflow:hidden;border:1px solid rgba(122,242,219,.18);box-shadow:0 32px 80px rgba(0,0,0,.48);background:rgba(7,12,15,.92)}.splash-video{display:block;width:100%;height:auto;max-height:88vh;object-fit:contain}.splash-skip{position:absolute;top:14px;right:14px;z-index:2;background:rgba(10,16,20,.72);color:#edf4f7;border:1px solid hsla(0,0%,100%,.16);border-radius:999px;padding:8px 14px;font-size:.85rem}.live-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(64,195,166,.12)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px}.card{background:linear-gradient(180deg,hsla(0,0%,100%,.03),hsla(0,0%,100%,.01));border:1px solid var(--line);border-radius:18px;padding:18px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card h2,.card h3{margin-top:0}.nav{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 24px}.nav-secondary{margin-top:10px}.mobile-nav-toggle{list-style:none;display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;padding:0 12px;border-radius:14px;border:1px solid var(--line);background:hsla(0,0%,100%,.04);cursor:pointer}.mobile-nav-toggle::-webkit-details-marker{display:none}.mobile-nav-toggle span{display:block;width:100%;height:2px;border-radius:999px;background:var(--text)}.mobile-nav-panel{margin-top:10px;min-width:min(84vw,320px);padding:16px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(25,39,47,.96),rgba(14,22,27,.98));box-shadow:0 24px 56px rgba(0,0,0,.36)}.mobile-nav-session{margin-bottom:12px}.mobile-nav-links{display:grid;grid-gap:8px;gap:8px}.mobile-nav-divider{height:1px;background:hsla(0,0%,100%,.08);margin:6px 0 2px}.mobile-nav-link{display:block;padding:10px 12px;border-radius:12px;border:1px solid hsla(0,0%,100%,.06);background:hsla(0,0%,100%,.03)}.mobile-nav-actions{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.pill{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:8px 14px}.pill:active,.pill:focus,.pill:hover,.pill:visited{background:var(--panel-2);border-color:var(--line);color:var(--text)}.pill:focus-visible{outline:2px solid rgba(64,195,166,.42);outline-offset:2px}.pill-secondary{background:hsla(0,0%,100%,.03)}.pill-active{border-color:rgba(64,195,166,.4);background:rgba(64,195,166,.12);color:#bff6ea}.admin-user-pill{color:var(--text);font-weight:600}.button,button{background:var(--accent);color:#042e27;font-weight:700;border:0;border-radius:12px;padding:10px 16px;cursor:pointer}.button.secondary{background:var(--panel-2);color:var(--text)}.button.secondary,.form{border:1px solid var(--line)}.form{max-width:420px;margin:8vh auto 0;padding:24px;background:var(--panel);border-radius:20px}.field{display:grid;grid-gap:8px;gap:8px;margin-bottom:16px}.field input,.field select,.field textarea{width:100%;background:#0f171d;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.field textarea{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;resize:vertical}.banner{background:rgba(64,195,166,.12);border:1px solid rgba(64,195,166,.32);color:#bff6ea;border-radius:14px}.banner,.error{padding:12px 14px;margin-bottom:16px}.error{background:hsla(0,100%,71%,.12);border:1px solid hsla(0,100%,71%,.34);color:#ffd0d0;border-radius:14px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.82rem;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.table-mono{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto}.dashboard-data-table{table-layout:fixed}.dashboard-data-table td,.dashboard-data-table th{padding-right:10px}.dashboard-data-table td{font-size:.82rem;line-height:1.25}.dashboard-data-table .table-mono{font-size:.8rem;line-height:1.2}.dashboard-data-table .pill{padding:4px 9px;font-size:.78rem;line-height:1.1}.text-cell{overflow-wrap:anywhere}.nowrap{white-space:nowrap}.overview-table td:first-child,.overview-table th:first-child{width:8%}.overview-table td:nth-child(2),.overview-table th:nth-child(2){width:18%}.overview-table td:nth-child(3),.overview-table th:nth-child(3){width:6%}.overview-table td:nth-child(4),.overview-table th:nth-child(4){width:8%}.overview-table td:nth-child(5),.overview-table th:nth-child(5){width:19%}.overview-table td:nth-child(6),.overview-table th:nth-child(6){width:17%}.overview-table td:nth-child(7),.overview-table td:nth-child(8),.overview-table th:nth-child(7),.overview-table th:nth-child(8){width:10%}.overview-table td:nth-child(9),.overview-table th:nth-child(9),.talkgroups-table td:first-child,.talkgroups-table th:first-child{width:8%}.talkgroups-table td:nth-child(2),.talkgroups-table th:nth-child(2){width:29%}.talkgroups-table td:nth-child(3),.talkgroups-table th:nth-child(3){width:7%}.talkgroups-table td:nth-child(4),.talkgroups-table th:nth-child(4){width:13%}.talkgroups-table td:nth-child(5),.talkgroups-table th:nth-child(5){width:9%}.talkgroups-table td:nth-child(6),.talkgroups-table td:nth-child(7),.talkgroups-table th:nth-child(6),.talkgroups-table th:nth-child(7){width:12%}.talkgroups-table td:nth-child(8),.talkgroups-table th:nth-child(8){width:10%}.roaming-table td:first-child,.roaming-table td:nth-child(2),.roaming-table th:first-child,.roaming-table th:nth-child(2){width:12%}.roaming-table td:nth-child(3),.roaming-table th:nth-child(3){width:24%}.roaming-table td:nth-child(4),.roaming-table th:nth-child(4){width:14%}.roaming-table td:nth-child(5),.roaming-table th:nth-child(5){width:18%}.roaming-table td:nth-child(6),.roaming-table th:nth-child(6){width:20%}.last-heard-radios-table,.radio-call-history-table{table-layout:fixed;min-width:960px}.last-heard-history-section{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.last-heard-history-section h3{margin:0 0 8px}.last-heard-radios-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.last-heard-radios-summary{margin:-6px 0 0;font-size:.9rem}.last-heard-radios-search{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.last-heard-radios-search input{width:min(260px,52vw);background:#0f171d;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.last-heard-radios-search .button{display:inline-flex;align-items:center;min-height:39px;padding:10px 14px}@media (max-width:720px){.last-heard-radios-header{display:grid}.last-heard-radios-search{justify-content:flex-start}.last-heard-radios-search input{width:min(100%,340px)}}.last-heard-radios-table td,.last-heard-radios-table th{padding-right:10px}.last-heard-radios-cell{font-size:.78rem;line-height:1.25}.last-heard-radios-table td:first-child,.last-heard-radios-table td:nth-child(2),.last-heard-radios-table td:nth-child(4),.last-heard-radios-table td:nth-child(6),.last-heard-radios-table td:nth-child(7),.last-heard-radios-table td:nth-child(8),.last-heard-radios-table th:first-child,.last-heard-radios-table th:nth-child(2),.last-heard-radios-table th:nth-child(4),.last-heard-radios-table th:nth-child(6),.last-heard-radios-table th:nth-child(7),.last-heard-radios-table th:nth-child(8){white-space:nowrap}.last-heard-radios-table td:nth-child(3),.last-heard-radios-table td:nth-child(5),.last-heard-radios-table th:nth-child(3),.last-heard-radios-table th:nth-child(5){overflow-wrap:anywhere}.last-heard-radios-table td:first-child,.last-heard-radios-table th:first-child{width:8%}.last-heard-radios-table td:nth-child(2),.last-heard-radios-table th:nth-child(2){width:10%}.last-heard-radios-table td:nth-child(3),.last-heard-radios-table th:nth-child(3){width:18%}.last-heard-radios-table td:nth-child(4),.last-heard-radios-table th:nth-child(4){width:10%}.last-heard-radios-table td:nth-child(5),.last-heard-radios-table th:nth-child(5){width:23%}.last-heard-radios-table td:nth-child(6),.last-heard-radios-table td:nth-child(7),.last-heard-radios-table th:nth-child(6),.last-heard-radios-table th:nth-child(7){width:9%}.last-heard-radios-table td:nth-child(8),.last-heard-radios-table th:nth-child(8){width:13%}.connections-table td,.connections-table th{padding-right:14px}.connections-table{table-layout:auto}.connections-table .col-call,.connections-table .col-kind,.connections-table .col-last-seen,.connections-table .col-rx,.connections-table .col-tx{white-space:nowrap}.connections-table .col-name,.connections-table .col-speaker,.connections-table .col-talkgroup{white-space:normal;overflow-wrap:anywhere}.connections-table .col-talkgroup{min-width:180px}.connections-table .col-speaker{min-width:220px}.slot-cell{min-height:24px;white-space:nowrap}.connections-wrap{overflow-x:auto}.repeater-connections-wrap{overflow-x:hidden}.repeater-connections-wrap .connections-table{width:100%;table-layout:fixed}.repeater-connections-wrap .connections-table td,.repeater-connections-wrap .connections-table th{padding-top:6px;padding-bottom:6px;padding-right:10px}.repeater-connections-wrap .connections-table td{font-size:.82rem;line-height:1.25}.repeater-connections-wrap .connections-table .col-call,.repeater-connections-wrap .connections-table .col-kind,.repeater-connections-wrap .connections-table .col-last-seen{white-space:normal;overflow-wrap:anywhere}.repeater-connections-wrap .connections-table .col-call{width:15%}.repeater-connections-wrap .connections-table .col-kind{width:17%}.repeater-connections-wrap .connections-table .col-status{width:7%;white-space:nowrap}.repeater-connections-wrap .connections-table .col-slot{width:5%;white-space:nowrap}.repeater-connections-wrap .connections-table .col-state{width:6%;white-space:nowrap}.repeater-connections-wrap .connections-table .col-speaker,.repeater-connections-wrap .connections-table .col-talkgroup{min-width:0;width:18%}.repeater-connections-wrap .connections-table .col-call,.repeater-connections-wrap .connections-table .col-last-seen,.repeater-connections-wrap .connections-table .col-rx,.repeater-connections-wrap .connections-table .col-slot,.repeater-connections-wrap .connections-table .col-speaker,.repeater-connections-wrap .connections-table .col-talkgroup,.repeater-connections-wrap .connections-table .col-tx{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.repeater-connections-wrap .connections-table .col-speaker,.repeater-connections-wrap .connections-table .col-talkgroup{line-height:1.2}.repeater-connections-wrap .connections-table .col-last-seen{width:9%}.repeater-connections-wrap .connections-table .col-rx,.repeater-connections-wrap .connections-table .col-tx{width:4ch;white-space:nowrap}.repeater-connections-wrap .connections-table .col-rx,.repeater-connections-wrap .connections-table .col-tx,.repeater-connections-wrap .connections-table th:last-child,.repeater-connections-wrap .connections-table th:nth-last-child(2){padding-right:6px}.repeater-connections-wrap .tg-state{padding:2px 6px;font-size:.78rem;letter-spacing:.03em}.hotspot-connections-wrap .connections-table{width:100%;table-layout:fixed}.hotspot-connections-wrap .connections-table td,.hotspot-connections-wrap .connections-table th{padding-top:6px;padding-bottom:6px}.hotspot-connections-wrap .connections-table td{font-size:.82rem;line-height:1.25}.hotspot-connections-wrap .connections-table .col-talkgroup{min-width:0;width:13%}.hotspot-connections-wrap .connections-table .col-call,.hotspot-connections-wrap .connections-table .col-last-seen,.hotspot-connections-wrap .connections-table .col-rx,.hotspot-connections-wrap .connections-table .col-speaker,.hotspot-connections-wrap .connections-table .col-talkgroup,.hotspot-connections-wrap .connections-table .col-tx,.hotspot-connections-wrap .connections-table td.table-mono{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.hotspot-connections-wrap .connections-table .col-speaker,.hotspot-connections-wrap .connections-table .col-talkgroup{line-height:1.2}.hotspot-connections-wrap .connections-table .col-last-seen{width:11%}.hotspot-connections-wrap .connections-table .col-rx,.hotspot-connections-wrap .connections-table .col-tx{width:4ch;white-space:nowrap}.hotspot-connections-wrap .connections-table .col-rx,.hotspot-connections-wrap .connections-table .col-tx,.hotspot-connections-wrap .connections-table th:last-child,.hotspot-connections-wrap .connections-table th:nth-last-child(2){padding-right:6px}.hotspot-connections-wrap .tg-state{padding:2px 6px;font-size:.78rem;letter-spacing:.03em}.hotspot-last-seen-cell{white-space:normal}.hotspot-last-seen-split{display:inline-flex;flex-direction:column;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.8rem;line-height:1.2}.hotspot-last-seen-split span{white-space:nowrap}.hotspot-connections-wrap .slot-cell{min-height:18px}.hotspot-connections-wrap .connection-row-start td{padding-bottom:2px}.hotspot-connections-wrap .connection-row-sub td{padding-top:2px;padding-bottom:6px}.trunk-connections-wrap .connections-table .col-talkgroup{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.8rem;line-height:1.15}.trunk-connections-wrap .connections-table .col-rx,.trunk-connections-wrap .connections-table .col-tx{width:4ch;white-space:nowrap}.trunk-connections-wrap .connections-table .col-rx,.trunk-connections-wrap .connections-table .col-tx,.trunk-connections-wrap .connections-table th:last-child,.trunk-connections-wrap .connections-table th:nth-last-child(2){padding-right:6px}.repeater-connections-wrap .slot-cell{min-height:18px;white-space:nowrap}.repeater-connections-wrap .connection-row-start td{padding-bottom:2px}.repeater-connections-wrap .connection-row-sub td{padding-top:2px;padding-bottom:6px}.connection-row-start td{border-bottom:0}.connection-row-sub td{padding-top:0;border-bottom:1px solid hsla(0,0%,100%,.12)}.connection-anchor,.tg-state{font-weight:700}.tg-state{display:inline-block;border-radius:999px;padding:4px 10px;font-size:.8rem;letter-spacing:.05em}.tg-state.up{background:rgba(64,195,166,.14);color:#bff6ea;border:1px solid rgba(64,195,166,.28)}.tg-state.idle{background:hsla(0,0%,100%,.06);color:var(--muted);border:1px solid var(--line)}.tg-state.down{background:hsla(0,100%,71%,.12);color:#ffd0d0;border:1px solid hsla(0,100%,71%,.28)}.inline-status-form{display:inline;margin:0}.tg-state-button{cursor:pointer;font-family:inherit}.tg-state-button:hover{filter:brightness(1.18)}.cms-grid{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);grid-gap:16px;gap:16px}.cms-page-pills{display:flex;flex-wrap:wrap;gap:10px}.cms-form{display:grid;grid-gap:12px;gap:12px}.cms-delete-row,.cms-form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cms-delete-row{margin-top:12px}.cms-assets{display:grid;grid-gap:20px;gap:20px}.cms-asset-list{display:grid;grid-gap:12px;gap:12px}.cms-asset-card{display:grid;grid-template-columns:160px minmax(0,1fr) auto;grid-gap:14px;gap:14px;padding:14px;border-radius:16px;border:1px solid var(--line);background:hsla(0,0%,100%,.02)}.cms-asset-preview{display:flex;align-items:center;justify-content:center;min-height:90px;border-radius:12px;background:hsla(0,0%,100%,.03);overflow:hidden}.cms-asset-preview img{display:block;max-width:100%;max-height:120px;width:auto;height:auto}.cms-asset-meta{min-width:0;overflow-wrap:anywhere}.cms-asset-actions{display:grid;align-content:start;grid-gap:8px;gap:8px}.cms-public-page{overflow-wrap:anywhere}@media (max-width:640px){.shell{padding:20px 16px 48px}.topbar{align-items:flex-start}.topbar-actions{width:100%;align-items:flex-end}.topbar-session{text-align:left}.nav,.topbar-buttons-desktop,.topbar-session-desktop{display:none}.mobile-nav{display:block}.brand-logo-image{max-width:min(173px,64.8vw)}.brand{font-size:24px}.brand-kicker{letter-spacing:.24em}.brand-version-line{gap:8px}.live-refresh{width:100%;justify-content:center}.cms-asset-card,.cms-grid{grid-template-columns:1fr}}