.meteorology-workspace { --weather-accent: #176b78; }
.weather-filters { display: grid; grid-template-columns: 2fr 1.5fr 1fr 1.5fr auto; gap: .8rem; align-items: end; margin-bottom: 1.5rem; }
.weather-filters > div { min-width: 0; }
.weather-filters label { font-size: .78rem; font-weight: 600; margin-bottom: .4rem; }
.weather-filter-actions { display: flex; gap: .4rem; }
.weather-coverage, .weather-highlights { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.weather-selected-heading { display: flex; justify-content: space-between; align-items: start; gap: 1rem; flex-wrap: wrap; }
.weather-current { display: flex; align-items: center; gap: 1.5rem; margin-block: 1.25rem; }
.weather-current > strong { color: var(--weather-accent); font-size: clamp(2.5rem, 6vw, 4rem); letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.weather-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.weather-metrics > div { border-left: 2px solid var(--finance-line); padding-left: .8rem; }
.weather-metrics dt { font-size: .75rem; color: #687585; font-weight: 400; }
.weather-metrics dd { font-size: 1.15rem; margin: .3rem 0 0; font-variant-numeric: tabular-nums; }
.weather-status { display: inline-block; padding: .2rem .5rem; border-radius: 1rem; background: #e5f3ed; color: #24563f; font-size: .7rem; white-space: nowrap; }
.weather-status-stale { background: #fff2d9; color: #775015; }
.weather-highlights a { margin-top: .6rem; font-size: .9rem; }
.meteorology-workspace .finance-quotes th[scope="row"] { font-size: .8rem; text-transform: none; letter-spacing: normal; }
.weather-pagination { display: flex; justify-content: center; gap: 1.5rem; padding: 1rem; font-size: .85rem; }
.weather-data { border-top: 1px solid var(--finance-line); padding-block: 1.5rem; }
@media (max-width: 1199px) { .weather-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .weather-highlights, .weather-coverage, .weather-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .weather-current { align-items: start; flex-direction: column; gap: .5rem; }
}
@media (max-width: 479px) { .weather-filters { grid-template-columns: 1fr; } }