:root{--bg:#efe8dc;--paper:#f7f3ea;--ink:#1d2a24;--muted:#5d6b64;--line:#d5cbb8;--sidebar:#1f3a2e;--sidebar-text:#dce8e0;--accent:#2d6a4f;--accent-2:#40916c;--danger:#9b2c2c;--warn-bg:#fff4d6;--error-bg:#fde8e8;--neg:#9b2c2c;--row-gruppe:#cfe3c6;--row-saldo:#d9f0dc;--row-manuell:#d9e7f5;--sans:"Segoe UI", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;color:var(--ink);font:14px/1.45 var(--sans);margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}code{font-family:var(--mono);font-size:.92em}.app-shell{grid-template-columns:220px 1fr;height:100vh;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:var(--sidebar-text);flex-direction:column;gap:24px;padding:24px 16px;display:flex}.brand strong{letter-spacing:.02em;font-size:18px;display:block}.brand span,.sidebar-note{color:#a8c0b4;font-size:12px}.year-nav{flex-direction:column;gap:8px;display:flex}.year-nav>strong{letter-spacing:.04em;text-transform:uppercase;color:#a8c0b4;font-size:11px}.year-nav p{color:#a8c0b4;margin:0;font-size:12px}.year-tabs{flex-wrap:wrap;gap:6px;display:flex}.year-tabs button{color:inherit;background:0 0;border:1px solid #ffffff38;border-radius:999px;padding:5px 10px;font-size:13px}.year-tabs button.active{color:#173f2a;background:#fff;border-color:#fff}.year-tabs button:disabled{opacity:.45}.sidebar nav{flex-direction:column;gap:6px;display:flex}.nav-btn{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;padding:9px 10px;display:flex}.nav-btn.active,.nav-btn:hover{background:#ffffff14}.nav-btn em{color:#1d2a24;background:#e9c46a;border-radius:10px;padding:0 7px;font-size:11px;font-style:normal}.main{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.topbar{background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex}.topbar-meta{flex-direction:column;display:flex}.folder-name{font-weight:650}.status,.muted{color:var(--muted);font-size:12px}.topbar-actions,.filters,.page-head,.card-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.content{flex:1;min-height:0;padding:16px 24px 24px;overflow:auto}.page,.stack{flex-direction:column;gap:16px;display:flex}.assign-page{gap:12px}.assign-work{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.assign-hero-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.assign-booking{min-width:0}.assign-booking h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;margin:0;font-size:18px;display:-webkit-box;overflow:hidden}.assign-kicker,.assign-purpose{color:var(--muted);margin:0}.assign-kicker{white-space:nowrap;text-overflow:ellipsis;min-height:1.45em;overflow:hidden}.assign-purpose{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:720px;min-height:2.9em;display:-webkit-box;overflow:hidden}.assign-amount{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;min-width:8.5rem;display:flex}.assign-amount .amount-lg{min-height:1.4em}.assign-list{flex-direction:column;gap:8px;display:flex}.assign-list .table-wrap{max-height:none}.assign-list>.ghost{align-self:flex-start}.assign-hint{margin:0}.iban-setup{background:#fff8e8;border:1px solid #e6d3a3;border-radius:10px;flex-direction:column;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.iban-setup h2,.iban-setup p{margin:0}.iban-setup-list,.iban-card-form{flex-direction:column;gap:10px;display:flex}.iban-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:12px;padding:12px;display:grid}.iban-card-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;display:grid}.iban-modes{grid-column:1/-1}.iban-card-form label{flex-direction:column;gap:4px;min-width:0;display:flex}.iban-card-form .primary{justify-self:start}.iban-error{color:var(--danger);grid-column:1/-1;margin:0}.assign-modes,.iban-modes,.store-tabs{flex-wrap:wrap;gap:6px;display:flex}.assign-modes button,.iban-modes button,.store-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px}.assign-modes button.active,.iban-modes button.active,.store-tabs button.active{color:#fff;background:#173f2a;border-color:#173f2a}.assign-modes button:disabled,.iban-modes button:disabled,.store-tabs button:disabled{opacity:.45;cursor:not-allowed}.assign-modes em,.store-tabs em{opacity:.7;font-variant-numeric:tabular-nums;min-width:2ch;margin-left:6px;font-style:normal;display:inline-block}.store-tabs em.is-empty{visibility:hidden}.check-col{width:32px}.source-pill{background:#efe8d8;border-radius:999px;padding:2px 8px;font-size:11px;display:inline-block}.source-pill.source-auto{background:#e7f3ea}.source-pill.source-manual{background:#e8eef6}.source-pill.source-held,.source-pill.source-open{background:#f3eee3}.assign-rules{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px}.assign-rules h3,.assign-rules p{margin:0 0 6px}.assign-rules p{color:var(--muted);font-size:12px}.assign-rules ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.assign-rules li{grid-template-columns:minmax(120px,180px) 1fr auto;align-items:baseline;gap:10px;font-size:12px;display:grid}.assign-rules em{color:var(--muted);font-style:normal}.suggest-bar{background:#eef6f1;border:1px solid #b7d7c4;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.suggest-bar span,.suggest-bar strong{display:block}.suggest-actions,.assign-footer{flex-wrap:nowrap;gap:8px;min-height:32px;display:flex}.category-groups{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px 10px;display:grid}.category-group h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:10px;overflow:hidden}.category-grid{flex-direction:column;gap:4px;display:flex}.cat-btn.suggested{background:var(--accent);color:#fff}.page-head{justify-content:space-between}h1,h2{margin:0 0 4px;font-weight:650}h1{font-size:24px}h2{font-size:18px}.page-head p,.empty p{color:var(--muted);margin:0}.empty{max-width:520px;padding:48px 8px}.folder-setup{max-width:560px;padding:36px 8px}.folder-setup p{color:var(--muted)}.folder-setup p+p{margin-top:12px}.folder-setup pre{border:1px solid var(--line);font-family:var(--mono);color:var(--ink);background:#fff;border-radius:8px;margin:12px 0;padding:12px 14px;font-size:13px;line-height:1.55}.folder-setup-actions{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.banner{border-radius:6px;margin:12px 24px 0;padding:10px 12px}.banner.warn{background:var(--warn-bg)}.banner a{color:var(--accent)}.banner.error,.error-list{background:var(--error-bg)}.primary,.ghost,.cat-btn{border:1px solid #0000;border-radius:6px;padding:7px 12px}.primary{background:var(--accent);color:#fff}.primary:disabled{opacity:.55}.ghost{border-color:var(--line);background:#fff}.ghost.danger,.neg{color:var(--danger)}.wide{width:100%}.year-select{align-items:center;gap:6px;display:flex}.grow{flex:220px}.store-card{flex-direction:column;gap:12px;display:flex}.store-card .card-head{align-items:flex-end}.store-card .card-head label{min-width:0;color:var(--muted);flex-direction:column;align-items:stretch;gap:4px;font-size:12px;display:flex}.store-card .card-head label:first-child{flex:0 140px}.card-head-actions{flex:none;align-items:center;gap:8px;display:flex}.store-accounts{width:100%}.store-accounts th:last-child,.store-accounts td:last-child{text-align:right;width:44px}.store-accounts .iban-input{font-family:var(--mono);min-width:18rem}.store-accounts input,.store-accounts select{min-width:0}.store-accounts tbody tr{cursor:default}.inline-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:10px;display:grid}.inline-form label{min-width:0;color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.inline-form .iban-input{font-family:var(--mono)}.inline-form .card-head-actions,.inline-form .iban-error{grid-column:1/-1}.year-create{align-items:center;gap:6px;display:flex}.year-create input{width:5.5rem}input:not([type=checkbox]):not([type=radio]),select,.cell-input{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;padding:6px 8px}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent);background:0 0;border:0;margin:0;padding:0}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap;padding:8px 10px}.sheet th,.sheet td{font-variant-numeric:tabular-nums;font-size:12px}.sheet thead th,.data thead th{background:#f3eee3;position:sticky;top:0}.row-gruppe,.row-section{background:var(--row-gruppe);font-weight:650}.row-saldo,.row-sum{background:var(--row-saldo);font-weight:650}.row-sectionSum{background:var(--row-manuell);border-top:2px solid #7a9cc0;font-weight:650}.row-manuell{background:var(--row-manuell)}.sheet .row-kind{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:650;display:block}.sheet .month-link{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.sheet thead th .month-link.active{color:#173f2a;text-underline-offset:3px;text-decoration:underline}.journal-section,.journal-card{flex-direction:column;gap:12px;display:flex}.journal-empty{color:var(--muted);margin:0}.journal td{white-space:nowrap}.journal .booking-purpose{max-width:640px;color:var(--muted);white-space:normal;font-size:11px;font-weight:400;display:block}.row-category{background:#f7f3ea;font-weight:650}.data tbody tr{cursor:pointer}.data tbody tr.selected,.data tbody tr:hover{background:#f4f8f4}.data td small{max-width:420px;color:var(--muted);white-space:normal;display:block}.data.compact input,.data.compact select{min-width:120px}.cell-input{text-align:right;min-width:88px}.cards{gap:12px;display:flex}.cards article,.card,.assign-panel,.dropzone{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.cards article strong{font-size:24px;display:block}.dropzone{text-align:center;color:var(--muted);border-style:dashed;display:block}.dropzone.over{border-color:var(--accent);background:#eef6f1}.assign-panel{position:sticky;top:16px}.amount-lg{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:22px}dl{gap:8px;margin:0 0 16px;display:grid}dt{color:var(--muted);text-transform:uppercase;font-size:11px}dd{white-space:normal;margin:0}.category-list{flex-direction:column;gap:6px;max-height:420px;margin:12px 0;display:flex;overflow:auto}.cat-btn{text-align:left;background:#f7f3ea;border-color:#0000;width:100%;padding:5px 8px;font-size:12px;line-height:1.25;display:block}.cat-btn.cat-einnahme{background:#e7f3ea}.cat-btn.cat-ausgabe{background:#f7f3ea}.cat-btn.cat-manuell,.cat-btn.cat-beides{background:#e8eef6}.config-add{flex-wrap:wrap;gap:8px;display:flex}.config-outline{flex-direction:column;gap:14px;display:flex}.config-block{border:1px solid var(--line);background:#ffffff59;border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex}.config-children{flex-direction:column;gap:6px;margin-left:22px;display:flex}.config-line{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:10px 12px}.config-line-head{align-items:center;gap:8px;min-width:0;display:flex}.config-line-head select{width:auto;min-width:140px;max-width:240px}.config-line.kind-section{background:var(--row-gruppe)}.config-line.kind-sum,.config-line.kind-sectionSum{background:var(--row-saldo)}.config-line.dragging{opacity:.45}.config-line.drop-target{outline:2px dashed var(--accent)}.config-line.locked .config-name{cursor:default;color:var(--muted);background:0 0}.ref-chip.locked{cursor:default;opacity:.85}.drag-handle{color:var(--muted);cursor:grab;letter-spacing:-2px;background:0 0;border:0;padding:4px 0;line-height:1}.drag-handle:active{cursor:grabbing}.kind-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-self:center;font-size:11px;font-weight:650}.config-name{flex:180px;min-width:0;font-weight:650}.ref-picker{flex-wrap:wrap;flex:2 280px;align-items:center;gap:6px;min-width:0;display:flex}.ref-picker select{width:auto;min-width:160px;max-width:100%}.ref-chip{border:1px solid var(--line);text-align:left;background:#fff;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:3px 8px;font-size:12px;line-height:1.3;display:inline-flex}.ref-chip span{color:var(--muted)}.config-line-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.cat-btn small{color:var(--muted)}.cat-btn:disabled{opacity:.38;cursor:not-allowed}.cat-btn.active{background:var(--accent);color:#fff}.cat-btn.active small{color:#d8efe4}.check{align-items:center;gap:6px;display:flex}.error-list{border-radius:6px;margin:0;padding:10px 28px}@media (width<=960px){.app-shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap}.assign-hero-top{flex-direction:column}.assign-amount{align-items:flex-start}.config-line-head{flex-wrap:wrap}.config-line-head select{width:100%;max-width:none}}
