
/* VB.2.3.7 — shared department branding */
.sc-topbar-brand{display:flex;align-items:center;gap:10px;min-width:0}
.sc-topbar-brand img{width:34px;height:34px;object-fit:contain;flex:0 0 auto}
.sc-topbar-brand-copy{display:grid;gap:1px;min-width:0}
.sc-topbar-brand-copy strong{font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-topbar-brand-copy small{font-size:.72rem;color:var(--muted,#9fb5ca);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-page-brand{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--border,rgba(255,255,255,.12));border-radius:14px;background:rgba(13,32,51,.72)}
.sc-page-brand img{width:52px;height:52px;object-fit:contain}
.sc-page-brand div{display:grid;gap:2px}
.sc-page-brand strong{font-size:1.05rem}
.sc-page-brand span{color:var(--muted,#9fb5ca);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.brand img[data-department-logo]{object-fit:contain}
@media(max-width:720px){
  .sc-topbar-brand-copy strong{max-width:46vw}
  .sc-topbar-brand-copy small{max-width:46vw}
}
@media(max-width:520px){
  .sc-topbar-brand img{width:30px;height:30px}
  .sc-topbar-brand-copy strong{font-size:.84rem;max-width:42vw}
  .sc-topbar-brand-copy small{font-size:.65rem;max-width:42vw}
}

/* VB.2.3.7 accessibility hardening */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:absolute;left:12px;top:-80px;z-index:100000;background:#fff;color:#111827;padding:10px 14px;border-radius:8px;font-weight:800;box-shadow:0 4px 18px rgba(0,0,0,.3)}
.skip-link:focus{top:12px}
.map-data-alternative{margin-top:12px;border:1px solid var(--border,rgba(255,255,255,.16));border-radius:12px;padding:10px 12px;background:rgba(9,24,39,.78)}
.map-data-alternative summary{cursor:pointer;font-weight:800}
.map-data-alternative table{width:100%;border-collapse:collapse;margin-top:10px}
.map-data-alternative th,.map-data-alternative td{text-align:left;padding:7px 8px;border-bottom:1px solid rgba(255,255,255,.12);vertical-align:top}
.address-note-urgency{display:block;font-weight:900;letter-spacing:.02em;margin-bottom:4px}

/* VB.2.3.7 — first-party Leaflet map icons (no external marker PNG dependency) */
.sc-map-marker{background:transparent!important;border:0!important}
.sc-map-icon{width:44px;height:52px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.55));pointer-events:none}
.sc-map-icon svg{display:block;width:44px;height:48px;overflow:visible}
.sc-map-pin-bg{fill:#b91c1c}.sc-map-pin-stroke{fill:none;stroke:#fff;stroke-width:2}
.sc-map-icon-station .sc-map-pin-bg{fill:#b91c1c}
.sc-station-roof{fill:#fff}.sc-station-house{fill:#e5e7eb;stroke:#0f172a;stroke-width:1}.sc-station-door{fill:#b91c1c}.sc-station-window{fill:#60a5fa}.sc-station-truck{fill:#ef4444;stroke:#fff;stroke-width:.8}.sc-station-wheel{fill:#0f172a;stroke:#fff;stroke-width:.7}
.sc-map-icon-weather .sc-map-pin-bg{fill:#0369a1}.sc-weather-sun{fill:#facc15;stroke:#fff;stroke-width:1}.sc-weather-cloud{fill:#fff;stroke:#dbeafe;stroke-width:1}
.sc-map-icon-location .sc-map-pin-bg{fill:#d97706}.sc-location-ring{fill:none;stroke:#fff;stroke-width:2}.sc-location-dot{fill:#fff}.sc-location-cross{stroke:#fff;stroke-width:2;stroke-linecap:round}
.leaflet-marker-icon.sc-map-marker{margin:0!important}
