/* Station board (itineraries/station.html) and the live badges shared with trip pages. */
.station-section { padding: var(--sp-6) 0 var(--sp-8); }
.station-eyebrow { color: var(--text-muted); font-size: var(--fs--1); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.station-title { font-size: var(--fs-3); margin: var(--sp-1) 0 var(--sp-4); }
.station-tabs { display: flex; gap: var(--sp-2); margin-bottom: var(--sp-3); }
.station-tab { border: 1.5px solid var(--border); background: var(--surface); color: var(--text); border-radius: 999px; padding: 6px 16px; font-weight: 600; cursor: pointer; }
.station-tab.is-active { background: var(--accent); border-color: var(--accent); color: var(--on-accent, #fff); }
.board { background: var(--surface); border: 1.5px solid var(--border); border-radius: var(--card-radius); overflow-x: auto; }
.board-empty { padding: var(--sp-5); color: var(--text-muted); text-align: center; }
.board-table { width: 100%; border-collapse: collapse; font-size: var(--fs--1); }
.board-table th { text-align: left; color: var(--text-muted); font-weight: 600; padding: 10px 12px; border-bottom: 1.5px solid var(--border); white-space: nowrap; }
.board-table td { padding: 10px 12px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.board-table tr:last-child td { border-bottom: none; }
.board-time { font-weight: 700; white-space: nowrap; }
.board-other a { color: var(--text); text-decoration: none; font-weight: 600; }
.board-other a:hover { color: var(--accent); }
.board-service { color: var(--text-muted); }
.board-row.is-cancelled .board-time, .board-row.is-cancelled .board-other { text-decoration: line-through; color: var(--text-muted); }
.board-platform { display: inline-block; min-width: 28px; text-align: center; padding: 2px 8px; border-radius: 6px; border: 1.5px solid var(--border); font-weight: 700; }
.board-platform.is-changed { border-color: var(--warning, #c98a00); color: var(--warning, #c98a00); }
.board-expected { color: var(--danger, #c0392b); font-weight: 700; }
.station-note, .station-sources { color: var(--text-muted); font-size: var(--fs--1); margin-top: var(--sp-3); }

.live-badge { display: inline-block; border-radius: 999px; padding: 2px 10px; font-size: var(--fs--1); font-weight: 700; white-space: nowrap; }
.live-badge--ontime { background: color-mix(in srgb, var(--co2-good, #2e7d32) 14%, transparent); color: var(--co2-good, #2e7d32); }
.live-badge--late { background: color-mix(in srgb, var(--danger, #c0392b) 14%, transparent); color: var(--danger, #c0392b); }
.live-badge--cancelled { background: var(--danger, #c0392b); color: #fff; }
.live-badge--muted { background: color-mix(in srgb, var(--text-muted) 14%, transparent); color: var(--text-muted); }
.live-badge--tight { background: color-mix(in srgb, var(--warning, #c98a00) 16%, transparent); color: var(--warning, #c98a00); }

.live-panel { margin-top: var(--sp-3); }
.live-leg { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 8px 0; border-bottom: 1px solid var(--border); font-size: var(--fs--1); }
.live-leg:last-child { border-bottom: none; }
.live-leg-name { font-weight: 600; }
.live-transfer { font-size: var(--fs--1); color: var(--text-muted); padding: 4px 0 4px 12px; }
.live-meta { color: var(--text-muted); font-size: var(--fs--2, 0.75rem); }
.live-inline { margin-left: 6px; }
@media (max-width: 600px) {
    .board-table th:nth-child(3), .board-table td:nth-child(3) { display: none; }
}
