.forecast-intel { margin: 12px 0; padding: 14px; border: 1px solid rgba(123,190,222,.3); border-radius: 13px; background: linear-gradient(145deg,rgba(22,45,67,.92),rgba(10,24,40,.96)); color: #edf7ff; }
.forecast-intel h3 { margin: 0 0 10px; color: #fff; font-size: 1rem; }
.forecast-intel-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(115px,1fr)); gap: 7px; }
.forecast-intel-tile { padding: 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; background: rgba(255,255,255,.055); }
.forecast-intel-tile span { display: block; color: #b8cfdd; font-size: .72rem; line-height: 1.25; }
.forecast-intel-tile strong { display: block; margin-top: 4px; color: #fff; font-size: .94rem; line-height: 1.2; }
.forecast-intel-note { margin: 10px 0 0; color: #c1d2df; font-size: .72rem; line-height: 1.4; }
.forecast-week-heading { margin-top: 17px !important; }
.forecast-week { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 8px; }
.forecast-day { display: flex; flex-direction: column; gap: 5px; padding: 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; background: rgba(255,255,255,.05); }
.forecast-day strong { color: #fff; font-size: .9rem; }
.forecast-day span { color: #d3e3ec; font-size: .76rem; line-height: 1.3; }

.forecast-intel-tile { border-top: 3px solid #58c4f6; }
.forecast-intel-tile:nth-child(3n+2) { border-top-color: #ffc857; }
.forecast-intel-tile:nth-child(3n) { border-top-color: #ae9aff; }
.forecast-day { border-top: 4px solid #58c4f6; }
.forecast-day:nth-child(3n+1) { border-top-color: #ffc857; }
.forecast-health { margin-top:14px; border:1px solid #53c7ab; border-radius:12px; padding:12px; background:#123e3a; }
.forecast-health p { font-size:.8rem; line-height:1.4; }
.forecast-rain-window { color:#8edaff !important; }
.forecast-hazard { color:#ffd166 !important; font-weight:700; }
.forecast-hourly summary { cursor:pointer; color:#8edaff; padding:8px 0; font-weight:700; }
.forecast-table-wrap { overflow-x:auto; }
.forecast-hourly table { border-collapse:collapse; width:100%; min-width:540px; font-size:.78rem; }
.forecast-hourly th,.forecast-hourly td { padding:8px; border-bottom:1px solid #36586c; text-align:left; white-space:nowrap; }
.forecast-hourly caption { text-align:left; padding:8px; }
.forecast-day:has(.forecast-hourly[open]) { grid-column:1 / -1; }
.forecast-day p,.forecast-hourly p { margin:4px 0; font-size:.76rem; line-height:1.4; }
.forecast-alert-panel { border-left:4px solid #ffd166; background:#40381f; padding:10px; border-radius:8px; margin:10px 0; }
