:root{--bg:#EEF4F1;--kaart:#fff;--tekst:#10231C;--dim:#4A6158;--rand:#D9E5DF;--rand2:#C9D8D0;--accent:#0B6B4B;--balk:#E6EEEA;--donker:#10231C;--donker-tekst:#fff;--groen-bg:#DCFAE6;--groen:#05603A;--oranje-bg:#FEF0C7;--oranje:#93370D;--rood-bg:#FEE4E2;--rood:#B42318;--grijs-bg:#E6EEEA;--grijs:#10231C;--blauw-bg:#DBEAFE;--blauw:#1E3A8A}@media (prefers-color-scheme:dark){:root{--bg:#0B1612;--kaart:#14241E;--tekst:#E8F1ED;--dim:#9DB5AB;--rand:#24382F;--rand2:#2F473C;--accent:#4FD1A1;--balk:#1E3229;--donker:#E8F1ED;--donker-tekst:#0B1612;--groen-bg:#0F3D2A;--groen:#7EE0B0;--oranje-bg:#4A3510;--oranje:#FDB022;--rood-bg:#5A1A15;--rood:#FDA29B;--grijs-bg:#1E3229;--grijs:#E8F1ED;--blauw-bg:#16305C;--blauw:#A8C4FF}}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--tekst);font-family:Manrope,DM Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:16px;color:inherit}.app{max-width:520px;margin:0 auto;min-height:100dvh;padding:20px 16px calc(96px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}h1{font-size:28px;letter-spacing:-.6px}h1,h2{margin:0;font-weight:800}h2{font-size:17px}.kop{display:flex;align-items:center;justify-content:space-between;gap:10px}.dim{color:var(--dim);font-size:13px;font-weight:500}.kaart{background:var(--kaart);border:1px solid var(--rand);border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:12px}.kaart.donker{background:var(--donker);color:var(--donker-tekst);border-color:var(--donker)}.kaart.donker .dim{color:inherit;opacity:.7}.rij{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 14px;border-radius:16px;border:1px solid var(--rand);background:var(--kaart)}.rij>.tekst{flex:1 1;display:flex;flex-direction:column;gap:1px;min-width:0}.rij .t{font-size:15px;font-weight:700}.rij .s{font-size:12px;font-weight:500;color:var(--dim);overflow:hidden;text-overflow:ellipsis}.lijst{display:flex;flex-direction:column;gap:8px}.badge{flex:none;padding:4px 9px;border-radius:8px;font-size:11px;font-weight:800;background:var(--grijs-bg);color:var(--grijs);white-space:nowrap}.badge.groen{background:var(--groen-bg);color:var(--groen)}.badge.oranje{background:var(--oranje-bg);color:var(--oranje)}.badge.rood{background:var(--rood-bg);color:var(--rood)}.badge.blauw{background:var(--blauw-bg);color:var(--blauw)}.tegels{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.tegel{border-radius:14px;padding:12px;background:rgba(255,255,255,.08);display:flex;flex-direction:column;gap:2px}.kaart:not(.donker) .tegel{background:var(--balk)}.tegel .n{font-size:20px;font-weight:800}.tegel .l{font-size:12px;font-weight:600;opacity:.75}.stip{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:var(--dim)}.stip.groen{background:#32D583}.stip.oranje{background:#FDB022}.stip.rood{background:#F97066}.balkrij{display:flex;align-items:center;gap:10px}.balkrij .nm{flex:none;width:92px;font-size:12px;font-weight:600;color:var(--dim)}.balkrij .bk{flex:1 1;height:22px;border-radius:6px;background:var(--balk);display:flex;overflow:hidden}.balkrij .bk>span{background:var(--accent);height:100%}.balkrij .nr{flex:none;width:48px;text-align:right;font-size:14px;font-weight:800}.knop{min-height:48px;padding:0 18px;border:1px solid var(--rand2);border-radius:12px;background:var(--kaart);font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.knop.vol{background:var(--donker);color:var(--donker-tekst);border-color:var(--donker)}.knop.gevaar{background:var(--rood);color:#fff;border-color:var(--rood)}.knop:disabled{opacity:.5}.knoppen{display:flex;gap:8px;flex-wrap:wrap}.knoppen>.knop{flex:1 1}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.chip{flex:none;min-height:40px;padding:0 16px;border-radius:20px;border:1px solid var(--rand2);background:var(--kaart);font-weight:700;font-size:14px;display:inline-flex;align-items:center}.chip.aan{background:var(--donker);color:var(--donker-tekst);border-color:var(--donker)}.tabbalk{position:fixed;left:0;right:0;bottom:0;background:var(--kaart);border-top:1px solid var(--rand);padding:8px 8px calc(10px + env(safe-area-inset-bottom));z-index:20}.tabbalk>div{max-width:520px;margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:2px;gap:2px}.tab{min-height:48px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:700;color:var(--dim)}.tab.aan{color:var(--accent)}.info{border:0;color:var(--dim);width:22px;height:22px;border-radius:11px;font-size:12px;font-weight:800;cursor:pointer;margin-left:6px;vertical-align:middle;padding:0}.info,.uitleg{background:var(--balk)}.uitleg{border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.45;font-weight:500}.blok-titel{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--dim);margin:0}.tekstvlak{font-size:15px;line-height:1.5;margin:0}.veld{width:100%;min-height:48px;padding:10px 12px;border-radius:12px;border:1px solid var(--rand2);background:var(--kaart)}textarea.veld{min-height:120px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal>div{width:100%;max-width:520px;background:var(--kaart);border-radius:22px 22px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.fout{background:var(--rood-bg);color:var(--rood)}.fout,.goed{padding:10px 12px;border-radius:12px;font-weight:600;font-size:14px}.goed{background:var(--groen-bg);color:var(--groen)}.tijdlijn{display:flex;flex-direction:column;gap:0}.tijdlijn>div{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--rand)}.tijdlijn .tijd{flex:none;width:64px;font-size:12px;color:var(--dim);font-weight:600}.tijdlijn .wat{font-size:14px;font-weight:600}.terug{font-size:14px;font-weight:700;color:var(--accent)}.tabel{width:100%;border-collapse:collapse;font-size:13px}.tabel th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--dim);padding:4px 6px}.tabel td{padding:8px 6px;border-top:1px solid var(--rand)}.mailtekst{white-space:pre-wrap;font-size:14px;line-height:1.5;background:var(--balk);border-radius:12px;padding:12px;overflow-wrap:anywhere}