.ocl-transport-tabs [hidden] { display:none !important; }
.ocl-transport-tabs { scroll-margin-top:100px; }
.ocl-transport-tablist { display:flex; flex-wrap:wrap; gap:8px; border-bottom:1px solid #d4dfe4; padding-top:18px; padding-bottom:14px; }
.ocl-transport-tab, .ocl-zone-filter { font:inherit; font-weight:600; cursor:pointer; border:1px solid #ccd9df; border-radius:8px; padding:12px 18px; background:#fff; color:#213744; }
.ocl-transport-tab[aria-selected="true"] { background:#213744; color:#fff; border-color:#213744; }
.ocl-transport-tabs button:focus-visible, .ocl-coverage [tabindex]:focus-visible { outline:3px solid #e29b37; outline-offset:4px; }
.ocl-transport-activities { padding-top:20px; }
.ocl-coverage-filters { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.ocl-zone-filter { border-left:6px solid var(--zone-color); }
.ocl-zone-filter[aria-pressed="true"] { background:var(--zone-color); color:white; border-color:var(--zone-color); }
.ocl-coverage-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr); gap:28px; align-items:start; }
.ocl-coverage-maps { min-width:0; background:#f7fafb; border:1px solid #dce6eb; border-radius:16px; padding:16px; }
.ocl-coverage-svg { display:block; width:100%; height:auto; overflow:visible; }
.ocl-department { stroke:#fff; stroke-width:1; stroke-linejoin:round; transition:opacity .15s; }
.ocl-department[data-sites]:not([data-sites=""]), .ocl-site-marker { cursor:pointer; }
.ocl-department:focus, .ocl-department[data-sites]:not([data-sites=""]):hover { stroke:#122f40; stroke-width:2; }
.ocl-zone-muted { opacity:.2; }
.ocl-dept-label { fill:white; font:bold 13px Arial,sans-serif; text-anchor:middle; dominant-baseline:middle; pointer-events:none; paint-order:stroke; stroke:#213744; stroke-width:2.6; stroke-linejoin:round; }
.ocl-site-label { font:bold 15px Arial,sans-serif; fill:#183443; paint-order:stroke; stroke:#fff; stroke-width:5; stroke-linejoin:round; }
.ocl-site-marker:focus circle, .ocl-site-marker:hover circle { stroke-width:5; }
.ocl-coverage-inset { border-top:1px solid #dce6eb; padding-top:16px; }
.ocl-coverage-inset h3 { margin:0 0 8px; font-size:1.15rem; }
.ocl-coverage-inset .ocl-dept-label { font-size:15px; }
.ocl-coverage-status { padding:16px; background:#edf3f6; border-radius:10px; margin:0 0 18px; color:#213744; }
.ocl-coverage-card { border:1px solid #dce6eb; border-left:6px solid var(--zone-color); border-radius:10px; padding:18px; margin:0 0 16px; background:#fff; }
.ocl-coverage-card h3 { margin:0 0 8px; font-size:1.15rem; color:#213744; }
.ocl-site-address { font-size:.9rem; color:#4d6370; }
.ocl-department-list { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; gap:8px; margin:14px 0 0; }
.ocl-department-list li { font-size:.92rem; }
.ocl-coverage-note { margin-top:20px; }
.ocl-coverage-credit { font-size:.8rem; color:#5d7380; }
@media(max-width:800px) { .ocl-coverage-layout { grid-template-columns:minmax(0,1fr); } .ocl-coverage-sites { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } .ocl-coverage-status { grid-column:1/-1; } .ocl-department-list { grid-template-columns:1fr; } }
@media(max-width:500px) { .ocl-transport-tablist { flex-direction:column; } .ocl-coverage-sites { grid-template-columns:1fr; } .ocl-zone-filter { padding:10px; } .ocl-coverage-maps { padding:8px; } }
