:root{--wd-blauw: #003082;--wd-blauw-hover: #004db3;--wd-oranje: #ff6600;--wd-oranje-tekst: #cc4400;--groen: #1e7e34;--groen-hover: #19692c;--groen-border-hover: #166529;--grijs-bg: #f8f9fa;--grijs-blok: #f0f2f6;--tekst: #262730;--tekst-caption: #606474;--rood: #cc3c3c}*{box-sizing:border-box}html,body{margin:0;padding:0;background:#fff;color:var(--tekst);font-family:Source Sans Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--tekst);font-weight:700;margin:0 0 .5rem;line-height:1.2}h1{font-size:2.25rem;padding:.5rem 0}h2{font-size:1.6rem}h3{font-size:1.25rem}h5{font-size:1rem}.hoofd-content h2,.hoofd-content h3,a{color:var(--wd-blauw)}hr,.divider{border:none;border-top:2px solid var(--wd-oranje);margin:.75rem 0}.caption{color:var(--tekst-caption);font-size:.8rem;margin:.15rem 0}.kolomkop{color:var(--wd-blauw);font-size:1rem;font-weight:700;margin:0 0 .15rem}.app-container{display:flex;min-height:100vh;width:100%}.hoofd-content{flex:1;padding:1rem;max-width:1200px;margin:0 auto;width:100%;min-width:0}.sidebar{background:var(--grijs-bg);padding:1rem;overflow-y:auto}@media(min-width:769px){.sidebar{width:320px;min-width:320px;border-right:3px solid var(--wd-blauw);height:100vh;position:sticky;top:0}.sidebar-toggle{display:none}}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;height:100vh;width:85vw;max-width:340px;z-index:200;transform:translate(-100%);transition:transform .2s ease;box-shadow:2px 0 12px #0003}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:150}.sidebar-toggle{position:fixed;top:.5rem;left:.5rem;z-index:100;background:#fff;border:1px solid rgba(49,51,63,.2);border-radius:.5rem;padding:.35rem .6rem;font-size:1.1rem;cursor:pointer;min-width:44px;min-height:44px}.hoofd-content{padding:3rem .75rem .75rem}}.sidebar h3{color:var(--wd-blauw);border-bottom:2px solid var(--wd-oranje);padding-bottom:5px;font-size:1.1rem;margin-top:.75rem}.kolommen{display:flex;gap:1rem;align-items:flex-start}.kolommen>*{min-width:0;flex:var(--kolom-groei, 1) 1 0%}@media(max-width:640px){.kolommen.wrap-mobiel{flex-wrap:wrap}.kolommen.wrap-mobiel>*{flex:1 1 100%}}.metric{background:var(--grijs-bg);padding:.3rem .6rem;border-radius:.5rem;border-top:3px solid var(--wd-blauw);flex:1}.metric .metric-label{font-size:.8rem;color:var(--wd-blauw);margin:0}.metric .metric-waarde{font-size:1.5rem;font-weight:600;color:var(--wd-oranje-tekst);margin:0}.metric .metric-delta{font-size:.85rem;margin:0}.metric .metric-delta.positief{color:var(--groen)}.metric .metric-delta.negatief{color:var(--rood)}.metric .metric-delta.neutraal{color:var(--tekst-caption)}@media(max-width:768px){.metric .metric-waarde{font-size:1.2rem}.metric .metric-label{font-size:.7rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.4rem .9rem;border-radius:.5rem;border:1px solid rgba(49,51,63,.2);background:#fff;color:var(--tekst);font-size:1rem;font-family:inherit;cursor:pointer;min-height:2.4rem;text-decoration:none;transition:border-color .15s,color .15s,background-color .15s}.btn:hover:not(:disabled){border-color:var(--wd-blauw);color:var(--wd-blauw)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.vol{width:100%}.btn.primary{background:var(--groen);border-color:var(--groen);color:#fff}.btn.primary:hover:not(:disabled){background:var(--groen-hover);border-color:var(--groen-border-hover);color:#fff}.alert{padding:.5rem .75rem;border-radius:.5rem;margin:.3rem 0;font-size:.95rem;white-space:pre-wrap}.alert p{margin:0}.alert.success{background:#d1e7dd;color:#0a3622}.alert.info{background:#cfe2ff;color:#052c65}.alert.warning{background:#fff3cd;color:#664d03;border-left:4px solid var(--wd-oranje)}.alert.error{background:#f8d7da;color:#58151c}details.expander{border:1px solid rgba(49,51,63,.2);border-radius:.5rem;margin:.4rem 0;background:#fff}details.expander>summary{padding:.5rem .75rem;cursor:pointer;font-size:.9rem;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:.4rem}details.expander>summary::-webkit-details-marker{display:none}details.expander>summary:after{content:"⌄";margin-left:auto;transition:transform .15s}details.expander[open]>summary:after{transform:rotate(180deg)}details.expander>.expander-inhoud{padding:.5rem .75rem .75rem;border-top:1px solid rgba(49,51,63,.1)}details.expander.gekleurd{background:#e8eef8;border-color:#00308240}details.expander.gekleurd>.expander-inhoud{border-top-color:#00308226}.tabs-balk{display:flex;gap:.25rem;border-bottom:1px solid rgba(49,51,63,.15);overflow-x:auto;scrollbar-width:thin}.tabs-balk .tab-knop{background:none;border:none;border-bottom:2px solid transparent;padding:.5rem .75rem;font-size:.95rem;font-family:inherit;color:var(--tekst);cursor:pointer;white-space:nowrap}.tabs-balk .tab-knop.actief{color:var(--wd-blauw);border-bottom-color:var(--wd-blauw);font-weight:600}@media(max-width:640px){.tabs-balk{flex-wrap:wrap;overflow-x:visible}}.nav-menu{display:flex;flex-direction:column;gap:.1rem}.nav-sectie-kop{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:.4rem .35rem;font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--tekst-caption);cursor:pointer;text-align:left}.nav-sectie-kop:hover{color:var(--wd-blauw)}.nav-sectie-kop .nav-caret{transition:transform .15s;flex-shrink:0}.nav-sectie-kop.open .nav-caret{transform:rotate(180deg)}.nav-groep{display:flex;flex-direction:column;gap:.1rem;padding-bottom:.25rem}.nav-item{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;border-left:3px solid transparent;border-radius:0 .4rem .4rem 0;padding:.4rem .5rem .4rem .85rem;font-family:inherit;font-size:.95rem;color:var(--tekst);cursor:pointer;text-align:left}.nav-item.los{padding-left:.5rem;font-weight:600}.nav-item:hover{background:var(--grijs-blok);color:var(--wd-blauw)}.nav-item.actief{background:var(--grijs-blok);border-left-color:var(--wd-blauw);color:var(--wd-blauw);font-weight:600}.nav-item .nav-icon{flex-shrink:0;width:1.3rem;text-align:center}.radio-rij{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.radio-rij .radio-knop{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;padding:.2rem 0;font-size:1rem;font-family:inherit;color:var(--tekst);cursor:pointer;white-space:nowrap}.radio-rij .radio-knop:before{content:"";width:.95rem;height:.95rem;border-radius:50%;border:1px solid rgba(49,51,63,.4);flex-shrink:0;box-sizing:border-box}.radio-rij .radio-knop.actief{color:var(--wd-blauw);font-weight:600}.radio-rij .radio-knop.actief:before{border:5px solid var(--wd-blauw)}input[type=text],input[type=password],input[type=number],input[type=date],input[type=time],input[type=email],select,textarea{width:100%;padding:.45rem .6rem;border:1px solid rgba(49,51,63,.2);border-radius:.5rem;font-size:1rem;font-family:inherit;background:#fff;color:var(--tekst)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--wd-blauw);box-shadow:0 0 0 1px var(--wd-blauw)}label.veld-label{display:block;font-size:.875rem;margin-bottom:.25rem}.veld{margin-bottom:.75rem}.checkbox-rij{display:flex;align-items:center;gap:.5rem;margin:.4rem 0;font-size:.95rem}.checkbox-rij input[type=checkbox]{width:auto}.tabel-wrap{overflow-x:auto}table.data-tabel{border-collapse:collapse;width:100%;font-size:.875rem}table.data-tabel th,table.data-tabel td{border:1px solid rgba(49,51,63,.15);padding:.35rem .6rem;text-align:left;white-space:nowrap}table.data-tabel th{background:var(--grijs-bg);font-weight:600}table.data-tabel tr:nth-child(2n) td{background:#fcfcfd}.spinner-rij{display:flex;align-items:center;gap:.5rem;color:var(--tekst-caption);padding:.5rem 0}.spinner{width:1.1rem;height:1.1rem;border:2px solid rgba(49,51,63,.2);border-top-color:var(--wd-blauw);border-radius:50%;animation:draai .8s linear infinite;flex-shrink:0}@keyframes draai{to{transform:rotate(360deg)}}@media print{.sidebar,.sidebar-toggle,.radio-rij,.tabs-balk,.btn{display:none!important}.hoofd-content{max-width:none;padding:0}}
