/* Load.Live 1.4.6 — Routeplanner (Load.Route): wizard, kaart, tijdlijn, meldingen. Alleen tokens, licht en donker. */

/* ---- de wizard ---- */
.rt-wz { display: flex; flex-direction: column; gap: 14px; min-width: 0; max-width: 100%; overflow-x: clip; }
.rt-acties { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.rt-acties select.klein { min-height: 36px; padding: 0 10px; font-size: 13.5px; width: auto; }
/* 1.5.9.9B: stappen als pillen in een vak, de huidige stap cyaan */
.rt-stapbalk { display: flex; gap: 4px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding: 4px; background: var(--vak); border-radius: 999px; width: fit-content; max-width: 100%; }
.rt-stap { flex: none; }
.rt-stap { display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; border-radius: 999px; padding: 0 14px 0 6px; font: 600 13.5px var(--body); color: var(--zacht); cursor: pointer; min-height: 36px; }
.rt-stap .nr { width: 24px; height: 24px; border-radius: 50%; background-color: var(--rack); color: var(--zacht); font: 400 15px/1 var(--display); display: inline-flex; align-items: center; justify-content: center; }
.rt-stap.af { color: var(--tekst); } .rt-stap.af .nr { background: var(--accent-zacht); color: var(--accent); }
.rt-stap.nu { color: var(--accent-tekst); background: var(--accent); }
.rt-stap.nu .nr { background: var(--accent-tekst); color: var(--accent); }
.rt-body { min-width: 0; } .rt-body > * { max-width: 100%; }
.rt-kop { font: 700 11.5px/1.3 var(--body); letter-spacing: 1.2px; text-transform: uppercase; color: var(--accent); margin: 22px 0 10px; }   /* 1.5.9.9B: sectielabel van een rit = cyaan */
.rt-raster { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px 16px; }
.rt-raster .veld { min-width: 0; } .rt-raster input, .rt-raster select { width: 100%; }
.rt-profiel { margin: 14px 0; padding: 12px 16px 12px 20px; border-radius: var(--r-kaart); border: 0; background-color: var(--rack); font-size: 14px; background-image: linear-gradient(90deg, var(--ok) 0 5px, transparent 5px); }
.rt-profiel small { display: block; color: var(--zacht); margin-top: 6px; }
.rt-adhoc { margin-top: 12px; } .rt-adhoc summary { cursor: pointer; color: var(--zacht); font-size: 13.5px; font-weight: 600; margin-bottom: 10px; }
.rt-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 12px; }
/* 1.5.9.9B: de keuzeknopjes van de wizard gebruikten nog de rode accentkleur → cyaan */
.rt-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 16px 0 12px; border-radius: 999px; border: 1px solid transparent; background: var(--vak); color: var(--zacht); cursor: pointer; font-size: 13.5px; }
.rt-chip input { width: 16px; height: 16px; margin: 0; accent-color: var(--accent); }
.rt-chip.aan { background: var(--accent-zacht); color: var(--tekst); border-color: var(--accent); font-weight: 600; }
.rt-voet { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; border-top: 1px solid var(--lijn); padding-top: 12px; position: sticky; bottom: 0; background: var(--ground); z-index: 3; }
.rt-sp { flex: 1; }

/* stap 2: kaart naast de stoptabel */
.rt-stops { display: grid; grid-template-columns: minmax(260px, 360px) minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 1000px) { .rt-stops { grid-template-columns: 1fr; } }
.rt-stops > * { min-width: 0; }
.rt-stopknoppen { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 10px; }
.rt-stopknoppen select { width: auto; min-height: 36px; padding: 0 10px; font-size: 13.5px; }
.rt-tabelvak { overflow-x: auto; }
.rt-stoptabel, .rt-etappetabel { min-width: 980px; }
.rt-stoptabel td, .rt-etappetabel td { padding: 4px 6px; vertical-align: middle; }
.rt-stoptabel td.nr { color: var(--zacht); font-family: var(--mono); text-align: center; }
.rt-stoptabel input, .rt-stoptabel select, .rt-etappetabel input, .rt-etappetabel select { width: 100%; min-height: 36px; padding: 4px 8px; font-size: 13.5px; }
.rt-stoptabel td.acties { white-space: nowrap; } .rt-stoptabel td.acties .knop { min-width: 34px; padding: 0 8px; }
.rt-etappetabel .naam { font-size: 13px; color: var(--zacht); }
.rt-terugrit { display: flex; align-items: flex-start; gap: 14px; flex-wrap: wrap; margin: 8px 0 12px; padding: 12px 14px; border: 2px solid transparent; border-radius: var(--r-kaart); background-color: var(--rack); }
.rt-terugrit.aan { border-color: var(--accent); }
.rt-terugrit .rt-chip { align-self: center; }
.rt-terugveld { flex: 1; min-width: 250px; max-width: 560px; }
.rt-mid { background: var(--rack-2); }
.rt-staanblok div { font-size: 13.5px; }

/* stap 5 */
.rt-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.rt-kpis-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rt-kpi { font-size: 36px !important; }
@media (max-width: 1100px) { .rt-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } .rt-kpis .kengetal:nth-child(3n+1) { border-left: 0; } }
@media (max-width: 600px) { .rt-kpis, .rt-kpis-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rt-kpis .kengetal:nth-child(odd), .rt-kpis-3 .kengetal:nth-child(odd) { border-left: 0; } .rt-raster { grid-template-columns: 1fr; } }

/* tijdlijn */
.rt-legende { display: flex; flex-wrap: wrap; gap: 10px; font-size: 12.5px; color: var(--zacht); margin: 4px 0 10px; }
.rt-legende i, .rt-blokje { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
.rt-dag { margin: 6px 0 12px; }
.rt-dag .kop { display: flex; justify-content: space-between; font-size: 13px; color: var(--zacht); margin-bottom: 4px; }
.rt-balk { position: relative; height: 28px; background: var(--rack-2); border-radius: var(--r-klein); overflow: hidden; border: 0; }
.rt-dag .rt-balk { border-bottom: 1px solid var(--lijn); }
.rt-balk .seg { position: absolute; top: 0; bottom: 0; opacity: .92; }
.rt-balk .seg:hover { opacity: 1; outline: 1px solid var(--tekst); z-index: 2; }
.rt-balk .uur { position: absolute; top: 0; bottom: 0; border-left: 1px solid var(--lijn); font: 500 9px var(--mono); color: var(--zacht); padding-left: 2px; pointer-events: none; }
.rt-seg-rijden { background: var(--accent); } .rt-seg-pauze { background: var(--let); } .rt-seg-laden { background: #7a5af5; } .rt-seg-koppelen { background: #9b59b6; }
.rt-seg-tanken { background: #8d6e63; } .rt-seg-grens { background: #607d8b; } .rt-seg-wachten { background: var(--zacht); } .rt-seg-staan { background: var(--zacht); opacity: .45; }
.rt-seg-dagrust { background: var(--ok); } .rt-seg-weekrust { background: var(--ok); opacity: .6; } .rt-seg-verbod { background: var(--tally); }

/* ---- meldingen: één regel + venster ---- */
.rt-meldbalk { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 14px; padding: 10px 16px; border: 1.5px solid transparent; border-radius: var(--r-kaart); background-color: var(--rack); font-size: 14px; }
.rt-meldbalk .rt-meld-tekst { flex: 1; min-width: 120px; }
.rt-meldbalk.rt-meld-fout { border-color: var(--tally); } .rt-meldbalk.rt-meld-fout .rt-meld-punt { color: var(--tally); }
.rt-meldbalk.rt-meld-letop { border-color: var(--let); } .rt-meldbalk.rt-meld-letop .rt-meld-punt { color: var(--let); }
.rt-meldbalk.rt-meld-info { color: var(--zacht); }
.rt-meldingen { display: flex; flex-direction: column; gap: 14px; }
.rt-meld-koppen { display: flex; gap: 8px; flex-wrap: wrap; }
.rt-meld-chip { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 700; border: 1px solid var(--lijn-sterk); }
.rt-meld-chip.rt-meld-fout { border-color: var(--tally); color: var(--tally-tekst); background: var(--tally-zacht); }
.rt-meld-chip.rt-meld-letop { border-color: var(--let); color: var(--let); background: var(--let-zacht); }
.rt-meld-chip.rt-meld-info { color: var(--zacht); background: var(--rack-2); }
.rt-meld-groep h4 { margin: 0 0 6px; font: 700 11.5px/1.3 var(--body); letter-spacing: 1.2px; text-transform: uppercase; color: var(--zacht); }
.rt-meld-regel { display: flex; gap: 10px; align-items: flex-start; padding: 8px 12px 8px 14px; border-left: 0; background: var(--rack-2); border-radius: var(--r-vak); margin-bottom: 6px; font-size: 13.5px; line-height: 1.45; background-image: linear-gradient(90deg, var(--lijn-sterk) 0 4px, transparent 4px); }
.rt-meld-regel.rt-meld-fout { background: var(--tally-zacht); background-image: linear-gradient(90deg, var(--tally) 0 4px, transparent 4px); }
.rt-meld-regel.rt-meld-letop { background: var(--let-zacht); background-image: linear-gradient(90deg, var(--let) 0 4px, transparent 4px); }
.rt-meld-regel.rt-meld-info { background-image: linear-gradient(90deg, var(--ok) 0 4px, transparent 4px); }
.rt-meld-vlag { flex: none; min-width: 52px; font: 700 10.5px var(--body); letter-spacing: 1px; text-transform: uppercase; padding-top: 2px; color: var(--zacht); }
.rt-meld-regel.rt-meld-fout .rt-meld-vlag { color: var(--tally-tekst); } .rt-meld-regel.rt-meld-letop .rt-meld-vlag { color: var(--let); }
.rt-meld-aantal { color: var(--zacht); font-style: normal; font-size: 12px; }
.rt-meld-uitleg { border-top: 1px solid var(--lijn); padding-top: 8px; line-height: 1.6; }

/* ---- de kaart: tegels via de serverproxy + SVG erover ---- */
.rt-kaartvak { width: 100%; }
.rt-kaart { position: relative; width: 100%; overflow: hidden; border: 0; border-radius: var(--r-kaart); background: var(--rack-2); }
.rt-kaart-doek { position: absolute; inset: 0; overflow: hidden; touch-action: none; cursor: grab; }
.rt-kaart-doek.sleept { cursor: grabbing; }
.rt-kaart-doek:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
.rt-tegels { position: absolute; inset: 0; will-change: transform; }
.rt-tegel { position: absolute; display: block; user-select: none; -webkit-user-drag: none; border: 0; border-radius: 0; max-width: none; }
.rt-tegel.mis { visibility: hidden; }
.rt-kaartlaag { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.rt-kaartlaag .rt-mk { pointer-events: auto; }
/* 1.5.9.9B (videostijl): route cyaan (wagen), vertrek wit, bestemming rood; donkere rand rond de lijn */
.rt-route { fill: none; stroke: #00FFF0; stroke-width: 4; stroke-linejoin: round; stroke-linecap: round; }
.rt-route.truck { stroke: #E7B04F; }   /* truck na een ophaalstop */
/* >>> 1.6.1-04: truckdeel amber, schets gestreept, amber ring op de ophaalstop */
.rt-route.schets { stroke-dasharray: 6 6; }
.rt-mk-stop.rt-mk-ophaal circle, .rt-mk-ophaal circle { stroke: #E7B04F; stroke-width: 3; }
.rt-lg-truck { background: #E7B04F; }
.rt-lg-ophaal { background: #00FFF0; border-radius: 50% !important; box-shadow: 0 0 0 2px #E7B04F; }
/* <<< 1.6.1-04 */
.rt-route-rand { fill: none; stroke: #0F1C1A; stroke-width: 8; stroke-linejoin: round; stroke-linecap: round; opacity: .7; }
.rt-mk circle, .rt-mk rect { cursor: pointer; }
.rt-mk-stop circle { fill: #00FFF0; stroke: #0F1C1A; stroke-width: 2.5; }
.rt-mk-stop text { fill: #0F1C1A; font: 700 11px var(--body); pointer-events: none; }
.rt-mk-stop[data-stop="0"] circle { fill: #F5F3EF; }
.rt-mk-stop:last-child:not([data-stop="0"]) circle { fill: #FF4A3D; } .rt-mk-stop:last-child:not([data-stop="0"]) text { fill: #fff; }
.rt-mk-rust circle { fill: #3aa675; stroke: #fff; stroke-width: 2; }
.rt-mk-verbod rect { fill: #e0553d; stroke: #fff; stroke-width: 2; }
.rt-mk:focus { outline: none; } .rt-mk:focus circle, .rt-mk:focus rect { stroke: #111; stroke-width: 3; }
.rt-kaart-knoppen { position: absolute; right: 8px; top: 8px; display: flex; flex-direction: column; gap: 6px; z-index: 2; }
.rt-kaart-knoppen .knop { min-width: 36px; padding: 0 8px; background-color: var(--rack); }
.rt-kaart-legende { position: absolute; left: 8px; bottom: 8px; display: flex; gap: 10px; flex-wrap: wrap; background-color: var(--rack); border: 0; border-radius: var(--r-pil); padding: 4px 12px; font-size: 11.5px; color: var(--zacht); }
.rt-kaart-legende i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 4px; vertical-align: -1px; }
.rt-lg-route { background: #00FFF0; } .rt-lg-stop { background: #00FFF0; border-radius: 50% !important; } .rt-lg-rust { background: #3aa675; } .rt-lg-verbod { background: #e0553d; }
.rt-kaart-zoom { font-family: var(--mono); }
.rt-kaart-bron { position: absolute; right: 6px; bottom: 6px; font-size: 10px; color: var(--zacht); background-color: var(--rack); padding: 1px 5px; border-radius: 4px; }
.rt-kaart-fout { position: absolute; inset: 12px; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.rt-kaart-fout .melding { max-width: 520px; pointer-events: auto; }
.rt-kaart-leeg { padding: 28px; }

/* kolombreedtes (de CSP laat geen style-attributen toe) */
.w26 { width: 26px; } .w62 { width: 62px; } .w70 { width: 70px; } .w78 { width: 78px; } .w86 { width: 86px; } .w90 { width: 90px; } .w100 { width: 100px; } .w110 { width: 110px; } .w120 { width: 120px; } .w130 { min-width: 130px; } .w150 { min-width: 150px; } .w170 { width: 170px; } .w200 { min-width: 200px; }

/* compacte stoptabel */
.rt-stoptabel td.acties .knop { min-width: 32px; min-height: 32px; padding: 0 6px; margin-right: 2px; }
.rt-stoptabel input[type=time], .rt-stoptabel input[type=datetime-local] { padding: 4px 6px; }
.rt-stops.zonder-kaart { grid-template-columns: 1fr; }
.rt-stops.zonder-kaart .rt-kaartkolom { display: none; }
.rt-knoppen { display: inline-flex; flex-wrap: nowrap; gap: 2px; }

/* 1.5.7 (#8, D4.1): plek-kiezer per stop */
.rt-adresvak { display: flex; align-items: center; gap: 4px; }
.rt-adresvak input { flex: 1; min-width: 120px; }
.pk-chip { font-size: 11px; white-space: nowrap; }
.pk .pk-zoek { margin-bottom: 8px; }
.pk-kop { margin: 10px 0 4px; font-size: 13px; color: var(--sub, #666); }
.pk-lijst { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; max-height: 40vh; overflow: auto; }
.pk-rij { width: 100%; text-align: left; border: 1px solid transparent; border-radius: var(--r-vak); padding: 8px 12px; background: var(--vak); color: var(--tekst); cursor: pointer; display: grid; }
.pk-rij:hover, .pk-rij:focus-visible { border-color: var(--accent); }
.pk-rij small { color: var(--sub, #666); }
.pk-vrij { margin-top: 10px; }
.lijst li.hard { border-left: 3px solid var(--tally); padding-left: 8px; }
.lijst li.zacht { border-left: 3px solid var(--let); padding-left: 8px; }

/* 1.5.9.3 (H41–H50): de wizard — rittype bovenaan, één voertuigkiezer, stops door te typen, kosten in twee blokken */
.rt-types { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; margin: 0 0 16px; }
/* 1.5.9.9B: rittype als keuzetegel — vak met hoofdletterlabel, gekozen = cyaan lijn van 2px */
.rt-type { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 2px solid transparent; border-radius: var(--r-vak); cursor: pointer; background: var(--vak); min-height: 62px; }
.rt-type input { position: absolute; opacity: 0; pointer-events: none; }
.rt-type b { font: 400 22px/1 var(--display); letter-spacing: .04em; color: var(--tekst); }
.rt-type small { font-size: 12px; color: var(--zacht); line-height: 1.3; }
.rt-type.aan { border-color: var(--accent); background: var(--accent-zacht); }
.rt-type:focus-within { outline: 2px solid var(--focus); outline-offset: 2px; }
.rt-naam { margin: 14px 0 0; font-size: 14px; }
.rt-naam b { font-family: var(--mono); font-weight: 500; }

.vk-kop { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 8px; }
.vk-zoek { flex: 1; min-width: 180px; }
.vk-nieuw { display: inline-flex; gap: 6px; flex-wrap: wrap; margin-left: auto; }
.vk-lijst { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 6px; max-height: 46vh; overflow: auto; padding: 2px; }
.vk-groep { grid-column: 1 / -1; font: 700 11.5px/1.3 var(--body); letter-spacing: 1.2px; text-transform: uppercase; color: var(--accent); margin: 8px 0 2px; }
.vk-rij { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 2px solid transparent; border-radius: var(--r-vak); background: var(--vak); cursor: pointer; min-width: 0; }
.vk-rij input { margin-top: 3px; accent-color: var(--accent); flex: none; }
.vk-rij span { display: grid; min-width: 0; }
.vk-rij b { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vk-rij small { color: var(--zacht); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vk-rij.aan { border-color: var(--accent); background: var(--accent-zacht); }
.vk-rij:focus-within { outline: 2px solid var(--focus); outline-offset: 1px; }
.vk-paneel { margin-top: 12px; padding: 14px 16px; border: 0; border-radius: var(--r-kaart); background-color: var(--rack); }
.vk-paneel h4 { margin: 0 0 10px; font-size: 15px; }
.vk-sub { margin: 12px 0 6px; font: 700 11.5px/1.3 var(--body); letter-spacing: 1.2px; text-transform: uppercase; color: var(--zacht); }
.vk-paneel .vink { display: inline-flex; gap: 8px; align-items: center; margin: 12px 0 6px; }

.rt-stoptabel .w-plek { min-width: 210px; }
.rt-stoptabel td [data-plek-veld] { min-width: 190px; }
.pv-vak { position: relative; }
.pv-lijst { position: fixed; z-index: 60; min-width: 240px; max-width: min(460px, 86vw); max-height: 320px; overflow: auto; margin: 0; padding: 6px; list-style: none; background-color: var(--rack); border: 1px solid var(--lijn); border-radius: var(--r-vak); box-shadow: 0 8px 24px rgba(0, 0, 0, .25); }
.pv-rij { display: grid; padding: 7px 10px; border-radius: var(--r-klein); cursor: pointer; }
.pv-rij b { font-size: 13.5px; } .pv-rij small { color: var(--zacht); font-size: 12px; }
.pv-rij:hover, .pv-rij.aan { background: var(--rack-2); }
.pv-info { padding: 6px 8px; color: var(--zacht); font-size: 12.5px; }
.pv-adres { cursor: pointer; border-top: 1px solid var(--lijn); }
.pv-adres:hover { color: var(--tekst); }

.rt-kostblokken { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; }
.rt-kostblok { padding: 14px 18px 14px 20px; border: 0; border-radius: var(--r-kaart); background-color: var(--rack); min-width: 0; background-image: linear-gradient(90deg, var(--st-grijs) 0 5px, transparent 5px); }
.rt-kostblok h3 { margin: 0 0 4px; font: 700 11.5px/1.3 var(--body); letter-spacing: 1.2px; text-transform: uppercase; color: var(--zacht); }
.rt-kostblok.klant { background-image: linear-gradient(90deg, var(--ok) 0 5px, transparent 5px); }
.rt-kostblok.klant h3 { color: var(--accent); }
section.kaart.rt-kostblok { background-color: var(--rack); }
@media (max-width: 600px) { .rt-types { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vk-lijst { grid-template-columns: 1fr; } }
/* >>> 1.6.1-31 — ophaalstop zonder voertuig: rood enkel voor de fout zelf */
.rt-stoptabel tr.rt-fout select[data-ophaal], .rt-fout[data-vk] { box-shadow: 0 0 0 1.5px var(--tally); border-radius: 8px; }
.rt-fouttekst { color: var(--tally-tekst); font-size: 11px; display: block; margin: 2px 0 4px; }
.rt-voet [data-melding].rt-fouttekst { display: inline; font-size: 13px; margin: 0; }
.rt-stap.fout .nr { background: var(--tally); color: #fff; }
/* <<< 1.6.1-31 */
/* >>> 1.7.0-s33: routevoorkeuren, overtochten, onderweg (M36) */
.rt-voorkeuren33 { margin: 10px 0 14px; }
.rt-kaarten33 { display: flex; flex-wrap: wrap; gap: 14px; }
.rt-dekking33 .card { flex: 1 1 340px; min-width: 0; background: var(--vak); border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; }
.rt-dekking33 .card.alert { box-shadow: inset 3px 0 0 var(--let); }
.rt-dekking33 .lab { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--zacht); }
.rt-dekking33 .lab.a { color: var(--let); }
.rt-dekking33 .row { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.rt-dekking33 .pill { border-radius: 999px; padding: 2px 10px; font-size: 12.5px; background: var(--ok-zacht); color: var(--ok); }
.rt-dekking33 .pill.p-a { background: var(--let-zacht); color: var(--let); }
.rt-tabel33 { width: 100%; border-collapse: collapse; font-size: 13px; }
.rt-tabel33 td, .rt-tabel33 th { padding: 3px 6px 3px 0; text-align: left; vertical-align: top; }
.rt-tabel33 td:first-child { color: var(--zacht); }
.rt-tabel33 input[type=number] { width: 100%; max-width: 110px; }
/* <<< 1.7.0-s33 */
/* >>> 1.7.0-s32: stop als pauze, timing en pauzestops */
.rt-seg-stoppauze { background: repeating-linear-gradient(45deg, var(--let), var(--let) 4px, #7a5af5 4px, #7a5af5 8px); }
.s32-telaat { color: var(--tally); font-weight: 600; }
.s32-modus .rt-chips { margin-top: 4px; }
.s32-crew .s32-stop { display: grid; gap: 4px; padding: 8px 0; border-bottom: 1px solid var(--lijn, #ddd); }
.s32-crew .s32-stop .knoppen { display: flex; gap: 8px; flex-wrap: wrap; }
.s32-bronnen { margin-top: 8px; }
/* <<< 1.7.0-s32 */
