:root{--aquivo-navy:#003a80;--aquivo-navy-diep:#002b5e;--aquivo-navy-tint:#e6eef7;--aquivo-aqua:#18bfe0;--aquivo-grafiet:#25313c;--page:#fff;--surface:#f4f4f4;--surface-2:#ebebea;--surface-3:#e0e0df;--line:#cbcbc9;--line-soft:#e6e6e4;--ink:#0a0a0a;--ink-2:#4b4b48;--ink-3:#6e6e6a;--primary:var(--aquivo-navy);--primary-2:#01689b;--primary-ink:#fff;--accent:#ffb612;--link:#01689b;--hover:#1542730f;--focus:#fdc52c;--danger:#c8102e;--success:#2c7a3e;--warning:#d97706;--danger-licht:#dc2626;--warning-licht:#b45309;--roest:#b0431f;--radius:3px;--radius-lg:8px;--radius-kaart:16px;--shadow-pop:0 8px 28px #0f192d24;--shadow-kaart:0 12px 32px #0f172a24;--row-h:30px;--fs:14px;--fs-sm:12.5px;--fs-xs:11px;--font-body:"Inter", -apple-system, system-ui, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", monospace}[data-density=compact]{--fs:13px;--fs-sm:11.5px;--fs-xs:10px;--row-h:26px}[data-density=comfortable]{--fs:15px;--fs-sm:13px;--fs-xs:12px;--row-h:36px}[data-accent=groen]{--primary:#1b5e3f;--primary-2:#2c7a3e;--link:#2c7a3e;--hover:#1b5e3f12}[data-accent=leisteen]{--primary:#334155;--primary-2:#475569;--link:#475569;--hover:#33415512}:root{--amber-tint:#fbf0d9;--amber:#7a4f00;--amber-rand:#ebcf94;--amber-donker:#5e3d00;--groen-tint:#e2f1e6;--groen:#22663a;--groen-rand:#b9dcc3;--groen-donker:#1d4f30;--blauw-tint:#dce9f7;--blauw:#1d4f86;--rood-tint:#f8e3e1;--rood-rand:#e8bdb8;--rood-donker:#7a1f1f;--paars-tint:#ece6f5;--paars:#54348a;--zijbalk-tekst:#e8ecee;--zijbalk-gedempt:#b5bfc5;--zijbalk-vlak:#1f2c38;--stip-goed:#5cc08a;--stip-oud:#e0a43a;--amber-op-donker:#f2c27a;--op-navy-rand:#fff6;--op-navy-hover:#ffffff1a;--sluier:#25313c73;--schaduw-omhoog:0 -8px 30px #25313c33;--display:"Barlow Semi Condensed", "Barlow", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--surface);color:var(--aquivo-grafiet);font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%;margin:0;font-family:Barlow,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px}a{color:var(--aquivo-navy);text-decoration:none}a:hover{color:var(--aquivo-navy-diep)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--aquivo-aqua);outline-offset:2px}.app{background:var(--surface);flex-direction:column;max-width:560px;min-height:100%;margin:0 auto;display:flex}.kop{background:var(--page);border-bottom:1px solid var(--line-soft);z-index:5;align-items:center;gap:4px;padding:10px 12px 10px 6px;display:flex;position:sticky;top:0}.kop-titel{flex-direction:column;flex:1;min-width:0;display:flex}.kop-titel h1{font-family:var(--display);margin:0;font-size:22px;font-weight:700}.kop-titel span{color:var(--ink-2);font-size:14px}.icoonknop{width:44px;height:44px;color:var(--aquivo-grafiet);background:0 0;border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icoonknop:hover{background:var(--surface-2)}.weekkop{background:var(--aquivo-navy);color:var(--primary-ink);flex-direction:column;gap:14px;padding:18px 20px 16px;display:flex}.weekkop .rij{justify-content:space-between;align-items:center;gap:8px;display:flex}.weekkop .naam{font-family:var(--display);font-size:24px;font-weight:700}.weekkop .label{opacity:.85;font-size:14px;font-weight:500}.weekkop .midden{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.weekkop .weeknr{font-family:var(--display);font-size:22px;font-weight:700}.weekkop .sub{opacity:.9;font-size:14px}.weekknop{border:1px solid var(--op-navy-rand);width:44px;height:44px;color:var(--primary-ink);background:0 0;border-radius:10px;justify-content:center;align-items:center;display:flex}.weekknop:hover{background:var(--op-navy-hover)}.avatar{background:var(--page);width:44px;height:44px;color:var(--aquivo-navy);border:0;border-radius:22px;justify-content:center;align-items:center;font-weight:700;display:flex}.inhoud{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.kaart{background:var(--page);border:1px solid var(--line-soft);border-radius:14px}.kaart.pad{padding:16px}.sectietitel{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:13px;font-weight:600}.voortgang{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.voortgang>div{background:var(--aquivo-navy);border-radius:4px;height:100%}.groot{font-family:var(--display);font-size:34px;font-weight:700}.dagrij{min-height:56px;color:var(--aquivo-grafiet);border-bottom:1px solid var(--surface-2);align-items:center;gap:12px;padding:9px 16px;display:flex}.dagrij:last-child{border-bottom:0}.dagrij:hover{background:var(--hover);color:var(--aquivo-grafiet)}.dagrij.vandaag{background:var(--aquivo-navy-tint)}.dagrij .dag{flex-direction:column;width:44px;display:flex}.dagrij .dag b{font-size:16px}.dagrij .dag small{color:var(--ink-2);font-size:13px}.dagrij .oms{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.dagrij .tot{font-size:17px;font-weight:700}.pil{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-flex}.pil.open{background:var(--amber-tint);color:var(--amber)}.pil.definitief{background:var(--blauw-tint);color:var(--blauw)}.pil.verwerkt{background:var(--groen-tint);color:var(--groen)}.pil.grijs{background:var(--surface-2);color:var(--ink-2)}.label-soort{letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.label-soort.project{background:var(--aquivo-navy-tint);color:var(--aquivo-navy)}.label-soort.werkbon{background:var(--paars-tint);color:var(--paars)}.chip{background:var(--surface-2);color:var(--ink-2);border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:13px;display:inline-flex}.knop{text-align:center;background:var(--aquivo-navy);height:52px;color:var(--primary-ink);border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:0 20px;font-size:17px;font-weight:600;line-height:1.2;display:flex}.knop:hover{background:var(--aquivo-navy-diep);color:var(--primary-ink)}.knop:disabled{background:var(--surface-3);color:var(--ink-2)}.knop.secundair{background:var(--page);color:var(--aquivo-navy);border:1px solid var(--aquivo-navy)}.knop.secundair:hover{background:var(--aquivo-navy-tint)}.knop.gevaar{background:var(--page);color:var(--danger);border:1px solid var(--danger)}.knop.klein{width:auto;height:44px;font-size:15px}.knop.stippel{color:var(--aquivo-navy);border:1.5px dashed var(--aquivo-navy);background:0 0;border-radius:14px}.knop.stippel:hover{background:var(--aquivo-navy-tint)}.voet{background:var(--page);border-top:1px solid var(--line-soft);padding:12px 16px calc(14px + env(safe-area-inset-bottom));align-items:center;gap:12px;display:flex;position:sticky;bottom:0}.voet .totaal{flex-direction:column;display:flex}.voet .totaal small{color:var(--ink-2);font-size:13px}.voet .totaal b{font-family:var(--display);font-size:24px}.dagkiezer{background:var(--page);border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:10px 16px;display:grid}.dagkiezer a{min-height:52px;color:var(--aquivo-grafiet);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;font-size:13px;display:flex}.dagkiezer a span:first-child{font-weight:600}.dagkiezer a span:last-child{color:var(--ink-2);font-size:12px}.dagkiezer a.actief{background:var(--aquivo-navy);color:var(--primary-ink)}.dagkiezer a.actief span:last-child{color:var(--primary-ink)}.boeking{text-align:left;border:1px solid var(--line-soft);background:var(--page);border-radius:14px;flex-direction:column;gap:8px;width:100%;padding:14px 16px;display:flex}button.boeking:hover{border-color:var(--aquivo-navy)}.boeking .boven{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.boeking .nr{color:var(--aquivo-navy);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.boeking .titel{font-size:17px;font-weight:600}.boeking .u{font-family:var(--display);font-size:24px;font-weight:700}.boeking .chips{flex-wrap:wrap;gap:6px;display:flex}.boeking .oms{color:var(--ink-2);font-size:14px}.veld{flex-direction:column;gap:6px;display:flex}.veld label,.veld legend{font-size:14px;font-weight:600}.veld .hint{color:var(--ink-2);font-weight:400}.invoer{border:1px solid var(--line);background:var(--page);border-radius:10px;width:100%;height:48px;padding:0 12px;font-size:17px}.invoer:focus{border-color:var(--aquivo-navy);box-shadow:0 0 0 3px var(--aquivo-navy-tint);outline:none}.stapper{border:1px solid var(--line);background:var(--page);border-radius:10px;align-items:center;height:48px;display:flex}.stapper button{width:44px;height:46px;color:var(--aquivo-navy);background:0 0;border:0;font-size:22px;font-weight:600}.stapper input{text-align:center;background:0 0;border:0;outline:none;flex:1;width:0;font-size:18px;font-weight:700}.zoekveld{border:1px solid var(--line);background:var(--page);border-radius:10px;align-items:center;gap:8px;height:48px;padding:0 12px;display:flex}.zoekveld:focus-within{border-color:var(--aquivo-navy);box-shadow:0 0 0 3px var(--aquivo-navy-tint)}.zoekveld input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:17px}.lijst{background:var(--page);border:1px solid var(--line-soft);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.lijst button{border:0;border-bottom:1px solid var(--surface-2);text-align:left;background:0 0;flex-direction:column;align-items:flex-start;gap:3px;min-height:52px;padding:9px 14px;display:flex}.lijst button:last-child{border-bottom:0}.lijst button:hover{background:var(--hover)}.lijst button[aria-selected=true]{background:var(--aquivo-navy-tint)}.lijst .nr{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.gekozen{border:1.5px solid var(--aquivo-navy);background:var(--aquivo-navy-tint);border-radius:10px;align-items:center;gap:10px;padding:10px 12px 10px 14px;display:flex}.gekozen .tekst{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}fieldset.kaart{flex-direction:column;gap:8px;margin:0;padding:12px 14px 14px;display:flex}.twee{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.melding{border-radius:12px;gap:10px;padding:12px 14px;font-size:15px;line-height:1.4;display:flex}.melding svg{flex-shrink:0;margin-top:1px}.melding.let-op{background:var(--amber-tint);border:1px solid var(--amber-rand);color:var(--amber-donker)}.melding.info{background:var(--surface-2);color:var(--ink-2)}.melding.goed{background:var(--groen-tint);border:1px solid var(--groen-rand);color:var(--groen-donker)}.melding.fout{background:var(--rood-tint);border:1px solid var(--rood-rand);color:var(--rood-donker)}.onderbalk{border-top:1px solid var(--line-soft);background:var(--page);padding:6px 0 calc(10px + env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:sticky;bottom:0}.onderbalk a,.onderbalk button{min-height:44px;color:var(--ink-2);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:13px;font-weight:500;display:flex}.onderbalk .actief{color:var(--aquivo-navy);font-weight:600}.verbinding{text-align:center;background:var(--aquivo-grafiet);color:var(--primary-ink);padding:6px 12px;font-size:13px}.toasts{z-index:50;flex-direction:column;gap:8px;width:min(520px,100% - 32px);display:flex;position:fixed;bottom:90px;left:50%;transform:translate(-50%)}.toasts .melding{box-shadow:var(--shadow-pop)}.login{justify-content:center;align-items:center;min-height:100%;padding:24px 16px;display:flex}.login form{flex-direction:column;gap:16px;width:100%;max-width:400px;display:flex}.login h1{font-family:var(--display);margin:0;font-size:32px}.login p{color:var(--ink-2);margin:0}.linkknop{color:var(--aquivo-navy);text-align:left;background:0 0;border:0;padding:8px 0;font-weight:600}.kantoor{min-height:100%;display:flex}.zijbalk{background:var(--aquivo-grafiet);width:232px;color:var(--zijbalk-tekst);flex-direction:column;flex-shrink:0;gap:28px;padding:24px 16px;display:flex}.zijbalk .merk{font-family:var(--display);color:var(--primary-ink);padding:0 8px;font-size:24px;font-weight:700}.zijbalk nav{flex-direction:column;gap:4px;display:flex}.zijbalk nav a,.zijbalk nav button{min-height:44px;color:var(--zijbalk-gedempt);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.zijbalk nav .actief{background:var(--aquivo-navy);color:var(--primary-ink);font-weight:600}.sync{background:var(--zijbalk-vlak);border-radius:10px;flex-direction:column;gap:6px;margin-top:auto;padding:14px 12px;font-size:13px;display:flex}.sync .status{color:var(--primary-ink);align-items:center;gap:8px;font-weight:600;display:flex}.sync .stip{background:var(--stip-goed);border-radius:4px;width:8px;height:8px}.sync .stip.oud{background:var(--stip-oud)}.sync div:last-child{color:var(--zijbalk-gedempt)}.hoofd{flex-direction:column;flex:1;gap:20px;min-width:0;padding:28px 32px;display:flex}.hoofd header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.hoofd h1{font-family:var(--display);margin:0;font-size:30px}.weekkeuze{align-items:center;gap:12px;display:flex}.randknop{border:1px solid var(--line);background:var(--page);border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.filters{flex-wrap:wrap;gap:8px;display:flex}.filters button{border:1px solid var(--line);background:var(--page);border-radius:999px;height:36px;padding:0 14px;font-size:14px}.filters button[aria-pressed=true]{background:var(--aquivo-grafiet);color:var(--primary-ink);border-color:var(--aquivo-grafiet);font-weight:600}.kolommen{align-items:flex-start;gap:24px;display:flex}.medewerkers{flex-shrink:0;width:440px;overflow:hidden}.medewerkers .kopregel,.medewerkers button{grid-template-columns:1fr 140px 64px;align-items:center;gap:12px;padding:12px 18px;display:grid}.medewerkers .zoekveld{margin:14px 18px 4px}.medewerkers .kopregel{border-bottom:1px solid var(--line-soft);color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.medewerkers button{border:0;border-bottom:1px solid var(--surface-2);text-align:left;background:0 0;width:100%;min-height:56px}.medewerkers button:hover{background:var(--hover)}.medewerkers button[aria-current=true]{background:var(--aquivo-navy-tint);box-shadow:inset 3px 0 0 var(--aquivo-navy)}.medewerkers .naam{flex-direction:column;font-weight:600;display:flex}.medewerkers .naam small{color:var(--ink-2);font-size:13px;font-weight:400}.rechts{text-align:right;font-weight:700}.detail{flex-direction:column;flex:1;gap:18px;min-width:0;padding:22px 24px;display:flex}.detail h2{font-family:var(--display);margin:0;font-size:26px}.tabel{border-collapse:separate;border-spacing:0;border:1px solid var(--line-soft);border-radius:10px;width:100%;font-size:15px;overflow:hidden}.tabel th{background:var(--surface);color:var(--ink-2);text-align:right;border-bottom:1px solid var(--line-soft);padding:10px;font-size:13px;font-weight:600}.tabel th:first-child,.tabel td:first-child{text-align:left;padding-left:14px}.tabel td{text-align:right;border-bottom:1px solid var(--surface-2);padding:10px}.tabel tr:last-child td{border-bottom:0}.tabel td.leeg{color:var(--ink-3)}.tabel tr.som td{border-top:1px solid var(--line-soft);font-weight:700}.tabel .regelnaam{flex-direction:column;gap:2px;display:flex}.tabel .regelnaam small{color:var(--ink-2);font-size:13px}.tabel tr.met-machine td{border-bottom:0;padding-bottom:4px}.tabel tr.machinerij td{color:var(--ink-2);padding-top:0;font-size:13px}.tabel tr.machinerij td.leeg{color:var(--ink-3)}.tabel .machinenaam{align-items:center;gap:5px;padding-left:2px;display:inline-flex}.leegstaat{text-align:center;color:var(--ink-2);padding:40px 24px}.beheerrij{border-bottom:1px solid var(--surface-2);grid-template-columns:1.2fr 1.6fr 1fr 220px;align-items:center;gap:16px;padding:12px 18px;display:grid}.beheerrij.kopregel{color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;border-bottom-color:var(--line-soft);font-size:13px;font-weight:600}.beheerrij .knop{white-space:nowrap}.beheerform{background:var(--hover);border-bottom:1px solid var(--surface-2);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 18px 18px;display:flex}@media (width<=900px){.beheerrij{grid-template-columns:1fr;gap:4px}.beheerrij.kopregel{display:none}.kantoor{flex-direction:column}.zijbalk{flex-flow:wrap;align-items:center;gap:6px 16px;width:auto;padding:10px 12px}.zijbalk .merk{padding:0;font-size:20px}.zijbalk nav{flex-flow:wrap;flex:1;justify-content:flex-end;gap:4px}.zijbalk nav a,.zijbalk nav button{gap:6px;padding:0 10px;font-size:14px}.sync{display:none}.hoofd{padding:16px}.kolommen{flex-direction:column}.medewerkers{width:100%}.detail{width:100%;overflow-x:auto}}@media (width<=620px){.zijbalk{gap:8px;padding:10px 12px 8px}.zijbalk nav{flex-wrap:nowrap;flex:100%;justify-content:space-between;gap:2px}.zijbalk nav a,.zijbalk nav button{text-align:center;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:48px;padding:6px 2px;font-size:11px;line-height:1.15}.zijbalk nav a span,.zijbalk nav button span{white-space:nowrap;text-overflow:ellipsis;width:100%;display:block;overflow:hidden}}.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}.updatebalk{z-index:60;background:var(--aquivo-grafiet);width:min(520px,100% - 24px);color:var(--primary-ink);box-shadow:var(--shadow-pop);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 10px 16px;font-size:15px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.updatebalk .knop{flex-shrink:0;width:auto}.appversie{color:var(--ink-2);text-align:center;font-size:12px}@media (width<=900px){.zijbalk .appversie{display:none}}.twee .stapper button{flex-shrink:0;width:34px}.kiezer-achter{background:var(--sluier);z-index:40;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.kiezer{background:var(--page);width:100%;max-width:560px;max-height:85vh;padding:8px 16px calc(20px + env(safe-area-inset-bottom));box-shadow:var(--schaduw-omhoog);border-radius:18px 18px 0 0;flex-direction:column;gap:14px;display:flex;overflow-y:auto}@media (width>=700px){.kiezer-achter{align-items:center}.kiezer{border-radius:16px;max-width:460px}}.kiezer-kop{background:var(--page);justify-content:space-between;align-items:center;padding-top:8px;display:flex;position:sticky;top:0}.kiezer-kop h2{font-family:var(--display);margin:0;font-size:22px}.kiezer-snel{flex-wrap:wrap;gap:8px;display:flex}.kiezer-snel .knop{white-space:nowrap;flex:1 1 0;padding:0 8px;font-size:14px}.kiezer-lijst{flex-direction:column;gap:2px;display:flex}.kiezer-lijst .sectietitel{margin-bottom:4px}.kiezer-jaar{color:var(--ink-2);padding:10px 4px 4px;font-size:14px;font-weight:700}.kiezer-week{text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 8px;display:grid}.kiezer-week:hover{background:var(--surface-2)}.kiezer-week.actief{background:var(--aquivo-navy-tint)}.kiezer-week .nr{white-space:nowrap;font-weight:700}.kiezer-week .data{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.kiezer-week .u{white-space:nowrap;font-size:14px;font-weight:600}.weektitelknop{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:2px 10px}.weektitelknop:hover{background:var(--op-navy-hover)}:root[data-tekst=groot] body{zoom:1.1}:root[data-tekst=extra] body{zoom:1.25}.keuzerij{gap:8px;display:flex}.keuzerij button{border:1px solid var(--line);background:var(--page);border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:56px;padding:6px 4px;line-height:1.15;display:flex}.keuzerij button small{color:var(--ink-2);font-size:12px}.keuzerij button[aria-pressed=true]{border-color:var(--aquivo-navy);background:var(--aquivo-navy-tint);color:var(--aquivo-navy);font-weight:700}.keuzerij button[aria-pressed=true] small{color:var(--aquivo-navy)}
