.start h2{font-size:21px;margin-bottom:8px}
.start p{margin:0 0 16px}
.keuze{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:10px}
.keuze label{font-weight:500;color:var(--text-strong)}
select{font-family:var(--font);font-size:15px;color:var(--text-strong);padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;max-width:100%}
.bijgewerkt{font-size:13.5px;color:var(--dfo-blue-dark);margin:0 0 18px!important}
.voortgang{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;margin-bottom:10px;font-variant-numeric:tabular-nums}
.balk{height:6px;background:var(--dfo-blue-soft);border-radius:3px;overflow:hidden;margin-bottom:20px}
.balk span{display:block;height:100%;background:var(--dfo-blue);transition:width .25s}
.badge{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:2px;background:var(--dfo-blue-soft);color:var(--dfo-blue-dark);text-align:right}
.vraag h2{font-size:clamp(22px,3vw,30px);font-weight:800;color:var(--text-strong);line-height:1.45;margin:10px 0 18px}
.opties{display:grid;gap:10px;margin:0;padding:0;border:0}
.optie{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;font-family:var(--font);font-size:17px;color:var(--text-strong);background:#fff;border:2px solid var(--ink);border-radius:var(--radius);padding:12px 14px;cursor:pointer;line-height:1.45}
.optie:hover:not(:disabled){background:var(--blue-100)}
.optie .l{flex:0 0 26px;height:26px;border-radius:0;background:var(--blue-100);color:var(--dfo-blue);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:13px}
.optie:disabled{cursor:default}
.optie.goed{background:var(--green-soft);border-color:var(--green)}
.optie.goed .l{background:var(--green);color:#fff}
.optie.fout{background:var(--red-soft);border-color:var(--red)}
.optie.fout .l{background:var(--red);color:#fff}
.uitleg{margin-top:16px;border-left:4px solid var(--dfo-blue);background:var(--bg-alt);padding:12px 16px;font-size:15px;border-radius:0 var(--radius) var(--radius) 0}
.uitleg strong{color:var(--text-strong)}
.uitleg.ok{border-color:var(--green)}
.uitleg.nok{border-color:var(--red)}
.uitleg .meld{margin-top:10px;font-size:13.5px}
.vraag .acties{justify-content:flex-end;margin-top:20px}
.score{text-align:center;padding:8px 0 18px}
.score .getal{font-size:54px;font-weight:700;color:var(--dfo-blue);line-height:1.1;font-variant-numeric:tabular-nums}
.score p{margin:6px 0 0;font-size:16px}
.uitleglijst{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.uitleglijst li{background:#fff;border-radius:var(--radius);padding:8px 12px;border-left:3px solid var(--red);font-size:14.5px}
.uitleglijst li.ok{border-left-color:var(--green)}
.uitleglijst li.gekozen{box-shadow:0 0 0 1px var(--border)}
.uitleglijst .kop{display:block;font-weight:600;color:var(--text-strong)}
.uitleglijst li.ok .kop{color:var(--green)}
.uitleglijst li.nok .kop{color:var(--red)}
.uitleglijst .tekst{display:block;margin-top:2px}
.overzicht{margin:10px 0 0;padding-left:20px;display:grid;gap:10px}
.overzicht>li{background:var(--card);border-radius:var(--radius);padding:12px 14px;font-size:14.5px;border-left:4px solid var(--green)}
.overzicht>li.nok{border-left-color:var(--red)}
.overzicht .v{font-weight:600;color:var(--text-strong);display:block}
.certform{background:var(--card);border-radius:6px;padding:20px;margin:6px 0 10px}
.certform h3{font-size:18px;margin:0 0 6px}
.certform p{margin:0 0 14px;font-size:14.5px}
.veld{display:grid;gap:4px;margin-bottom:12px}
.veld label{font-weight:500;color:var(--text-strong);font-size:14px}
.veld input{font-family:var(--font);font-size:16px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:100%}
.veld input:focus{outline:2px solid var(--dfo-blue);outline-offset:1px}
.certstatus{margin-top:10px;font-size:14px;color:var(--red)}
.certstatus:empty{display:none}
.certstatus.klaar{color:var(--green);font-weight:500}
#paneel{border-bottom:0}
.score .getal{font-weight:800}
.advies{background:var(--blue-100);border-left:6px solid var(--blue);padding:10px 14px;font-size:15px;margin:0 0 18px!important}
.modkeuze{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;margin:14px 0 6px}
.modvak{display:flex;align-items:center;gap:10px;border:2px solid var(--ink);padding:10px 12px;cursor:pointer;font-weight:600;min-height:48px}
.modvak:hover{background:var(--blue-100)}
.modvak input{width:20px;height:20px;accent-color:var(--blue);flex:0 0 auto;margin:0}
.modvak:has(input:checked){background:var(--blue-100);border-color:var(--blue)}
.snel{font-size:15px;margin:6px 0 10px!important}
.linkknop{background:none;border:0;padding:6px 0;font:inherit;color:var(--blue);text-decoration:underline;cursor:pointer}
.aantal{font-weight:700;font-size:17px;margin:6px 0 4px!important}
