:root{--bg:#fbfaf8;--vlak:#fff;--rand:#e5e1da;--tekst:#1c1a17;--zacht:#6b665e;--accent:#1f6feb;--groen:#17794a;--groen-vlak:#eef7f2;--rood:#b3261e;--rood-vlak:#fdf0ef;--oranje:#9a5b00;--oranje-vlak:#fdf5e8}@media (prefers-color-scheme:dark){:root{--bg:#16150f;--vlak:#1f1e18;--rand:#35332b;--tekst:#ece9e1;--zacht:#a29c90;--accent:#6ea8ff;--groen:#55d09a;--groen-vlak:#16261f;--rood:#ff8a80;--rood-vlak:#2a1c1a;--oranje:#e0a458;--oranje-vlak:#272016}}*{box-sizing:border-box}body{background:var(--bg);color:var(--tekst);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.6 ui-sans-serif,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:64rem;margin:0 auto;padding:2rem 1.25rem 5rem}h1{letter-spacing:-.02em;margin:.2rem 0 .6rem;font-size:1.7rem}h2{align-items:baseline;gap:.6rem;margin:0 0 .5rem;font-size:1.15rem;display:flex}h2 small{color:var(--zacht);font-size:.85rem;font-weight:400}section{margin-top:2.5rem}.lead{color:var(--zacht);max-width:44rem}.zacht{color:var(--zacht)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.balk{background:var(--vlak);border-bottom:1px solid var(--rand);align-items:center;gap:1rem;padding:.7rem 1.25rem;display:flex}.merk{font-weight:650}.ontwikkel{color:var(--oranje);background:var(--oranje-vlak);border-radius:.3rem;margin-right:auto;padding:.15rem .5rem;font-size:.75rem}.inlog{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.inlog .kaart{max-width:26rem}.kaart{background:var(--vlak);border:1px solid var(--rand);border-radius:.7rem;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.kaart.geslaagd{border-left:3px solid var(--groen);background:var(--groen-vlak)}.kaart.geslaagd h2{color:var(--groen)}.veld{flex-direction:column;gap:.3rem;display:flex}.veld label{font-size:.85rem;font-weight:600}input[type=text],input:not([type]),select{font:inherit;border:1px solid var(--rand);background:var(--bg);color:var(--tekst);border-radius:.4rem;padding:.45rem .6rem}input[type=file]{font:inherit;font-size:.9rem}.keuze{cursor:pointer;align-items:flex-start;gap:.6rem;display:flex}.keuze small{color:var(--zacht);margin-top:.15rem;font-size:.82rem;display:block}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:.4rem;align-self:flex-start;padding:.5rem 1.1rem;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}button.secundair{color:var(--accent);background:0 0}button.klein{padding:.25rem .7rem;font-size:.85rem}.tellers{flex-wrap:wrap;gap:.4rem;margin:.8rem 0;display:flex}.teller{border:1px solid var(--rand);background:var(--vlak);border-radius:1rem;padding:.2rem .6rem;font-size:.82rem}.teller b{font-variant-numeric:tabular-nums}.teller.fout{border-color:var(--rood);color:var(--rood)}.label{border:1px solid var(--rand);border-radius:.3rem;padding:.05rem .45rem;font-size:.78rem}.label.nieuw{color:var(--groen);border-color:var(--groen)}.label.gewijzigd{color:var(--oranje);border-color:var(--oranje)}.label.vervallen{color:var(--rood);border-color:var(--rood)}.label.fout{color:#fff;background:var(--rood);border-color:var(--rood)}.label.ongewijzigd{color:var(--zacht)}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:40rem;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--rand);vertical-align:top;padding:.45rem .6rem}thead th{text-transform:uppercase;letter-spacing:.06em;color:var(--zacht);font-size:.72rem}tr.fout{background:var(--rood-vlak)}tr.ongewijzigd{color:var(--zacht)}.foutregel{color:var(--rood);margin-top:.2rem;font-size:.8rem}.waarschuwing{color:var(--oranje);background:var(--oranje-vlak);border-radius:.4rem;padding:.5rem .8rem;font-size:.9rem}.fout-melding{color:var(--rood);background:var(--rood-vlak);border-radius:.4rem;padding:.5rem .8rem;font-size:.9rem}.actie{gap:.6rem;margin-top:1.2rem;display:flex}.actie button{align-self:auto}.laden{min-height:100vh;color:var(--zacht);place-items:center;display:grid}.ontwikkelblok{border-top:1px solid var(--rand);margin-top:.3rem;padding-top:.8rem}.ontwikkelblok summary{cursor:pointer;color:var(--zacht);font-size:.85rem;font-weight:600}.ontwikkelblok .uitleg{color:var(--zacht);font-size:.82rem}.ontwikkelblok .veld{margin-bottom:.8rem}nav{gap:.3rem;margin-right:auto;display:flex}.tab{color:var(--zacht);background:0 0;border:1px solid #0000;align-self:auto;padding:.25rem .7rem;font-size:.88rem;font-weight:600}.tab.actief{color:var(--tekst);border-color:var(--rand);background:var(--bg)}.ontwikkel{margin-right:0}.maand{background:var(--oranje-vlak);color:var(--oranje);border-radius:.25rem;margin:0 .15rem .15rem 0;padding:.05rem .35rem;font-size:.72rem;display:inline-block}.veld small{font-size:.8rem}.kaarten{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;display:grid}.kaart.cijfer{gap:.2rem}.kaart.uitgelicht{border-color:var(--accent)}.kaarttitel{color:var(--zacht);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.78rem}.kaartbedrag{font-variant-numeric:tabular-nums;margin:0;font-size:1.5rem;font-weight:650}.gunstig{color:var(--groen)}.ongunstig{color:var(--rood)}table.maanden{min-width:66rem}.totaalkolom{border-left:1px solid var(--rand);font-weight:650}tr.totaal th,tr.totaal td{border-top:2px solid var(--rand);font-weight:650}.meldingen{color:var(--zacht);margin:.3rem 0 0;padding-left:1.2rem;font-size:.85rem}button.cel{color:inherit;font:inherit;cursor:pointer;border:none;border-bottom:1px dotted var(--accent);font-variant-numeric:tabular-nums;background:0 0;align-self:auto;padding:0}button.cel:hover{color:var(--accent)}.detail{border:1px solid var(--accent);background:var(--vlak);border-radius:.6rem;padding:1rem 1.2rem}.detail h2{justify-content:space-between}.aanname{margin-bottom:.15rem;font-size:.82rem}.formulier{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));align-items:start;gap:1rem;display:grid}.formulier button,.veld.breed{grid-column:1/-1}.keuzelijst{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.3rem;display:grid}.keuzelijst .keuze{align-items:center;font-size:.9rem}.kengetallen{flex-wrap:wrap;gap:.75rem;margin:1rem 0 1.5rem;display:flex}.tegel{border:1px solid var(--rand,#e2e2e2);border-radius:8px;flex-direction:column;flex:12rem;gap:.25rem;padding:1rem;display:flex}.tegel.klein{flex:0 9rem}.tegel-label{color:#666;font-size:.85rem}.tegel-waarde{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600}.tegel.negatief .tegel-waarde{color:#b3261e}.tegel.positief .tegel-waarde{color:#1b6b3a}.aandachtspunten{margin:0;padding:0;list-style:none}.aandachtspunten li{border-bottom:1px solid var(--rand,#eee);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;display:flex}.aandachtspunten li:last-child{border-bottom:none}.knoppenrij{flex-wrap:wrap;gap:.5rem;display:flex}.gelukt-melding{color:#1b6b3a;background:#e8f5ec;border-radius:6px;padding:.6rem .9rem}.filterbalk{align-items:center;gap:.5rem;margin:1rem 0;display:flex}table.grid{border-collapse:collapse;width:100%}table.grid th,table.grid td{padding:.2rem .3rem}table.grid .vast{background:var(--achtergrond,#fff);text-align:left;min-width:14rem;position:sticky;left:0}table.grid .vast small{font-weight:400;display:block}.cel{text-align:right;font-variant-numeric:tabular-nums;width:5.5rem;font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:.3rem .4rem}.cel:hover:not(:disabled){border-color:#ccc}.cel:focus{outline-offset:-1px;background:#fff;outline:2px solid #3b6ef5}.cel:disabled{color:#666}.cel-gewijzigd{background:#fff6dd;border-color:#e0c877}.cel-fout{background:#fdecea;border-color:#b3261e}.totaal{font-variant-numeric:tabular-nums;padding-left:.6rem;font-weight:600}.opslaanbalk{background:var(--achtergrond,#fff);border-top:1px solid var(--rand,#ddd);flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 0;display:flex;position:sticky;bottom:0}.foutlijst{color:#b3261e;margin:0;padding-left:1.2rem;font-size:.9rem}.parameterdetail{padding:.75rem 0}.cel.breed{border-color:#ccc;width:10rem}.chip{background:#eef1f6;border-radius:10px;margin-right:.3rem;padding:.1rem .5rem;font-size:.85rem;display:inline-block}.nieuwe-waarde{border-top:1px dashed var(--rand,#ddd);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem;padding-top:.6rem;display:flex}
