/* Clean, responsive map workspace. */
:root{--ink:#20312c;--muted:#728079;--line:#e5eae7;--panel:#fff;--green:#315e4c}html,body,#map{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,select,input{font:inherit}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #6a9f84;outline-offset:2px}.glass{box-shadow:0 3px 16px #16382a12;border:1px solid var(--line)}.top{gap:5px;padding:6px;background:#fffffffa;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 22px #16382a15;max-width:calc(100vw - 20px)}.top .glass{box-shadow:none;border:0;background:transparent;border-radius:9px}.top button,.top select{height:42px;padding:0 12px;font-size:12px;font-weight:550}.top button:hover,.top select:hover{background:#edf3ef}.top .brand{height:42px;padding:0 10px 0 4px}.brand .logo{width:28px;height:28px;border-radius:8px;background:#315e4c;display:grid;place-items:center}.brand .logo:after{content:'S';color:white;font-weight:750;font-size:16px}.brand b{font-weight:700;letter-spacing:-.3px}.weather{height:42px!important;gap:10px;padding:0 12px!important;border-left:1px solid var(--line)!important;border-right:1px solid var(--line)!important}.weather span{font-size:11px}.top #layersBtn{background:#315e4c;color:white}.top #moveBar,.top #hideBar{padding:0;width:32px;min-width:32px;color:#738078}.panel{top:80px;bottom:38px;max-height:none;width:300px;padding:16px;border-radius:14px;background:#fff;backdrop-filter:none;border:1px solid var(--line);box-shadow:0 4px 22px #16382a12}.layerHeading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.layerHeading small{font-size:9px;letter-spacing:1.8px;color:#809088}.layerHeading h2{font-size:18px;margin:3px 0 0;font-weight:650;letter-spacing:-.4px}.layerHeading button{width:34px;height:34px;border:0;background:#f2f5f3;border-radius:9px;font-size:22px;color:#78837d}.layerSearch{width:100%;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;margin-bottom:16px;background:#f8faf9;font-size:12px}.group{border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;padding:2px 0 8px}.group .head{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:white;padding:13px 0;font-size:10px;font-weight:700;letter-spacing:1px;color:#617269;text-align:left;cursor:pointer}.groupChevron{font-size:16px;transition:transform .15s}.head[aria-expanded=false] .groupChevron{transform:rotate(-90deg)}.row{padding:10px 0;border:0;font-size:12px;gap:10px}.row input{width:16px;height:16px;margin:0;accent-color:#315e4c;flex:none}.row small{color:#859188;font-size:10px;line-height:1.5}.layerState{padding:0 0 9px 26px;font-size:10px;line-height:1.4;color:#7e8a82}.metStatus{border:0;padding:8px 0;font-size:10px;line-height:1.6}.warning-button{border-radius:7px;background:#f4f7f5;padding:10px;font-size:11px;margin-bottom:8px}.incidentKey{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0 10px;font-size:9px;color:#718178}.incidentKey span{display:flex;align-items:center;gap:4px}.incidentKey i{width:7px;height:7px;border-radius:50%;background:var(--state)}.referenceButton{font-size:12px}.info{box-shadow:none;background:#fffffff0;font-size:10px;padding:5px 9px;bottom:23px}.leaflet-top.leaflet-right{top:80px}.leaflet-control-zoom{border:1px solid var(--line)!important;box-shadow:0 3px 14px #16382a12!important;border-radius:10px!important;overflow:hidden}.leaflet-control-zoom a{width:34px!important;height:34px!important;line-height:34px!important;color:#385247!important}.incidentPin{background:none;border:0}.incidentPin>span{display:grid;place-items:center;width:32px;height:34px;background:#fff;color:var(--state);border-radius:11px;border:1px solid #e4e9e5;box-shadow:0 3px 7px #172a2838}.incidentPin svg{width:23px;height:25px}.airPin>span{display:flex;align-items:center;background:#fff;border:2px solid #597c99;color:#436a89;border-radius:8px;padding:3px;gap:3px;box-shadow:0 2px 7px #1233}.airPin svg{width:25px;height:22px}.airPin b{font-size:11px}.incidentPin:focus{outline:3px solid #315e4c;border-radius:10px}#incidentPanel,#gpsPanel,#aircraftPanel{top:80px;right:10px;bottom:38px;width:370px;max-width:calc(100vw - 20px);padding:20px;border-radius:14px;box-shadow:0 4px 22px #16382a20;border:1px solid var(--line);background:white;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}#incidentPanel header,#gpsPanel header,#aircraftPanel header{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:12px}#incidentPanel header button,#gpsPanel header button,#aircraftPanel header button{width:34px;height:34px;border:0;border-radius:9px;background:#f3f6f4;color:#64746a}.incidentHeading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:18px}.incidentHeading small{font-size:10px;color:var(--muted)}.incidentState{display:flex;align-items:center;gap:5px;background:color-mix(in srgb,var(--state) 9%,white);color:var(--state);padding:6px 8px;border-radius:6px;font-size:11px;font-weight:650}.incidentState svg{width:15px;height:17px}.incidentType{font-size:21px;font-weight:650;letter-spacing:-.5px;line-height:1.3;margin:14px 0 5px}.incidentPlace{font-size:12px;color:#758379;margin:0}.incidentMetrics{gap:8px;margin:20px 0}.incidentMetric{background:#f4f7f5;border:1px solid #edf1ee;border-radius:9px;padding:12px 4px}.incidentMetric svg{height:23px;width:23px;color:#6d8477;margin-bottom:8px}.incidentMetric b{font-size:24px;line-height:1.2;font-weight:650}.incidentMetric span{display:block;font-size:10px;color:#77867d;margin-top:3px}.incidentFacts{font-size:12px;margin:18px 0}.incidentFacts>div{display:grid;grid-template-columns:95px 1fr;gap:10px;padding:8px 0}.incidentFacts dt{color:#7d8982}.incidentFacts dd{margin:0;overflow-wrap:anywhere}.timelineSection{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.timelineSection h3{font-size:13px;font-weight:650}.muted{font-size:11px;color:#7f8c83;line-height:1.5}.incidentTimeline{list-style:none;margin:18px 0 12px;padding:0 0 0 8px}.incidentTimeline li{position:relative;border-left:1px solid #dfe6e1;padding:0 0 22px 20px;font-size:11px}.incidentTimeline li:before{content:'';position:absolute;left:-5px;top:4px;width:8px;height:8px;background:var(--state,#8a948f);border-radius:50%;border:2px solid white;box-sizing:content-box}.incidentTimeline li:last-child{border-left-color:transparent}.incidentTimeline time{display:block;font-size:10px;color:#869087;margin-bottom:4px}.incidentTimeline strong{display:block;font-size:12px;font-weight:600;margin-bottom:5px}.incidentTimeline span,.incidentTimeline small{display:block;font-size:10px;color:#718177;line-height:1.7}.recordDetails{font-size:11px;line-height:1.6;border-top:1px solid var(--line);padding-top:12px;color:#708076}.recordDetails summary{cursor:pointer;color:#526b5e}.recordSync{font-size:10px;line-height:1.6;color:#839086}.missingIncident{font-size:12px;padding:12px;background:#fff2dc;border-radius:8px}#aircraftPanel{position:fixed;z-index:1202}#aircraftPanel .aircraftTitle{font-size:23px;margin-bottom:4px}.planePin{background:none;border:0}.planePin svg{width:30px;height:30px;filter:drop-shadow(0 1px 2px white)}.planePin span{display:block;color:#fff;background:#365f7a;border-radius:4px;font-size:9px;padding:2px 4px;width:max-content;max-width:110px;white-space:nowrap}.planePin.stale{opacity:.55}.aircraftTools{display:flex;gap:6px;margin:10px 0}.aircraftTools button{background:#f1f5f3;border:1px solid var(--line);border-radius:7px;padding:9px;font-size:11px}.aircraftList{display:grid;gap:6px;max-height:210px;overflow:auto}.aircraftList button{text-align:left;border:1px solid var(--line);border-radius:7px;background:#f7faf8;padding:9px;color:#345544;font-size:11px}.aircraftList small{display:block;color:#7c8881}.aircraftStatus{font-size:10px;line-height:1.6;color:#718078}.gpsNumbers b{background:#f2f6f3;font-weight:650}.gpsActions button{min-height:42px}.leaflet-popup-content-wrapper{box-shadow:0 6px 24px #1232;border:1px solid var(--line)}
@media(min-width:821px) and (max-width:1150px){.top .weather{max-width:220px;gap:7px;flex-wrap:wrap}.weather .optional,.weather #hum{display:none}.top .brand b{display:none}.top .brand{padding-right:3px}.top button{padding:0 9px}.panel{width:280px}#incidentPanel,#gpsPanel,#aircraftPanel{width:345px}}
@media(max-width:820px){.top{left:8px;top:max(8px,env(safe-area-inset-top));padding:5px;max-width:calc(100vw - 16px);width:calc(100vw - 16px);gap:4px;display:grid;grid-template-columns:76px 1fr 1.1fr 1fr 25px 25px;border-radius:12px}.top .brand{display:none}.top .weather{grid-column:1/-1;height:30px!important;min-height:30px;flex-basis:auto;display:flex;flex-wrap:nowrap;border:0!important;justify-content:center;gap:10px;min-width:0;padding:0!important}.top .weather span{font-size:10px}.top button,.top select{height:40px;font-size:10px!important;padding:0 5px;min-width:0;max-width:100%;white-space:nowrap}.top #moveBar,.top #hideBar{min-width:25px;width:25px}.top #hazmatBtn{font-size:10px!important}.panel{top:102px;bottom:28px;left:-340px;width:min(310px,calc(100vw - 16px));max-height:none;padding:15px}.panel.open{left:8px}.leaflet-top.leaflet-right{top:106px}.leaflet-control-zoom a{width:32px!important;height:32px!important;line-height:32px!important}#incidentPanel,#gpsPanel,#aircraftPanel{left:8px;right:8px;width:auto;max-width:none;top:auto;bottom:24px;max-height:65dvh;border-radius:18px;padding:16px;box-shadow:0 -3px 26px #15362c22}#incidentPanel header,#gpsPanel header,#aircraftPanel header{position:sticky;top:-16px;background:white;z-index:1;padding-top:6px}.incidentMetrics{margin:14px 0}.incidentType{font-size:19px}.info{bottom:22px;max-width:calc(100vw - 65px);font-size:9px;padding:4px 6px}.panel.closed{display:none}.incidentFacts>div{grid-template-columns:85px 1fr}#legend{top:104px;right:50px;max-height:25dvh}.aircraftList{max-height:160px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Smaller operational map symbols and explicit resource changes. */
.incidentPin>span{width:24px;height:26px;border-radius:8px;box-shadow:0 2px 5px #172a2830}.incidentPin svg{width:18px;height:20px}.reservoirIcon{background:transparent;border:0}.reservoirIcon svg{filter:drop-shadow(0 1px 1px #fff)}#reservoirLegend svg{display:block;width:19px;height:22px}.incidentPhases{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:18px 0}.incidentPhases>div{border-top:2px solid #e5eae7;padding-top:7px;position:relative}.incidentPhases i{position:absolute;top:-5px;width:8px;height:8px;border:1px solid #cfd8d2;border-radius:50%;background:white}.incidentPhases b{display:block;font-size:10px;font-weight:550}.incidentPhases small{display:block;font-size:9px;line-height:1.4;color:#89938d;margin-top:5px}.incidentPhases .observed{border-color:#4d7d67}.incidentPhases .observed i{background:#4d7d67;border-color:#4d7d67}.timelineDelta{display:block!important;margin-top:4px;font-size:10px!important;border-radius:4px;padding:3px 6px;background:#f1f4f2;color:#566f60!important}.timelineDelta.added{color:#33704e!important;background:#eff7f0}.timelineDelta.removed{color:#986b32!important;background:#fcf4e9}.timelineDelta.state{background:#edf3f9;color:#3e668e!important}
.ppiHistoricalBanner{position:sticky;top:0;z-index:2;background:#fff0cf;border:2px solid #d49326;border-radius:10px;padding:16px;color:#875511;margin:15px 0}.ppiHistoricalBanner b{display:block;font-size:20px;letter-spacing:.7px}.ppiHistoricalBanner span{display:block;font-size:13px;margin-top:6px}.ppiCoverage{padding:10px;border-radius:7px;background:#f3f5f4;color:#64736a;font-size:12px}.ppiSections{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.ppiSections>div{padding:16px;background:#f3f7f4;border:1px solid #e2eae4;border-radius:9px}.ppiSections b,.ppiSections span{display:block}.ppiSections span{font-size:18px;margin-top:5px}

.reinforcementGroup{border:1px solid #dfe7e1;border-radius:10px;padding:14px;margin:12px 0}.reinforcementGroup summary{font-weight:650;cursor:pointer;font-size:15px}.reinforcementGroup summary small{display:block;font-size:12px;color:#527160;margin:6px 0}.reinforcementGroup table{width:100%;border-collapse:collapse;font-size:12px;margin:12px 0}.reinforcementGroup th,.reinforcementGroup td{padding:9px 6px;text-align:left;border-bottom:1px solid #e5eae7}.reinforcementGroup thead{color:#728078;font-size:11px}.timelineSection summary{font-size:12px;cursor:pointer;padding:10px 0}
