#weather-dialog{max-height:calc(100dvh - 28px);overflow:auto;max-width:480px}
#weather-dialog .close{min-width:44px;min-height:44px;color:#142b25}
.weather-manual{border:1px solid #cbd7c3;border-radius:13px;padding:16px;background:#eaf0e3;margin-top:18px}
.weather-manual label{margin:0 0 5px;font-size:14px;font-weight:700;display:block}
.weather-manual p{margin:5px 0 12px;font-size:12px;color:#526759}
.weather-zip-row{display:flex;gap:8px;align-items:stretch}
.weather-zip-row input{width:100%;min-width:0;font-size:16px;padding:12px}
.weather-zip-row button{border:0;border-radius:10px;padding:12px;background:#254b3e;color:white;font-weight:700;font-size:12px;min-width:88px}
#weather-dialog details{margin-top:16px;font-size:12px;line-height:1.7}
#weather-dialog summary{cursor:pointer;min-height:44px;display:list-item;padding:12px 0;font-weight:700}
#weather-dialog details p,#weather-dialog details li{font-size:12px}
#weather-dialog .weather-source{font-size:11px;line-height:1.7}
#weather-dialog .weather-source a{display:inline;margin:0}
#weather-result{padding-top:12px;border-top:1px solid #d0d9c9;margin-top:16px}
#weather-status:empty{display:none}
#weather-status:not(:empty){padding:12px;background:#e8eddf;border-radius:10px}
#weather-dialog .weather-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#weather-dialog .weather-actions .secondary{width:auto;padding:8px 0;min-height:44px}
#weather-dialog .weather-official{font-size:12px;margin-top:14px}

#weather-town-form input,#weather-town-form select{display:block;width:100%;min-width:0;font-size:16px;padding:12px;margin-bottom:10px;border:1px solid #bdcbbb;border-radius:8px;background:white;color:#142b25}
#weather-town-form button,#weather-areas button{min-height:44px;border:0;border-radius:10px;padding:12px;background:#254b3e;color:white;font-size:14px;font-weight:700}
#weather-areas:not([hidden]){display:grid;gap:8px;margin-top:12px}
