:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:#f5f6f8;--color-surface:#fff;--color-surface-sunken:#eef0f3;--color-surface-hover:#e9ecf0;--color-border:#dadee4;--color-border-strong:#a9b0ba;--color-text:#1a1e24;--color-text-muted:#565f6b;--color-accent:#2851b8;--color-accent-hover:#1f4399;--color-accent-text:#fff;--color-accent-soft:#e7edfa;--color-focus:#2851b8;--color-positive:#1b6e3a;--color-negative:#b02a2a;--color-error:#b02a2a;--color-error-soft:#fbeaea;--chart-income:#2a78d6;--chart-spending:#eb6834;--chart-grid:#eceef1;--chart-axis:#a9b0ba;--chart-text:var(--color-text-muted);--chart-hover:var(--color-surface-sunken);--chart-track:var(--color-surface-sunken);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:4px;--radius:6px;--radius-lg:10px;--shadow-sm:0 1px 2px #1018280f;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--leading-tight:1.25;--leading:1.5;--weight-normal:400;--weight-medium:500;--weight-bold:600;--page-width:1200px;--control-height:32px;--row-height:32px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#111316;--color-surface:#191c20;--color-surface-sunken:#202328;--color-surface-hover:#272b31;--color-border:#2f343b;--color-border-strong:#4a515b;--color-text:#e5e7ea;--color-text-muted:#a0a8b3;--color-accent:#8aaaf5;--color-accent-hover:#a6bff8;--color-accent-text:#0e1830;--color-accent-soft:#1e2840;--color-focus:#8aaaf5;--color-positive:#63c48a;--color-negative:#f08484;--color-error:#f08484;--color-error-soft:#3a1f22;--chart-income:#3987e5;--chart-spending:#d95926;--chart-grid:#262a30;--chart-axis:#4a515b;--shadow-sm:0 1px 2px #0006}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{margin:0 0 var(--space-3);line-height:var(--leading-tight);font-weight:var(--weight-bold)}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{margin:0 0 var(--space-3)}.muted{color:var(--color-text-muted)}a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.num,.amount,.date{font-variant-numeric:tabular-nums;white-space:nowrap}.category-swatch{width:.625em;height:.625em;margin-right:var(--space-2);border-radius:50%;flex:none;display:inline-block}.category-swatch-none{background-color:var(--color-border)}.amount-positive{color:var(--color-positive)}.amount-negative{color:var(--color-negative)}button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--weight-medium);cursor:pointer;display:inline-flex}button:hover:not(:disabled){background:var(--color-surface-hover)}button:disabled{cursor:not-allowed;opacity:.55}.button-primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-text)}.button-primary:hover:not(:disabled){border-color:var(--color-accent-hover);background:var(--color-accent-hover)}.button-plain{color:var(--color-text-muted);background:0 0;border-color:#0000}.button-plain:hover:not(:disabled){color:var(--color-text)}label{font-weight:var(--weight-medium)}input,select,textarea{min-height:var(--control-height);padding:0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit}textarea{padding:var(--space-2);line-height:var(--leading)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field-inline{align-items:center;gap:var(--space-2);display:inline-flex}.form-error{color:var(--color-error);font-weight:var(--weight-medium);margin:0}.panel{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.panel+.panel{margin-top:var(--space-4)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-base);line-height:var(--leading-tight)}th,td{height:var(--row-height);padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}th{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap}th.num,td.num{text-align:right}tbody tr:hover{background:var(--color-surface-sunken)}.page{max-width:var(--page-width);padding:var(--space-5) var(--space-5) var(--space-7);margin:0 auto}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-surface)}.nav{align-items:center;gap:var(--space-2) var(--space-5);max-width:var(--page-width);padding:var(--space-2) var(--space-5);flex-wrap:wrap;margin:0 auto;display:flex}.brand{font-size:var(--text-md);font-weight:var(--weight-bold)}.nav-links{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.nav-links a{padding:var(--space-1) var(--space-2);border-radius:var(--radius);color:var(--color-text-muted);font-weight:var(--weight-medium);text-decoration:none;display:inline-block}.nav-links a:hover{background:var(--color-surface-hover);color:var(--color-text)}.nav-links a[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent)}.nav-tools{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-left:auto;display:flex}.nav-uncategorized{color:var(--color-text);font-size:var(--text-sm);text-decoration:none}.nav-uncategorized:hover{text-decoration:underline}.nav-uncategorized .count{min-width:1.5em;padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-accent);font-variant-numeric:tabular-nums;font-weight:var(--weight-bold);text-align:center;display:inline-block}.auth-screen{min-height:100vh;padding:var(--space-4);place-items:center;display:grid}.auth-panel{width:100%;max-width:380px}.auth-action{align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}@media (width<=640px){.page{padding:var(--space-4) var(--space-4) var(--space-6)}.nav{padding:var(--space-2) var(--space-4)}.nav-tools{margin-left:0}}.import-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.import-form .field{margin-bottom:0}.import-results{margin:var(--space-4) 0 0;padding-left:var(--space-5)}.import-results li+li{margin-top:var(--space-2)}.import-failed{color:var(--color-error)}.import-failed ul{margin:var(--space-1) 0 0;padding-left:var(--space-4)}.filters{align-items:flex-end;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.filters .field{margin-bottom:0}table.transactions[aria-busy=true]{opacity:.6}.transactions .message{color:var(--color-text-muted)}.transactions td:has(select){min-width:14em}.apply-offer{min-height:0;margin-top:var(--space-1);padding:var(--space-1) 0;color:var(--color-accent);font-size:var(--text-sm);text-decoration:underline;display:flex}.row-error{margin-top:var(--space-1);font-size:var(--text-sm)}.pager{justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-4);display:flex}.month-head{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.month-steps{gap:var(--space-4);display:flex}.step-disabled{color:var(--color-text-muted)}.figures{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,17em),1fr));display:grid}.figure{gap:var(--space-1);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.figure-label{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.figure-value{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);white-space:nowrap}.figure-note{color:var(--color-text-muted);font-size:var(--text-sm)}.month-columns{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,24em),1fr));display:grid}.month-columns .panel+.panel{margin-top:0}.trend-select{margin-bottom:var(--space-3)}.category-table th[scope=row]{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-normal)}.settings-section h2{margin-top:0}.settings-list{margin:0 0 var(--space-4);padding:0;list-style:none}.settings-row{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.settings-row:first-child{border-top:0}.settings-row input:not([type=color]){flex:12em;min-width:0}.settings-iban{min-width:11em}.settings-error{font-size:var(--text-sm);flex-basis:100%}.settings-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.settings-form .field{margin-bottom:0}.settings-hint{margin:var(--space-2) 0 0;font-size:var(--text-sm)}.chart{margin:0}.mark-income{fill:var(--chart-income);background-color:var(--chart-income)}.mark-spending{fill:var(--chart-spending);background-color:var(--chart-spending)}.chart-legend{gap:var(--space-1) var(--space-4);margin:0 0 var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;padding:0;list-style:none;display:flex}.chart-legend li{align-items:center;gap:var(--space-2);display:inline-flex}.swatch{border-radius:2px;width:12px;height:12px;display:inline-block}.chart-frame{position:relative}.chart-frame svg{width:100%;height:auto;display:block}.chart-grid{stroke:var(--chart-grid);stroke-width:1px;shape-rendering:crispedges}.chart-baseline{stroke:var(--chart-axis);stroke-width:1px;shape-rendering:crispedges}.chart-crosshair{stroke:var(--chart-axis);stroke-width:1px}.chart-tick{fill:var(--chart-text);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.chart-hover{fill:var(--chart-hover)}.chart-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.line-income{stroke:var(--chart-income)}.line-spending{stroke:var(--chart-spending)}.chart-area{opacity:.1}.chart-dot{stroke:var(--color-surface);stroke-width:2px}.chart-hits{display:flex;position:absolute;top:0;bottom:0}.chart-hit{border-radius:var(--radius-sm);background:0 0;border:0;flex:1 1 0;min-width:0;min-height:0;padding:0}.chart-hit:hover:not(:disabled){background:0 0}.chart-hit:focus-visible{outline-offset:-2px}.chart-readout{min-height:1.5em;margin:var(--space-2) 0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.chart-readout strong{color:var(--color-text);font-weight:var(--weight-medium)}.bar-list{margin:0;padding:0;list-style:none}.bar-list li{align-items:center;gap:var(--space-3);min-height:var(--row-height);grid-template-columns:minmax(6em,12em) 1fr auto 3.5em;display:grid}.bar-label{overflow-wrap:anywhere}.bar-track{border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--chart-track);height:12px;display:block}.bar-fill{border-radius:0 var(--radius-sm) var(--radius-sm) 0;height:100%;display:block}.bar-share{color:var(--color-text-muted);text-align:right}@media (width<=640px){.bar-list li{gap:var(--space-1) var(--space-3);padding:var(--space-1) 0;grid-template-columns:1fr auto 3.5em}.bar-track{grid-area:2/1/auto/-1}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
