:root{--bg:#f4efe9;--surface:#fffdfb;--sunken:#efe7de;--line:#e3d8cd;--line-strong:#cdbfb1;--ink:#1a1a1a;--body:#2f2a25;--muted:#6b5d50;--accent:#8a6a55;--accent-soft:#efe4da;--knop:#1a1a1a;--knop-hover:#3a332d;--op-knop:#fffdfb;--ok:#2f6b45;--ok-soft:#e4efe5;--warn:#9a5b12;--warn-soft:#f8ead6;--bad:#a8322a;--bad-soft:#f7e3e0;--schaduw:0 1px 2px #4a34240f, 0 8px 24px #4a34240f;--r:10px;--r-klein:7px;--serif:"Playfair Display", Georgia, "Times New Roman", serif;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#161412;--surface:#1f1c19;--sunken:#2a2622;--line:#3a342e;--line-strong:#4d453d;--ink:#f4eee7;--body:#e2d9cf;--muted:#b3a597;--accent:#d4b8a3;--accent-soft:#3a2f27;--knop:#f4eee7;--knop-hover:#fff;--op-knop:#1a1a1a;--ok:#7fc795;--ok-soft:#1c2e22;--warn:#e5b06a;--warn-soft:#33281a;--bad:#f08b80;--bad-soft:#3a1f1c;--schaduw:0 1px 2px #0000004d, 0 8px 24px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#161412;--surface:#1f1c19;--sunken:#2a2622;--line:#3a342e;--line-strong:#4d453d;--ink:#f4eee7;--body:#e2d9cf;--muted:#b3a597;--accent:#d4b8a3;--accent-soft:#3a2f27;--knop:#f4eee7;--knop-hover:#fff;--op-knop:#1a1a1a;--ok:#7fc795;--ok-soft:#1c2e22;--warn:#e5b06a;--warn-soft:#33281a;--bad:#f08b80;--bad-soft:#3a1f1c;--schaduw:0 1px 2px #0000004d, 0 8px 24px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0}body{background:var(--bg);color:var(--body);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01"}a{color:var(--accent);text-underline-offset:3px;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:var(--ink);text-wrap:balance;margin:0 0 12px;line-height:1.2}h1{font-family:var(--serif);letter-spacing:-.01em;font-size:32px;font-weight:400}h2{font-family:var(--serif);font-size:23px;font-weight:400}h3{font-size:17px;font-weight:600}p{text-wrap:pretty;margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:14px}td,time,.deadline{font-variant-numeric:tabular-nums}.shell{grid-template-columns:252px 1fr;min-height:100dvh;display:grid}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;height:100dvh;padding:22px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{color:var(--ink);font-family:var(--serif);padding:0 10px 22px;font-size:22px;line-height:1.15;display:block}.brand:hover{text-decoration:none}.brand span{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-top:6px;font-size:11px;font-weight:600;display:block}.nav{flex-direction:column;gap:2px;display:flex}.nav a{border-radius:var(--r-klein);color:var(--body);align-items:center;gap:12px;padding:10px 12px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.nav a:hover{background:var(--sunken);color:var(--ink);text-decoration:none}.nav a.on{background:var(--accent-soft);color:var(--ink);font-weight:600}.nav a.on:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-14px}.nav .grp{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding:22px 12px 6px;font-size:12px;font-weight:600}.nav .pill{background:var(--warn-soft);color:var(--warn);border-radius:999px;margin-left:auto;padding:0 9px;font-size:13px;font-weight:700}.nav svg{stroke-width:1.75px;width:19px;height:19px;color:var(--muted);flex:none}.nav a.on svg,.nav a:hover svg{color:var(--accent)}.side form{margin-top:10px;padding:0 12px}.side .thema{border-top:1px solid var(--line);margin-top:auto;padding-top:18px}.side .thema button,.side form button.link{color:var(--muted)}.main{width:100%;min-width:0;max-width:1240px;padding:34px 40px 80px}.topbar{display:none}@media (width<=800px){.shell{grid-template-columns:1fr}.side{z-index:20;border-right:0;height:auto;display:none;position:fixed;inset:56px 0 0}.shell.open .side{display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:21;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.topbar b{color:var(--ink);font-family:var(--serif);font-size:21px;font-weight:400}.topbar svg{color:var(--ink)}.main{padding:20px 16px 70px}h1{font-size:27px}h2{font-size:21px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--schaduw);margin-bottom:18px;padding:22px 24px 24px}.card>h2:first-child{margin-bottom:14px}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:22px;display:flex}.head h1{margin:0}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:18px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=800px){.grid2,.grid3{grid-template-columns:1fr}.card{padding:18px 16px 20px}}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}.stat b{color:var(--ink);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.01em;font-size:28px;font-weight:600;line-height:1.15;display:block}.stat span{color:var(--muted);font-size:15px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:13px 14px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line-strong);background:0 0;font-size:12px;font-weight:600}tr:last-child td{border-bottom:0}tbody tr{transition:background .12s}tbody tr:hover{background:var(--sunken)}td a b{color:var(--ink)}td a:hover b{color:var(--accent)}.tbl{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin-bottom:18px;overflow-x:auto}.card .tbl{border:0;border-radius:0;margin:0 -24px -24px}.card .tbl th:first-child,.card .tbl td:first-child{padding-left:24px}.card .tbl th:last-child,.card .tbl td:last-child{padding-right:24px}.tbl table{min-width:560px}.badge{background:var(--sunken);color:var(--body);white-space:nowrap;vertical-align:middle;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-block}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.acc{background:var(--accent-soft);color:var(--accent)}h2 .badge{font-family:var(--sans);margin-left:6px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.tabs a{border:1px solid var(--line);background:var(--surface);color:var(--body);border-radius:999px;padding:8px 16px;font-weight:500;transition:border-color .15s,background .15s}.tabs a:hover{border-color:var(--line-strong);text-decoration:none}.tabs a.on{background:var(--knop);color:var(--op-knop);border-color:var(--knop)}.steps{flex-wrap:wrap;gap:3px;margin:4px 0 12px;display:flex}.steps span{background:var(--sunken);color:var(--muted);border-radius:4px;padding:4px 10px;font-size:14px}.steps span.done{background:var(--ok-soft);color:var(--ok)}.steps span.now{background:var(--knop);color:var(--op-knop);font-weight:600}label{color:var(--body);margin-bottom:6px;font-size:14px;font-weight:600;display:block}input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-klein);min-height:46px;padding:10px 13px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#9a8c7f}textarea{resize:vertical;min-height:90px;line-height:1.55}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input:disabled{background:var(--sunken);color:var(--muted)}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;accent-color:var(--knop)}.field{margin-bottom:14px}.check{color:var(--body);align-items:center;gap:10px;font-size:16px;font-weight:400;display:flex}button,.btn{font:inherit;cursor:pointer;border-radius:var(--r-klein);border:1px solid var(--line-strong);background:var(--surface);min-height:46px;color:var(--ink);justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;transition:background .15s,border-color .15s,transform 80ms,color .15s;display:inline-flex}button:hover,.btn:hover{background:var(--sunken);border-color:var(--ink);text-decoration:none}button:active,.btn:active{transform:translateY(1px)}button:focus-visible,.btn:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button:disabled{opacity:.5;cursor:default;transform:none}button.primary,.btn.primary{background:var(--knop);border-color:var(--knop);color:var(--op-knop)}button.primary:hover,.btn.primary:hover{background:var(--knop-hover);border-color:var(--knop-hover)}button.danger{color:var(--bad)}button.danger:hover{border-color:var(--bad);background:var(--bad-soft)}button.link{min-height:0;color:var(--accent);background:0 0;border:0;padding:0;font-weight:500}button.link:hover{background:0 0;text-decoration:underline}.alert{border-radius:var(--r-klein);background:var(--bad-soft);color:var(--bad);border-left:4px solid;margin-bottom:14px;padding:12px 14px}.alert.ok{background:var(--ok-soft);color:var(--ok)}details>summary{cursor:pointer}details>summary:hover{color:var(--ink)}.auth{place-items:center;min-height:100dvh;padding:16px;display:grid}.auth .card{width:100%;max-width:400px;padding:34px 32px}.auth h1{margin-bottom:4px;font-size:34px}.log{margin:0;padding:0;list-style:none}.log li{border-bottom:1px solid var(--line);padding:11px 0}.log li:last-child{border-bottom:0}.log time{color:var(--muted);margin-top:2px;font-size:14px;display:block}.pre{white-space:pre-wrap}.side .thema{margin-top:8px}.steplist{margin-bottom:10px}.stephead,.steprow{grid-template-columns:28px 1fr auto;align-items:center;gap:10px;display:grid}.stephead{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:6px;font-size:14px;font-weight:600}.steprow{border-bottom:1px solid var(--line);padding:8px 0}.steprow .nr{color:var(--muted)}.stepform{grid-template-columns:1fr 100px 120px auto;align-items:center;gap:8px;display:grid}.stephead .stepform{display:grid}.stepform .check{margin:0}.stepact{justify-content:flex-end;align-items:center;gap:6px;display:flex}@media (width<=640px){.tbl{background:0 0;border:0;overflow:visible}.tbl table{min-width:0}.tbl thead{display:none}.tbl tr{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px;padding:10px 12px;display:block}.tbl td{border:0;padding:2px 0;display:block;max-width:none!important}.tbl td:empty{display:none}.tbl td:first-child{font-weight:600}.grid3{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:10px 12px}.stat b{font-size:18px}.head .btn,.head form{justify-content:center;width:100%}.head form input{flex:1;width:auto!important}.stephead{display:none}.steprow{grid-template-columns:24px 1fr;align-items:start}.stepact{grid-column:2;justify-content:flex-start}.stepform{grid-template-columns:1fr auto auto}.stepform input[name=naam]{grid-column:1/-1}}.leads{gap:12px;display:grid}.lead{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}.lead-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.lead-naam{color:var(--ink);font-size:19px;font-weight:700}.lead-wanneer{color:var(--muted)}.lead-info{flex-wrap:wrap;gap:8px 18px;margin:6px 0 10px;display:flex}.lead-bericht{background:var(--sunken);border-radius:var(--r);white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:12px;padding:10px 12px}.lead-bericht.kort{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fasen{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.fase{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--line);border-radius:var(--r);color:var(--body);padding:14px 16px;display:block}.fase:hover{border-color:var(--line-strong);text-decoration:none}.fase-aanvraag{border-top-color:var(--warn)}.fase-geboekt{border-top-color:var(--accent)}.fase-verwerking{border-top-color:var(--ok)}.fase-kop{color:var(--ink);font-size:17px;font-weight:700;display:block}.fase b{color:var(--ink);margin:2px 0;font-size:32px;line-height:1.2;display:block}.fase-uitleg{color:var(--muted);font-size:14px;display:block}.fase-cats{color:var(--body);margin-top:8px;font-size:15px;display:block}@media (width<=640px){.fasen{grid-template-columns:1fr}.fase b{font-size:26px}}@media print{body{background:#fff}.side,.topbar{display:none!important}.shell{display:block}.main{max-width:none;padding:0}}:root{--paars:#75406b;--paars-soft:#f1e4ee;--teal:#2f6460;--teal-soft:#e1eeec}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paars:#d9a6cc;--paars-soft:#34232f;--teal:#4fd1c5;--teal-soft:#12302d}}:root[data-theme=dark]{--paars:#d9a6cc;--paars-soft:#34232f;--teal:#4fd1c5;--teal-soft:#12302d}.status{white-space:nowrap;background:var(--sunken);color:var(--body);border-left:4px solid;border-radius:6px;padding:5px 12px;font-size:14px;font-weight:600;display:inline-block}.st-shootdag,.st-review,.st-inladen{background:var(--warn-soft);color:var(--warn)}.st-selectie{background:var(--paars-soft);color:var(--paars)}.st-bewerking,.st-montage{background:var(--knop);color:var(--op-knop);border-left-color:var(--accent)}.st-geleverd,.st-bestanden-aangeleverd{background:var(--ok-soft);color:var(--ok)}.st-album,.st-gefactureerd{background:var(--teal-soft);color:var(--teal)}.deadline{font-weight:700}.dl-ok{color:var(--ok)}.dl-warn{color:var(--warn)}.dl-bad{color:var(--bad)}.dl-tekst-ok{color:var(--ok)}.dl-tekst-warn{color:var(--warn);font-weight:600}.dl-tekst-bad{color:var(--bad);font-weight:700}@media (width<=640px){.card .tbl{margin:0}.card .tbl tr{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;margin:0;padding:12px 0}.card .tbl tr:last-child{border-bottom:0;padding-bottom:0}.card .tbl td,.card .tbl td:first-child,.card .tbl td:last-child{padding:2px 0}.card .tbl tbody tr:hover{background:0 0}}
