:root{--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-heading:var(--font);--font-size:14px;--heading-weight:650;--heading-spacing:-.01em;--bg:#f4f6f9;--surface:#fff;--surface-2:#f8f9fb;--text:#1d2330;--muted:#667085;--border:#e3e6eb;--border-strong:#cfd4dc;--accent:#1f6feb;--accent-hover:#1a5fd0;--accent-text:#fff;--accent-soft:#1f6feb1a;--danger:#c4332b;--danger-soft:#c4332b1a;--success:#1a7f37;--success-soft:#1a7f371f;--focus:#1f6feb59;--sidebar-bg:#17213a;--sidebar-text:#c9d1e3;--sidebar-muted:#8592b0;--sidebar-hover-bg:#ffffff0f;--sidebar-active-bg:#ffffff1a;--sidebar-active-text:#fff;--sidebar-indicator:transparent;--sidebar-border:transparent;--brand-color:#fff;--radius:10px;--radius-sm:6px;--shadow:0 1px 2px #1018280d, 0 1px 3px #1018280a;--th-transform:uppercase;--th-size:11.5px;--th-spacing:.04em;--cell-y:9px;--control-y:7px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-style=klassiek][data-theme=dark],:root:not([data-style])[data-theme=dark]{--bg:#0f131a;--surface:#181e28;--surface-2:#1d2430;--text:#e6e9ef;--muted:#98a2b3;--border:#2a3240;--border-strong:#3a4456;--accent:#5b96ff;--accent-hover:#7aaaff;--accent-text:#0a1222;--accent-soft:#5b96ff29;--danger:#ff7b72;--danger-soft:#ff7b7224;--success:#3fb950;--success-soft:#3fb95029;--focus:#5b96ff73;--sidebar-bg:#0a0e15;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-style=strak]{--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--heading-weight:600;--heading-spacing:-.02em;--bg:#fff;--surface:#fff;--surface-2:#fafafa;--text:#0a0a0a;--muted:#6b6b6b;--border:#e8e8e8;--border-strong:#d0d0d0;--accent:#0a0a0a;--accent-hover:#2b2b2b;--accent-text:#fff;--accent-soft:#0000000d;--danger:#d92d20;--danger-soft:#d92d2014;--success:#12805c;--success-soft:#12805c1a;--focus:#00000040;--sidebar-bg:#fafafa;--sidebar-text:#525252;--sidebar-muted:#8f8f8f;--sidebar-hover-bg:#0000000a;--sidebar-active-bg:transparent;--sidebar-active-text:#0a0a0a;--sidebar-indicator:#0a0a0a;--sidebar-border:#e8e8e8;--brand-color:#0a0a0a;--radius:2px;--radius-sm:2px;--shadow:none;--th-transform:none;--th-size:12px;--th-spacing:0}:root[data-style=strak][data-theme=dark]{--bg:#0a0a0a;--surface:#0a0a0a;--surface-2:#131313;--text:#f5f5f5;--muted:#8f8f8f;--border:#242424;--border-strong:#3a3a3a;--accent:#f5f5f5;--accent-hover:#d4d4d4;--accent-text:#0a0a0a;--accent-soft:#ffffff12;--danger:#ff6b61;--danger-soft:#ff6b611f;--success:#4ade80;--success-soft:#4ade801f;--focus:#ffffff59;--sidebar-bg:#0f0f0f;--sidebar-text:#a3a3a3;--sidebar-muted:#737373;--sidebar-hover-bg:#ffffff0d;--sidebar-active-text:#fff;--sidebar-indicator:#fff;--sidebar-border:#242424;--brand-color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-style=zakelijk]{--font-size:13.5px;--heading-weight:600;--bg:#f2f5f3;--surface:#fff;--surface-2:#f6f8f7;--text:#14211b;--muted:#5d6b64;--border:#dde4e0;--border-strong:#c7d1cc;--accent:#0f6b4f;--accent-hover:#0b5a42;--accent-text:#fff;--accent-soft:#0f6b4f1a;--danger:#b42318;--danger-soft:#b4231817;--success:#0f6b4f;--success-soft:#0f6b4f1f;--focus:#0f6b4f4d;--sidebar-bg:#fff;--sidebar-text:#3b4a43;--sidebar-muted:#7d8a84;--sidebar-hover-bg:#0f6b4f0d;--sidebar-active-bg:#0f6b4f1a;--sidebar-active-text:#0f6b4f;--sidebar-indicator:transparent;--sidebar-border:#dde4e0;--brand-color:#0f6b4f;--radius:4px;--radius-sm:3px;--shadow:none;--cell-y:6px;--control-y:5px}:root[data-style=zakelijk][data-theme=dark]{--bg:#0d1311;--surface:#141c19;--surface-2:#19231f;--text:#e3ebe7;--muted:#92a29a;--border:#24312c;--border-strong:#33433c;--accent:#3fbf8f;--accent-hover:#5dd0a4;--accent-text:#05130e;--accent-soft:#3fbf8f24;--danger:#ff7b72;--danger-soft:#ff7b7221;--success:#3fbf8f;--success-soft:#3fbf8f24;--focus:#3fbf8f66;--sidebar-bg:#111916;--sidebar-text:#b3c2bb;--sidebar-muted:#7b8b84;--sidebar-hover-bg:#3fbf8f0f;--sidebar-active-bg:#3fbf8f21;--sidebar-active-text:#3fbf8f;--sidebar-border:#24312c;--brand-color:#3fbf8f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-style=zacht]{--font-heading:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--heading-weight:600;--heading-spacing:0;--bg:#f7f3ee;--surface:#fffdfa;--surface-2:#faf6f0;--text:#2b2420;--muted:#7a6e66;--border:#ebe1d6;--border-strong:#dccfc1;--accent:#c2562f;--accent-hover:#a8471f;--accent-text:#fff;--accent-soft:#c2562f1a;--danger:#b3261e;--danger-soft:#b3261e17;--success:#3d7a3a;--success-soft:#3d7a3a1f;--focus:#c2562f4d;--sidebar-bg:#efe6db;--sidebar-text:#54473f;--sidebar-muted:#8f8075;--sidebar-hover-bg:#fffdfa99;--sidebar-active-bg:#fffdfa;--sidebar-active-text:#c2562f;--sidebar-indicator:transparent;--sidebar-border:transparent;--brand-color:#2b2420;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px #50321e0a, 0 4px 14px #50321e0d;--th-transform:none;--th-size:12.5px;--th-spacing:0;--cell-y:10px;--control-y:8px}:root[data-style=zacht][data-theme=dark]{--bg:#1a1613;--surface:#231e1a;--surface-2:#29231e;--text:#f0e8e0;--muted:#a8998d;--border:#382f28;--border-strong:#4a3f36;--accent:#e88a62;--accent-hover:#f0a07e;--accent-text:#1a1613;--accent-soft:#e88a6224;--danger:#ff8a80;--danger-soft:#ff8a8021;--success:#8bc48a;--success-soft:#8bc48a24;--focus:#e88a6266;--sidebar-bg:#15110e;--sidebar-text:#cbbcae;--sidebar-muted:#8f8073;--sidebar-hover-bg:#ffffff0a;--sidebar-active-bg:#231e1a;--sidebar-active-text:#e88a62;--brand-color:#f0e8e0;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{font:var(--font-size) / 1.5 var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--heading-weight);letter-spacing:var(--heading-spacing)}h1{margin:0 0 20px;font-size:24px;line-height:1.25}h2{margin:28px 0 12px;font-size:16px}h3{margin:12px 0 8px;font-size:14px}.muted{color:var(--muted)}.error,.negative{color:var(--danger)}.small{font-size:12px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app{flex-direction:column;min-height:100vh;display:flex}.layout{flex:1;display:flex}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;flex-shrink:0;gap:2px;width:228px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.app:has(.test-banner) .sidebar{height:calc(100vh - 46px);top:46px}.sidebar .brand{color:var(--brand-color);font-family:var(--font-heading);letter-spacing:var(--heading-spacing);align-items:center;gap:10px;padding:2px 10px 20px;font-size:17px;font-weight:650;display:flex}.brand-mark{border-radius:var(--radius-sm);background:var(--accent);width:26px;height:26px;color:var(--accent-text);place-items:center;font-size:14px;font-weight:700;display:grid}:root:not([data-style]) .brand-mark,:root[data-style=klassiek] .brand-mark{color:#fff;background:#4c8dff}.nav-section{color:var(--sidebar-muted);text-transform:uppercase;letter-spacing:.06em;padding:14px 10px 6px;font-size:11px}.sidebar a,.sidebar button.nav{color:var(--sidebar-text);border-radius:var(--radius-sm);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex;position:relative}.sidebar a:hover,.sidebar button.nav:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-active-text);text-decoration:none}.sidebar a.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:550}.sidebar a.active:before{content:"";background:var(--sidebar-indicator);width:2px;position:absolute;top:6px;bottom:6px;left:-12px}.sidebar svg{opacity:.85;flex-shrink:0;width:18px;height:18px}.sidebar-bottom{border-top:1px solid var(--sidebar-border);flex-direction:column;gap:2px;margin-top:auto;padding-top:10px;display:flex}:root:not([data-style]) .sidebar-bottom,:root[data-style=klassiek] .sidebar-bottom,:root[data-style=zacht] .sidebar-bottom{border-top-color:#7f7f7f2e}.content{flex:1;min-width:0;max-width:1280px;padding:32px 40px 48px}.page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-header h1{margin:0}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);padding:var(--control-y) 14px;border-radius:var(--radius-sm);cursor:pointer;font-weight:550;transition:background .12s,border-color .12s,color .12s}button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}button.secondary:hover{background:var(--surface-2);border-color:var(--muted)}button.danger{border-color:var(--danger);color:var(--danger);background:0 0}button.danger:hover{background:var(--danger-soft)}button.link{color:var(--accent);background:0 0;border:none;padding:0 4px;font-weight:500}button.link:hover{text-decoration:underline}button.link.danger{color:var(--danger)}button.small{padding:4px 10px;font-size:13px}button:disabled{opacity:.55;cursor:default}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--control-y) 10px;width:100%;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus);outline:none}input[type=file]{padding:5px}input.num{text-align:right}label{color:var(--muted);flex-direction:column;gap:5px;font-size:12.5px;font-weight:500;display:flex}label.checkbox{flex-direction:row;align-items:center}label.checkbox input{width:auto}.grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-bottom:16px;display:grid}.actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.filters label{width:180px}form.narrow{flex-direction:column;gap:14px;max-width:440px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:22px;padding:22px 24px}.card h2{margin-top:0}.tiles{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:8px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.tile-label{color:var(--muted);margin-bottom:4px;font-size:12.5px;font-weight:500}.tile-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:650}.result{font-size:16px}.two-columns{grid-template-columns:1fr 1fr;align-items:start;gap:22px;display:grid}table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);margin-bottom:22px;overflow:hidden}th,td{text-align:left;padding:var(--cell-y) 12px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td,tfoot tr:last-child td{border-bottom:none}th{background:var(--surface-2);color:var(--muted);font-weight:600;font-size:var(--th-size);text-transform:var(--th-transform);letter-spacing:var(--th-spacing)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tfoot td{background:var(--surface-2);font-weight:600}table.clickable tbody tr{cursor:pointer}table.clickable tbody tr:hover td{background:var(--accent-soft)}table.lines td{padding:5px}table.lines tfoot td{background:0 0}tr.inactive{opacity:.5}tr.group td{background:var(--surface-2);font-weight:600}tr.subtotal td{font-style:italic}td.code{width:70px;color:var(--muted);font-variant-numeric:tabular-nums}td.wrap{overflow-wrap:anywhere;max-width:420px}tr.selected td{background:var(--accent-soft)}tr.detail td{background:var(--surface-2);padding:18px}.row-actions{text-align:right;white-space:nowrap}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:18px;display:flex}.tabs a{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-weight:500}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a.active{color:var(--text);border-color:var(--accent)}.badge{color:var(--muted);white-space:nowrap;background:#7f7f7f24;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:550;display:inline-block}:root[data-style=strak] .badge,:root[data-style=zakelijk] .badge{border-radius:var(--radius-sm)}.badge.open{background:var(--accent-soft);color:var(--accent)}.badge.paid{background:var(--success-soft);color:var(--success)}.login{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login form{flex-direction:column;gap:14px;width:100%;max-width:400px;padding:32px;display:flex}.login h1{margin-bottom:4px}.test-banner{z-index:10;color:#1d1600;background:#f5b700;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:46px;padding:7px 16px;display:flex;position:sticky;top:0}.test-banner-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.test-banner button.small{color:#fff;background:#1d1600;border-color:#1d1600}.test-banner button.small:hover{background:#3a2e00}.layout.test-mode .sidebar{box-shadow:inset 0 3px #f5b700}.invoice-doc{max-width:840px;margin-top:16px;padding:44px 48px;position:relative}.invoice-head,.invoice-meta{justify-content:space-between;gap:24px;margin-bottom:36px;display:flex}.invoice-company{font-family:var(--font-heading);font-size:21px;font-weight:var(--heading-weight)}.invoice-ids{text-align:right;color:var(--muted)}.invoice-meta dl{grid-template-columns:auto auto;gap:2px 16px;margin:0;display:grid}.invoice-meta dt{color:var(--muted)}.invoice-meta dd{margin:0}table.invoice-lines{box-shadow:none;border:none;border-radius:0}table.invoice-lines th{border-bottom:1px solid var(--border-strong);background:0 0}table.invoice-lines tfoot td{background:0 0}tr.invoice-total td{border-top:1px solid var(--border-strong);font-size:17px}.draft-mark{color:var(--danger);letter-spacing:.2em;font-weight:700;position:absolute;top:18px;right:48px}.process h3{margin:8px 0;font-size:14px}.suggestion{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;padding:10px 14px;display:flex}.style-options{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:18px;display:grid}.style-option{text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);flex-direction:column;align-items:stretch;padding:0;font-weight:400;display:flex;overflow:hidden}.style-option:hover{background:var(--surface);border-color:var(--muted)}.style-option.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.style-option .preview{border-bottom:1px solid var(--border);height:86px;display:flex}.style-option .preview-side{flex-direction:column;gap:6px;width:30%;padding:10px 8px;display:flex}.style-option .preview-main{flex-direction:column;flex:1;gap:7px;padding:10px;display:flex}.preview .bar{border-radius:3px;height:6px}.preview .box{border:1px solid;flex:1}.style-option .label{padding:10px 12px;display:block}.style-option .label strong{font-weight:600;display:block}.style-option .label span{color:var(--muted);font-size:12.5px}.segmented{border:1px solid var(--border-strong);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);color:var(--text);border:none;border-radius:0;font-weight:500}.segmented button+button{border-left:1px solid var(--border-strong)}.segmented button:hover{background:var(--surface-2)}.segmented button.selected{background:var(--accent);color:var(--accent-text)}@media (width<=800px){.layout{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--sidebar-border);flex-direction:row;width:auto;height:auto;padding:6px;position:static;overflow-x:auto}.app:has(.test-banner) .sidebar{border-right:none;border-bottom:1px solid var(--sidebar-border);flex-direction:row;width:auto;height:auto;padding:6px;position:static;overflow-x:auto}.sidebar .brand,.nav-section{display:none}.sidebar a,.sidebar button.nav{white-space:nowrap;width:auto}.sidebar a.active:before{display:none}.sidebar-bottom{border-top:none;flex-direction:row;margin-top:0;padding-top:0}.content{padding:18px 16px 32px}.test-banner{font-size:13px;position:static}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-value{font-size:18px}.two-columns{grid-template-columns:1fr}.invoice-doc{padding:24px}}@media print{:root{--bg:#fff;--surface:#fff;--surface-2:#fff;--text:#000;--muted:#555;--border:#ddd;--border-strong:#bbb;--shadow:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.sidebar,.tabs,.filters,.no-print,button{display:none!important}.content{max-width:none;padding:0}.test-banner{position:static;display:block!important}.test-banner-actions{display:none}.invoice-doc{border:none;margin:0;padding:0}}.invoice-doc{--surface:#fff;--surface-2:#f5f6f8;--text:#1d2330;--muted:#6b7280;--border:#e3e6eb;--border-strong:#c9ced6;color:#1d2330;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff}.invoice-logo{max-width:220px;max-height:80px;display:block}.invoice-company-small{color:var(--text);font-weight:600}.invoice-title{font-family:var(--font-heading);margin:0 0 22px;font-size:28px}.invoice-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:600}.invoice-footer{border-top:1px solid var(--border);color:var(--muted);margin-top:40px;padding-top:10px;font-size:11.5px}.logo-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:16px 20px;display:inline-block}.logo-preview img{max-width:260px;max-height:90px;display:block}label.file-button{cursor:pointer;display:inline-block;position:relative}label.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}label.file-button span{font-weight:550;font-size:var(--font-size);border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);padding:var(--control-y) 14px;border-radius:var(--radius-sm);display:inline-block}label.file-button:focus-within span{box-shadow:0 0 0 3px var(--focus)}label.checkbox.kor{color:var(--text);font-size:var(--font-size);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);align-items:flex-start;gap:10px;padding:12px 14px;font-weight:400}label.checkbox.kor input{margin-top:3px}label.checkbox.kor span{color:var(--muted)}label.checkbox.kor strong{color:var(--text);font-weight:600}.warning{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);padding:8px 12px}
