/* Satellite Monitor - isolated styles; the original v0.9.21 river map is untouched. */
.satHero{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:12px;background:linear-gradient(113deg,#fffaf2,#fff 48%,#eef8f7);border:1px solid #dae7e8;border-radius:20px;padding:21px 24px;margin-bottom:13px}
.satHero h1{font-size:clamp(25px,4.1vw,37px);color:#163d53;line-height:1.14;margin:7px 0;letter-spacing:-.7px}
.satHero p{color:#728a95;font-size:12px;line-height:1.55;margin:0;max-width:580px}
.satHealth{display:flex;gap:6px;flex-wrap:wrap}
.satControl{display:grid;gap:10px;padding:14px 16px;background:#fff;border-radius:18px;border:1px solid #dce8eb;margin-bottom:11px}
.satLayers,.satDistrictControls,.satDate{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.satChoice{font-weight:900;cursor:pointer;font-size:12px;color:#335c74;border:1px solid #d6e6ec;background:#f6fbfc;border-radius:12px;padding:11px 14px;min-height:43px}
.satChoice.selected{background:#184963;color:#fff;border-color:#184963}
.satDistrictControls input,.satDistrictControls select,.satDate select{background:#fff;border:1px solid #ccdde6;border-radius:11px;min-height:43px;padding:10px 11px;color:#254e65;font-size:12px}
.satDistrictControls input{flex:2 1 175px;min-width:150px}
.satDistrictControls select{flex:1 1 160px;min-width:130px;max-width:100%}
.satReset{background:#f6fafb;border:1px solid #d2e1e8;padding:11px 14px;border-radius:11px;font-weight:850;color:#396780;cursor:pointer}
.satDate label{color:#627e90;font-size:11px;font-weight:900}
.satDate span{color:#8297a3;font-size:10px}
.satControl button:focus-visible,.satControl input:focus-visible,.satControl select:focus-visible{outline:3px solid #c99b4c;outline-offset:2px}
.satMapShell{padding:8px;border:1px solid #d2e3ea;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 15px 31px rgba(42,93,109,.10)}
#satMap{height:clamp(460px,69vh,660px);width:100%;background:#eef2f2;border-radius:15px;overflow:hidden;position:relative}
.satMapLoading{position:absolute;z-index:20;inset:0;display:grid;place-items:center;color:#7790a0;font-size:12px;background:#eff5f6}
.satFoot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:11px 10px 5px;font-size:10px;color:#7b939e;font-weight:850}
.satInfoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.satDistrictInfo,.satGuide{border:1px solid #dce7ec;border-radius:19px;padding:17px;background:#fff}
.satDistrictInfo h2,.satGuide h2{font-size:18px;color:#1b4459;letter-spacing:-.4px;margin:7px 0}
.satDistrictInfo p,.satGuide p{font-size:11.5px;color:#718a98;line-height:1.6;margin:0 0 10px}
.satMeta{font-size:11px;font-weight:850;color:#376981;background:#f0f8fa;padding:10px 12px;border-radius:10px;border:1px solid #dae9ed}
.satKey{display:flex;align-items:center;gap:10px;font-size:10px;color:#728b98}
.satKey i{flex:1;height:8px;border-radius:999px;background:linear-gradient(90deg,#90c5e5,#56aed0,#27a07d,#e2c44d,#da7844,#9a3967)}
.satCaution{margin-top:11px;background:#fff8ed;border:1px solid #f0dfbe;padding:10px 11px;border-radius:11px;font-size:10px;color:#7c6740;line-height:1.6}
.satCredit{margin:13px 0 0;font-size:10px;color:#7c94a1;line-height:1.7}
.satCredit a{font-weight:850}
.satDistrictTooltip{font-weight:950;color:#175374;background:#f9fdfe;border:1px solid #bad7e0;border-radius:9px;padding:4px 7px}
.leaflet-container .leaflet-control-attribution{font-size:9px}
.satMapShell .leaflet-control-zoom a{color:#28617c}
@media(max-width:720px){.satHero{padding:17px}.satControl{padding:11px}.satInfoGrid{grid-template-columns:1fr}#satMap{height:570px}.satLayers{display:grid;grid-template-columns:1fr 1fr}.satChoice{font-size:10.5px;padding:10px 8px}.satDistrictControls input{flex:1 1 100%}.satDistrictControls select{flex:2 1 175px}.satReset{flex:1}.satDate span{flex:1 1 100%}}
@media(max-width:420px){#satMap{height:510px}.satHero h1{font-size:28px}.satFoot{font-size:9px}}

.satSuggestions[hidden]{display:none!important}
.satSuggestions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:7px;border:1px solid #d8e7ed;border-radius:13px;background:#f8fcfd;padding:8px;max-height:200px;overflow:auto}
.satSuggestion{font-size:11px;text-align:left;color:#24516b;background:white;border:1px solid #dce8ed;border-radius:9px;padding:10px 11px;cursor:pointer;font-weight:850}
.satSuggestion:hover,.satSuggestion:focus-visible{background:#e9f5f9;border-color:#a3d0de}

/* NASA layer clarity: hidden means hidden despite flex/grid declarations. */
#satLandslideKey[hidden],#satKey[hidden],#satDateRow[hidden]{display:none!important}
.satDataNotice{background:#f0f8fb;color:#42697c;border:1px solid #c9dfe8;border-radius:13px;padding:12px 14px;font-size:11.5px;line-height:1.6;font-weight:750;margin-bottom:10px}
.satDataNotice.land{background:#fff9ec;color:#765f3d;border-color:#eadbb9}
.satLandslideKey{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.satLegendItem{display:inline-flex;gap:6px;align-items:center;font-size:10.5px;font-weight:800;color:#6b8493}
.satLegendItem i{width:13px;height:13px;display:inline-block;border-radius:4px;border:1px solid rgba(0,0,0,.09)}
@media(max-width:720px){
 .satLandslideKey{gap:9px}
 .satLegendItem{font-size:10px}
}

/* Model forecast detail cards. Existing NASA and BIPAD map layouts unchanged. */
.satForecastDetails{grid-column:1/-1;background:linear-gradient(110deg,#fffdf9,#f4fbfc);border-color:#d7e5e7}
.satForecastDetails h2{font-size:clamp(17px,2.5vw,23px)}
.satForecastGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}
.satForecastGrid[hidden]{display:none!important}
.satForecastGrid>div{min-width:0;padding:12px 13px;border:1px solid #d5e4e9;border-radius:12px;background:#fff}
.satForecastGrid small{display:block;color:#637f90;font-size:11px;font-weight:800;line-height:1.4}
.satForecastGrid strong{display:block;margin:8px 0 4px;color:#174760;font-size:clamp(17px,3vw,26px);overflow-wrap:anywhere}
.satForecastGrid span{display:block;color:#8096a1;font-size:10px;line-height:1.35}
.satForecastStatus{border:1px solid #d8e7e7;background:#f1f9f7;padding:10px 12px;border-radius:11px;font-size:12px;font-weight:750;color:#276978;line-height:1.6}
.satForecastSource{font-size:11px!important;color:#6e8590!important;margin:10px 0!important;line-height:1.65!important}
.satForecastLink{display:inline-block;color:#215b76;background:#eef7fa;border:1px solid #cee0e9;border-radius:10px;padding:10px 12px;text-decoration:none;font-size:12px;font-weight:800}
@media(max-width:650px){.satForecastGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.satForecastGrid>div{padding:11px}.satForecastGrid strong{font-size:20px}}
