:root{color-scheme:dark;--bg:#10151c;--panel:#171e27;--raised:#202936;--line:#2a3441;--text:#ecf0f5;--muted:#95a2b3;--accent:#d7e7fa;--map:#19232d;--road:#3c4b59;--green:#72d6a1;--yellow:#e4cf76;--orange:#f3ac65;--red:#f17b78}*{box-sizing:border-box}body{margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text)}body.light{color-scheme:light;--bg:#f0f3f6;--panel:#fff;--raised:#e7edf3;--line:#cdd5de;--text:#17232f;--muted:#586978;--accent:#213a53;--map:#dce5e6;--road:#a4b6c3}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:var(--raised);color:var(--text);min-height:46px;padding:10px 16px;font-weight:600}button:hover{filter:brightness(1.15)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8bb4ee;outline-offset:3px}a{color:inherit;text-decoration:none}.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.quiet{background:transparent}.small{font-size:12px}header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-size:21px;letter-spacing:2px;font-weight:800}.brandmark{font-size:35px;line-height:1;color:#c2d9ef}.edition{font-size:11px;font-weight:500;letter-spacing:2px;color:var(--muted);border-left:1px solid var(--line);padding-left:18px;margin-left:12px}.municipality{margin-left:auto;color:var(--muted)}.municipality span,.tag{font-size:11px;letter-spacing:1px;border:1px solid var(--line);border-radius:5px;padding:4px 7px;margin-left:10px}.shell{display:flex}nav{width:104px;flex-shrink:0;border-right:1px solid var(--line);min-height:calc(100vh - 78px);padding:26px 12px;display:flex;flex-direction:column;gap:10px}nav a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 0;color:var(--muted);font-size:22px;border-radius:9px}nav a span{font-size:11px}nav a.active{background:var(--raised);color:var(--text)}.navbottom{margin-top:auto;text-align:center;color:var(--muted);padding-top:100px}.navbottom small{font-size:11px}main{width:calc(100% - 104px);padding:26px 32px;max-width:1900px;margin:auto}.eyebrow{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;letter-spacing:1.5px;margin-bottom:24px}.titlebar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}h1{font-size:30px;letter-spacing:-1px;margin:0 0 4px;font-weight:600}h2{font-size:18px;margin:0 0 12px;font-weight:600}h3{font-size:15px;margin:0 0 8px}p{margin:0 0 14px}.muted{color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:22px;background:var(--panel)}.metric{padding:17px 22px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric small{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.metric strong{font-size:25px;letter-spacing:-.5px;font-weight:500}.metric em{font-style:normal;color:var(--muted);font-size:12px;margin-left:6px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.map-panel{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--panel)}.map-head{display:flex;justify-content:space-between;align-items:center;padding:16px 19px;border-bottom:1px solid var(--line)}.map-head h2{margin:0;font-size:14px}.live{font-size:11px;color:var(--muted)}.live:before{content:'●';color:var(--green);margin-right:8px}.map{position:relative;height:440px;background:var(--map);overflow:hidden}.map svg{position:absolute;width:100%;height:100%}.water{stroke:#293f50;stroke-width:7;fill:none}.road{stroke:var(--road);fill:none;stroke-width:1.2;stroke-linecap:round}.minor{stroke-width:.55;opacity:.55}.route{fill:none;stroke:#a7c3df;stroke-width:1.3;stroke-dasharray:3 2;opacity:.8}.map-label{fill:var(--muted);font-size:2.2px;letter-spacing:.3px}.forest{fill:#23362f;opacity:.55}.block{fill:var(--road);opacity:.13}.pin{position:absolute;transform:translate(-50%,-50%);border-radius:50%;width:43px;height:43px;min-height:43px;padding:0;border:4px solid var(--map);box-shadow:0 0 0 1px var(--line);font-size:11px;font-weight:800;color:#17212c;z-index:2}.pin.selected{outline:2px solid white;outline-offset:3px}.green{--risk:var(--green)}.yellow{--risk:var(--yellow)}.orange{--risk:var(--orange)}.red{--risk:var(--red)}.unknown{--risk:#8592a1}.pin{background:var(--risk)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--risk)}.badge:before{content:'●';font-size:11px}.map-corner{position:absolute;bottom:14px;left:17px;font-size:11px;color:var(--muted);z-index:3;background:var(--panel);padding:6px 10px;border-radius:5px}.map-tools{position:absolute;right:14px;top:14px;z-index:3}.legend{display:flex;gap:18px;flex-wrap:wrap;padding:13px 18px;font-size:11px;border-top:1px solid var(--line)}.simulator{padding:19px;border-top:1px solid var(--line)}.simtitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.simtitle h3{margin:0}.simtitle strong{font-size:13px;font-weight:500}input[type=range]{width:100%;accent-color:#bbd2ea;min-height:32px}.ticks{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:21px;margin-bottom:17px}.recommend{border-top:3px solid var(--risk)}.kicker{font-size:11px;letter-spacing:1.4px;color:var(--muted);text-transform:uppercase;margin-bottom:12px}.recommend h2{font-size:23px;line-height:1.3;letter-spacing:-.4px}.recommend p{font-size:12px;color:var(--muted)}.recommend button{width:100%;margin-top:7px}.number{font-size:42px;line-height:1}.number small{font-size:13px;color:var(--muted)}.listrow{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.listrow:last-child{border:0}.listrow button{padding:7px 10px;font-size:11px;min-height:44px}.listrow strong{font-size:12px;font-weight:500}.listrow small{display:block;color:var(--muted);font-size:11px}.dots{display:flex;gap:7px;margin:18px 0}.dot{height:7px;flex:1;background:var(--risk);border-radius:3px}.bottomline{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:22px}footer{display:flex;justify-content:space-between;gap:15px;padding:28px 0 0;color:var(--muted);font-size:11px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;color:var(--muted);font-size:12px}input:not([type=range]),select,textarea{display:block;width:100%;padding:12px;margin:6px 0 12px;min-height:48px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:7px}textarea{min-height:75px}.full{grid-column:1/-1}.choice{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 20px}.choice button[aria-pressed=true]{background:var(--accent);color:var(--bg)}dialog{width:min(640px,94vw);max-height:90vh;overflow:auto;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:15px;padding:27px}dialog::backdrop{background:#050a12c9;backdrop-filter:blur(4px)}.dialoghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialoghead h2{margin:0}.reason{padding:8px 0;color:var(--muted);font-size:13px}.chart{width:100%;height:130px;margin-top:15px}.chart text{fill:var(--muted);font-size:11px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:14px 12px}th{color:var(--muted);font-weight:500}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--bg);padding:13px 20px;border-radius:8px;z-index:10;display:none}.empty{padding:40px;text-align:center;color:var(--muted)}.checkline{display:flex;align-items:center;gap:12px}.checkline input{width:20px!important}.hint{padding:12px;background:var(--raised);border-radius:7px;font-size:12px;color:var(--muted)}.routecard{display:flex;justify-content:space-between;gap:15px;align-items:center}.historybar{height:7px;background:var(--raised);border-radius:4px;margin:14px 0}.historybar span{display:block;width:65%;height:100%;background:var(--accent)}@media(min-width:1500px){.map{height:520px}}@media(max-width:1100px){main{padding:22px}.workspace{grid-template-columns:minmax(0,1fr) 285px}.metric{padding:15px 13px}.edition{display:none}.map{height:400px}}@media(max-width:850px){.workspace{grid-template-columns:1fr}.side{display:grid;grid-template-columns:1fr 1fr;gap:14px}.side .card{margin:0}.metrics{grid-template-columns:repeat(3,1fr)}.metric{border-bottom:1px solid var(--line)}.grid2{grid-template-columns:1fr}.eyebrow{letter-spacing:.5px}.municipality{font-size:11px}.titlebar{align-items:flex-start}.titlebar .actions{justify-content:flex-end}}@media(max-width:600px){header{height:65px;padding:0 17px;gap:8px}.brand{font-size:16px;letter-spacing:1.5px}.brandmark{font-size:28px}.municipality{font-size:0}.municipality span{font-size:11px}nav{position:fixed;bottom:0;left:0;right:0;width:100%;height:74px;min-height:0;flex-direction:row;justify-content:space-around;border:0;border-top:1px solid var(--line);background:var(--bg);z-index:5;padding:4px}nav a{flex:1;padding:5px;font-size:20px;gap:2px}.navbottom{display:none}main{width:100%;padding:20px 15px 95px}.eyebrow{font-size:11px;flex-direction:column;gap:3px;margin-bottom:18px}.titlebar{display:block}h1{font-size:27px}.titlebar .actions{justify-content:flex-start;margin-top:17px}.metrics{grid-template-columns:repeat(3,1fr);margin-bottom:16px}.metric{padding:12px}.metric strong{font-size:21px}.metric small{font-size:11px}.metric:nth-child(n+4){display:none}.map{height:385px}.map-head{padding:13px}.side{display:block}.side .card{margin-bottom:15px}.workspace{gap:15px}.legend{gap:11px}.pin{width:44px;height:44px;min-height:44px;font-size:11px}.formgrid{grid-template-columns:1fr}.full{grid-column:auto}.card{padding:18px}.routecard{align-items:flex-start;flex-direction:column}footer{display:block}footer span{display:block;margin-top:8px}dialog{padding:20px}.map-corner{font-size:11px}.bottomline{font-size:11px}}@media print{header,nav,.actions,.eyebrow,footer,button,#toast{display:none!important}body,body.light{--bg:white;--panel:white;--text:black;--muted:#444;--line:#aaa;color-scheme:light}main{width:100%;padding:0}.card{break-inside:avoid}dialog{display:none}}

/* Geographic map: only the tile imagery is dimmed, never the status markers. */
.geo-map-wrap{position:relative;isolation:isolate}.geo-map-wrap .map{z-index:0;height:480px}.geo-map-wrap .leaflet-tile-pane{filter:brightness(.85)}body.light .geo-map-wrap .leaflet-tile-pane{filter:none}.geo-map-wrap .map svg{position:static;width:auto;height:auto}.geo-actions{position:absolute;z-index:450;top:12px;right:12px;display:flex;gap:8px}.geo-actions button{background:var(--panel);box-shadow:0 2px 12px #0003;font-size:12px}.geo-pin{border:3px solid var(--panel);border-radius:50%;width:46px;height:46px;min-height:46px;background:var(--risk);color:#13202c;padding:0;font-size:11px;box-shadow:0 2px 9px #0006}.geo-selected{outline:2px solid #eef6ff;outline-offset:2px}.geo-marker{background:none;border:0}.geo-map-wrap .leaflet-control-attribution{background:#ffffffed;color:#223244;padding:3px 7px;font-size:11px;max-width:100%}.geo-map-wrap .leaflet-control-attribution a{color:#24538b}.geo-map-wrap .leaflet-control-zoom a{background:var(--panel);color:var(--text);width:44px;height:44px;line-height:44px;border-color:var(--line)}.geo-map-wrap .leaflet-tooltip{background:var(--panel);color:var(--text);border:1px solid var(--line);font:12px/1.4 -apple-system,sans-serif}.map-context{font-size:11px;color:var(--muted);padding:0 18px 12px}.tile-status{position:absolute;bottom:28px;left:12px;right:12px;z-index:450;padding:10px;background:var(--panel);border:1px solid var(--line);font-size:12px;border-radius:6px}.geo-map-wrap .leaflet-control-container{position:static}.geo-map-wrap .leaflet-control-zoom{margin-top:12px;margin-left:12px}@media(max-width:600px){.geo-map-wrap .map{height:430px}.geo-actions{gap:5px;right:8px}.geo-actions button{font-size:11px;padding:9px}.map-context{font-size:11px}.geo-map-wrap .leaflet-control-attribution{font-size:11px}}

/* Operational layout: clear situation first, geography second, action alongside. */
:root{--blue:#087ed4;--on-blue:#fff}body.light{--bg:#edf2f7;--panel:#fff;--raised:#f3f6fa;--line:#d9e2eb;--text:#142d43;--muted:#52687c;--accent:#0878ce;--green:#2b9c62;--yellow:#b08b14;--orange:#bd651e;--red:#d34243}body{font-variant-numeric:tabular-nums;scrollbar-color:var(--muted) var(--bg)}::selection{background:#1685d5;color:white}input,textarea{caret-color:var(--blue)}.brandmark svg{width:35px;height:35px;fill:none;stroke:#23a8ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.brand{letter-spacing:1px}.edition{letter-spacing:1.3px}header{height:72px;background:#102638;color:#f2f7ff;border-color:#294152}.municipality{color:#c7d5df}header .tag,header .municipality span{border-color:#426075}header #theme{background:#19374d;color:white;border-color:#426075;min-width:46px}.shell>nav{background:#102638;border-color:#294152;width:178px;padding:22px 13px;gap:7px}.shell>nav a{flex-direction:row;gap:13px;padding:14px 16px;color:#bccbda;font-size:14px}.shell>nav a span{font-size:13px}.shell>nav a svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}.shell>nav a.active{background:#087ed4;color:white}.navbottom{color:#adc1d2}.navbottom small{font-size:11px}main{width:calc(100% - 178px);padding:23px 25px}.eyebrow{display:none}.operational-title h1{font-size:27px;letter-spacing:-.7px}.operational-title p{font-size:12px;margin-top:5px}.title-divider{padding:0 9px;color:var(--muted)}.primary{background:#087ed4;color:white;border-color:#087ed4}.primary:hover{background:#076fb9}.overview-grid{display:grid;grid-template-columns:1.05fr 1.45fr;gap:14px;margin-bottom:17px}.situation{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px}.situation-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.situation-heading h2{font-size:15px;margin:0}.decision{display:flex;align-items:flex-start;gap:15px}.decision-icon{display:grid;place-items:center;border:2px solid currentColor;color:var(--risk);width:43px;height:43px;flex:0 0 43px;border-radius:50%;font-size:28px;font-weight:700}.decision h2{font-size:21px;letter-spacing:-.4px;line-height:1.25;margin:0 0 8px;max-width:31ch}.decision p{font-size:12px;color:var(--muted);margin:0 0 8px;max-width:55ch}.situation>small{display:block;color:var(--muted);font-size:11px;margin-top:15px}.text-action{background:none;border:0;border-radius:4px;padding:4px 0;min-height:32px;color:var(--blue);font-size:12px;text-align:left}.weather-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line)}.weather-value{padding:15px;background:var(--panel);display:flex;flex-direction:column;justify-content:center}.weather-value>span{font-size:11px;color:var(--muted);margin-bottom:8px}.weather-value strong{font-size:23px;font-weight:650;white-space:nowrap;letter-spacing:-.5px}.weather-value strong small{font-size:12px;color:var(--muted);font-weight:500}.critical-value{grid-column:span 1}.outlook-value{grid-column:span 3}.mini-outlook{display:flex;gap:26px}.mini-outlook button{display:flex;align-items:center;gap:9px;min-height:32px;border:0;background:none;padding:0;border-radius:3px;font-size:11px}.mini-outlook small{color:var(--muted);font-size:11px}.mini-outlook i{width:9px;height:9px;border-radius:50%;background:var(--risk)}.mini-outlook span{font-size:11px}.dashboard-map .map-head{padding:12px 17px}.dashboard-map .geo-map-wrap .map{height:390px}.dashboard-map .map-context{padding-bottom:8px}.dashboard-map .legend{padding-top:9px;padding-bottom:9px}.simulator{padding:16px 18px}.simtitle{margin-bottom:11px}.simtitle h3{font-size:14px;margin:0 0 3px}.simtitle .small{font-size:11px}.hour-grid{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:4px}.hour-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:55px;padding:6px 2px;border:1px solid transparent;background:var(--raised);border-radius:6px}.hour-cell span{font-size:11px;color:var(--muted);font-weight:500}.hour-cell i{display:block;width:100%;height:5px;background:var(--risk);border-radius:2px}.hour-cell small{font-size:11px;color:var(--text);font-weight:500}.hour-cell.is-current{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:var(--panel)}.hour-cell.is-current span{color:var(--blue);font-weight:700}.risk-range{appearance:none;background:transparent;margin:4px 0 0;height:24px;min-height:24px!important}.risk-range::-webkit-slider-runnable-track{background:var(--risk-track);height:5px;border-radius:4px}.risk-range::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:var(--panel);border:3px solid var(--blue);margin-top:-6px;box-shadow:0 1px 4px #0003}.risk-range::-moz-range-track{background:var(--risk-track);height:5px;border-radius:4px}.risk-range::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--panel);border:3px solid var(--blue)}.timeline-note{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;color:var(--muted)}.timeline-note strong{color:var(--text);font-weight:600}.timeline-note .text-action{font-size:11px}.operational-bottom{display:grid;grid-template-columns:1fr 1.1fr .9fr;gap:20px;padding-top:20px}.bottom-section{padding:0 0 0 0}.bottom-section+.bottom-section{border-left:1px solid var(--line);padding-left:20px}.bottom-section h2{font-size:14px;margin-bottom:12px}.bottom-section p{font-size:12px}.count{background:var(--raised);padding:2px 6px;border-radius:5px;font-size:11px;margin-left:6px}.critical-row{display:flex;align-items:center;gap:10px;width:100%;padding:9px 0;min-height:48px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;text-align:left;font-size:12px;font-weight:500}.critical-row>span:first-child{flex:1}.critical-row small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:2px}.row-arrow{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.light .geo-pin{--green:#67ce8f;--yellow:#e9cd60;--orange:#efa15e;--red:#ef7976}.light .hour-cell,.light .mini-outlook button{--green:#38a169;--yellow:#c7a128;--orange:#d77d31;--red:#de5757}.geo-map-wrap .leaflet-tile-pane{filter:brightness(.85)}body.light .geo-map-wrap .leaflet-tile-pane{filter:none}.map-head .tag{font-size:11px}.map-context{font-size:11px}footer{font-size:11px;padding-top:23px}.badge{white-space:nowrap}dialog{z-index:1000}.simulator button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
@media(min-width:1500px){.dashboard-map .geo-map-wrap .map{height:470px}.overview-grid{grid-template-columns:1fr 1.5fr}.decision h2{font-size:24px}.weather-value strong{font-size:26px}}
@media(max-width:1150px){.shell>nav{width:88px;padding:18px 8px}.shell>nav a{flex-direction:column;gap:6px;padding:12px 5px}.shell>nav a span{font-size:11px}main{width:calc(100% - 88px);padding:20px}.overview-grid{grid-template-columns:1fr 1.3fr}.weather-value{padding:11px}.mini-outlook{gap:15px}.mini-outlook span{display:none}.decision h2{font-size:19px}.decision-icon{width:36px;height:36px;flex-basis:36px;font-size:23px}.timeline-note .muted{display:none}.operational-title h1{font-size:25px}}
@media(max-width:800px){.overview-grid{grid-template-columns:1fr}.weather-grid{grid-template-columns:repeat(4,1fr)}.weather-value{padding:12px 15px}.situation{padding:16px 18px}.situation-heading{margin-bottom:12px}.situation>small{margin-top:10px}.operational-title{align-items:flex-start}.operational-title h1{font-size:23px}.operational-title .actions{gap:7px}.operational-title .actions button{font-size:11px;padding:9px 11px}.operational-bottom{grid-template-columns:1fr 1fr}.demo-information{display:none}.mini-outlook span{display:inline}.dashboard-map .geo-map-wrap .map{height:410px}}
@media(max-width:600px){header{height:65px}.brand{font-size:16px}.shell>nav{position:fixed;width:100%;height:72px;min-height:0;bottom:0;z-index:1001;flex-direction:row;padding:4px 5px;border-top:1px solid #294152}.shell>nav a{flex:1;padding:7px 3px;gap:4px}.shell>nav a span{font-size:11px}.shell>nav a svg{width:21px;height:21px}.shell>nav .navbottom{display:none}main{width:100%;padding:17px 12px 90px}.operational-title{display:block;margin-bottom:14px}.operational-title h1{font-size:24px}.operational-title p{font-size:11px}.operational-title .actions{display:none}.situation-heading h2{font-size:13px}.situation-heading .badge{font-size:11px}.decision h2{font-size:19px}.decision p{font-size:11px}.situation>small{font-size:11px}.weather-value{padding:10px 8px;min-height:74px}.weather-value>span{font-size:11px;margin-bottom:5px;min-height:24px}.weather-value strong{font-size:19px}.weather-value strong small{font-size:11px}.critical-value{grid-column:span 1}.outlook-value{grid-column:span 3}.outlook-value>span{min-height:0}.mini-outlook{gap:15px}.mini-outlook button{gap:5px}.mini-outlook span{display:none}.mini-outlook small{font-size:11px}.overview-grid{gap:10px;margin-bottom:12px}.map-head h2{font-size:13px}.map-head .tag{font-size:11px;margin-left:5px}.live{font-size:11px}.dashboard-map .geo-map-wrap .map{height:355px}.geo-actions button{font-size:11px;min-height:44px}.legend{gap:9px;padding:10px 12px}.legend .badge{font-size:11px}.map-context{font-size:11px;padding-left:12px;padding-right:12px}.simulator{padding:13px 11px}.simtitle h3{font-size:13px}.simtitle .small{font-size:11px}.simtitle strong{font-size:11px}.hour-grid{gap:2px}.hour-cell{min-height:52px;border-radius:4px}.hour-cell span,.hour-cell small{font-size:11px}.hour-cell i{height:6px}.timeline-note{display:block;font-size:11px}.timeline-note .text-action{display:block;font-size:11px;min-height:36px}.operational-bottom{grid-template-columns:1fr;gap:18px;padding-top:19px}.bottom-section+.bottom-section{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:17px}.bottom-section h2{font-size:14px}.critical-row{min-height:53px}.bottom-section .actions{display:grid;grid-template-columns:1fr 1fr}.bottom-section .actions button{font-size:12px;min-height:48px}.edition{display:none}}
@media(prefers-reduced-motion:no-preference){.hour-cell{transition:border-color .15s,background-color .15s}.geo-pin{transition:background-color .2s}}
/* Keep the first map viewport close to the situation summary. */
.operational-title{margin-bottom:15px}.operational-title h1{line-height:1.2}.operational-title p{margin-bottom:0}.situation-heading{margin-bottom:11px}.decision h2{font-size:20px}.decision p{margin-bottom:3px}.situation>small{margin-top:9px}.weather-value{padding-top:11px;padding-bottom:11px}.weather-value>span{margin-bottom:6px}
@media(max-width:600px){.decision h2{font-size:18px}.situation{padding:14px}.situation-heading{margin-bottom:10px}.operational-title{margin-bottom:13px}}

.scenario-picker{margin-bottom:16px;padding:14px 17px;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.scenario-label{min-width:210px}.scenario-label strong{display:block;font-size:13px}.scenario-label small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.scenario-options{display:flex;gap:7px;flex:1;justify-content:flex-end}.scenario-option{display:flex;gap:8px;align-items:center;justify-content:center;min-height:44px;font-size:12px;background:var(--raised);font-weight:500;padding:9px 12px}.scenario-option i{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--risk)}.scenario-option[aria-pressed=true]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:var(--panel);font-weight:650}.scenario-description{width:100%;margin:0;padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.scenario-description span{display:block;margin-top:3px;font-size:11px}.situation.green .decision-icon{font-size:23px;background:var(--risk);color:white;border-color:var(--risk)}.situation.yellow .decision-icon{font-family:Georgia,serif;font-size:28px}.situation .decision-icon{line-height:1}.scenario-options button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}@media(max-width:1100px){.scenario-options{justify-content:flex-start}.scenario-label{min-width:170px}.scenario-option{font-size:11px;padding:9px}.scenario-description span{display:none}}@media(max-width:600px){.scenario-picker{padding:12px;gap:10px}.scenario-label{width:100%}.scenario-options{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px;flex:auto}.scenario-option{justify-content:flex-start;min-height:47px;padding:10px;font-size:12px}.scenario-description{line-height:1.4}}

/* Saturated geographic status symbols with an in-map key. */
:root,body.light{--high:#f04422}.high{--risk:var(--high)}.geo-marker .geo-pin{--green:#15bc49;--yellow:#ffda00;--orange:#ff8a00;--high:#ff451f;--red:#e9001b;--unknown:#8190a1;border:3px solid #fff;box-shadow:0 2px 7px #0007;color:#10202e;font-size:12px;font-weight:800}.geo-marker .geo-pin.high,.geo-marker .geo-pin.red{color:#fff}.geo-selected{outline:2px solid #173e65;outline-offset:3px}.map-risk-legend{position:absolute;right:14px;top:76px;z-index:450;width:181px;padding:15px 13px 11px;background:#102638f5;color:#fff;border:1px solid #405264;border-radius:11px;box-shadow:0 4px 14px #0003}.map-risk-legend h3{font-size:13px;margin:0 0 12px;color:#fff}.map-risk-item{display:flex;align-items:center;gap:9px;min-height:29px;font-size:12px}.map-risk-item i{width:14px;height:14px;border-radius:50%;background:var(--risk);border:1.5px solid #fff;flex-shrink:0}.map-risk-item small{margin-left:auto;font-size:10px;color:#c4d2df}.map-risk-legend p{font-size:10px;color:#c4d2df;margin:10px 0 0;padding-top:9px;border-top:1px solid #405264}.map-risk-legend .green{--risk:#15bc49}.map-risk-legend .yellow{--risk:#ffda00}.map-risk-legend .orange{--risk:#ff8a00}.map-risk-legend .high{--risk:#ff451f}.map-risk-legend .red{--risk:#e9001b}.map-risk-legend .unknown{--risk:#8190a1}.hour-cell,.light .hour-cell,.mini-outlook button,.light .mini-outlook button{--green:#15bc49;--yellow:#ffda00;--orange:#ff8a00;--high:#ff451f;--red:#e9001b}.risk-range{--green:#15bc49;--yellow:#ffda00;--orange:#ff8a00;--high:#ff451f;--red:#e9001b}.map-context{padding-top:10px}.geo-map-wrap .map{min-height:380px}@media(max-width:600px){.map-risk-legend{top:auto;bottom:25px;left:8px;right:8px;width:auto;padding:9px 11px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 8px}.map-risk-legend h3{grid-column:1/-1;margin:0 0 3px;font-size:11px}.map-risk-item{min-height:24px;font-size:10px;gap:5px}.map-risk-item i{width:11px;height:11px}.map-risk-item small,.map-risk-legend p{display:none}.dashboard-map .geo-map-wrap .map{height:410px}}

/* Critical measurements carry their own signal, including an explicit text cue. */
.weather-value.kpi-warning{background:#fff0d6}.weather-value.kpi-warning strong{color:#9b4300}.weather-value.kpi-danger{background:#ffe2e4}.weather-value.kpi-danger strong{color:#bd1027}.weather-value .kpi-hint{display:block;color:var(--muted);font-size:11px;font-weight:500;margin-top:8px;line-height:1.35}.weather-value.kpi-warning>span,.weather-value.kpi-warning .kpi-hint{color:#874000}.weather-value.kpi-danger>span,.weather-value.kpi-danger .kpi-hint{color:#a51a2b}.weather-value.kpi-warning strong small,.weather-value.kpi-danger strong small{color:inherit}.kpi-hint b{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;border:1px solid currentColor;font-size:10px;line-height:1}.mini-outlook button{padding:7px 9px;min-height:40px;gap:6px;border:1px solid var(--line);background:var(--raised)}.mini-outlook button.orange,.mini-outlook button.high{background:#fff0d6;border-color:#e4b56a;color:#874000}.mini-outlook button.red{background:#ffe2e4;border-color:#ed9aa2;color:#a51a2b}.mini-outlook button.orange small,.mini-outlook button.high small,.mini-outlook button.red small{color:inherit}.mini-outlook{gap:7px}body:not(.light) .weather-value.kpi-warning{background:#462d17}body:not(.light) .weather-value.kpi-warning strong,body:not(.light) .weather-value.kpi-warning>span,body:not(.light) .weather-value.kpi-warning .kpi-hint{color:#ffd59d}body:not(.light) .weather-value.kpi-danger{background:#48232d}body:not(.light) .weather-value.kpi-danger strong,body:not(.light) .weather-value.kpi-danger>span,body:not(.light) .weather-value.kpi-danger .kpi-hint{color:#ffb4bd}body:not(.light) .mini-outlook button.orange,body:not(.light) .mini-outlook button.high{background:#462d17;color:#ffd59d;border-color:#7c572d}body:not(.light) .mini-outlook button.red{background:#48232d;color:#ffb4bd;border-color:#87414e}@media(max-width:600px){.weather-value .kpi-hint{font-size:10px;margin-top:6px}.weather-value{padding:10px 7px}.weather-value strong{font-size:20px}.mini-outlook button{padding:6px;gap:5px}.mini-outlook button span{display:none}.kpi-hint b{width:12px;height:12px;font-size:9px}}

.simulation-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:14px 0 13px}.simulation-controls button{min-height:44px;padding:9px 14px;font-size:12px}.simulation-play{min-width:153px}.simulation-caption{font-size:11px;color:var(--muted);margin-left:auto}button:disabled{opacity:.45;cursor:default;filter:none}.simulation-play[aria-pressed=true]{background:#174e7c;border-color:#174e7c}@media(max-width:600px){.simulation-controls{gap:7px}.simulation-controls button{font-size:11px;padding:9px 12px}.simulation-caption{width:100%;margin-left:0}.simulation-play{min-width:145px}}

/* The area risk is explicit, separate from the count of critical sites. */
.weather-grid .outlook-value{grid-column:span 2}.overall-risk.green{background:#e1f5e9;color:#126137}.overall-risk.yellow{background:#fff5cb;color:#705500}.overall-risk.orange{background:#fff0d6;color:#914000}.overall-risk.high,.overall-risk.red{background:#ffe2e4;color:#aa1429}.weather-value.overall-risk>span,.weather-value.overall-risk .kpi-hint{color:inherit}.overall-risk strong{font-size:18px;display:flex;align-items:center;gap:7px;white-space:normal;letter-spacing:-.2px}.overall-risk strong i{width:10px;height:10px;border-radius:50%;background:currentColor;flex-shrink:0}.risk-score{font-size:23px;font-weight:700;margin-top:3px;line-height:1.2}.risk-score small{font-size:12px;font-weight:500}.weather-value.overall-risk .kpi-hint{font-size:10px;margin-top:5px}.weather-grid .mini-outlook{flex-wrap:wrap;gap:5px}.weather-grid .mini-outlook button{padding:6px 7px}.weather-grid .mini-outlook button span{display:none}body:not(.light) .overall-risk.green{background:#173c2d;color:#9ae2b7}body:not(.light) .overall-risk.yellow{background:#3e3517;color:#f4dd88}body:not(.light) .overall-risk.orange{background:#462d17;color:#ffd59d}body:not(.light) .overall-risk.high,body:not(.light) .overall-risk.red{background:#48232d;color:#ffb4bd}@media(max-width:600px){.weather-grid .overall-risk,.weather-grid .critical-value{grid-column:span 2}.weather-grid .outlook-value{grid-column:span 4}.weather-grid .mini-outlook{gap:8px}.weather-grid .mini-outlook button{padding:7px 12px}.weather-grid .mini-outlook button span{display:inline}.overall-risk strong{font-size:19px}.weather-value.overall-risk>span{min-height:0}.weather-value.overall-risk .kpi-hint{font-size:11px}}

.asset-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.asset-head h2{margin:0}.asset-head button{font-size:12px}.asset-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.asset-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.asset-row button{font-size:11px;padding:7px 10px}.plan-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.plan-facts small{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.plan-facts strong{font-size:13px;font-weight:550}.operations{margin-bottom:30px}.operations>h2{margin-bottom:16px}.plan-error{margin:12px 0 0;color:#c4273d}.assets-area{margin-bottom:32px}#plan-preview{margin-bottom:14px}#plan-form .checkline{margin:16px 0}#load-form .checkline,#finish-form .checkline{margin:18px 0}@media(max-width:800px){.plan-facts{grid-template-columns:1fr 1fr}.asset-row{flex-direction:column;align-items:flex-start}.asset-row .actions{width:100%}}@media(max-width:600px){.plan-facts{gap:15px}.asset-head h2{font-size:16px}.asset-head .tag{font-size:9px}.assets-area .grid2{gap:4px}}

.simulation-controls .simulation-play{min-width:44px;width:44px;height:44px;padding:11px;display:grid;place-items:center}.simulation-play svg{width:21px;height:21px;fill:currentColor}.weather-source{display:flex;align-items:center;gap:18px;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--panel);margin:0 0 17px}.weather-source>div:first-child{flex:1}.weather-source strong{font-size:13px}.weather-source p{font-size:12px;color:var(--muted);margin:4px 0}.weather-source small{font-size:11px;color:var(--muted)}.source-reading{display:flex;flex-direction:column;gap:4px;max-width:370px}.source-reading>strong{font-size:22px}.source-reading span{font-size:12px}.weather-source button{font-size:11px}.devices-area{margin-bottom:32px}@media(max-width:800px){.weather-source{flex-wrap:wrap}.weather-source>div:first-child{min-width:220px}.weather-source .actions{width:100%}}

.unified-timeline{gap:0;background:var(--raised);border-radius:9px;padding:0;overflow:hidden;border:1px solid var(--line)}.unified-timeline .hour-cell{border-radius:0;border:0;border-right:1px solid var(--panel);min-height:68px;gap:6px;padding:9px 2px 7px;background:transparent}.unified-timeline .hour-cell:last-child{border-right:0}.unified-timeline .hour-cell i{height:7px;border-radius:0;width:100%}.unified-timeline .hour-cell.is-current{box-shadow:inset 0 0 0 2px var(--blue);background:var(--panel);border-radius:6px}.unified-timeline .hour-cell.is-current:after{content:'';position:absolute;bottom:1px;width:6px;height:6px;background:var(--blue);border-radius:50%}.unified-timeline .hour-cell span,.unified-timeline .hour-cell small{font-size:11px}.unified-timeline .hour-cell:focus-visible{outline-offset:-3px}.timeline-note{margin-top:10px}.geo-map-wrap .mapbox-wordmark{position:absolute;z-index:450;bottom:5px;left:8px;width:88px;height:23px;background-size:contain;background-repeat:no-repeat;background-position:center}.tile-status{bottom:32px}.geo-map-wrap .leaflet-tile-pane{filter:none!important}@media(max-width:600px){.unified-timeline .hour-cell{min-height:62px}.unified-timeline .hour-cell span,.unified-timeline .hour-cell small{font-size:10px}.geo-map-wrap .mapbox-wordmark{bottom:3px;width:70px;height:20px}.map-risk-legend{bottom:30px}.geo-map-wrap .leaflet-control-attribution{max-width:calc(100% - 80px);font-size:8px}}

.mapbox-wordmark{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}

.own-device-pin{width:36px;height:36px;min-height:36px;padding:0;border-radius:7px;border:2px solid white;background:#214e72;color:white;font-size:12px;box-shadow:0 2px 6px #0005}
