:root{--paper:#f4f0e8;--surface:#fbf8f2;--ink:#1a1712;--ink-hover:#2e281f;--ink-strong:#3a332a;--body:#5a5346;--muted:#655e52;--mono-muted:#5f584d;--faint:#6c6457;--line:#d8d0c2;--line-soft:#e6dfd2;--row-selected:#ede8de;--disabled:#c3bbab;--wit:#b8ae9e;--wit-ink:#2a2418;--geel:#e5a630;--geel-ink:#3a2a07;--rood:#a94330;--rood-ink:#fbf8f2;--rood-bg:#f3dad0;--mono:ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;--sans:system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5}::selection{background:#ddd4c2}button{font:inherit;cursor:pointer;color:inherit}:focus-visible{outline-offset:3px;outline:3px solid #245b87}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:10px 14px;position:fixed;top:10px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h2{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700}h3{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.dashboard-title{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700}.panel-title{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}@keyframes wvUp{0%{transform:translateY(8px)}to{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}}.s-wit{--sc:var(--wit);--si:var(--wit-ink)}.s-geel{--sc:var(--geel);--si:var(--geel-ink)}.s-rood{--sc:var(--rood);--si:var(--rood-ink)}.wv-header{border-bottom:1px solid var(--line);background:var(--paper);z-index:20;position:sticky;top:0}.wv-header-inner{justify-content:space-between;align-items:center;max-width:1040px;margin:0 auto;padding:18px 24px;display:flex}.wv-brand{background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.wv-logo{border:1.5px solid var(--ink);place-items:center;width:24px;height:24px;display:grid}.wv-logo i{background:var(--ink);width:9px;height:9px;display:block}.wv-brandname{font-family:var(--mono);letter-spacing:.12em;font-size:12.5px;font-weight:600}.wv-navlink{font-family:var(--mono);letter-spacing:.1em;color:var(--mono-muted);background:0 0;border:0;font-size:11px}.wv-navlink:hover{color:var(--ink)}.wv{max-width:560px;margin:0 auto;padding:0 24px 56px}.wv-top-space{padding-top:48px}.wv-anim{animation:.35s both wvUp}.wv-start{padding-top:36px}.wv-kicker{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mono-muted);font-size:11px}.wv-h1{letter-spacing:-.03em;max-width:13ch;margin:14px 0 0;font-size:40px;font-weight:700;line-height:1.06}.wv-lead{color:var(--body);max-width:44ch;margin:16px 0 0;font-size:16.5px;line-height:1.55}.wv-cta{background:var(--ink);width:100%;color:var(--paper);border:0;border-radius:4px;justify-content:space-between;align-items:center;min-height:64px;margin-top:30px;padding:20px 22px;font-size:17px;font-weight:600;transition:background .15s;display:flex}.wv-cta:hover{background:var(--ink-hover)}.wv-cta .ar{font-size:20px;line-height:1}.wv-mono-note{font-family:var(--mono);letter-spacing:.06em;color:var(--mono-muted);margin:14px 2px 0;font-size:11px}.wv-legend{border-top:1px solid var(--line);margin-top:40px}.wv-legend-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;padding:16px 2px;display:flex}.wv-swatch{background:var(--sc);flex:none;width:13px;height:13px;margin-top:3px}.wv-legend-title{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:600}.wv-legend-sub{color:var(--muted);margin-top:3px;font-size:14px;line-height:1.45;display:block}.wv-footnote{color:var(--muted);margin:22px 0 0;font-size:14px;line-height:1.55}.wv-step{padding-top:26px}.wv-stephead{align-items:center;gap:14px;margin-bottom:22px;display:flex}.wv-stepnum{font-family:var(--mono);letter-spacing:.1em;font-size:12px;font-weight:600}.wv-stepline{background:var(--line);flex:1;height:1px}.wv-steptag{font-family:var(--mono);letter-spacing:.1em;color:var(--mono-muted);font-size:11px}.wv-h2{letter-spacing:-.025em;margin:0 0 6px;font-size:28px;font-weight:700;line-height:1.1}.wv-sub{color:var(--muted);margin:0 0 8px;font-size:15px}.wv-catlist{border-top:1px solid var(--line)}.wv-cat{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;align-items:center;gap:16px;width:100%;padding:18px 8px 18px 2px;transition:background .12s,padding .12s,box-shadow .12s;display:flex}.wv-cat:hover{background:var(--row-selected)}.wv-catnum{font-family:var(--mono);color:var(--mono-muted);flex:none;width:26px;font-size:13px}.wv-cat .b{flex:1}.wv-cattitle{letter-spacing:-.01em;color:var(--ink);font-size:17px;font-weight:600;display:block}.wv-catdesc{color:var(--muted);margin-top:3px;font-size:13.5px;line-height:1.45;display:block}.wv-arrow{color:var(--ink);flex:none;font-size:19px}.wv-cancel{font-family:var(--mono);letter-spacing:.1em;color:var(--mono-muted);background:0 0;border:0;margin-top:24px;padding:8px 0;font-size:11px}.wv-cancel:hover{color:var(--ink)}.wv-sevlist{flex-direction:column;gap:10px;display:flex}.wv-sev{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:3px;align-items:stretch;width:100%;min-height:74px;transition:border-color .12s,box-shadow .12s;display:flex;overflow:hidden}.wv-sev:hover{border-color:var(--ink)}.wv-sevchip{background:var(--sc);width:84px;color:var(--si);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.wv-sevbody{flex-direction:column;justify-content:center;gap:3px;padding:14px 16px;display:flex}.wv-sevtitle{letter-spacing:-.01em;color:var(--ink);font-size:15.5px;font-weight:600}.wv-sevmeet{color:var(--muted);font-size:13.5px;line-height:1.45}.wv-ex{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.wv-ex-toggle{font-family:var(--mono);letter-spacing:.1em;color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;padding:4px 0;font-size:11px;font-weight:600;display:inline-flex}.wv-ex-box{border:1px solid var(--line);border-radius:3px;margin-top:12px;padding:16px;animation:.25s both wvUp}.wv-ex-tabs{border-bottom:1px solid var(--line-soft);gap:18px;margin-bottom:12px;display:flex}.wv-ex-tab{font-family:var(--mono);letter-spacing:.06em;color:var(--mono-muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 2px;font-size:12px;font-weight:600}.wv-ex-tab.active{border-bottom-color:var(--ink);color:var(--ink)}.wv-ex-list{margin:0;padding:0;list-style:none}.wv-ex-li{color:var(--body);border-bottom:1px solid #efeae0;gap:10px;padding:7px 0;font-size:14px;line-height:1.45;display:flex}.wv-ex-dash{font-family:var(--mono);color:#b0a795}.wv-ex-more{font-family:var(--mono);letter-spacing:.08em;color:var(--ink);background:0 0;border:0;padding:12px 0 2px;font-size:11px;font-weight:600}.wv-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px 28px;margin-bottom:20px;padding:14px 0;display:flex}.wv-sumitem{background:0 0;border:0;align-items:center;gap:9px;padding:0;display:inline-flex}.wv-sumk{font-family:var(--mono);letter-spacing:.1em;color:var(--mono-muted);font-size:11px}.wv-sumv{color:var(--ink);align-items:center;gap:7px;font-size:14px;font-weight:600;display:inline-flex}.wv-sumswatch{background:var(--sc);width:12px;height:12px;display:inline-block}.wv-undo{font-family:var(--mono);color:#b0a795;font-size:11px}.wv-meldcode{border:1px solid #e8ce86;border-left:3px solid var(--geel);background:#f7ebcb;border-radius:3px;margin-bottom:20px;padding:14px 16px}.wv-meldcode-label{font-family:var(--mono);letter-spacing:.1em;color:#8a5e07;font-size:11px;font-weight:600}.wv-meldcode p{color:#7a5a14;margin:7px 0 0;font-size:13.5px;line-height:1.5}.wv-form{flex-direction:column;gap:22px;display:flex}.wv-fieldset{border:0;min-width:0;margin:0;padding:0}.wv-label{color:var(--ink-strong);margin-bottom:10px;font-size:13.5px;font-weight:600;display:block}.wv-opt{color:var(--faint);font-weight:400}.wv-input,.wv-select,.wv-textarea{background:var(--surface);border:1px solid var(--line);width:100%;min-height:48px;font:inherit;color:var(--ink);border-radius:3px;padding:13px 14px;font-size:15px}.wv-textarea{resize:vertical;line-height:1.5}.wv-input:focus-visible,.wv-select:focus-visible,.wv-textarea:focus-visible{outline-offset:2px;border-color:var(--ink);outline:3px solid #245b87}.wv-fieldrow{flex-wrap:wrap;gap:12px;display:flex}.wv-field-wide{flex:2;min-width:170px}.wv-field-narrow{flex:1;min-width:130px}.wv-inline-toggle{gap:9px;display:inline-flex}.wv-more-fields{flex-direction:column;gap:18px;margin-top:16px;display:flex}.wv-textarea-lg{min-height:106px}.wv-textarea-md{min-height:84px}.wv-textarea-sm{min-height:76px}.wv-avg{font-family:var(--mono);color:var(--faint);letter-spacing:.04em;text-transform:uppercase;margin-top:7px;font-size:11px;display:block}.wv-segs{flex-wrap:wrap;gap:8px;display:flex}.wv-seg{white-space:nowrap;border:1px solid var(--line);color:var(--body);background:0 0;border-radius:3px;align-items:center;gap:8px;min-height:42px;padding:11px 17px;font-size:13.5px;font-weight:500;transition:all .12s;display:inline-flex}.wv-seg.on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.wv-toggle{border:1px solid var(--line);color:var(--body);background:0 0;border-radius:3px;min-height:46px;padding:11px 26px;font-size:14px;font-weight:600;transition:all .12s}.wv-toggle.on{border-color:var(--ink);background:var(--ink);color:var(--paper)}.wv-more{border-top:1px solid var(--line);padding-top:16px}.wv-more-toggle{font-family:var(--mono);letter-spacing:.1em;color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;padding:2px 0;font-size:11px;font-weight:600;display:inline-flex}.wv-actions{gap:12px;margin-top:26px;display:flex}.wv-back{font-family:var(--mono);letter-spacing:.08em;color:var(--body);border:1px solid var(--line);background:0 0;border-radius:4px;flex:none;min-height:56px;padding:0 20px;font-size:11px}.wv-back:hover{border-color:var(--ink);color:var(--ink)}.wv-submit{background:var(--ink);color:var(--paper);border:0;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:9px;min-height:56px;padding:15px;font-size:16px;font-weight:600;transition:background .15s;display:flex}.wv-submit:hover:not(:disabled){background:var(--ink-hover)}.wv-submit:disabled{background:var(--disabled);cursor:not-allowed}.wv-err{border:1px solid var(--rood);color:#9a3a22;background:#f3dad0;border-radius:3px;margin-top:16px;padding:12px 14px;font-size:14px}.wv-done{padding-top:40px}.wv-done-head{align-items:center;gap:12px;display:flex}.wv-done-check{background:var(--ink);width:26px;height:26px;color:var(--paper);place-items:center;font-size:14px;display:grid}.wv-done-mono{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mono-muted);font-size:11px}.wv-h2done{letter-spacing:-.03em;margin:18px 0 0;font-size:34px;font-weight:700;line-height:1.08}.wv-route{border-top:1px solid var(--line);margin-top:28px}.wv-route-row{border-bottom:1px solid var(--line);align-items:baseline;gap:16px;padding:14px 0;display:flex}.wv-route-k{width:90px;font-family:var(--mono);letter-spacing:.1em;color:var(--mono-muted);flex:none;font-size:11px}.wv-route-v{color:var(--ink);font-size:14.5px;font-weight:500}.wv-done-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.wv-btn-ink{background:var(--ink);color:var(--paper);white-space:nowrap;border:0;border-radius:4px;min-height:54px;padding:15px 22px;font-size:15px;font-weight:600}.wv-btn-ink:hover{background:var(--ink-hover)}.wv-btn-ghost{color:var(--body);white-space:nowrap;border:1px solid var(--line);background:0 0;border-radius:4px;min-height:54px;padding:15px 22px;font-size:15px;font-weight:600}.wv-btn-ghost:hover{border-color:var(--ink);color:var(--ink)}.wrap-wide{max-width:1040px;margin:0 auto;padding:28px 24px 56px}.muted{color:var(--muted)}.mt{margin-top:16px}.mb-10{margin-bottom:10px}.mb-12{margin-bottom:12px}.justify-end{justify-content:flex-end}.detail-section{border-top:1px solid var(--line);padding-top:14px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pre{white-space:pre-wrap;color:var(--body)}.head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.label-sm{font-family:var(--mono);color:var(--mono-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;font-size:11px}.error-banner{color:#7d2d1b;background:var(--rood-bg);border:1px solid var(--rood);justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:12px 14px;display:flex}.btn{background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:4px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 18px;font-weight:600;transition:background .12s;display:inline-flex}.btn:hover{background:var(--ink-hover);border-color:var(--ink-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{color:var(--body);border-color:var(--line);background:0 0}.btn.ghost:hover{background:var(--row-selected)}.btn.sm{min-height:38px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:8px 13px;font-size:11px}.signals{grid-template-columns:1fr;gap:10px;margin-bottom:24px;display:grid}@media (width>=720px){.signals{grid-template-columns:1fr 1fr}}.signal{text-align:left;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:3px;align-items:flex-start;gap:12px;width:100%;padding:14px 16px;transition:background .12s;display:flex}.signal:hover{background:var(--row-selected)}.signal.hoog{border-left-color:var(--rood)}.signal.midden{border-left-color:var(--geel)}.signal b{font-size:14.5px;display:block}.signal small{color:var(--muted);font-size:13px}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:24px;display:grid}@media (width>=760px){.stats{grid-template-columns:repeat(5,1fr)}}.stat{background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:16px}.stat .n{letter-spacing:-.02em;font-size:30px;font-weight:700}.stat .t{font-family:var(--mono);color:var(--mono-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:11px}.stat.good{background:var(--ink)}.stat.good .n{color:var(--paper)}.stat.good .t{color:#c9c0ae}.cols{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=760px){.cols{grid-template-columns:1fr 1fr}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:18px}.bar{grid-template-columns:130px 1fr 34px;align-items:center;gap:10px;padding:6px 0;font-size:14px;display:grid}.bar .track{appearance:none;background:var(--line-soft);border:0;width:100%;height:8px;overflow:hidden}.bar .track::-webkit-progress-bar{background:var(--line-soft)}.bar .track::-webkit-progress-value{background:var(--ink)}.bar .track::-moz-progress-bar{background:var(--ink)}.bar .track.sig::-webkit-progress-value{background:var(--sc)}.bar .track.sig::-moz-progress-bar{background:var(--sc)}.bar .v{text-align:right;color:var(--muted);font-family:var(--mono);font-size:12px}.filters{grid-template-columns:1fr;gap:8px;margin:20px 0 14px;display:grid}@media (width>=760px){.filters{grid-template-columns:2fr repeat(3,1fr) auto}}.input,.select,.textarea{background:var(--surface);border:1px solid var(--line);width:100%;min-height:44px;font:inherit;color:var(--ink);border-radius:3px;padding:11px 12px;font-size:14.5px}.textarea{resize:vertical;min-height:90px;line-height:1.5}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline-offset:2px;border-color:var(--ink);outline:3px solid #245b87}.list{gap:8px;display:grid}.item{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:3px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:13px 14px;transition:background .12s;display:grid}.item:hover{background:var(--row-selected)}.item .desc{color:var(--ink);font-size:14px}.item .meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;font-size:12px;display:flex}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);background:var(--surface);border-radius:3px;padding:30px}.pagination{color:var(--muted);font-family:var(--mono);justify-content:center;align-items:center;gap:14px;margin-top:16px;font-size:12px;display:flex}.badge{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--sc);color:var(--si);align-items:center;gap:5px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.dot{background:var(--sc);width:11px;height:11px;display:inline-block}.status{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--body);padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.status.nieuw{color:var(--ink);border-color:var(--ink)}.status.in_behandeling{color:#8a5e07;border-color:var(--geel)}.status.afgehandeld{color:var(--muted)}.overlay{z-index:50;background:#1a171266;justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);border-left:1px solid var(--line);width:100%;max-width:480px;height:100%;padding:24px;overflow-y:auto}.sheet .x{float:right;color:var(--muted);background:0 0;border:0;font-size:22px}.kv{gap:2px;margin-bottom:12px;display:grid}.kv .k{font-family:var(--mono);color:var(--mono-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.wv-nav{gap:4px;display:flex}.wv-navlink2{font-family:var(--mono);letter-spacing:.1em;color:var(--mono-muted);background:0 0;border:0;border-radius:3px;padding:6px 10px;font-size:11px}.wv-navlink2:hover{color:var(--ink)}.wv-navlink2.active{color:var(--ink);background:var(--row-selected)}.spel{max-width:600px;margin:0 auto;padding:0 24px 56px}.spel-head{margin-bottom:20px;padding-top:30px}.spel-kicker{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mono-muted);font-size:11px}.spel-h{letter-spacing:-.025em;margin:10px 0 6px;font-size:28px;font-weight:700}.spel-sub{color:var(--muted);font-size:15px}.spel-card{background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:20px}.naam-rij{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.naam-rij .wv-input{flex:1;min-width:180px}.quiz-meta{font-family:var(--mono);letter-spacing:.1em;color:var(--mono-muted);text-transform:uppercase;justify-content:space-between;margin:30px 0 12px;font-size:11px;display:flex}.quiz-q{letter-spacing:-.01em;margin-bottom:16px;font-size:19px;font-weight:700;line-height:1.3}.quiz-opts{flex-direction:column;gap:10px;display:flex}.quiz-opt{text-align:left;background:var(--paper);border:1px solid var(--line);min-height:50px;color:var(--ink);border-radius:3px;padding:14px 16px;font-size:15px;font-weight:500;transition:border-color .12s,background .12s}.quiz-opt:hover:not(:disabled){border-color:var(--ink)}.quiz-opt.goed{color:#2f5417;background:#e8f0dc;border-color:#7fae55}.quiz-opt.fout{background:var(--rood-bg);border-color:var(--rood);color:#9a3a22}.quiz-opt.dim{opacity:.5}.quiz-uitleg{border:1px solid var(--line);border-radius:3px;margin-top:14px;padding:12px 14px;font-size:14px;line-height:1.5}.quiz-uitleg.ok{color:#3c5a24;background:#eef4e6;border-color:#cfe0bb}.quiz-uitleg.nok{color:#7a5a14;background:#f7ebcb;border-color:#e8ce86}.bord{flex-wrap:wrap;gap:6px;margin:6px 0 28px;display:flex}.bord-vak{border:1px solid var(--line);width:30px;height:30px;color:var(--ink);background:var(--surface);border-radius:3px;place-items:center;font-size:14px;display:grid}.bord-vak.hier{background:var(--ink);color:var(--paper);border-color:var(--ink)}.bord-vak.doel{border-color:var(--geel);color:var(--geel)}.lb{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.lb-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:9px 4px;display:flex}.lb-row.me{background:var(--row-selected)}.lb-rank{font-family:var(--mono);width:22px;color:var(--mono-muted);font-size:13px}.lb-naam{flex:1;font-weight:600}.lb-streak{color:var(--muted);font-size:13px}.lb-pts{font-family:var(--mono);font-weight:600}
