.pmb-live-routes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 12px; margin-top: 14px; }
.pmb-route { padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--surface); min-width: 0; }
.pmb-route.is-open { border-top: 3px solid var(--green); }
.pmb-route .status-card-head { flex-wrap: wrap; }
.pmb-route h3 { font-size: 16px; line-height: 1.4; margin: 0; }
.pmb-route .status-card-head .pmb-badge { display: inline-block; padding: 4px 8px; border: 0; border-radius: 8px; background: var(--green-soft); color: var(--green-strong); font-size: 12px; font-weight: 700; }
.pmb-route.is-closed .pmb-badge, .pmb-route.is-unknown .pmb-badge { background: var(--surface-low); color: var(--muted); }
.pmb-route-title { color: var(--ink); line-height: 1.55; font-size: 14px; overflow-wrap: anywhere; }
.pmb-route-meta, .pmb-route-source { color: var(--muted); font-size: 13px; line-height: 1.65; }
.pmb-route a { min-height: 44px; display: inline-flex; align-items: center; color: var(--green); font-size: 14px; font-weight: 650; }
.pmb-route-source a { font-size: inherit; }
.pmb-route .pmb-route-source { margin-bottom: 0; }
.pmb-national-heading { margin-top: 26px; font-size: 16px; }
.status-grid.pmb-national-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pmb-national-grid .status-card p { min-height: 0; }
.pmb-inline-status { margin-top: 20px; }
.pmb-stale-note { padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--warning-soft); color: var(--ink); font-size: 13px; line-height: 1.6; }
html[data-theme="dark"] .pmb-route { background: var(--surface); }
html[data-theme="dark"] .pmb-route .status-card-head .pmb-badge { color: #6ee7b7; background: #12382e; }
html[data-theme="dark"] .pmb-route.is-closed .pmb-badge,
html[data-theme="dark"] .pmb-route.is-unknown .pmb-badge { color: var(--muted); background: var(--surface-low); }
html[data-theme="dark"] .pmb-stale-note { background: #302816; }
@media (max-width: 640px) {
  .status-grid.pmb-national-grid { display: block; }
  .pmb-route { padding: 16px; }
  .pmb-route .status-card-head { gap: 8px; }
}
