/* Dossier blijft een overzicht; één handeling tegelijk in een toegankelijk dialoog. */
.herstel-werkplek [hidden], .herstel-paneel [hidden] { display:none !important; }
.herstel-snel {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;margin:0 0 24px;border:1px solid var(--lijn,#dce5e8);border-radius:10px;background:white;}
.herstel-snel h2 {font:600 17px 'Source Sans Pro',sans-serif;margin:0 0 3px;}
.herstel-snel p {margin:0;color:#617780;}
.herstel-snel button {flex-shrink:0;}
.herstel-open {overflow:hidden;}
.herstel-paneel {box-sizing:border-box;position:fixed;inset:0 0 0 auto;margin:0;width:min(680px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:0;border:0;border-left:1px solid #dce5e8;background:#fff;color:#2d4e58;box-shadow:-12px 0 48px #183b4922;}
.herstel-paneel[open] {display:flex;flex-direction:column;animation:herstel-binnen 180ms ease-out;}
.herstel-paneel::backdrop {background:#142f3c59;}
.herstel-paneel-kop {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;border-bottom:1px solid #e0e8eb;flex-shrink:0;}
.herstel-oogmerk {font-size:13px;color:#71868c;margin:0 0 5px;}
.herstel-paneel-kop h2 {font:400 25px/1.25 'PT Serif',serif;margin:0;}
.herstel-paneel-kop h2:focus {outline:none;}
.herstel-sluiten {white-space:nowrap;}
.herstel-paneel-scroll {overflow:auto;overscroll-behavior:contain;flex:1;padding:24px 28px;}
.herstel-paneel-voet {padding:14px 28px;background:#f5f8f8;border-top:1px solid #e0e8eb;font-size:13px;line-height:1.4;color:#627982;flex-shrink:0;}
.herstel-terug {border:0;background:none;padding:0 0 18px;font:inherit;color:#376475;cursor:pointer;}
.herstel-keuze {display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:20px 4px;border:0;border-bottom:1px solid #e0e8eb;background:white;text-align:left;color:inherit;font:600 17px 'Source Sans Pro',sans-serif;cursor:pointer;}
.herstel-keuze:hover {background:#f4f8f8;}
.herstel-paneel .invoerherstel {border:0;box-shadow:none;margin:0;border-radius:0;}
.herstel-paneel .invoerherstel > .body {padding:0;}
.herstel-paneel .invoerherstel p {max-width:65ch;}
.herstel-paneel .herstelvelden {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.herstel-paneel .invoerherstel input, .herstel-paneel .invoerherstel select, .herstel-paneel .invoerherstel textarea {max-width:100%;min-width:0;box-sizing:border-box;}
.herstel-paneel .herstelvoorstel {margin-top:24px;padding-top:20px;border-top:1px solid #dce5e8;}
.herstel-paneel details {margin-top:12px;}
.herstel-paneel summary {cursor:pointer;}
.herstel-paneel button:focus-visible,.herstel-paneel a:focus-visible {outline:3px solid #6198ad;outline-offset:3px;}
.onboarding-controle .oc-punt {padding:16px 24px;}
.onboarding-controle .oc-titel {align-items:center;}
.onboarding-controle .oc-uitleg {margin-top:8px;}
.onboarding-controle .oc-uitleg summary {cursor:pointer;color:#607b85;font-size:14px;}
.onboarding-controle .oc-uitleg p {max-width:68ch;}
.onboarding-controle .oc-grens {display:none;}
.onboarding-controle .oc-link {display:inline-block;margin-top:8px;}
@keyframes herstel-binnen {from {transform:translateX(24px);opacity:.3;}to {transform:translateX(0);opacity:1;}}
@media(prefers-reduced-motion:reduce) {.herstel-paneel[open] {animation:none;}}
@media(max-width:600px) {.herstel-snel {align-items:flex-start;flex-direction:column;padding:16px;gap:12px;}.herstel-paneel-kop {padding:18px 16px;gap:12px;}.herstel-paneel-kop h2 {font-size:21px;}.herstel-paneel-scroll {padding:20px 16px;}.herstel-paneel-voet {padding:12px 16px;}.herstel-paneel .herstelvelden {grid-template-columns:1fr;}.onboarding-controle .oc-punt {padding:14px 16px;}}
/* Dezelfde werkplek voor globale procesvoorstellen. */
.proces-kaart label {display:block;font-weight:600;margin:16px 0;}
.proces-kaart input,.proces-kaart textarea,.proces-kaart select {display:block;width:100%;font:inherit;padding:10px;margin-top:6px;border:1px solid #a5b9c1;border-radius:6px;background:white;color:inherit;}
.proces-kaart .hulp,.proces-regel small {color:#617780;font-size:14px;font-weight:400;}
.proces-kaart form+form {margin-top:16px;}
.proces-kaart button[disabled] {opacity:.55;cursor:not-allowed;}
.proces-verschil {display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#f5f8f8;padding:16px;border-radius:6px;}
.proces-verschil dt {font-size:14px;color:#617780;}.proces-verschil dd {margin:6px 0 0;font-size:22px;}
.proces-melding {padding:16px 20px;background:#f7f0e7;border-left:3px solid #b3723b;line-height:1.5;}
.proces-regel {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #dce5e8;color:inherit;text-decoration:none;}
.proces-regel small {display:block;margin-top:4px;}.proces-regel>span:last-child {flex-shrink:0;}
.proces-overzicht,.proces-stappen {margin:24px 0;}.proces-stappen summary {cursor:pointer;font-weight:600;}
.proces-historie {padding-left:20px;}.proces-historie li {padding:8px 0;}
@media(max-width:600px){.proces-regel {align-items:flex-start;flex-direction:column;gap:5px;}.proces-regel>span:last-child {font-size:14px;}}
.proces-stappen .cfg-meter {margin:16px 0;min-width:0;}
.proces-stappen .cfg-segmenten i.aan {background:var(--st-klaar-bol);}

/* Workflow 01: één duidelijk aandachtspunt per keer. */
.workflow01-item { border-top:1px solid #dce5e6; padding:16px 0; }
.workflow01-item > summary { display:flex; justify-content:space-between; gap:16px; cursor:pointer; }
.workflow01-item > summary span { font-size:.875rem; color:#60777d; }
.workflow01-item form { margin-top:20px; }
.workflow01-status { padding:12px 16px; background:#edf4f2; border-radius:6px; }
.workflow01 textarea[readonly] { width:100%; box-sizing:border-box; }
@media(max-width:520px){.workflow01-item > summary{flex-direction:column;gap:4px;}}

.workflow02 {margin-top:20px;padding-top:20px;border-top:1px solid #dce5e6;}
.workflow02 .proefbevestiging {display:flex;align-items:flex-start;gap:10px;font-weight:400;}
.herstel-paneel .workflow02 input[type=checkbox] {display:inline-block;flex:0 0 20px;width:20px;min-height:20px;height:20px;padding:0;margin-top:3px;}
.workflow02 textarea {width:100%;box-sizing:border-box;margin:8px 0 16px;}

/* Rustig dossierscherm; dezelfde formulieren en controles in één zijpaneel. */
.herstel-compact .herstel-snel {border:0;padding:0;margin:16px 0;background:none;}
.dossier-meer {border:0;background:none;padding:8px 0;font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;}
.herstel-compact .herstel-paneel {width:min(560px,100%);}
.herstel-compact .herstel-paneel-kop {padding:20px 24px;}
.herstel-compact .herstel-paneel-scroll {padding:20px 24px;}
.herstel-compact .herstel-paneel-voet {font-size:12px;padding:10px 24px;}
.herstel-compact .herstel-paneel .herstelvelden {grid-template-columns:1fr;}
.herstel-compact .herstel-paneel .workflow01-item {padding:12px 0;}
.herstel-compact .herstel-paneel .workflow01-item>summary {font-size:15px;}
.herstel-compact .workflow01>.workflow01-status {font-size:14px;padding:9px 12px;}
.herstel-compact .taakkaart {border:0;margin:0;box-shadow:none;}
.herstel-compact .taakkaart .body {padding:0;}
.herstel-compact .goedkeur-grid {grid-template-columns:1fr;}
.dossier-aandacht {list-style:none;padding:0;margin:0;}
.dossier-aandacht li {padding:16px 0;border-bottom:1px solid var(--rand);}
.dossier-aandacht li:first-child {padding-top:0;}
.dossier-aandacht p {margin:8px 0;font-size:15px;}
.dossier-rust a:focus-visible,.dossier-meer:focus-visible {outline:3px solid #6198ad;outline-offset:3px;}
@media(max-width:700px){.dossier-kern {grid-template-columns:1fr;gap:24px;}.dossier-rust .dossier-volgende {align-items:flex-start;flex-direction:column;}.herstel-compact .herstel-paneel-scroll {padding:18px 16px;}.herstel-compact .herstel-paneel-kop {padding:18px 16px;}}
/* Oude taak-deeplinks blijven leesbaar binnen het bestaande zijpaneel. */
.herstel-paneel .contract-inhoud{grid-template-columns:1fr;gap:24px}
.herstel-paneel .contract-actie>.body{padding:0}
.herstel-paneel .contract-inhoud .taaloptie input[type=radio]{width:16px;height:16px;min-height:16px;max-width:16px;padding:0;flex:0 0 16px;margin:0}
.herstel-paneel .contract-inhoud .taaloptie{display:flex;align-items:center;min-width:0}
.herstel-paneel .contract-inhoud .taalopties{grid-template-columns:repeat(2,minmax(0,1fr))}
.herstel-paneel .contract-inhoud .taaloptie span{min-width:0}
.herstel-paneel .contract-inhoud .taaloptie input+span{margin:0}

/* Compacte registratiebevestiging naast de bestaande klantvelden. */
.bestaand-buitenland-form .dossier-velden {min-width:0;}
.bestaand-buitenland-form select {width:100%;min-height:44px;padding:8px 12px;font:inherit;color:inherit;background:#fff;border:1px solid var(--rand);border-radius:8px;}
.bestaand-buitenland-form .buitenland-bevestiging {display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5;}
.bestaand-buitenland-form .buitenland-bevestiging input[type=checkbox] {flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:2px 0 0;padding:0;accent-color:#285665;}
.bestaand-buitenland-form select[aria-invalid=true] {border:1px solid #b42318;outline:none;}
.bestaand-buitenland-form input[type=checkbox][aria-invalid=true] {outline:1px solid #b42318;outline-offset:2px;}

/* Eén actiegebied met aanvullende controles, zonder tweede kaart. */
.dossier-actieblok {background:var(--wit,#fff);border:1px solid var(--rand);border-radius:10px;overflow:hidden;margin:0 0 24px;}
.dossier-actieblok > .kaart,.dossier-actieblok > .taakkaart {border:0;box-shadow:none;margin:0;border-radius:0;}
.dossier-actieblok > .dossier-volgende {margin:0;padding:24px;}
.dossier-controlepunten {margin:0 24px;padding:20px 0;border-top:1px solid var(--rand);}
.dossier-controlepunten .dossier-aandacht li:last-child {border:0;padding-bottom:0;}
.herstel-kort-form {display:flex;flex-direction:column;gap:20px;margin-top:24px;}
.herstel-kort-form .veld {margin:0;}
.herstel-kort-form > button {align-self:flex-start;margin-top:4px;}
.herstel-kort-form > .hint {margin:0;}
.bestaand-buitenland-form select:focus-visible {outline:2px solid #6198ad;outline-offset:2px;}
@media(max-width:700px){.dossier-controlepunten{margin:0 18px}.dossier-actieblok>.dossier-volgende{padding:18px}}

/* Aanvullende controles volgen op de actie; één rustige verticale samenvatting. */
.dossier-controlepunten h2 {font:600 17px 'Source Sans Pro',sans-serif;margin:0 0 16px;}
.dossier-controlepunten dl {margin:0;}
.dossier-controlepunt {padding:14px 0;border-bottom:1px solid var(--rand);}
.dossier-controlepunt:first-child {padding-top:0;}
.dossier-controlepunt:last-child {border:0;padding-bottom:0;}
.dossier-controlepunt dt {font-weight:600;}
.dossier-controlepunt dd {margin:6px 0 0;}
.dossier-controlepunt p {margin:0 0 8px;line-height:1.5;}
.herstel-paneel .veld {margin-bottom:20px;}
.herstel-paneel .acties {margin-top:24px;gap:16px;}
.herstel-paneel .foutbericht {border-left:0;}
.stap-details {margin-top:6px;font-size:14px;}
.stap-details summary {cursor:pointer;color:var(--gedempt);}
.dossier-rust > .dossier-volgende {margin-bottom:24px;}

/* Alleen de tab Overzicht: actie, aanvullende punten en dossiercontext. */
.overzicht-samenhang {max-width:1100px;}
.overzicht-werk {background:var(--wit,#fff);border:1px solid var(--rand);border-radius:10px;padding:26px 28px;}
.overzicht-label {font-size:13px;font-weight:600;color:var(--gedempt);margin:0 0 10px;}
.overzicht-werk > .kaart {border:0;box-shadow:none;margin:0;background:none;}
.overzicht-werk > .kaart > .kop {padding:0;border:0;font:600 23px/1.3 'Source Sans Pro',sans-serif;max-width:36em;}
.overzicht-werk > .kaart > .body {padding:12px 0 0;}
.overzicht-werk > .kaart > .body > p {max-width:68ch;margin:0 0 14px;line-height:1.55;}
.overzicht-werk > .kaart > .body > p + p {color:var(--gedempt);font-size:14px;}
.overzicht-werk .dossier-volgende {border:0;padding:0;margin:0;}
.overzicht-aanvullend {margin-top:24px;padding-top:20px;border-top:1px solid var(--rand);}
.overzicht-aanvullend > h2 {font:600 15px 'Source Sans Pro',sans-serif;margin:0 0 12px;color:var(--gedempt);}
.overzicht-punt {display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:13px 0;border-bottom:1px solid var(--rand);}
.overzicht-punt:last-child {padding-bottom:0;border:0;}
.overzicht-punt h3 {font:600 16px/1.4 'Source Sans Pro',sans-serif;margin:0;}
.overzicht-punt p {max-width:65ch;margin:6px 0 0;font-size:14px;line-height:1.5;}
.overzicht-punt > a {flex-shrink:0;font-size:14px;}
.overzicht-bij-actie {margin-top:16px;max-width:68ch;font-size:14px;}
.overzicht-bij-actie > p {line-height:1.5;}
.overzicht-toelichting {margin-top:16px;font-size:14px;max-width:68ch;}
.overzicht-toelichting summary {cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.overzicht-toelichting p {line-height:1.55;margin:12px 0 0;}
@media(max-width:700px){.overzicht-werk{padding:20px}.overzicht-werk>.kaart>.kop{font-size:21px}.overzicht-punt{gap:12px}.overzicht-punt h3{font-size:15px}.overzicht-werk .contract-inhoud{grid-template-columns:1fr}}

/* Klantcode op Overzicht: dezelfde maatvoering als de bestaande bediening. */
.overzicht-samenhang .contract-codecontrole:has(#contractcode-keuze) {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;row-gap:12px;}
.overzicht-samenhang .contract-codecontrole:has(#contractcode-keuze) > label {grid-column:1/-1;margin:0;font-weight:600;font-size:15px;}
.overzicht-samenhang .contract-codecontrole #contractcode-keuze {box-sizing:border-box;width:100%;max-width:none;min-width:0;min-height:46px;margin:0;padding:11px 12px;border:1px solid var(--rand);border-radius:8px;background:var(--wit,#fff);color:var(--inkt,#23444e);font:inherit;font-size:15px;line-height:22px;font-variant-numeric:tabular-nums;}
.overzicht-samenhang .contract-codecontrole #contractcode-keuze::placeholder {color:var(--gedempt);opacity:1;}
.overzicht-samenhang .contract-codecontrole #contractcode-keuze:focus-visible {outline:2px solid #6198ad;outline-offset:2px;border-color:#376475;}
.overzicht-samenhang .contract-codecontrole:has(#contractcode-keuze) > button {min-height:46px;box-sizing:border-box;margin:0;padding:11px 16px;line-height:22px;white-space:nowrap;}
.overzicht-samenhang .contract-codecontrole:has(#contractcode-keuze) > p {grid-column:1/-1;margin:0;font-size:14px;line-height:1.5;color:var(--gedempt);}
@media(max-width:1200px){.overzicht-samenhang .contract-codecontrole:has(#contractcode-keuze){grid-template-columns:minmax(0,1fr)}.overzicht-samenhang .contract-codecontrole:has(#contractcode-keuze)>button{justify-self:start}}
.overzicht-werk:has(> .contract-actie) > .overzicht-label {display:none;}
.overzicht-werk > .contract-actie > .body {padding:0;}

@media(prefers-reduced-motion:reduce){.dossier-verwerking .contract-code-spinner{animation:none}}

/* Dezelfde vaste gegevenskolom en actieplek in iedere dossierfase. */
.dossier-overzicht-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,1fr);align-items:stretch;background:var(--wit,#fff);border:1px solid var(--rand);border-radius:10px;overflow:hidden;}
.dossier-overzicht-layout>*{min-width:0;}
.overzicht-bedrijf{padding:28px;}
.dossier-overzicht-layout>.overzicht-stap{padding:28px;border-right:1px solid var(--rand);}
.dossier-overzicht-layout .overzicht-werk{padding:0;border:0;border-radius:0;background:transparent;}
.dossier-overzicht-layout .overzicht-stap>.kaart{border:0;box-shadow:none;margin:0;}
.overzicht-bedrijf h2{font:600 17px/1.4 var(--font-ui);margin:0 0 14px;}
.overzicht-bedrijf dl{margin:0;}
.overzicht-bedrijf dl>div{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);gap:18px;padding:13px 0;border-bottom:1px solid var(--rand);font-size:15px;line-height:1.5;}
.overzicht-bedrijf dt{color:var(--gedempt);}
.overzicht-bedrijf dd{margin:0;overflow-wrap:anywhere;}
.overzicht-gegevenslink{display:inline-block;margin-top:18px;font-size:14px;text-underline-offset:3px;}
.overzicht-stap .overzicht-samenhang{max-width:none;}
.overzicht-stap .contract-inhoud.contract-enkel{grid-template-columns:minmax(0,1fr);gap:0;}
.overzicht-stap .contract-bediening{border:0;padding:0;}
.overzicht-stap .body:not(.naast)>.overzicht-toelichting{margin-top:24px;}
.overzicht-stap .besluitknoppen{display:flex;flex-wrap:wrap;gap:10px;}
.overzicht-stap .besluitknoppen>button{width:auto;}
.overzicht-stap .besluitknoppen>.knop-p{flex:1 1 100%;}
.overzicht-stap .besluitknoppen>.knop-s,.overzicht-stap .besluitknoppen>.knop-t{flex:1 1 140px;}
.overzicht-stap .dossier-verwerking{align-items:flex-start;flex-wrap:wrap;}
@media(max-width:1000px){.dossier-overzicht-layout{grid-template-columns:minmax(0,1.1fr) minmax(260px,1fr);}.dossier-overzicht-layout>.overzicht-stap,.overzicht-bedrijf{padding:22px;}}
@media(max-width:760px){.dossier-overzicht-layout{grid-template-columns:minmax(0,1fr);}.dossier-overzicht-layout>.overzicht-stap{padding:20px;border-right:0;border-bottom:1px solid var(--rand);}.overzicht-bedrijf{padding:20px;}}

/* Dossierbehandeling vormt met bedrijfsgegevens de vaste rechterkolom. */
.overzicht-zijpaneel{min-width:0;padding:28px;}
.overzicht-zijpaneel .overzicht-bedrijf{padding:0;}
@media(max-width:1000px){.overzicht-zijpaneel{padding:22px;}}
@media(max-width:760px){.overzicht-zijpaneel{padding:20px;}}
