: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{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,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)}.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}.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}.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){.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]{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]{order:-1;grid-column:1/-1}.form-grid{grid-template-columns:1fr}.form-grid .field-wide{grid-column:auto}.form-actions>*{flex:1}.form-actions .danger-link{flex-basis:100%;order:1;margin:.5rem 0 0}.details{grid-template-columns:1fr;gap:0 1rem}.details dd{margin-bottom:.5rem}}
