:root{--radius: 8px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,select{font:inherit}code{font-size:.9em}.topbar{display:flex;align-items:center;gap:12px;padding-block:10px;padding-inline:16px;background:var(--surface);border-block-end:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:700}.brand-logo{flex:none;width:var(--brand-logo-width, 0);height:var(--brand-logo-height, 28px);background:var(--brand-logo, none) no-repeat center / contain}.spacer{flex:1}.link{background:none;border:0;color:var(--accent);cursor:pointer;padding:0}.page,.login{max-width:960px;margin-inline:auto;padding:24px 16px}.login{max-width:520px}.muted{color:var(--muted)}.error{color:var(--error)}.notice{margin:0;padding:10px 16px;background:var(--notice-bg);color:var(--notice-text)}.page .notice{border-radius:var(--radius)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-block-start:16px}.card h2{margin-block-start:0;font-size:1.05rem}.actions{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}.actions li{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:2px 6px}.personas{list-style:none;padding:0;display:grid;gap:8px}.personas button{width:100%;text-align:start;display:grid;gap:2px;padding:10px 12px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.personas button:hover{border-color:var(--accent)}.primary{background:var(--accent);color:var(--accent-text);border:0;border-radius:var(--radius);padding:10px 18px;cursor:pointer}.layout{display:grid;grid-template-columns:210px 1fr;min-height:calc(100vh - 49px)}.sidenav{display:flex;flex-direction:column;gap:2px;padding:16px 10px;background:var(--surface);border-inline-end:1px solid var(--line)}.sidenav a{color:var(--text);text-decoration:none;padding:7px 10px;border-radius:6px}.sidenav a:hover{background:var(--bg)}.sidenav a.active{background:var(--accent);color:var(--accent-text)}.nav-heading{margin-block:14px 4px;padding-inline:10px;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.layout .page{max-width:1100px;width:100%;margin:0}.who{font-size:.9rem}@media(max-width:720px){.layout{grid-template-columns:1fr}.sidenav{flex-direction:row;flex-wrap:wrap;border-inline-end:0;border-block-end:1px solid var(--line);padding:8px}.nav-heading,.who{display:none}}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-head h1{margin-block:0 8px}.toolbar,.filters,.form-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filters{margin-block:12px}.filters input[type=search]{min-width:240px;flex:1}button{padding:7px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}button.primary{border-color:var(--accent)}button:disabled{opacity:.6;cursor:default}input,select,textarea{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text)}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.table{width:100%;border-collapse:collapse}.table th{text-align:start;font-weight:600;font-size:.85rem;color:var(--muted)}.table th,.table td{padding:7px 8px;border-block-end:1px solid var(--line);vertical-align:top}.table tr:last-child td{border-block-end:0}.table tr.inactive td{color:var(--muted)}.row-actions{text-align:end;white-space:nowrap}.card{overflow-x:auto}.badge{display:inline-block;margin-inline-start:6px;padding:0 6px;border-radius:4px;font-size:.75rem;background:var(--bg);border:1px solid var(--line);color:var(--muted);vertical-align:middle}.badge.closed{margin-inline-start:0}.record-form{display:grid;gap:12px}.record-form label{display:grid;gap:4px}.record-form label.check{grid-template-columns:auto 1fr;align-items:center;gap:8px}.record-form small{font-size:.8rem}.dialog{border:1px solid var(--line);border-radius:12px;padding:18px;width:min(560px,calc(100vw - 32px));background:var(--surface);color:var(--text)}.dialog::backdrop{background:#00000059}.dialog header{display:flex;justify-content:space-between;align-items:center;margin-block-end:12px}.dialog header h2{margin:0;font-size:1.15rem}.dialog header .link{font-size:1.5rem;line-height:1}.table.fixed{table-layout:fixed}.table .w-code{width:6.5rem}.table .w-990{width:8rem}.table .w-actions{width:5rem}.num,.table th.num{text-align:end}.strong{font-weight:600}.ok{color:var(--accent)}.table .w-date{width:8rem}.table .w-amount{width:9rem}.tabs{display:flex;gap:4px;border-block-end:1px solid var(--line);margin-block:8px 4px;flex-wrap:wrap}.tab{border:0;border-block-end:2px solid transparent;border-radius:0;background:none;padding:8px 12px}.tab.active{border-block-end-color:var(--accent);font-weight:600}label.inline{display:inline-flex;align-items:center;gap:6px}.badge.status-draft{color:var(--muted)}.badge.status-pending_approval{background:var(--notice-bg);color:var(--notice-text);border-color:transparent}.badge.status-posted{background:var(--accent);color:var(--accent-text);border-color:transparent}.badge.status-discarded{text-decoration:line-through}h1 .badge{font-size:.8rem;font-weight:500}.entry-head{display:flex;gap:12px;flex-wrap:wrap;margin-block-end:12px}.entry-head label{display:grid;gap:4px}.entry-head .grow{flex:1;min-width:220px}.lines-scroll{overflow-x:auto}.table.lines{min-width:980px}.table.lines td{padding:4px;vertical-align:middle}.table.lines select,.table.lines input{width:100%;padding:5px 6px}.table.lines td:first-child{min-width:220px}.table.lines .amount{text-align:end;font-variant-numeric:tabular-nums;min-width:7rem}.table.lines .invalid{border-color:var(--error)}.table.lines tfoot td{border-block-start:1px solid var(--line);border-block-end:0;padding-block-start:8px}.stack{display:grid;gap:4px}.system-line td{color:var(--muted);font-style:italic}.problems ul{margin:0;padding-inline-start:1.2rem}.problems h2{color:var(--notice-text)}.sticky-actions{position:sticky;inset-block-end:0;padding-block:12px;background:var(--bg)}.table.lines td:nth-child(2){min-width:5.5rem}.table.lines td:nth-child(3){min-width:11rem}.table.lines td:nth-child(4){min-width:9rem}.table.lines.gifts td:nth-child(2){min-width:12rem}.table.lines.gifts td:nth-child(3){min-width:7rem}.table.lines.gifts td:nth-child(4){min-width:7rem}tr.reversed td{text-decoration:line-through}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-block:12px}.stat{display:grid;gap:4px;margin:0}.stat strong{font-size:1.2rem}tr.over td{color:var(--error)}.warnings h2{color:var(--notice-text)}.warnings{background:var(--notice-bg)}.table-scroll{overflow-x:auto}.mapping-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.mapping-grid label{display:grid;gap:4px;min-width:0}.mapping-grid select{width:100%;min-width:0}.mapping-grid label:first-child{grid-column:1 / -1}.mapping-grid label.check{grid-template-columns:auto 1fr;align-items:center;gap:8px}.table .w-check{width:2rem}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.segmented button{border:0;border-radius:0;background:transparent}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.row-actions .link+.link{margin-inline-start:10px}.dialog .table button{white-space:nowrap}.rec-summary{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.rec-summary dl{display:grid;grid-template-columns:1fr auto;gap:6px 16px;margin:0}.rec-summary dd{margin:0;text-align:end}.print-only{display:none}@media print{.print-only{display:block}:root{--bg: #fff !important;--surface: #fff !important;--text: #000 !important;--muted: #444 !important;--line: #bbb !important;--accent: #000 !important}.topbar,.sidenav,.no-print,.reconciliation input[type=checkbox]{display:none!important}.layout{display:block}body{background:#fff;color:#000}.card{border:0;box-shadow:none;padding:0;break-inside:avoid}.reconciliation a,.report a{color:inherit;text-decoration:none}}.report-list{margin:0;padding-inline-start:1.2rem;line-height:2}.report-table .row-heading td{font-weight:600;padding-block-start:14px}.report-table .row-subtotal td{font-weight:600}.report-table .row-total td{font-weight:700;border-block-start:2px solid var(--text)}.report-table td a{color:inherit;text-decoration:underline dotted}.audit-table tr.clickable{cursor:pointer}.audit-table tr.error td{color:var(--error)}.audit-table .nowrap{white-space:nowrap}.audit-open td{background:var(--bg)}.audit-changes{margin-block:6px}.audit-changes caption{text-align:start;caption-side:top;padding-block-end:4px}.audit-changes .was{color:var(--muted);text-decoration:line-through}.audit-detail{display:grid;gap:2px 12px;margin:6px 0}.audit-detail div{display:grid;grid-template-columns:12rem 1fr}.audit-detail dt{color:var(--muted)}.audit-detail dd{margin:0;word-break:break-word}.history{margin:8px 0 0;padding-inline-start:1.2rem}.history li{margin-block-end:12px}.small{font-size:.85rem}.letter{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px 40px;margin-block-end:24px;max-width:760px;line-height:1.5}.letter header p{margin:0}.letter-copy{font-weight:700;letter-spacing:.08em;border:2px solid currentColor;display:inline-block;padding:2px 10px}.letter-gifts{margin-block:16px}.letter-signature{margin-block-start:40px}@media print{.letter{border:0;border-radius:0;padding:0;margin:0;max-width:none;break-after:page}.letter:last-child{break-after:auto}}.tiles{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-block:16px}.tile{margin:0}.tile h2{font-size:1rem;margin-block:0 8px}.tile h2 a{color:inherit}.tile-alert{border-inline-start:4px solid var(--accent)}.tile .big{font-size:1.6rem;font-weight:600;margin:4px 0}.tile-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.tile-list li{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.tile-list li.sub{padding-inline-start:12px;color:var(--muted)}.tile-list.grants li{display:grid;grid-template-columns:1fr auto}.tile-list.grants meter{grid-column:1 / -1;width:100%}
