/* Mijn dossier – huisstijl Executeur.nl */
[hidden] { display: none !important; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('../fonts/montserrat-latin-wght.woff2') format('woff2'); }

:root {
  --paars: #482953; --paars-donker: #3a2043; --roze: #ae5477; --roze-donker: #963f62; --oranje: #f6af77; --oranje-tekst: #b35a12;
  --beige: #fce4c5; --tekst: #282b2e; --grijs: #626c73; --lijn: #e3e8ec; --lijn-donker: #c9d1d8; --achter: #f6f8fa; --wit: #ffffff;
  --ok: #1d6b3f; --ok-licht: #e7f4ec; --fout: #a12a2a; --fout-licht: #fbeaea; --info-licht: #f3eef4;
  --rond: 8px; --schaduw: 0 1px 2px rgba(40, 30, 50, .04);
  --inkt: #2b2530; --zacht: #f4f2f5; --ic: #6b6470;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: Montserrat, 'Helvetica Neue', Helvetica, sans-serif; font-size: 16px; line-height: 1.55; color: var(--tekst); background: var(--achter); min-height: 100vh; display: flex; flex-direction: column; }
a { color: var(--roze); text-underline-offset: 3px; }
a:hover { color: var(--roze-donker); }
h1, h2, h3 { color: var(--inkt); line-height: 1.25; margin: 0 0 .5rem; font-weight: 600; }
h1 { font-size: 28px; letter-spacing: -.01em; }
h2 { font-size: 17px; }
p { margin: 0 0 1rem; }
img { max-width: 100%; }
:focus-visible { outline: 3px solid var(--oranje); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -9999px; top: 0; background: var(--paars); color: #fff; padding: 10px 16px; z-index: 10; }
.skip:focus { left: 10px; top: 10px; }
.ic { flex: 0 0 auto; vertical-align: -3px; }
.klein { font-size: 14px; }
.grijs { color: var(--grijs); }
.rood { color: var(--fout) !important; }
.midden { text-align: center; }
.groot { font-size: 18px; }
.nowrap { white-space: nowrap; }
.leeg { color: var(--grijs); margin: 0; }

/* Knoppen */
.knop { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 11px 20px; border: 0; border-radius: 3px; background: var(--roze); color: #fff; font: 600 15px/1.2 Montserrat, sans-serif; text-decoration: none; cursor: pointer; transition: background .15s; }
.knop:hover { background: var(--roze-donker); color: #fff; }
.knop--rand { background: #fff; color: var(--roze); box-shadow: inset 0 0 0 1px var(--lijn-donker); }
.knop--rand:hover { background: #fff; color: var(--roze-donker); box-shadow: inset 0 0 0 1px var(--roze); }
.tekstlink { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 15px; text-decoration: none; color: var(--roze); background: none; border: 0; padding: 4px 0; cursor: pointer; font-family: inherit; }
.tekstlink:hover { color: var(--roze-donker); text-decoration: underline; }
.tekstlink .ic { transition: transform .15s; }
.tekstlink:hover .ic { transform: translateX(2px); }
.knop--klein { min-height: 38px; padding: 8px 14px; font-size: 14px; }
.knop--breed { width: 100%; }
.knop--gevaar { background: var(--fout); }
.knop--gevaar:hover { background: #7f1f1f; }
.knoppen { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.knoppen--stapel { flex-direction: column; align-items: stretch; }
.link-knop { background: none; border: 0; padding: 8px 0; min-height: 40px; font: 600 14px Montserrat, sans-serif; color: var(--roze); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; display: inline-flex; gap: 6px; align-items: center; }
.ikoonknop { width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--grijs); cursor: pointer; }
.ikoonknop:hover { background: var(--fout-licht); color: var(--fout); }

/* Kop */
.kop { background: #fff; border-bottom: 1px solid var(--lijn); }
.kop__binnen { max-width: 1320px; margin: 0 auto; padding: 14px 24px; display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; }
.kop__merk { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.kop__merk img { display: block; width: 144px; height: 44px; }
.kop__streep { width: 1px; height: 28px; background: var(--lijn); }
.kop__naam { font-weight: 600; font-size: 17px; color: var(--inkt); }
.kop__rechts { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.kop__rechts form { margin: 0; }
.kop__wie { font-size: 14px; color: var(--grijs); }
.kop__wie strong { color: var(--tekst); }

/* Romp met menu */
.romp { flex: 1; width: 100%; max-width: 1320px; margin: 0 auto; padding: 28px 24px 48px; display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.menu { flex: 0 0 230px; }
.menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.menu a { display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 10px 14px; border-radius: 6px; color: var(--tekst); text-decoration: none; font-weight: 500; font-size: 15px; }
.menu a .ic { color: var(--ic); }
.menu a:hover { background: rgba(255,255,255,.7); color: var(--inkt); }
.menu a[aria-current="page"] { background: #fff; color: var(--inkt); font-weight: 600; box-shadow: inset 2px 0 0 var(--roze); }
.menu a[aria-current="page"] .ic { color: var(--roze); }
.teller { margin-left: auto; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 11px; background: var(--roze); color: #fff; font-size: 12px; font-weight: 600; display: grid; place-items: center; }
.inhoud { flex: 999 1 560px; min-width: 0; }
.voet { border-top: 1px solid var(--lijn); background: #fff; padding: 16px 24px; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: center; font-size: 13px; color: var(--grijs); }

/* Pagina */
.paginakop { margin-bottom: 22px; }
.paginakop > p { color: var(--grijs); max-width: 70ch; }
.paginakop--knop { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: flex-end; }
.kruimel { font-size: 14px; line-height: 20px; margin-bottom: 14px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; color: var(--grijs); }
.kruimel a { font-weight: 500; text-decoration: none; display: inline-flex; gap: 6px; align-items: center; }
.kruimel .ic { vertical-align: 0; }
.kaart { background: #fff; border: 1px solid var(--lijn); border-radius: var(--rond); padding: 22px 24px; margin-bottom: 18px; box-shadow: var(--schaduw); }
.kaart > :last-child { margin-bottom: 0; }
.kaart--accent { }
.kaart.smal, .smal { max-width: 620px; }
.raster { display: grid; gap: 18px; }
.raster--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.raster--2 > .kaart { margin-bottom: 0; }
.raster--zij { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
.balk { -webkit-appearance: none; appearance: none; width: 100%; max-width: 360px; height: 10px; border: 0; border-radius: 5px; background: #eef1f4; overflow: hidden; display: block; margin: 8px 0 14px; }
.balk::-webkit-progress-bar { background: #eef1f4; border-radius: 5px; }
.balk::-webkit-progress-value { background: var(--roze); border-radius: 5px; }
.balk::-moz-progress-bar { background: var(--roze); border-radius: 5px; }
.stand { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; }
.stand .balk { width: 200px; margin: 0; }

/* Meldingen */
.melding { display: flex; gap: 10px; align-items: flex-start; padding: 12px 16px; border-radius: 6px; margin-bottom: 16px; font-size: 15px; background: var(--ok-licht); color: var(--ok); }
.melding .ic { margin-top: 2px; }
.melding--fout { background: var(--fout-licht); color: var(--fout); }
.melding--info { background: var(--zacht); color: var(--inkt); }
.melding--actie { background: #fff4ea; color: #6b3a10; align-items: center; text-decoration: none; }
.melding--actie > span { flex: 1; }
.melding--actie form { margin: 0; }
a.melding--actie:hover { color: #6b3a10; background: #ffecda; }

/* Formulieren */
.formulier { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.veld { display: flex; flex-direction: column; gap: 6px; }
.veld label, .veld > span { font-weight: 500; font-size: 14px; color: var(--inkt); }
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=date], input:not([type]), select, textarea, input[type=file] {
  width: 100%; font: 400 16px/1.4 Montserrat, sans-serif; color: var(--tekst); padding: 12px 14px; border: 1px solid var(--lijn-donker); border-radius: 4px; background: #fff;
}
input[type=file] { padding: 10px; border-style: dashed; background: #fbf8fb; }
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--roze); box-shadow: 0 0 0 3px rgba(174, 84, 119, .18); }
input[readonly] { background: var(--achter); color: var(--grijs); }
.code-invoer { font-size: 19px !important; letter-spacing: .16em; max-width: 180px; }
.hint { font-size: 13px; color: var(--grijs); margin: 0; }
.vinkje { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; cursor: pointer; }
.vinkje input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--roze); flex: 0 0 auto; }
.fout { color: var(--fout); font-weight: 600; margin: 0; }

/* Labels */
.label { display: inline-block; font-size: 12px; font-weight: 600; padding: 3px 9px; border-radius: 10px; background: #eef1f4; color: #4a5257; white-space: nowrap; }
.label--ok { background: var(--ok-licht); color: var(--ok); }
.label--actie { background: #fff0e2; color: #7a4210; }
.label--nieuw { background: var(--info-licht); color: var(--paars); }
.label--fout { background: var(--fout-licht); color: var(--fout); }

/* Lijsten */
.lijst { list-style: none; margin: 0 0 4px; padding: 0; }
.lijst > li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid #eef1f4; flex-wrap: wrap; }
.lijst > li:first-child { border-top: 0; }
.lijst > li form { margin: 0; }
.lijst__ic { font-weight: 600; width: 38px; height: 38px; border-radius: 8px; background: var(--zacht); color: var(--ic); display: grid; place-items: center; flex: 0 0 auto; }
.lijst__tekst { flex: 1 1 220px; min-width: 0; display: flex; flex-direction: column; gap: 2px; overflow-wrap: anywhere; }
.lijst--compact > li { padding: 10px 0; }
.itemlink { display: inline-flex; gap: 6px; align-items: center; font-size: 14px; font-weight: 500; text-decoration: none; padding: 2px 0; }
.persoon { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.initialen { width: 44px; height: 44px; border-radius: 50%; background: var(--zacht); color: var(--inkt); display: grid; place-items: center; font-weight: 600; font-size: 15px; }

/* Filters en tegels */
.filters { display: flex; flex-wrap: wrap; gap: 4px 22px; margin-bottom: 28px; border-bottom: 1px solid var(--lijn); }
.filters a { padding: 10px 0; margin-bottom: -1px; border-bottom: 2px solid transparent; color: var(--grijs); text-decoration: none; font-size: 14px; font-weight: 500; min-height: 42px; display: inline-flex; align-items: center; }
.filters a:hover { color: var(--inkt); }
.filters a[aria-current] { color: var(--inkt); font-weight: 600; border-bottom-color: var(--roze); }
.groep { margin-bottom: 34px; }
.groep__kopregel { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; margin-bottom: 12px; }
.groep__kop { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 17px; margin: 0; }
.groep__kop .klein { font-weight: 400; font-size: 13px; }
.groep__stip { width: 8px; height: 8px; border-radius: 2px; display: inline-block; opacity: .8; }
.groep__stip--persoonlijk { background: #482953; } .groep__stip--juridisch { background: #2f3f7a; } .groep__stip--financien { background: #b35a12; }
.groep__stip--bezittingen { background: #ae5477; } .groep__stip--digitaal { background: #1f5670; } .groep__stip--afscheid { background: #5e3a6e; }
.tegels { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.tegel { display: flex; flex-direction: column; gap: 10px; height: 100%; min-height: 128px; padding: 16px; background: #fff; border: 1px solid var(--lijn); border-radius: 10px; text-decoration: none; color: var(--tekst); transition: transform .15s, box-shadow .15s, border-color .15s; }
a.tegel:hover { border-color: var(--lijn-donker); box-shadow: 0 4px 14px rgba(40, 30, 50, .06); color: var(--tekst); }
.tegel__ic { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: var(--zacht); color: var(--ic); }
.tegel__ic svg { width: 22px; height: 22px; }
.tegel__titel { font-weight: 600; color: var(--inkt); flex: 1; font-size: 15px; line-height: 1.35; }
.tegel__stand { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; color: var(--ok); font-weight: 500; margin-right: auto; }
.tegel__voet { display: flex; align-items: center; gap: 8px; }
.tegel__voet .klein { margin-right: auto; }
.tegel__voet .label { margin-right: auto; }
.tegel__voet .label + .klein { margin-left: -2px; }
.tegel__oog { color: var(--roze); display: inline-flex; margin-left: auto; }
.onderdeelkop { display: flex; gap: 16px; align-items: center; margin-bottom: 20px; }
.onderdeelkop .tegel__ic { width: 52px; height: 52px; flex: 0 0 auto; }
.onderdeelkop .tegel__ic svg { width: 26px; height: 26px; }
.onderdeelkop h1 { margin: 0 0 2px; }
.onderdeelkop p { margin: 0; color: var(--grijs); }

/* Tabs */
.tabs__knoppen { display: flex; gap: 6px; margin-bottom: 18px; border-bottom: 1px solid var(--lijn); }
.tabs__knoppen button { background: none; border: 0; padding: 10px 14px; min-height: 44px; font: 500 15px Montserrat, sans-serif; color: var(--grijs); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.tabs__knoppen button { font-weight: 500 !important; }
.tabs__knoppen button[aria-selected="true"] { color: var(--inkt); font-weight: 600 !important; border-bottom-color: var(--roze); }

/* Schakelaar */
.schakelregel { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 0; }
.schakelaar { flex: 0 0 auto; width: 56px; height: 32px; border-radius: 16px; border: 0; background: var(--lijn-donker); position: relative; cursor: pointer; padding: 0; }
.schakelaar span { position: absolute; top: 4px; left: 4px; width: 24px; height: 24px; border-radius: 50%; background: #fff; transition: left .15s; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); }
.schakelaar[aria-checked="true"] { background: var(--roze); }
.schakelaar[aria-checked="true"] span { left: 28px; }
.schakellijst { list-style: none; margin: 0; padding: 0; }
.schakellijst li { padding: 8px 0; border-top: 1px solid #eef1f4; }
.schakellijst li:first-child { border-top: 0; }

/* Tabellen */
.tabelvak { overflow-x: auto; }
.tabel { width: 100%; border-collapse: collapse; font-size: 15px; }
.tabel th { text-align: left; font-size: 13px; color: var(--grijs); font-weight: 600; padding: 8px 10px; border-bottom: 1px solid var(--lijn); }
.tabel td { padding: 12px 10px; border-bottom: 1px solid #eef1f4; vertical-align: top; }

/* Uitleg, stappen, codes */
.uitleg { padding-left: 1.2rem; margin: 0 0 1rem; }
.uitleg li { margin: 0 0 .5rem; }
.stapjes { list-style: none; padding: 0; margin: 0 0 20px; display: flex; gap: 8px; font-size: 13px; font-weight: 500; counter-reset: s; }
.stapjes li { flex: 1; padding: 8px 0 0; border-top: 3px solid var(--lijn); color: var(--grijs); counter-increment: s; }
.stapjes li::before { content: counter(s) '. '; }
.stapjes .nu { border-color: var(--roze); color: var(--inkt); font-weight: 600; }
.stapjes .klaar { border-color: var(--lijn-donker); color: var(--inkt); }
.qr { width: 220px; height: 220px; margin: 4px auto 12px; padding: 10px; background: #fff; border: 1px solid var(--lijn); border-radius: 8px; }
.qr svg { display: block; width: 100%; height: 100%; }
.handmatig { margin-bottom: 18px; font-size: 14px; }
.handmatig summary { cursor: pointer; color: var(--roze); font-weight: 600; }
.sleutelcode { font: 600 16px/1.6 ui-monospace, Menlo, monospace; letter-spacing: .08em; background: var(--achter); padding: 10px 12px; border-radius: 6px; margin: 10px 0 0; overflow-wrap: anywhere; }
.codes { list-style: none; padding: 0; margin: 0 0 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.codes li { font: 600 17px ui-monospace, Menlo, monospace; letter-spacing: .06em; background: var(--achter); padding: 10px 12px; border-radius: 6px; text-align: center; }
.notitie { white-space: normal; overflow-wrap: anywhere; font-size: 16px; line-height: 1.7; }

/* Kluis */
.kluis__kop { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 8px; }
.kluis__geheim { font: 600 15px ui-monospace, Menlo, monospace; background: var(--achter); padding: 6px 10px; border-radius: 4px; overflow-wrap: anywhere; }

/* Inlogschermen */
body.kaal { background: var(--achter); }
.welkom { flex: 1; display: flex; flex-wrap: wrap; min-height: 100vh; }
.welkom__paneel { flex: 1 1 420px; background: var(--paars); color: #fff; padding: 64px 56px; display: flex; flex-direction: column; justify-content: center; gap: 20px; }
.welkom__paneel h1 { color: #fff; font-size: 34px; line-height: 1.2; margin: 0; max-width: 560px; font-weight: 600; }
.welkom__paneel p { color: #e9e1ec; font-size: 17px; max-width: 480px; margin: 0; }
.welkom__merk { display: flex; align-items: center; gap: 12px; font-size: 20px; font-weight: 600; color: #fff; }
.welkom__merk .ic { color: var(--oranje); }
.welkom__punten { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; color: #e9e1ec; font-size: 15px; }
.welkom__punten li { display: flex; gap: 12px; align-items: center; }
.welkom__punten .ic { color: var(--oranje); }
.welkom__vak { flex: 1 1 420px; display: flex; align-items: center; justify-content: center; padding: 40px 20px; }
.welkom__kolom { width: 100%; max-width: 440px; display: flex; flex-direction: column; gap: 12px; }
.terug { align-self: flex-start; display: inline-flex; gap: 6px; align-items: center; font-size: 14px; font-weight: 500; text-decoration: none; min-height: 40px; }
.kaart--vak { padding: 32px 34px 36px; margin: 0; }
.kaart--vak h2 { font-size: 24px; margin-bottom: 14px; }
.logo-link { display: block; margin-bottom: 18px; }
.logo-link img { display: block; width: 170px; height: 52px; }
.welkom__hulp { font-size: 14px; color: var(--grijs); text-align: center; margin: 6px 0 0; }

@media (max-width: 960px) {
  .raster--zij, .raster--2 { grid-template-columns: 1fr; }
  .menu { flex: 1 1 100%; }
  .menu ul { flex-direction: row; overflow-x: auto; gap: 6px; padding-bottom: 4px; }
  .menu a { white-space: nowrap; min-height: 42px; padding: 8px 12px; background: #fff; border: 1px solid var(--lijn); }
  .menu a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--roze); }
  .romp { gap: 18px; padding-top: 18px; }
}
@media (max-width: 600px) {
  h1 { font-size: 25px; }
  .kop__tijd { display: none; }
  .kop__streep, .kop__naam { display: none; }
  .kaart { padding: 18px 16px; }
  .romp { padding-left: 16px; padding-right: 16px; }
  .welkom__paneel { padding: 36px 22px; }
  .welkom__paneel h1 { font-size: 27px; }
  .welkom__paneel { gap: 12px; }
  .welkom__paneel p, .welkom__punten { display: none; }
  .welkom__vak { padding-top: 20px; }
  .kaart--vak { padding: 24px 20px 28px; }
  .tegels { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .tegel { padding: 14px; min-height: 140px; }
  .codes { grid-template-columns: 1fr; }
}
@media print {
  .kop, .menu, .voet, .knoppen, .skip, .niet-printen, .melding { display: none !important; }
  body { background: #fff; }
  .kaart { box-shadow: none; border: 0; }
}

/* Executeurssleutel */
.opsomming { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }
.herstelsleutel { font: 600 18px/1.5 ui-monospace, Menlo, monospace; letter-spacing: .08em; background: var(--achter); padding: 16px; border-radius: 8px; text-align: center; word-break: break-all; margin: 0 0 16px; }
.slotje { display: inline-flex; align-items: center; gap: 6px; }

/* Eigen tegel toevoegen: klein, naast de groepskop */
.nieuwtegel { font-size: 14px; }
.nieuwtegel summary { list-style: none; cursor: pointer; color: var(--roze); font-weight: 500; display: inline-flex; align-items: center; gap: 4px; min-height: 32px; }
.nieuwtegel summary::-webkit-details-marker { display: none; }
.nieuwtegel summary:hover { color: var(--roze-donker); text-decoration: underline; }
.nieuwtegel[open] { flex: 1 1 100%; }
.nieuwtegel form { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 4px; }
.nieuwtegel input { flex: 1 1 220px; max-width: 360px; padding: 9px 12px; font-size: 15px; }
.overzicht-acties { margin-top: auto; }
.raster--2 > .kaart { display: flex; flex-direction: column; }
.raster--2 > .kaart > .overzicht-acties { padding-top: 6px; }

/* Invulformulier persoonlijke gegevens */
.kaartkop { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 6px; }
.kaartkop h2 { margin: 0; }
.gegevensblok { border: 0; padding: 0; margin: 0 0 6px; min-width: 0; }
.gegevensblok legend { font-weight: 600; font-size: 15px; color: var(--inkt); padding: 0; margin: 10px 0 10px; }
.gegevensraster { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px 16px; }
.veld--breed { grid-column: 1 / -1; }
.gegevens__kop { font-size: 14px; font-weight: 600; color: var(--grijs); text-transform: none; margin: 18px 0 8px; }
.gegevens__kop:first-child { margin-top: 6px; }
.gegevens { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px 16px; margin: 0 0 6px; }
.gegevens dt { font-size: 13px; color: var(--grijs); }
.gegevens dd { margin: 0; color: var(--inkt); overflow-wrap: anywhere; }
.gegevens--breed { grid-column: 1 / -1; }

/* Velden: overal dezelfde hoogte en binnenruimte (tekst, datum, keuzelijst) */
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=date], input:not([type]), select { height: 48px; padding: 0 14px; line-height: 46px; }
select { -webkit-appearance: none; appearance: none; padding-right: 40px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b6470' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center; cursor: pointer; }
input[type=file] { height: auto; line-height: 1.4; }
.code-invoer { height: 48px; line-height: 46px; }
.gegevensraster { align-items: end; }
.gegevensraster .veld--breed { align-self: stretch; }

/* Beveiliging en voorwaarden */
.romp--open { max-width: 1000px; }
.veilig { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 14px; color: var(--grijs); margin: -4px 0 0; }
.veilig .ic { color: var(--ok); }
.veilig a { font-weight: 500; }
.welkom__meer { color: #fff; font-weight: 500; font-size: 15px; display: inline-flex; align-items: center; gap: 6px; text-decoration: underline; text-underline-offset: 4px; align-self: flex-start; }
.welkom__meer:hover { color: var(--beige); }
.beveiliging .kaart { margin-bottom: 0; }
.beveiliging__ic { width: 40px; height: 40px; border-radius: 10px; background: var(--ok-licht); color: var(--ok); display: grid; place-items: center; margin-bottom: 12px; }
.beveiliging + .klein { margin-top: 20px; }
.leesbaar { max-width: 760px; }
.voorwaarden h3 { font-size: 16px; margin: 22px 0 6px; }
.voorwaarden h3:first-of-type { margin-top: 10px; }
.voorwaarden ul { margin: 0 0 1rem; padding-left: 1.2rem; }
.voorwaarden li { margin: 0 0 .35rem; }
.voorwaarden p, .voorwaarden li { line-height: 1.6; }
.kaart .uitlog { margin-top: 10px; }
@media (max-width: 600px) { .welkom__meer { display: none; } }

/* Kleine link onder de knop op de inlogschermen */
.bijlink { text-align: center; margin: 18px 0 0; font-size: 14px; }
.bijlink a, .bijlink .link-knop { font-size: 14px; font-weight: 500; color: var(--roze); text-decoration: none; min-height: 0; padding: 4px 0; }
.bijlink a:hover, .bijlink .link-knop:hover { text-decoration: underline; }
.bijlink + .klein { margin-top: 18px; }
.bijlink--tweede { margin-top: 6px; }
.bijlink--tweede .link-knop { color: var(--grijs); font-weight: 400; }
