:root {
  --hospital-0: #e4ded4;
  --hospital-1: #f6dddd;
  --hospital-2: #eab6b6;
  --hospital-3: #d77d7d;
  --hospital-4: #b84e50;
  --hospital-5: #7f272d;
  --hospital-dark: #681e23;
}
.brand span { color: var(--hospital-4); }
.loading-mark { border-right-color: var(--hospital-4); }
.meter i { background: linear-gradient(90deg, var(--hospital-2), var(--hospital-5)); }
.hospital-title h1 { font-size: clamp(34px, 4.7vw, 64px); }
.hospital-dashboard { grid-template-columns: minmax(0, 1fr) 350px; min-height: 675px; }
.hospital-toolbar { min-height: 52px; }
.hospital-toolbar > div { align-items: baseline; display: flex; gap: 12px; }
.hospital-toolbar .eyebrow { margin: 0; }
.hospital-toolbar strong { font-family: Georgia, "Times New Roman", serif; font-size: 14px; font-weight: 400; }
.hospital-toolbar > p { color: var(--muted); font-size: 8px; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.hospital-map-frame { min-height: 610px; }
.hospital-legend { overflow-x: auto; }
.hospital-legend .legend-item { flex: 0 0 auto; }
.hospital-selection { min-height: 190px; }
#selection-detail { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 9px; }
#selection-detail[hidden] { display: none; }
.hospital-list { list-style: none; margin: 0; max-height: 280px; overflow-y: auto; padding: 0; }
.hospital-list li { border-bottom: 1px solid rgba(150,144,134,.28); display: grid; gap: 3px; padding: 9px 0; }
.hospital-list li:last-child { border-bottom: 0; }
.hospital-list strong { font-family: Georgia, "Times New Roman", serif; font-size: 12px; font-weight: 400; line-height: 1.25; }
.hospital-list span { color: var(--muted); font-size: 8px; line-height: 1.35; }
.hospital-empty-list { color: var(--muted); font-family: Georgia, "Times New Roman", serif; font-size: 11px; line-height: 1.45; margin: 0; }
.scope-note { padding: 17px 24px; }
.scope-note p:last-child { color: var(--muted); font-family: Georgia, serif; font-size: 11px; line-height: 1.5; margin: 0; }
.hospital-link { color: var(--hospital-5); }
.grid-cell { transition: fill .22s ease, opacity .15s ease, stroke .15s ease; }
@media (max-width: 1050px) { .hospital-dashboard { grid-template-columns: 1fr 310px; } }
@media (max-width: 780px) { .hospital-dashboard { display: block; } .hospital-map-frame { min-height: 510px; } .hospital-toolbar { align-items: flex-start; } .hospital-toolbar > div { align-items: flex-start; flex-direction: column; gap: 2px; } }
@media (max-width: 500px) { .hospital-title h1 { font-size: 40px; } .hospital-map-frame { min-height: 450px; } }
