: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;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}.app-shell{background:var(--bg-app);min-height:100vh;color:var(--text-default);min-width:0}.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{grid-template-columns:minmax(0,1fr) minmax(0,auto) auto;grid-template-areas:"brand nav toggle";align-items:center;gap:1rem;padding-top:1rem;padding-bottom:1rem;display:grid}.app-header__content>*{min-width:0}.app-brand{grid-area:brand;gap:.15rem;min-width:0;display:grid}.app-brand__title{font-size:1.1rem;font-weight:700}.app-brand__subtitle{color:var(--text-muted);overflow-wrap:anywhere;max-width:min(100%,30rem);font-size:.9rem}.app-nav{flex-wrap:nowrap;grid-area:nav;justify-content:flex-end;align-items:center;gap:clamp(.2rem,.65vw,.5rem);min-width:0;display:flex}.app-nav__link{min-width:0;min-height:2.5rem;color:var(--text-subtle);border-radius:999px;justify-content:center;align-items:center;padding:.5rem clamp(.55rem,.8vw,.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);width:2.5rem;min-width:2.5rem;min-height:2.5rem;color:var(--text-default);cursor:pointer;border-radius:999px;flex-shrink:0;grid-area:toggle;justify-content:center;align-items:center;padding:0;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{min-width:0;padding-top:1.5rem;padding-bottom:3rem}.page{gap:1.25rem;min-width:0;display:grid}.page>*{min-width:0}.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;min-width:0;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;min-width:0;display:flex}.page-header>*,.section-header>*,.toolbar>*{min-width:0}.page-header{align-items:flex-end}.section-header,.toolbar{align-items:flex-start}.page-title-group,.section-title-group{gap:.35rem;min-width:0;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{overflow-wrap:anywhere;max-width:68ch}.page-actions,.toolbar,.button-row,.table-actions{flex-wrap:wrap;gap:.6rem;min-width:0;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;min-width: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;min-width:0;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;min-width:0;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(min(100%,180px),1fr));gap:1rem;display:grid}.summary-grid--wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,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(min(100%,180px),1fr));gap:.75rem;display:grid}.field{gap:.35rem;min-width:0;display:grid}.page-actions .field,.toolbar .field{flex:10rem}.field--compact{flex-basis:8rem}.field--medium{flex-basis:11rem}.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{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;max-width:100%;overflow:auto hidden}.app-table{border-collapse:collapse;width:100%;min-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}.transaction-ledger-mobile,.responsive-table-mobile{display:none}.transaction-card{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--bg-card) 88%, var(--bg-subtle));box-shadow:var(--shadow-card);border-radius:.95rem;gap:0;min-width:0;display:grid;overflow:hidden}.transaction-card--transfer{border-color:color-mix(in srgb, var(--color-accent) 24%, var(--border-default));box-shadow:inset 3px 0 0 color-mix(in srgb, var(--color-accent) 65%, transparent), var(--shadow-card)}.transaction-card--opening{border-color:color-mix(in srgb, var(--color-opening) 24%, var(--border-default));box-shadow:inset 3px 0 0 color-mix(in srgb, var(--color-opening) 55%, transparent), var(--shadow-card)}.transaction-card__top,.transaction-card__footer{justify-content:space-between;align-items:flex-start;gap:.75rem;min-width:0;display:flex}.transaction-card__details-group,.transaction-card__date-and-badges{gap:.35rem;min-width:0;max-width:fit-content;display:grid}.transaction-card__details{overflow-wrap:anywhere;font-weight:700;line-height:1.35}.transaction-card__summary{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;gap:.65rem;width:100%;min-width:0;padding:.95rem 1rem;transition:background-color .12s;display:grid}.transaction-card__summary:hover,.transaction-card__summary:focus-visible{background:color-mix(in srgb, var(--bg-subtle) 72%, transparent);outline:none}.transaction-card__summary:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--color-accent) 30%, transparent)}.transaction-card__summary-footer,.transaction-card__summary-meta{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.transaction-card__summary-footer{justify-content:space-between;gap:.75rem}.transaction-card__summary-meta{color:var(--text-muted);overflow-wrap:anywhere;font-size:.92rem}.transaction-card__chevron{color:var(--text-subtle);flex-shrink:0;font-size:.95rem;line-height:1}.transaction-card__eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.78rem;font-weight:700}.transaction-card__amount{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;flex-shrink:0;font-size:1rem}.transaction-card__meta-line,.transaction-card__note,.transaction-card__date{color:var(--text-muted);overflow-wrap:anywhere;font-size:.92rem}.transaction-card__expanded-details{border-top:1px solid var(--border-subtle);background:color-mix(in srgb, var(--bg-subtle) 38%, transparent);gap:.75rem;padding:.95rem 1rem;display:grid}.transaction-card--expanded{border-color:var(--border-default);background:color-mix(in srgb, var(--bg-card) 92%, var(--bg-subtle))}.transaction-card__meta-line{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.transaction-card__separator{color:var(--text-subtle);font-weight:700}.transaction-card__note{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:.8rem;margin:0;padding:.7rem .8rem}.transaction-card__actions{flex-wrap:wrap;justify-content:flex-end;row-gap:.45rem;max-width:fit-content;margin-left:auto}.table-card-list{gap:.8rem;display:none}.table-card{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--bg-card) 88%, var(--bg-subtle));box-shadow:var(--shadow-card);border-radius:.95rem;gap:0;min-width:0;display:grid;overflow:hidden}.table-card--selected{border-color:color-mix(in srgb, var(--color-accent) 24%, var(--border-default));box-shadow:inset 3px 0 0 color-mix(in srgb, var(--color-accent) 65%, transparent), var(--shadow-card)}.table-card--opening{border-color:color-mix(in srgb, var(--color-opening) 24%, var(--border-default));box-shadow:inset 3px 0 0 color-mix(in srgb, var(--color-opening) 55%, transparent), var(--shadow-card)}.table-card__top,.table-card__footer,.table-card__detail-row{justify-content:space-between;align-items:flex-start;gap:.75rem;min-width:0;display:flex}.table-card__details-group,.table-card__detail-stack,.table-card__detail-grid{gap:.35rem;min-width:0;display:grid}.table-card__detail-grid{gap:.55rem}.table-card__details{overflow-wrap:anywhere;font-weight:700;line-height:1.35}.table-card__summary{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;gap:.65rem;width:100%;min-width:0;padding:.95rem 1rem;transition:background-color .12s;display:grid}.table-card__summary:hover,.table-card__summary:focus-visible{background:color-mix(in srgb, var(--bg-subtle) 72%, transparent);outline:none}.table-card__summary:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--color-accent) 30%, transparent)}.table-card__summary-footer,.table-card__summary-meta{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.table-card__summary-footer{justify-content:space-between;gap:.75rem}.table-card__summary-meta,.table-card__meta-line,.table-card__detail-label,.table-card__date{color:var(--text-muted);overflow-wrap:anywhere;font-size:.92rem}.table-card__chevron{color:var(--text-subtle);flex-shrink:0;font-size:.95rem;line-height:1}.table-card__eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.78rem;font-weight:700}.table-card__amount,.table-card__detail-value{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;flex-shrink:0;font-size:1rem}.table-card__expanded-details{border-top:1px solid var(--border-subtle);background:color-mix(in srgb, var(--bg-subtle) 38%, transparent);gap:.75rem;padding:.95rem 1rem;display:grid}.table-card--expanded{border-color:var(--border-default);background:color-mix(in srgb, var(--bg-card) 92%, var(--bg-subtle))}.table-card__meta-line{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;display:flex}.table-card__separator{color:var(--text-subtle);font-weight:700}.table-card__detail-row{border-top:1px solid var(--border-subtle);align-items:center;padding-top:.55rem}.table-card__detail-row:first-child{border-top:none;padding-top:0}.toolbar--spaced{margin-bottom:1rem}.button-row--align-end{align-items:end}.full-width{width:100%;min-width:0}.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:flex-end;gap:.4rem;width:fit-content;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;min-width:0;padding:1rem 0;display:flex}.entity-list>.entity-card:first-child{border-top:none;padding-top:0}.entity-card__body{gap:.35rem;min-width:0;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);overflow-wrap:anywhere;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}.budget-planned-input{width:7.5rem;max-width:100%}.text-positive{color:var(--text-positive)}.text-negative{color:var(--text-negative)}.text-info{color:var(--text-info)}@media (width<=720px){.app-header__content,.app-main{padding-left:1rem;padding-right:1rem}.app-header__content{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand toggle""nav nav"}.app-header__content,.page-header,.section-header,.toolbar,.entity-card{align-items:stretch}.app-brand{align-self:center}.app-nav{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;width:100%;display:grid}.app-nav__link{text-align:center;width:100%;padding-left:.65rem;padding-right:.65rem}.page{gap:1rem}.page-title{font-size:1.55rem}.page-actions{width:100%}.page-actions>*,.toolbar>*,.button-row>*{flex:100%}.page-actions .field.field--compact,.page-actions .field.field--medium,.toolbar .field.field--compact,.toolbar .field.field--medium{flex-basis:100%}.subview-switcher{width:100%}.subview-switcher__button{flex:8rem}.summary-grid,.summary-grid--wide,.form-grid{grid-template-columns:1fr}.summary-card__value{font-size:1.3rem}.section-card--surface,.section-card--danger{padding:1rem}.table-wrap{padding-bottom:.2rem}.app-table{min-width:max-content}.app-table th,.app-table td{padding:.65rem .55rem}.table-actions{justify-content:flex-start}.budget-planned-input{width:6.5rem}}@media (width<=640px){.responsive-table-desktop{display:none}.responsive-table-mobile,.table-card-list{display:grid}.transaction-ledger-table{display:none}.transaction-ledger-mobile{gap:.8rem;display:grid}.transaction-card{min-width:0}.transaction-card__footer{flex-wrap:wrap}.transaction-card__summary,.transaction-card__expanded-details{padding-left:.9rem;padding-right:.9rem}.transaction-card__summary{padding-top:.9rem;padding-bottom:.9rem}.transaction-card__expanded-details{padding-bottom:.9rem}.transaction-card__date-and-badges{flex:100%}.transaction-card__actions{width:100%}.table-card__footer{flex-wrap:wrap}.table-card__summary,.table-card__expanded-details{padding-left:.9rem;padding-right:.9rem}.table-card__summary{padding-top:.9rem;padding-bottom:.9rem}.table-card__expanded-details{padding-bottom:.9rem}}@media (width<=560px){.app-header__content{gap:.85rem}.page-title{font-size:1.4rem}}
