/* Focus-only preferences; the map and its gestures stay outside the modal. */
.focus-editor{margin:auto;width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--border);border-radius:18px;background:var(--bg-card);color:var(--text-primary);font:inherit;box-shadow:0 20px 80px #0004}
.focus-editor[open]{display:flex;flex-direction:column}.focus-editor::backdrop{background:#09142380}
.focus-editor-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid var(--border)}
.focus-editor h2{font-size:22px;letter-spacing:-.5px;line-height:1.2}.focus-editor h3{font-size:16px}.focus-editor p{font-size:14px;color:var(--text-secondary);margin:5px 0 0;line-height:1.4}
.focus-editor-body{overflow:auto;overscroll-behavior:contain;padding:20px 24px;min-height:0}.focus-choice{min-width:0;border:0;padding:0;margin:0}.focus-choice legend{font-size:14px;font-weight:600;margin-bottom:10px}
.focus-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.focus-editor button{font:inherit;cursor:pointer}.focus-presets button{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);border-radius:10px;text-align:left;padding:14px 12px;min-height:80px}.focus-presets strong{display:block;font-size:15px}.focus-presets span{display:block;font-size:12px;line-height:1.4;color:var(--text-secondary);margin-top:4px}.focus-presets button:hover{border-color:var(--text-primary);background:var(--bg-hover)}
.focus-editor-section{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 10px}.focus-count{font-size:12px;white-space:nowrap;color:var(--text-secondary)}
.focus-editor-list{border:1px solid var(--border);border-radius:12px;overflow:hidden}.focus-editor-row{display:grid;grid-template-columns:20px minmax(0,1fr) 112px 88px;gap:8px;align-items:center;padding:8px 12px;border-top:1px solid var(--border)}.focus-editor-row:first-child{border-top:0}.focus-order{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.focus-editor-row label{font-size:14px;font-weight:500;overflow-wrap:anywhere}.focus-editor-row select{width:100%;min-height:44px;padding:0 8px;font:inherit;font-size:13px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary)}
.focus-order-buttons{display:flex}.focus-order-buttons button{width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:var(--text-primary);font-size:20px}.focus-order-buttons button:hover:not(:disabled){background:var(--bg-hover)}.focus-order-buttons button:disabled{opacity:.25;cursor:default}
.focus-editor-options{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;margin-top:24px}.focus-editor-options .focus-choice:first-child{grid-column:1/-1}.focus-segments{display:flex;gap:3px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:3px}.focus-segments button{flex:1;min-width:0;min-height:44px;padding:6px;border:1px solid transparent;border-radius:7px;color:var(--text-secondary);background:transparent;font-size:14px}.focus-segments button[aria-pressed="true"]{background:var(--bg-card);border-color:var(--border);color:var(--text-primary);font-weight:600}
.focus-editor-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--border);padding:10px 24px;font-size:12px;color:var(--text-secondary)}.focus-editor-footer button{min-height:44px;border:0;background:transparent;color:var(--text-primary);font-size:12px;text-decoration:underline}.focus-editor :focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}
#content[data-ruimte="compact"] .hero{padding:12px 0!important;gap:8px!important}#content[data-ruimte="compact"] .hero-train-number{display:none!important}#content[data-ruimte="compact"] .hero-destination{font-size:19px!important;line-height:1.35!important}#content[data-ruimte="compact"] #rt-next-stop{padding-top:10px;margin-top:0;gap:2px;font-size:14px}#content[data-ruimte="compact"] .focus-grid{gap:8px!important}#content[data-ruimte="compact"] .rt-sec-kop{min-height:44px;padding:8px 11px}#content[data-ruimte="compact"] .rt-sec-body{padding:0 10px 10px}#content[data-ruimte="compact"] .composition-header{padding:10px!important}
@media(max-width:520px){.focus-editor{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:14px}.focus-editor-head{padding:16px}.focus-editor h2{font-size:20px}.focus-editor-body{padding:16px}.focus-presets{gap:6px}.focus-presets button{padding:10px 8px}.focus-presets strong{font-size:13px}.focus-presets span{font-size:11px}.focus-editor-row{grid-template-columns:14px minmax(0,1fr) 88px;gap:6px;padding:8px}.focus-editor-row select{grid-column:2;grid-row:2}.focus-order-buttons{grid-column:3;grid-row:1/3}.focus-editor-row label{grid-column:2}.focus-editor-section{align-items:flex-start}.focus-count{white-space:normal;max-width:72px;text-align:right}.focus-editor-options{grid-template-columns:1fr;gap:16px}.focus-editor-options .focus-choice:first-child{grid-column:auto}.focus-editor-footer{padding:8px 16px}.focus-editor-footer span{max-width:160px}}
.focus-editor .focus-editor-head{width:100%;max-width:none;margin:0;flex-shrink:0;text-align:left}.focus-editor .focus-editor-footer{flex-shrink:0}.focus-editor #secset-sluit{min-height:44px}
.focus-editor .focus-editor-head{flex-direction:row;align-items:center}.focus-editor-tabs{display:flex;gap:16px;padding:0 24px;border-bottom:1px solid var(--border);flex-shrink:0}.focus-editor-tabs button{min-height:44px;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-secondary);font-size:14px;padding:0 4px}.focus-editor-tabs button[aria-pressed="true"]{border-bottom-color:var(--text-primary);color:var(--text-primary);font-weight:600}
.focus-editor[data-tab="indeling"] .focus-editor-options{display:none}.focus-editor[data-tab="weergave"] .focus-editor-body>.focus-choice,.focus-editor[data-tab="weergave"] .focus-editor-section,.focus-editor[data-tab="weergave"] .focus-editor-list{display:none}.focus-editor[data-tab="weergave"] .focus-editor-options{margin-top:0}
@media(max-width:520px){.focus-editor .focus-editor-head{padding:16px;gap:8px}.focus-editor-head p{font-size:12px}.focus-editor-head .rt-btn{padding:8px 12px}.focus-editor-tabs{padding:0 16px}.focus-presets span{font-size:12px}.focus-editor-row{grid-template-columns:minmax(0,1fr) 92px 88px;gap:4px}.focus-order{display:none}.focus-editor-row label{grid-column:1;grid-row:1;font-size:13px}.focus-editor-row select{grid-column:2;grid-row:1;font-size:12px}.focus-order-buttons{grid-column:3;grid-row:1}}
@media(max-width:360px){.focus-editor-row{grid-template-columns:minmax(0,1fr) 88px}.focus-editor-row label{grid-column:1;grid-row:1}.focus-editor-row select{grid-column:1;grid-row:2}.focus-order-buttons{grid-column:2;grid-row:1/3}.focus-presets{grid-template-columns:1fr}.focus-presets button{min-height:44px;display:flex;align-items:center;gap:10px}.focus-presets strong{min-width:70px}.focus-presets span{margin:0}}
.focus-editor{max-width:calc(100% - 16px)}
.focus-roof-help{grid-column:1/-1;margin:0!important;font-size:12px!important}.focus-roof-help a{color:var(--text-primary);text-decoration:underline}.rt-focus-page .train-arrow svg,.rt-focus-page .train-marker-arrow{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px #122238)}

/* The focus column is narrow on desktop too. One vertical scroll surface,
   with intrinsic-height sections, keeps the final stop reachable. */
.rt-focus-panel .rt-panel-body{min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;touch-action:pan-y}
.rt-focus-panel .rt-panel-body>*{flex-shrink:0;min-width:0}
.rt-focus-panel .focus-grid,.rt-focus-panel .rt-sec,.rt-focus-panel .rt-sec-body,.rt-focus-panel .route-card,#route-table-slot{min-width:0;max-width:100%}
.rt-focus-panel .route-table{display:block;width:100%;min-width:0}
.rt-focus-panel .route-table thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.rt-focus-panel .route-table tbody{display:block}
.rt-focus-panel .route-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px 8px;border-left:2px solid var(--border);margin-left:6px;padding:8px 0 12px 12px;position:relative}
.rt-focus-panel .route-table td{border:0;min-width:0;padding:4px 2px;font-size:14px!important;overflow-wrap:anywhere}
.rt-focus-panel .route-table td:first-child{grid-column:1/-1;font-size:15px!important;font-weight:600;color:var(--text-primary)}
.rt-focus-panel .station-indicator{white-space:normal;overflow-wrap:anywhere}
.rt-focus-panel .station-dot-route{position:absolute;left:-6px}
.rt-focus-panel .route-table td:nth-child(2)::before{content:var(--i18n-scheduled,'Gepland ');color:var(--text-secondary)}
.rt-focus-panel .route-table td:nth-child(3)::before{content:var(--i18n-expected,'Verwacht ');color:var(--text-secondary)}
.rt-focus-panel .route-table td:nth-child(4){grid-column:1}
.rt-focus-panel .route-table td:nth-child(5){text-align:right}
.rt-focus-panel .route-table td:nth-child(5)::before{content:var(--i18n-platform,'Spoor ');color:var(--text-secondary)}
.rt-focus-panel .route-bestemming{display:flex;flex-wrap:wrap;gap:4px 10px;padding:12px 0;overflow-wrap:anywhere}
@media(min-width:821px){
 .rt-focus-page #content .hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px!important;padding:6px 0 10px!important}
 .rt-focus-page #content .hero-meta{grid-column:1/-1;order:0;margin:0;gap:6px;font-size:13px}
 .rt-focus-page #content .hero-train-number{display:none!important}
 .rt-focus-page #content .hero-destination{grid-column:1;order:1;font-size:17px!important;line-height:1.35!important;margin:0;gap:4px}
 .rt-focus-page #content .hero-delay{grid-column:2;order:2;align-self:start;margin:0;padding:3px 6px;font-size:13px}
 .rt-focus-page #content #rt-next-stop{grid-column:1/-1;order:3;padding-top:8px!important;margin:2px 0 0;gap:2px!important;font-size:13px}
 .rt-focus-page #content #rt-next-stop>span:last-child{font-size:12px}
}
