
:root{--ew-info:#36bffa;--ew-watch:#f5cf4b;--ew-warning:#ff9f43;--ew-severe:#ff4d5a;--ew-pds:#e32652;--ew-emergency:#d946ef;--ew-ok:#55e28a;--ew-muted:#8da6b8;--ew-panel:#07131d;--ew-edge:#24485a}
.layerButtonIcon{width:15px;height:15px;fill:currentColor;flex:0 0 15px;filter:drop-shadow(0 0 3px rgba(80,210,255,.16))}
#layersPanel button,#missionSidebar .operationsButtons button{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important}
#layersPanel button{letter-spacing:.055em!important}.operationsButtons button .layerButtonIcon{width:13px;height:13px;flex-basis:13px}
#missionSidebar{border-right-color:#24485a!important;background:linear-gradient(180deg,#07141d 0%,#050e15 100%)!important}
#missionSidebar .sidebarSectionTitle{color:#719eaf!important;letter-spacing:.17em!important}
.feeditem{border-left-width:3px!important;background:linear-gradient(90deg,rgba(12,35,47,.64),rgba(5,16,24,.22))!important;padding:8px 7px!important}
.feeditem:hover{background:linear-gradient(90deg,rgba(18,54,70,.8),rgba(8,23,32,.45))!important}
.feedBadge{border-radius:2px!important;letter-spacing:.075em!important}.feedTime{font-variant-numeric:tabular-nums}
#alertPane,#eventPane,#quakePane,#cyclonePane{border-color:var(--ew-edge)!important;background:linear-gradient(180deg,rgba(6,21,30,.985),rgba(4,13,20,.985))!important}
.paneType,.ewaLabel,.incidentIntelligenceLabel,.situationLabel,.provenanceLabel{letter-spacing:.08em!important}
#mapKeyPanel{border-top-color:#24485a!important;background:linear-gradient(180deg,#061720,#050f16)!important}
#mapKeyPanel .cyclone .line{border-radius:2px}.mapKeySeverityLegend{margin-top:7px;padding-top:7px;border-top:1px solid #163845;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.mapKeySeverityLegend>b{color:#69e6c0;font-size:8px;letter-spacing:.1em;margin-right:3px}.mapKeySeverityLegend .sev{padding:2px 5px;border:1px solid currentColor;border-radius:2px;font-size:7px;letter-spacing:.06em}.mapKeySeverityLegend .info{color:var(--ew-info)}.mapKeySeverityLegend .watch{color:var(--ew-watch)}.mapKeySeverityLegend .warning{color:var(--ew-warning)}.mapKeySeverityLegend .severe{color:var(--ew-severe)}.mapKeySeverityLegend .pds{color:var(--ew-pds)}.mapKeySeverityLegend .emergency{color:var(--ew-emergency)}
/* One semantic alert palette across cards, badges and operational panels. */
.clear,.briefingGood{color:var(--ew-ok)!important}.watch,.watchboardElevated{color:var(--ew-watch)!important}.warning,.briefingWarning,.watchboardHigh{color:var(--ew-warning)!important}.tornado,.briefingCritical,.watchboardCritical{color:var(--ew-severe)!important}
#majorAlert.majorEvent-location{border-color:var(--ew-severe)!important}#majorAlert.majorEvent-global{border-color:var(--ew-info)!important}
/* v7.57.2: the complete forecast path is intensity-shaded segment-by-segment. The broad corridor and dashed centreline both inherit each forecast fix's wind-strength colour. Existing MapLibre ownership is unchanged. */
#mapKeyPanel .intensity{font-size:7px!important;gap:5px!important}.mapKeyDot{width:7px!important;height:7px!important;box-shadow:0 0 4px currentColor}
header .brand{font-size:22px!important;letter-spacing:.2em!important;text-shadow:0 0 14px rgba(37,201,245,.12)}
#statusBar{background:linear-gradient(180deg,rgba(6,20,29,.97),rgba(4,13,19,.97))!important;border-top-color:#183b4a!important}
