/* Station detail page (_StationInfo.aspx). Mobile-first; all selectors scoped under .sp */
.sp { --sp-ink:#1d2733; --sp-mute:#5d6b7a; --sp-line:#dfe5ec; --sp-card:#fff; --sp-soft:#f3f6f9; --sp-accent:#0b5cad; --sp-good:#137a3e; font-size:15px; color:var(--sp-ink); }
@media (prefers-color-scheme: dark) {
  .sp { --sp-ink:#e6ebf0; --sp-mute:#9fb0c0; --sp-line:#2f3b47; --sp-card:#18212b; --sp-soft:#1f2a36; --sp-accent:#6fb0ff; --sp-good:#5fd08f; }
}
.sp section { margin:14px 0; }
.sp h2 { font-size:1.12em; margin:18px 0 8px; color:var(--sp-ink); }
.sp a { color:var(--sp-accent); text-decoration:none; }
.sp a:hover { text-decoration:underline; }
.sp p { line-height:1.6; margin:6px 0; }

.sp-admin { text-align:right; font-size:.85em; margin:4px 0; }
.sp-bc { font-size:.85em; color:var(--sp-mute); margin:4px 0 8px; overflow-wrap:anywhere; }
.sp-alt { color:var(--sp-mute); font-size:1.05em; margin-bottom:6px; }

.sp-chips { display:flex; flex-wrap:wrap; gap:6px; }
.sp-chips span { background:var(--sp-soft); border:1px solid var(--sp-line); border-radius:14px; padding:3px 10px; font-size:.86em; }
.sp-cta { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.sp-btn { display:inline-block; border:1px solid var(--sp-accent); border-radius:6px; padding:7px 12px; font-size:.9em; }
.sp-btn.sp-primary { background:var(--sp-accent); color:#fff !important; }

.sp-stats { display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
.sp-stats div { background:var(--sp-card); border:1px solid var(--sp-line); border-radius:8px; padding:8px; text-align:center; }
.sp-stats b { display:block; font-size:1.35em; font-variant-numeric:tabular-nums; }
.sp-stats span { font-size:.78em; color:var(--sp-mute); }
@media (min-width:700px) { .sp-stats { grid-template-columns:repeat(6, 1fr); } }

.sp-soon { background:var(--sp-soft); border:1px solid var(--sp-line); border-radius:8px; padding:8px 12px; }
.sp-soon h2 { margin-top:4px; }
.sp-soon ul { list-style:none; padding:0; margin:0 0 6px; }
.sp-soon li { display:flex; gap:10px; padding:5px 0; border-bottom:1px dashed var(--sp-line); align-items:baseline; }
.sp-soon li:last-child { border-bottom:0; }
.sp-soon .t { font-weight:bold; font-variant-numeric:tabular-nums; min-width:44px; }
.sp-soon .in { color:var(--sp-good); font-size:.82em; white-space:nowrap; margin-left:auto; }

.sp-filters { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:8px; }
.sp-tabs { display:flex; flex-wrap:wrap; gap:4px; }
.sp-tabs button { border:1px solid var(--sp-line); background:var(--sp-card); color:var(--sp-ink); border-radius:14px; padding:4px 10px; font-size:.84em; cursor:pointer; }
.sp-tabs button.on { background:var(--sp-accent); border-color:var(--sp-accent); color:#fff; }
.sp-filters select { padding:4px 6px; border:1px solid var(--sp-line); border-radius:6px; background:var(--sp-card); color:var(--sp-ink); font-size:.86em; }

.sp-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.sp-table { width:100%; border-collapse:collapse; font-size:.9em; }
.sp-table th { position:sticky; top:0; background:var(--sp-soft); text-align:left; font-weight:600; padding:6px; border-bottom:2px solid var(--sp-line); white-space:nowrap; }
.sp-table td { padding:6px; border-bottom:1px solid var(--sp-line); vertical-align:top; font-variant-numeric:tabular-nums; }
.sp-table td:first-child { min-width:170px; }
.sp-no { font-weight:bold; }
.sp-sub { color:var(--sp-mute); font-size:.85em; margin-top:2px; }
.sp-tag { font-style:normal; font-size:.78em; border:1px solid var(--sp-line); border-radius:8px; padding:0 5px; margin-left:4px; }
.sp-days { white-space:nowrap; font-size:.8em; }
.sp-days span { display:inline-block; width:1.2em; text-align:center; color:var(--sp-line); }
.sp-days span.y { color:var(--sp-ink); font-weight:bold; }
.sp-days .sp-daily { width:auto; color:var(--sp-good); font-weight:bold; }
.sp-note { color:var(--sp-mute); font-size:.8em; }
.sp-table tr.sp-hide { display:none; }

.sp-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:8px; }
.sp-grid a { display:block; border:1px solid var(--sp-line); border-radius:8px; padding:8px; background:var(--sp-card); }
.sp-grid b { display:block; color:var(--sp-ink); font-size:.92em; }
.sp-grid span { font-size:.8em; color:var(--sp-mute); }

.sp-ed ul, .sp-ed ol { padding-left:20px; }
.sp-ed li { margin:6px 0; line-height:1.55; }
.sp-todo p { margin:2px 0 0; color:var(--sp-mute); }
.sp-km { font-size:.8em; color:var(--sp-mute); }

.sp-map { height:300px; border-radius:8px; border:1px solid var(--sp-line); background:var(--sp-soft); }
.sp-small { font-size:.8em; }
.sp-near ul { list-style:none; padding:0; columns:2; column-gap:16px; }
.sp-near li { padding:3px 0; break-inside:avoid; }
.sp-near li span { color:var(--sp-mute); font-size:.8em; }
@media (max-width:480px) { .sp-near ul { columns:1; } }

.sp-faq details { border-bottom:1px solid var(--sp-line); padding:8px 0; }
.sp-faq summary { cursor:pointer; font-weight:600; }
.sp-faq p { margin:6px 0 2px; }
.sp-links { display:flex; flex-wrap:wrap; gap:14px; font-size:.9em; }
.sp-src { font-size:.8em; color:var(--sp-mute); margin:10px 0; overflow-wrap:anywhere; }
