.updates-page { min-height: 100%; overflow: auto; background: #f4f7f9; }
.updates-page .app-shell { min-height: 100%; height: auto; }
.updates-main { width: min(860px, calc(100% - 32px)); margin: 0 auto; padding: 28px 0 56px; }

.updates-hero { padding: 22px 24px; background: white; border: 1px solid var(--line); border-radius: 9px; }
.updates-hero h1 { color: var(--municipal-navy); font-size: 1.65rem; }
.updates-hero > p { max-width: 620px; margin: 7px 0 0; color: var(--muted); font-size: .88rem; line-height: 1.45; }

.updates-summary { margin: 14px 0 8px; }
.updates-summary:empty { display: none; }
.updates-loading, .updates-error, .updates-empty { padding: 13px 16px; color: var(--muted); background: white; border: 1px solid var(--line); border-radius: 8px; font-size: .8rem; }
.updates-error strong, .updates-empty strong { color: var(--municipal-navy); }
.updates-loading { text-align: center; }
.updates-error, .updates-empty { display: grid; gap: 4px; text-align: center; }

.updates-list { display: grid; gap: 8px; }
.updates-day { display: grid; grid-template-columns: minmax(165px, 210px) minmax(0, 1fr); gap: 18px; padding: 17px 18px; background: white; border: 1px solid var(--line); border-radius: 7px; }
.updates-day time { color: var(--municipal-navy); font-size: .82rem; font-weight: 800; line-height: 1.45; text-transform: capitalize; }
.day-descriptions { display: grid; gap: 7px; }
.day-descriptions p { margin: 0; color: #465e71; font-size: .82rem; line-height: 1.5; }

@media (max-width: 760px) {
  .updates-page .municipal-header nav { display: flex; margin-left: auto; }
  .updates-page .municipal-header nav a:last-child { display: none; }
  .updates-main { width: min(100% - 20px, 860px); padding: 12px 0 32px; }
  .updates-hero { padding: 15px 14px; border-radius: 7px; }
  .updates-hero h1 { font-size: 1.3rem; }
  .updates-hero > p { font-size: .79rem; }
  .updates-day { grid-template-columns: 1fr; gap: 7px; padding: 14px; }
}
