:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-app-background:#f9fafb;--color-surface-primary:#fff;--color-surface-subtle:#f8fafc;--color-surface-muted:#f3f4f6;--color-surface-hover:#e5e7eb;--color-text-primary:#111827;--color-text-muted:#6b7280;--color-text-subtle:#374151;--color-text-inverse:#fff;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-border-subtle:#f3f4f6;--color-accent:#2563eb;--color-accent-surface:#eff6ff;--color-accent-surface-strong:#dbeafe;--color-accent-border:#bfdbfe;--color-success:#166534;--color-success-surface:#dcfce7;--color-warning:#92400e;--color-warning-surface:#fef3c7;--color-danger:#991b1b;--color-danger-muted:#7f1d1d;--color-danger-surface:#fef2f2;--color-danger-border:#fecaca;--color-focus-ring:#2563eb59;--color-recurring:#6d28d9;--color-recurring-surface:#ede9fe;--color-opening:#0369a1;--color-opening-surface:#e0f2fe;--button-primary-bg:#111827;--button-primary-border:#111827;--button-primary-text:#fff;--button-secondary-bg:#fff;--button-secondary-border:#d1d5db;--button-secondary-text:#111827;--button-danger-bg:#fff;--button-danger-border:#ef4444;--button-danger-text:#b91c1c;--shadow-card:0 1px 2px #0f172a0a;--bg-app:var(--color-app-background);--bg-card:var(--color-surface-primary);--bg-muted:var(--color-surface-muted);--bg-subtle:var(--color-surface-subtle);--border-default:var(--color-border);--border-strong:var(--color-border-strong);--border-subtle:var(--color-border-subtle);--text-default:var(--color-text-primary);--text-muted:var(--color-text-muted);--text-subtle:var(--color-text-subtle);--text-positive:var(--color-success);--text-negative:var(--color-danger);--text-info:var(--color-accent);color:var(--text-default);background:var(--bg-app);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-app-background:#0f172a;--color-surface-primary:#111827;--color-surface-subtle:#162033;--color-surface-muted:#1e293b;--color-surface-hover:#283548;--color-text-primary:#e5e7eb;--color-text-muted:#94a3b8;--color-text-subtle:#cbd5e1;--color-text-inverse:#0f172a;--color-border:#334155;--color-border-strong:#475569;--color-border-subtle:#243244;--color-accent:#60a5fa;--color-accent-surface:#172554;--color-accent-surface-strong:#1d4ed8;--color-accent-border:#2563eb;--color-success:#4ade80;--color-success-surface:#163321;--color-warning:#fbbf24;--color-warning-surface:#3b2a10;--color-danger:#f87171;--color-danger-muted:#fca5a5;--color-danger-surface:#3b1718;--color-danger-border:#7f1d1d;--color-focus-ring:#60a5fa73;--color-recurring:#c4b5fd;--color-recurring-surface:#312e81;--color-opening:#7dd3fc;--color-opening-surface:#0c4a6e;--button-primary-bg:#e5e7eb;--button-primary-border:#e5e7eb;--button-primary-text:#0f172a;--button-secondary-bg:#111827;--button-secondary-border:#475569;--button-secondary-text:#e5e7eb;--button-danger-bg:#111827;--button-danger-border:#f87171;--button-danger-text:#fca5a5;--shadow-card:0 10px 30px #02061747}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg-app);min-width:320px;color:var(--text-default)}::selection{background:var(--color-accent-surface-strong);color:var(--color-text-inverse)}:where(button,a,input,select,textarea):focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}::placeholder{color:var(--text-muted)}body{background:var(--bg-app);color:var(--text-default);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit;color:inherit}.app-shell{background:var(--bg-app);min-height:100vh;color:var(--text-default)}.app-header{border-bottom:1px solid var(--border-default);background:var(--bg-card);z-index:10;position:sticky;top:0}.app-header__content,.app-main{width:min(1120px,100%);margin:0 auto;padding-left:1.25rem;padding-right:1.25rem}.app-header__content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;padding-bottom:1rem;display:flex}.app-brand{gap:.15rem;display:grid}.app-brand__title{font-size:1.1rem;font-weight:700}.app-brand__subtitle{color:var(--text-muted);font-size:.9rem}.app-header__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.app-nav{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.app-nav__link{min-height:2.5rem;color:var(--text-subtle);border-radius:999px;justify-content:center;align-items:center;padding:.5rem .8rem;font-weight:600;text-decoration:none;transition:background-color .12s,color .12s;display:inline-flex}.app-nav__link:hover{background:var(--bg-muted)}.app-nav__link--active{background:var(--color-surface-hover);color:var(--text-default)}.theme-toggle{border:1px solid var(--border-default);background:var(--bg-card);min-height:2.5rem;color:var(--text-default);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .8rem;font-weight:600;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.theme-toggle:hover{background:var(--bg-muted)}.theme-toggle__icon{font-size:1rem;line-height:1}.app-main{padding-top:1.5rem;padding-bottom:3rem}.page{gap:1.25rem;display:grid}.subview-switcher{border:1px solid var(--border-default);background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:999px;flex-wrap:wrap;align-items:center;gap:.35rem;width:fit-content;max-width:100%;padding:.3rem;display:inline-flex}.subview-switcher__button{color:var(--text-subtle);cursor:pointer;background:0 0;border:none;border-radius:999px;min-height:2.3rem;padding:.5rem .9rem;font-weight:700;transition:background-color .12s,color .12s}.subview-switcher__button:hover{background:var(--bg-muted);color:var(--text-default)}.subview-switcher__button--active{background:var(--color-surface-hover);color:var(--text-default)}.page-header,.section-header,.toolbar{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.page-header{align-items:flex-end}.section-header,.toolbar{align-items:flex-start}.page-title-group,.section-title-group{gap:.35rem;display:grid}.page-title{margin:0;font-size:1.85rem;line-height:1.1}.section-title{margin:0;font-size:1.1rem}.page-subtitle,.section-subtitle,.muted-text{color:var(--text-muted);margin:0}.page-subtitle,.section-subtitle{max-width:68ch}.page-actions,.toolbar,.button-row,.table-actions{flex-wrap:wrap;gap:.6rem;display:flex}.page-actions{align-items:flex-end}.toolbar{align-items:end}.section-card{border:none;border-top:1px solid var(--border-default);box-shadow:none;background:0 0;border-radius:0;padding:1.1rem 0 0}.section-card--surface{background:var(--bg-card);border:1px solid var(--border-default);box-shadow:var(--shadow-card);border-radius:1rem;padding:1.1rem}.section-card--danger{border-color:var(--color-danger-border);background:var(--color-danger-surface);border-style:solid;border-width:1px;border-radius:1rem;padding:1rem 1.1rem}.section-card--danger .section-title{color:var(--text-negative)}.section-card--danger .section-subtitle{color:var(--color-danger-muted)}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.summary-grid--wide{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.summary-card{border:none;border-left:2px solid var(--border-default);background:0 0;border-radius:0;padding:.15rem 0 .15rem .9rem}.summary-card__label{color:var(--text-muted);font-size:.9rem}.summary-card__value{color:var(--text-default);margin-top:.45rem;font-size:1.45rem;font-weight:700}.summary-card--good .summary-card__value{color:var(--text-positive)}.summary-card--good{border-left-color:color-mix(in srgb, var(--text-positive) 45%, var(--border-default))}.summary-card--bad .summary-card__value{color:var(--text-negative)}.summary-card--bad{border-left-color:color-mix(in srgb, var(--text-negative) 45%, var(--border-default))}.summary-card--info .summary-card__value{color:var(--text-info)}.summary-card--info{border-left-color:color-mix(in srgb, var(--text-info) 45%, var(--border-default))}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.field{gap:.35rem;min-width:0;display:grid}.field__label{color:var(--text-subtle);font-size:.9rem}.checkbox-field{color:var(--text-subtle);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.message{margin:0;font-size:.9rem}.message--error{color:var(--text-negative)}.message--success{color:var(--text-positive)}.message-box{border:1px solid var(--border-default);background:var(--bg-subtle);border-radius:.75rem;margin:0;padding:.75rem .9rem}.message-box--error{border-color:var(--color-danger-border);background:var(--color-danger-surface);color:var(--text-negative)}.empty-state{border:1px dashed var(--border-strong);background:var(--bg-subtle);color:var(--text-muted);border-radius:.75rem;margin:0;padding:1rem}.table-wrap{overflow-x:auto}.app-table{border-collapse:collapse;width:100%}.app-table th,.app-table td{border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top;padding:.72rem .6rem}.app-table thead th{color:var(--text-muted);border-bottom-color:var(--border-default);font-size:.85rem;font-weight:600}.money-column{font-variant-numeric:tabular-nums;text-align:right!important}.money-input{text-align:right;font-variant-numeric:tabular-nums}.app-table tbody tr:last-child td{border-bottom:none}.table-row--selected{background:var(--bg-muted)}.table-actions{justify-content:flex-end}.toolbar--spaced{margin-bottom:1rem}.button-row--align-end{align-items:end}.full-width{width:100%}.table-cell--flush{padding:0}.row-clickable{cursor:pointer}.font-semibold{font-weight:600}.font-bold{font-weight:700}.list-compact{margin:0;padding-left:1.1rem}.list-compact>li{margin-bottom:.4rem}.list-compact--tight>li{margin-bottom:.35rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.badge-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.badge{letter-spacing:.01em;border-radius:999px;align-items:center;min-height:1.5rem;padding:.15rem .5rem;font-size:.78rem;font-weight:700;display:inline-flex}.badge--neutral{background:var(--color-surface-hover);color:var(--text-subtle)}.badge--income{background:var(--color-success-surface);color:var(--color-success)}.badge--expense{background:var(--color-danger-surface);color:var(--color-danger)}.badge--transfer{background:var(--color-accent-surface-strong);color:var(--color-accent)}.badge--recurring{background:var(--color-recurring-surface);color:var(--color-recurring)}.badge--credit{background:var(--color-warning-surface);color:var(--color-warning)}.badge--opening{background:var(--color-opening-surface);color:var(--color-opening)}.badge--success{background:var(--color-success-surface);color:var(--color-success)}.badge--muted{background:var(--bg-muted);color:var(--text-muted)}.entity-list{gap:0;display:grid}.entity-card{border:none;border-top:1px solid var(--border-subtle);border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.85rem;padding:1rem 0;display:flex}.entity-list>.entity-card:first-child{border-top:none;padding-top:0}.entity-card__body{gap:.35rem;display:grid}.entity-card__title{flex-wrap:wrap;align-items:center;gap:.55rem;font-weight:600;display:flex}.entity-card__meta{color:var(--text-muted);font-size:.9rem}.stack-sm{gap:.75rem;display:grid}.editor-section-marker{border-top:1px solid var(--border-subtle);padding-top:.15rem}.editor-section-marker:first-child{border-top:none;padding-top:0}.stack-md{gap:1rem;display:grid}.text-positive{color:var(--text-positive)}.text-negative{color:var(--text-negative)}.text-info{color:var(--text-info)}@media (width<=720px){.app-header__content,.page-header,.section-header,.toolbar{align-items:stretch}.app-header__actions{justify-content:space-between}.page-actions{width:100%}.table-actions{justify-content:flex-start}}
