
:root{--color-background:#050a0e;--color-panel:rgba(5,18,26,.94);--color-panel-alt:rgba(8,27,38,.94);--color-border:#173f52;--color-border-strong:#23657e;--color-accent:#25c9f5;--color-text:#d8edf5;--color-muted:#7196a7;--color-amber:#ffb02e;--color-red:#ff405c;--color-green:#21d39b}
*{box-sizing:border-box}body{background:var(--color-background);color:var(--color-text);font-family:Inter,"Segoe UI",Arial,sans-serif;letter-spacing:.01em}
button{user-select:none;-webkit-user-select:none}
header{height:54px!important;background:linear-gradient(180deg,#071720,#061018)!important;border-bottom:1px solid var(--color-border-strong)!important;box-shadow:0 5px 24px rgba(0,0,0,.38);padding:0 12px!important}
.brand{font-weight:900!important;letter-spacing:.18em!important;color:#f2fbff!important}.brand span{color:var(--color-accent)!important}
.statusChip,.chip{border:1px solid var(--color-border)!important;background:#071923!important;color:#9cc6d7!important;border-radius:2px!important;font-size:10px!important;font-weight:800!important;letter-spacing:.08em!important}
.panelBtn,.topBtn,#uiDisplay{height:34px!important;padding:0 13px!important;border:1px solid #285b70!important;background:#0a2230!important;color:#d8edf5!important;font-weight:900!important;font-size:11px!important;letter-spacing:.07em!important;box-shadow:none!important}
.panelBtn:hover,.topBtn:hover,#uiDisplay:hover{background:#103447!important;border-color:#35a9d1!important}.panelBtn.on,.topBtn.active{background:#0d3a4d!important;border-color:var(--color-accent)!important;color:white!important}
.side{background:linear-gradient(180deg,rgba(5,17,24,.98),rgba(4,13,19,.97))!important;border-right:1px solid var(--color-border)!important;box-shadow:10px 0 28px rgba(0,0,0,.24)}
.side h3,.side .sectionTitle{color:#7eaabd!important;font-size:10px!important;letter-spacing:.16em!important;font-weight:900!important}
button,select,input{font-family:inherit}.layerBtn,.side button,.acBtn{border-radius:2px!important}
#alertCentre,#ewReplay,#ewSimulator,#ewAnalysis{background:linear-gradient(180deg,rgba(5,22,31,.985),rgba(4,14,21,.985))!important;border:1px solid #28596e!important;box-shadow:0 16px 44px rgba(0,0,0,.55)!important;backdrop-filter:blur(8px)}
.acHead,.compactModalTitle,#ewAnalysis .ewaHead{background:#071c27!important;border-bottom:1px solid #28596e!important;color:#e8f8ff!important;letter-spacing:.12em!important}
#ewAnalysis{right:12px!important;top:64px!important;width:370px!important;max-height:calc(100% - 82px)!important}
.ewaSection{border-top:1px solid #183c4c!important;padding-top:10px!important;margin-top:10px!important}.ewaLabel{color:#6e9bad!important}.ewaValue{color:#e8f8ff!important}
.ewCycloneRisk{background:#071c27!important;border-left:3px solid var(--color-amber)!important}
#alertCentre{top:64px!important;left:14px!important;width:350px!important}
#ewReplay{top:64px!important;left:14px!important;width:390px!important}
#ewSimulator{top:64px!important;left:14px!important}
.feed{background:linear-gradient(180deg,rgba(5,17,24,.96),rgba(4,13,19,.96))!important;border-left:1px solid var(--color-border)!important}
.feedCard,.incidentCard{background:#071923!important;border:1px solid #12394a!important;border-left:3px solid #237b99!important;margin:6px!important;transition:.12s ease}.feedCard:hover,.incidentCard:hover{background:#0a2532!important;border-color:#23657e!important;transform:translateX(-1px)}
#map{background:#020609!important}
#mapCanvas{filter:saturate(.94) contrast(1.03)}
.legend{background:rgba(4,16,23,.92)!important;border:1px solid #1d4a5d!important;box-shadow:0 8px 24px rgba(0,0,0,.3)!important}
footer,.footer,.statusbar{background:#06131b!important;border-top:1px solid #173f52!important;color:#6f99aa!important}
#ewReplayClose,#acCloseFix{border-radius:2px!important;background:#0a2634!important;border-color:#315e70!important;color:#dff7ff!important}
#ewReplayClose:hover,#acCloseFix:hover{border-color:var(--color-accent)!important;background:#10384a!important}
body.ewReplayMode header{border-bottom-color:#b34a3c!important}
body.ewReplayMode #mapCanvas{filter:saturate(.78) contrast(1.04)}
@media(max-width:1200px){#ewAnalysis{width:340px!important}.panelBtn,.topBtn,#uiDisplay{padding:0 9px!important}}
