/* ColdNet NOC — real CNCS application shell and interactive operations display. */
:root{color-scheme:dark;--noc-bg:#050e17;--noc-panel:#081a29;--noc-line:#175378;--noc-cyan:#27d3ee;--noc-text:#d9e8f2;--noc-muted:#91b0c2;--noc-green:#41fa69;--noc-yellow:#ffda51;--noc-red:#ff5668;--noc-off:#8395a2}
body{background:var(--noc-bg);color:var(--noc-text);font-family:system-ui,Segoe UI,sans-serif}a{color:#6acffc}
.cncs-topbar{height:66px;display:flex;align-items:center;justify-content:space-between;gap:22px;background:#061626;border-bottom:1px solid #1671a0;padding:0 23px;box-sizing:border-box}
.cncs-brand{display:flex;gap:18px;align-items:center;text-decoration:none;color:#eaf8ff;white-space:nowrap}.cncs-brand .mountain{color:var(--noc-cyan);font-size:27px;letter-spacing:-7px;margin-right:7px;text-shadow:0 0 13px #0795e2}.cncs-brand b{font-size:23px;font-weight:650;letter-spacing:-.04em}.cncs-brand .cncs-word{border-left:1px solid #277391;padding-left:18px;font-weight:800;color:#beeaff;font-size:25px;letter-spacing:.07em;text-shadow:0 0 12px #078cd1}
.cncs-header-caption{margin-right:auto;border-left:1px solid #27607c;padding-left:19px;line-height:1.25;font-size:12px;color:var(--noc-cyan);letter-spacing:.09em}.cncs-header-caption small{display:block;font-size:10px;color:#8cb2c5;letter-spacing:.11em;margin-top:3px}
.cncs-header-right{display:flex;align-items:center;gap:14px;font-size:12px;white-space:nowrap;color:#91bed0}.cncs-header-right .secure-light{display:inline-block;width:10px;height:10px;border-radius:50%;background:#43fb75;box-shadow:0 0 14px #40e98e}
.cncs-layout{display:flex;min-height:calc(100vh - 66px)}.cncs-sidebar{flex:0 0 195px;background:linear-gradient(180deg,#061c2b,#04131e);border-right:1px solid #1a5270;padding:15px 9px;box-sizing:border-box}
.cncs-sidebar nav{display:flex;flex-direction:column;gap:3px}.cncs-sidebar a{display:flex;align-items:center;gap:12px;border-radius:5px;padding:11px 13px;color:#b4d8ed;text-decoration:none;font-size:13px}.cncs-sidebar a:hover,.cncs-sidebar a[aria-current=page]{background:#073755;color:#2cddff}.cncs-sidebar a[aria-current=page]{box-shadow:inset 3px 0 #14cfff}.cncs-sidebar a .nav-icon{font-size:16px;width:20px;text-align:center}.cncs-sidebar .sidebar-footer{margin:23px 9px 0;padding-top:15px;border-top:1px solid #12405c;color:#769bad;font-size:11px;line-height:1.7}
.cncs-main{flex:1;min-width:0;max-width:none;margin:0;padding:17px 18px 35px;box-sizing:border-box}.cncs-main>h1,.cncs-main>.page-eyebrow{margin-left:3px}.cncs-main>section:not(.noc-panel){border:1px solid #2d5770;border-radius:5px}
.noc-dashboard{font-size:13px}.noc-dashboard *{box-sizing:border-box}.dashboard-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 14px}.dashboard-title h1{font-size:24px;letter-spacing:.02em;margin:1px 0 3px;color:#e3f5ff}.dashboard-title p{margin:0}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--noc-cyan);font-size:10px;font-weight:650}.dash-actions{display:flex;align-items:center;gap:10px}.dash-actions button,.console-actions button{font-size:12px;min-width:60px;cursor:pointer;background:#0b3249;color:#aee8ff;border:1px solid #267398;padding:6px 11px;border-radius:4px}
.noc-panel{min-width:0;margin:0 0 12px;padding:0;background:linear-gradient(180deg,#081d2d,#071622);border:1px solid var(--noc-line);border-radius:5px;overflow:hidden;box-shadow:inset 0 1px 0 #163b51}.noc-panel-head{height:auto;min-height:39px;border-bottom:1px solid #1a678c;background:#082536;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px}.noc-panel-head h2{font-size:13px;font-weight:750;color:var(--noc-cyan);text-transform:uppercase;letter-spacing:.025em;margin:0}.noc-panel-head a{font-size:12px}.micro{font-size:10.5px;color:#9aafbf}.placeholder{font-size:12px;color:#86a4b2;padding:12px}
.status-grid{padding:9px;display:grid;grid-template-columns:repeat(8,minmax(100px,1fr));gap:9px}.service-indicator{display:flex;flex-direction:column;align-items:center;justify-content:space-around;gap:3px;text-decoration:none;background:#061522;border:1px solid #165273;border-radius:5px;padding:10px 5px;min-height:122px;color:#e0f0fa}.service-indicator:hover{border-color:#39cbea;background:#0d293b}.service-label{font-size:11px;font-weight:670;text-align:center}.signal-lamp{width:29px;height:29px;border-radius:50%;display:block;margin:5px 0 4px;box-shadow:inset 0 0 0 5px #081521,0 0 0 3px #173d45;position:relative}.signal-lamp.running{background:var(--noc-green);box-shadow:inset 0 0 0 5px #163e2b,0 0 9px 4px #2dff6799,0 0 0 3px #24694b;animation:lamp-pulse 2.6s infinite}.signal-lamp.waiting{background:var(--noc-yellow);box-shadow:inset 0 0 0 5px #54421c,0 0 9px 4px #ffce3880,0 0 0 3px #645224;animation:lamp-pulse 1.25s infinite}.signal-lamp.error{background:var(--noc-red);box-shadow:inset 0 0 0 5px #591f2a,0 0 9px 4px #f44c6880,0 0 0 3px #81404a}.signal-lamp.disabled,.signal-lamp.unknown{background:#96a4ac;box-shadow:inset 0 0 0 5px #263541,0 0 0 3px #506675}.service-state{font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.service-state.running{color:var(--noc-green)}.service-state.waiting{color:var(--noc-yellow)}.service-state.error{color:var(--noc-red)}.service-state.disabled,.service-state.unknown{color:#a6b9c6}@keyframes lamp-pulse{50%{filter:brightness(.72)}}@media(prefers-reduced-motion:reduce){.signal-lamp{animation:none!important}}
.primary-grid{display:grid;grid-template-columns:minmax(460px,2fr) minmax(310px,1fr);gap:12px}.secondary-grid{display:grid;grid-template-columns:minmax(195px,1fr) minmax(320px,1.55fr) minmax(220px,1fr);gap:12px}
.console-actions{display:flex;align-items:center;gap:7px}.console-actions button{min-width:auto}.console-actions input{width:132px;max-width:100%;font-size:12px;padding:6px;border:1px solid #25638a;background:#051a27;color:#ceeafb}.live-mark{font-size:10px;color:var(--noc-green);white-space:nowrap}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#71808c;margin-right:6px}.dot.green{background:#47ff71;box-shadow:0 0 9px #34f98a}.lcd-console{background:radial-gradient(#073d37 0.5px,transparent 1px) 0 0/7px 7px,#020c10;border:1px solid #03475a;height:285px;overflow:auto;padding:12px;font:12.5px/1.66 ui-monospace,SFMono-Regular,Consolas,monospace}.lcd-entry{display:grid;grid-template-columns:76px 70px 95px minmax(0,1fr);gap:7px;color:#70f5d2;padding:1px 0}.lcd-entry .level{color:#4ddfff}.lcd-entry.warning,.lcd-entry.warning .level{color:var(--noc-yellow)}.lcd-entry.error,.lcd-entry.error .level{color:var(--noc-red)}.lcd-entry .msg{overflow-wrap:anywhere}.panel-foot{border-top:1px solid #164a65;display:flex;justify-content:space-between;gap:7px;align-items:center;padding:8px 12px;font-size:10.5px;color:#83a6bb}.panel-foot a{color:#61d4ef}
.audio-panel .audio-meter-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 10px}.vu-module{min-width:0}.vu-module h3{font-size:11px;text-align:center;font-weight:500;margin:0 0 10px}.vu{position:relative;height:115px;border:1px solid #22638b;border-radius:5px;background:radial-gradient(ellipse at 50% 90%,#103955,transparent 68%),#031522;overflow:hidden}.vu-arc{position:absolute;left:12%;right:12%;top:29px;height:65px;border-top:9px solid #27bedc;border-radius:75% 75% 0 0;display:flex;justify-content:space-between;padding-top:0;color:#92dcfb;font:10px monospace}.vu-arc span{position:relative;top:-20px}.vu-arc span:nth-child(4){color:#ff9b98}.vu-arc span:last-child{color:#fd5869}.vu-needle{position:absolute;width:2px;height:66px;background:#ecfbff;left:50%;bottom:11px;transform-origin:bottom center;transform:rotate(-83deg);opacity:.15;box-shadow:0 0 4px #d9ffff;transition:transform .2s ease,opacity .2s ease}.vu-value{position:absolute;bottom:6px;right:9px;font:11px monospace;color:#62d9ef}.signal-note{text-align:center;color:#7eaabd;font-size:10px;margin:7px 0}.calls-summary{border-top:1px solid #1d5470;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px}.calls-summary strong{font-size:27px;color:var(--noc-cyan)}.calls-summary small{font-size:10px;color:#88b0c4;text-align:right}
.metric-rows{padding:11px 13px}.metric-row{display:grid;grid-template-columns:75px 45px minmax(50px,1fr);gap:10px;align-items:center;margin:12px 0}.metric-row .value{font:12px monospace;text-align:right}.metric-track{height:12px;border:1px solid #206787;background:#02101a}.metric-track i{display:block;height:100%;background:linear-gradient(90deg,#098fc1,#2ff2db);max-width:100%;min-width:0}.metric-row:nth-child(2) .metric-track i{background:linear-gradient(90deg,#008b65,#33fe83)}.metric-row:nth-child(3) .metric-track i{background:linear-gradient(90deg,#3467be,#3bbafe)}
.data-table-wrap{overflow-x:auto}.noc-table{width:100%;border-collapse:collapse;font-size:11px}.noc-table th{background:#092437;color:#8aa9bd;font-weight:700;white-space:nowrap}.noc-table td,.noc-table th{padding:9px 11px;text-align:left;border-bottom:1px solid #173c55}.noc-table tr:hover td{background:#0b293b}.noc-table td a{color:#78dfff}.agent-state{font-weight:600}.agent-state.ok{color:var(--noc-green)}.agent-state.warning{color:var(--noc-yellow)}.agent-state.error{color:var(--noc-red)}.agent-state.muted{color:var(--noc-off)}
.activity-top{display:flex;align-items:center;gap:12px;padding:13px;border-bottom:1px solid #174964}.activity-top strong{font-size:35px;color:#59eae9}.activity-top span{color:#a1b7c5;font-size:11px}.activity-list{padding:7px 11px;min-height:120px}.activity-item{padding:7px 0;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #163b52}.activity-item .op{overflow-wrap:anywhere;min-width:0;color:#bad4e4}.activity-item .count{white-space:nowrap;font:12px monospace;color:#65eed0}.activity-item .count.has-errors{color:var(--noc-red)}.recent-panel .noc-table td:nth-child(4){max-width:740px;overflow-wrap:anywhere}.event-level{font-size:10px;text-transform:uppercase;font-weight:750}.event-level.error{color:var(--noc-red)}.event-level.warning{color:var(--noc-yellow)}.event-level.info{color:var(--noc-cyan)}
@media(max-width:1360px){.status-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}.secondary-grid{grid-template-columns:1fr 1.5fr}.secondary-grid .noc-panel:last-child{grid-column:1/-1}}
@media(max-width:1080px){.cncs-sidebar{flex-basis:155px}.cncs-header-caption{display:none}.primary-grid{grid-template-columns:1fr}.lcd-console{height:235px}.secondary-grid{grid-template-columns:1fr}}
@media(max-width:720px){.cncs-topbar{height:auto;min-height:60px;padding:11px}.cncs-brand .cncs-word{font-size:20px;padding-left:9px}.cncs-brand b{font-size:18px}.cncs-header-right{display:none}.cncs-layout{display:block}.cncs-sidebar{border-right:0;border-bottom:1px solid #18516d;padding:5px;overflow-x:auto}.cncs-sidebar nav{flex-direction:row;white-space:nowrap}.cncs-sidebar a{padding:8px 10px}.cncs-sidebar .sidebar-footer{display:none}.cncs-main{padding:10px}.status-grid{grid-template-columns:repeat(2,minmax(125px,1fr))}.dashboard-title{flex-wrap:wrap}.primary-grid{display:block}.audio-panel .audio-meter-grid{gap:6px}.console-actions input{display:none}.lcd-entry{grid-template-columns:65px 55px minmax(0,1fr);font-size:10px}.lcd-entry .source{display:none}}

/* DroneDetector adaptation of CNCS v0.14 dashboard. */
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}.notice{margin:0;padding:8px 20px;color:#a8d6e8;min-height:32px;background:#06141f;font-size:12px}.notice:empty{display:none}.login-card{max-width:820px;margin:45px auto;display:grid;grid-template-columns:1fr 1fr}.login-brand{width:100%;height:100%;object-fit:contain;background:#02080e}.login-content{padding:30px}.login-content h1{font-size:24px}button{cursor:pointer;background:#0b3249;color:#aee8ff;border:1px solid #267398;padding:8px 12px;border-radius:4px;font:inherit;margin:4px}input,select{background:#031420;color:#d7edf6;border:1px solid #286582;border-radius:4px;padding:8px;font:inherit;max-width:100%}label{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #143347}label input:not([type=checkbox]),label select{width:53%;min-width:0}.login-content label{display:block}.login-content input{display:block;width:100%!important;margin:10px 0}.settings-body{padding:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.alarm{margin:16px 0;padding:14px;border:1px solid #255975;background:#051421}.days{display:flex;flex-wrap:wrap}.days label{gap:3px;padding:5px}#scope{display:block;width:100%;max-height:440px;background:#010805}#clockFace{font:clamp(32px,7vw,80px) monospace;text-align:center;color:#ffb347}#clockFace:empty{display:none}#monitor{padding:10px 14px;font:12px monospace;color:#7de8ca;white-space:pre-wrap}.health-list{display:grid;grid-template-columns:1fr 1.2fr;gap:12px 8px;padding:14px;margin:0;font-size:12px}.health-list dt{color:#91b0c2}.health-list dd{margin:0;text-align:right;overflow-wrap:anywhere}.alarm-actions{padding:0 10px 12px}#metrics{width:100%;height:150px;padding:10px}.system-brand{width:360px;max-width:100%;float:right;margin:0 0 12px 20px}.service-indicator .micro{text-align:center;font-size:10px}.lcd-console{height:180px;overflow:auto;background:#02100d;padding:10px;font:11px ui-monospace,monospace}.primary-grid{grid-template-columns:minmax(0,2fr) minmax(285px,1fr)}.cncs-brand .cncs-word{font-size:19px}.signal-lamp.running{animation:none}@media(max-width:850px){.form-grid{grid-template-columns:1fr}.primary-grid{grid-template-columns:1fr}.login-card{margin:15px;grid-template-columns:1fr}.login-brand{max-height:220px}.cncs-brand .cncs-word{font-size:15px}.cncs-header-right{display:none}.system-brand{float:none;margin:0 0 16px}}@media(max-width:480px){.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cncs-brand{gap:8px}.cncs-brand .mountain{display:none}.cncs-brand .cncs-word{font-size:13px}.settings-body{padding:10px}.health-list{font-size:11px}}

.scene-stage{position:relative}#scope{display:block;width:100%;height:auto}#clockFace{position:absolute;left:0;right:0;top:35%;text-align:center;z-index:1;pointer-events:none;margin:0;font:clamp(32px,6vw,80px) monospace;color:#ffb347;text-shadow:0 2px 8px #000}

#weatherScope{width:100%;height:160px;object-fit:cover;border:1px solid #173f54;border-radius:4px}

.aircraft-split{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:14px}.aircraft-list{max-height:420px;overflow:auto}.aircraft-list tr{cursor:pointer}.aircraft-list tr.selected{background:#174653}#aircraftPlot{width:100%;height:auto;background:#030c13}#aircraftDetails{white-space:pre-wrap;font:12px monospace;color:#b0dbe8}@media(max-width:850px){.aircraft-split{grid-template-columns:1fr}}

.aircraft-split.expanded{grid-template-columns:1fr}.aircraft-split.expanded .aircraft-list{display:none}.aircraft-split.expanded #aircraftPlot{max-height:calc(100vh - 220px);object-fit:contain}
