:root{--bg:#f6f7f9;--surface:#fff;--text:#1c2430;--muted:#5d6b7c;--border:#dde2e8;--accent:#1f6f5c;--accent-text:#fff;--accent-soft:#e3f1ed;--danger:#b42318;--danger-soft:#fdecea;--warning:#8a5a00;--warning-soft:#fff4dc;--success:#1f7a3f;--success-soft:#e5f4ea;--radius:8px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#12161c;--surface:#1b2129;--text:#e6eaef;--muted:#9aa6b4;--border:#2d3540;--accent:#4fb89c;--accent-text:#0d1a16;--accent-soft:#1d3530;--danger:#f97066;--danger-soft:#3a1d1b;--warning:#f5c26b;--warning-soft:#352a14;--success:#6fd28f;--success-soft:#16301f}}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1{margin:0 0 .25rem;font-size:1.5rem}h2{margin:1.25rem 0 .5rem;font-size:1.05rem}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.badge{background:var(--accent-soft);color:var(--text);white-space:nowrap;border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.error{color:var(--danger);margin:.75rem 0 0}.page-status{text-align:center;color:var(--muted);padding:2rem 1rem}label{margin:1rem 0 .25rem;font-size:.875rem;font-weight:600;display:block}input,select,textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .75rem}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.6}button.primary{border-radius:var(--radius);background:var(--accent);width:100%;color:var(--accent-text);border:0;margin-top:1.25rem;padding:.65rem;font-weight:600}.link{color:var(--accent);background:0 0;border:0;padding:0;font-size:.9rem;text-decoration:none}.link:hover{text-decoration:underline}.auth-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{width:100%;max-width:400px}.auth-card>.link{margin-top:1.25rem}.brand{color:var(--accent);font-weight:700;text-decoration:none}.tenant-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.tenant{text-align:left;width:100%;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.tenant:hover:not(:disabled),.tenant.current{border-color:var(--accent)}.tenant-name{overflow-wrap:anywhere;font-weight:600}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding:.75rem 1rem;display:flex}.topbar-tenant,.topbar-user{align-items:center;gap:.75rem;display:flex}.topbar-user{margin-left:auto}.content{max-width:1100px;margin:0 auto;padding:1.5rem 1rem}.empty-state{color:var(--muted);margin-top:1.5rem}.empty-state p{margin:0}.small{font-size:.8rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mainnav{background:var(--surface);border-bottom:1px solid var(--border);gap:.25rem;padding:0 1rem;display:flex;overflow-x:auto}.mainnav a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;padding:.6rem .75rem;text-decoration:none}.mainnav a:hover{color:var(--text)}.mainnav a.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.button,button.primary-inline,button.secondary,button.danger{border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.35rem;padding:.55rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}.primary-inline{background:var(--accent);color:var(--accent-text)}button.secondary,.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}button.secondary:hover:not(:disabled),.button.secondary:hover{border-color:var(--accent)}button.danger{background:var(--danger);color:#fff}.danger-link{color:var(--danger)}[data-blocked=true]{opacity:.55}.icon-button{border-radius:var(--radius);width:2rem;height:2rem;color:var(--muted);background:0 0;border:0;font-size:1.25rem;line-height:1}.icon-button:hover{background:var(--danger-soft);color:var(--danger)}.chip{border:1px dashed var(--accent);background:var(--accent-soft);color:var(--text);white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.8rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;margin-bottom:1rem;display:flex}.page-header p{margin:0}.back-link{margin-bottom:.5rem;display:inline-block}.notice{border-radius:var(--radius);background:var(--accent-soft);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0 0 1rem;padding:.75rem 1rem;display:flex}.notice.success{background:var(--success-soft);color:var(--success);font-weight:600}.notice.warning{background:var(--warning-soft);color:var(--warning)}.notice.error-box{background:var(--danger-soft);color:var(--danger)}.field-hint{margin-top:.3rem;font-size:.8rem;display:block}.field-warning{color:var(--warning)}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.filters select{width:auto}.filter-search{flex:16rem}.segmented{border:1px solid var(--border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);color:var(--muted);border:0;padding:.5rem .85rem}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-text);font-weight:600}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.6rem .75rem}.table thead th{color:var(--muted);font-size:.8rem;font-weight:600}.table tfoot th{border-bottom:0}.table .num,.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.clickable{cursor:pointer}.clickable:hover{background:var(--accent-soft)}.entries-table a{color:var(--text);font-weight:500;text-decoration:none}.status{vertical-align:middle;white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.status-draft{background:var(--warning-soft);color:var(--warning)}.status-posted{background:var(--success-soft);color:var(--success)}.status-muted{background:var(--border);color:var(--muted)}.status-failed{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.tiles{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin-top:1.5rem;display:grid}.tile{color:var(--text);gap:.25rem;text-decoration:none;display:grid}.tile:hover{border-color:var(--accent)}.entry-header{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1rem;margin-bottom:1rem;display:grid}.entry-header .field-wide{grid-column:1/-1}.entry-header label{margin-top:.5rem}.lines-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.lines-toolbar h2{margin:0}label.checkbox{align-items:center;gap:.4rem;margin:0;font-weight:400;display:inline-flex}label.checkbox input{width:auto}.lines-grid{--cols:minmax(14rem, 2.2fr) minmax(8rem, 1.6fr) minmax(7rem, 1fr) minmax(7rem, 1fr) minmax(2rem, auto);margin-top:.75rem}.lines-grid.with-extra{--cols:minmax(13rem, 2fr) minmax(7rem, 1.2fr) minmax(6.5rem, .9fr) minmax(6.5rem, .9fr) minmax(8rem, 1fr) minmax(6.5rem, .9fr) minmax(9rem, 1.2fr) minmax(2rem, auto)}.lines-head,.line-row{grid-template-columns:var(--cols);align-items:center;gap:.4rem;display:grid}.lines-head{color:var(--muted);padding:0 0 .3rem;font-size:.8rem;font-weight:600}.line-row{padding:.2rem 0}.line-row input,.line-row select{padding:.45rem .55rem}.line-row.is-new input:not(:focus){background:0 0;border-style:dashed}.line-row.has-error input[aria-invalid=true],.line-row.has-error input.num{border-color:var(--danger)}.line-actions{justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.line-error{color:var(--danger);grid-column:1/-1;margin:0 0 .25rem;font-size:.8rem}.entry-footer{z-index:2;grid-template-columns:1fr auto;align-items:center;gap:.5rem 1rem;margin-top:1rem;padding:1rem 1.25rem;display:grid;position:sticky;bottom:0;box-shadow:0 -4px 16px #0000000f}.totals{flex-wrap:wrap;align-items:center;gap:.5rem 1.75rem;display:flex}.totals>div{display:grid}.totals strong{font-variant-numeric:tabular-nums}.balance-ok{color:var(--success);font-weight:700}.balance-off{color:var(--warning);font-weight:700}.footer-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.footer-actions .danger-link{margin-right:.5rem}.footer-hint{grid-column:1/-1;margin:0}.hint-error{color:var(--danger);font-weight:600}.invoice-lines{--cols:minmax(11rem, 2.1fr) minmax(4.5rem, .6fr) minmax(4rem, .6fr) minmax(6rem, .8fr) minmax(9.5rem, 1.3fr) minmax(10rem, 1.4fr) minmax(6.5rem, .8fr) minmax(2rem, auto)}.line-amount{font-variant-numeric:tabular-nums;padding-right:.25rem}.grand-total{font-size:1.15rem}.vat-summary{margin:0;padding:0;list-style:none}.finalize-check h2{margin:0 0 .25rem;font-size:1rem}.finalize-check ul{margin:0 0 .75rem;padding-left:1.25rem}.finalize-check.is-blocked{border-color:var(--danger)}.invoice-detail>.card{margin-bottom:1rem}.header-actions{flex-wrap:wrap;gap:.5rem;display:flex}.detail-grid{grid-template-columns:max-content 1fr;gap:.35rem 1.5rem;margin:0;display:grid}.detail-grid dt{color:var(--muted)}.detail-grid dd{margin:0}.invoice-lines-table tfoot th{text-align:right;font-weight:400}.invoice-lines-table tfoot .grand th,.invoice-lines-table tfoot .grand td{font-weight:700}.pdf-list{margin:0;padding-left:1.25rem}.mail-log{margin:.5rem 0 0;padding:0;list-style:none}.mail-log li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding:.4rem 0;display:flex}.placeholder-chips{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.5rem;display:flex}.mail-preview{border:1px dashed var(--border);border-radius:var(--radius);margin-top:1rem;padding:.75rem 1rem}.mail-preview p{margin:.25rem 0}.mail-preview-body{white-space:pre-wrap}.mail-text textarea{font:inherit}.mail-form label{margin-top:.6rem}.mail-form textarea{font:inherit}.search-select{position:relative}.search-select-list{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:max-content;min-width:100%;max-width:min(32rem,90vw);max-height:18rem;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + 2px);left:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.search-select-list li{cursor:pointer;border-radius:6px;justify-content:space-between;gap:1rem;padding:.4rem .6rem;display:flex}.search-select-list li.active{background:var(--accent-soft)}.search-select-list li.search-select-empty{color:var(--muted);cursor:default}.entry-description{margin-top:0}.account-number{font-variant-numeric:tabular-nums;color:var(--muted)}.lines-table{border:0;margin-bottom:.75rem}.actions-card{gap:.75rem;margin-top:1rem;display:grid}.actions-card h2{margin-top:0}.actions-card p{margin:0}.action-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.filter-checkbox{padding:0 .25rem}.relations-table a{color:var(--text);margin-right:.5rem;font-weight:500;text-decoration:none}.relations-table tr.is-deleted td{color:var(--muted)}.form-section{margin-bottom:1rem;padding-top:.5rem}.form-section h2{margin-top:.75rem}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1rem;display:grid}.form-grid .field-wide{grid-column:span 2}.role-group{border:0;gap:.4rem;margin:1rem 0 0;padding:0;display:grid}.role-group legend{margin-bottom:.25rem;padding:0;font-size:.875rem;font-weight:600}.field-error{color:var(--danger)}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}.iban-current{margin:0 0 .75rem}.form-section .action-buttons+.field-hint,.form-section .link+.field-hint{margin-top:.75rem}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;margin:.5rem 0 2rem;display:flex}.form-actions .danger-link{margin-right:auto}.details{grid-template-columns:max-content 1fr;gap:.4rem 1.5rem;margin:0;display:grid}.details dt{color:var(--muted)}.details dd{margin:0}.choice-group{border:0;gap:.4rem;min-width:0;margin:1rem 0 0;padding:0;display:grid}.choice-group legend{margin-bottom:.25rem;padding:0;font-size:.875rem;font-weight:600}.choice-group .segmented{justify-self:start}.choice-group .notice{margin:.25rem 0 0}label.choice{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:.6rem;margin:0;padding:.6rem .75rem;font-weight:400;display:flex}label.choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}label.choice input{width:auto;margin-top:.3rem}.input-short{max-width:20rem}.readonly-value{margin:0;font-weight:600}.account-group h2{margin:1.5rem 0 .5rem}.accounts-table a{color:var(--text);margin-right:.5rem;font-weight:500;text-decoration:none}.accounts-table td[data-label=Nummer]{width:8rem}.accounts-table tr.is-deleted td{color:var(--muted)}.rgs-chosen{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.rgs-chosen>div{gap:.1rem;display:grid}.rgs-picker{justify-items:start;gap:.5rem;display:grid}.rgs-picker>input{width:100%}.rgs-results{border:1px solid var(--border);border-radius:var(--radius);width:100%;max-height:22rem;margin:0;padding:.25rem;list-style:none;overflow-y:auto}.rgs-results li{cursor:pointer;border-radius:6px;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding:.5rem .6rem;display:flex}.rgs-results li.active{background:var(--accent-soft)}.blocked-reason{max-width:28rem;margin:0 auto 0 0}.journals-table a{color:var(--text);margin-right:.5rem;font-weight:500;text-decoration:none}.journals-table td[data-label=Code]{width:6rem}.journals-table tr.is-deleted td{color:var(--muted)}.new-account-link{margin-top:.6rem;display:inline-block}.sequence-list{gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.sequence-row{border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem;display:flex}.sequence-row>div{gap:.1rem;display:grid}.start-value-form{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.5rem;display:flex}.start-value-form label{margin:0}.start-value-form input{width:9rem}.start-value-form .field-hint{flex-basis:100%}.vat-table a{color:var(--text);margin-right:.5rem;font-weight:500;text-decoration:none}.vat-table td[data-label=Code]{width:6rem}.vat-table tr.is-deleted td{color:var(--muted)}.input-suffix{align-items:center;gap:.4rem;max-width:10rem;display:flex}.next-year{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.next-year h2{margin-top:0}.next-year p{margin:0}.fiscal-year{margin-bottom:1rem;padding:1rem 1.25rem}.fiscal-year summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;display:flex}.fiscal-year[open] summary{margin-bottom:.75rem}.fiscal-year-actions{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.periods-table tr.is-closed td:first-child{color:var(--muted)}.period-action{text-align:right}.setup-notice{justify-content:space-between;margin-top:1rem}.setup-steps{gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.setup-steps li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:flex-start;gap:.75rem;padding:.6rem .75rem;display:flex}.setup-steps li.is-current{border-color:var(--accent)}.setup-step-mark{border:1px solid var(--border);border-radius:999px;flex:none;place-items:center;width:1.6rem;height:1.6rem;font-size:.85rem;font-weight:600;display:inline-grid}.setup-steps li.is-current .setup-step-mark{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.setup-steps li.is-done .setup-step-mark{background:var(--success-soft);border-color:var(--success-soft);color:var(--success)}.setup-optional{margin-top:1rem}.setup-optional summary{cursor:pointer;color:var(--accent)}.setup-kor{margin-top:1rem}.setup-actions{margin-top:1.25rem}.mask-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:0 1rem;display:grid}.mask-grid .choice-group{margin-top:1rem}.template-list{gap:.75rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.template-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.template-row h2{margin:0;font-size:1.1rem}.template-row p{margin:.25rem 0 0}.inline-form{flex-wrap:wrap;gap:.5rem;display:flex}.inline-form input{flex:14rem}.logo-current{align-items:center;min-height:4rem;margin-top:.75rem;display:flex}.logo-preview{object-fit:contain;border:1px solid var(--border);border-radius:var(--radius);background:#fff;max-width:min(16rem,100%);max-height:6rem;padding:.5rem}.invoice-example strong{font-variant-numeric:tabular-nums;letter-spacing:.02em}.dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(32rem,100vw - 2rem);color:var(--text);padding:1.5rem}.dialog::backdrop{background:#00000073}.dialog h2{margin-top:0}.dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}@media (width<=760px){.mainnav{gap:0;padding:0 .25rem}.mainnav a{padding:.6rem .4rem;font-size:.875rem}.entry-header{grid-template-columns:1fr}.lines-head{display:none}.line-row{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr 1fr;margin-bottom:.5rem;padding:.75rem}.line-row>[data-label=Rekening],.line-row>[data-label=Omschrijving],.line-row>[data-label=Relatie],.line-row>[data-label=Omzetrekening],.line-row>[data-label=Btw]{grid-column:1/-1}.line-row>[data-label]:before{content:attr(data-label);color:var(--muted);font-size:.75rem;display:block}.line-actions{grid-column:1/-1}.entry-footer{grid-template-columns:1fr;position:static}.footer-actions button{flex:1}.table thead{display:none}.table tr{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;padding:.5rem 0;display:grid}.table td,.table tfoot th{border:0;padding:.15rem .75rem}.entries-table td[data-label=Omschrijving],.relations-table td[data-label=Naam],.accounts-table td[data-label=Naam],.journals-table td[data-label=Naam],.vat-table td[data-label=Naam],.periods-table td[data-label=Periode]{order:-1;grid-column:1/-1}.form-grid,.mask-grid{grid-template-columns:1fr}.form-grid .field-wide{grid-column:auto}.form-actions>*{flex:1}.form-actions .danger-link,.form-actions .blocked-reason{flex-basis:100%;order:1;margin:.5rem 0 0}.details{grid-template-columns:1fr;gap:0 1rem}.details dd{margin-bottom:.5rem}}
