:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f7f4;--surface:#fff;--surface-muted:#eef0ea;--text:#1b1e1c;--text-muted:#4f5751;--border:#d5d9d1;--accent:#1f6b4f;--accent-soft:#dcefe5;--notice-bg:#fff6dd;--notice-border:#e3c56b;--notice-text:#4d3b00;--focus:#0b57d0;--on-accent:#fff;--input-border:#8a938c;--danger-bg:#fdecea;--danger-border:#c5402f;--danger-text:#7a1d12;--radius:12px;--nav-height:64px;--sidebar-width:232px;--gutter:16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#141615;--surface:#1d201e;--surface-muted:#252926;--text:#e9ece8;--text-muted:#aab2ab;--border:#353b37;--accent:#7fd3ac;--accent-soft:#1f3a2e;--notice-bg:#2f2812;--notice-border:#7a6420;--notice-text:#f3e3ae;--focus:#8ab4ff;--on-accent:#0d1a13;--input-border:#6f7a72;--danger-bg:#3a1713;--danger-border:#e0705f;--danger-text:#ffd5cd}}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);overflow-wrap:anywhere;margin:0}h1,h2,p,ul{margin:0}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}main:focus{outline:none}.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}.skip-link{left:var(--gutter);z-index:100;background:var(--surface);color:var(--text);border:2px solid var(--focus);border-radius:var(--radius);padding:12px 16px;position:absolute;top:-100px}.skip-link:focus{top:var(--gutter)}.app-header{padding:14px var(--gutter);border-bottom:1px solid var(--border);background:var(--surface)}.brand{overflow-wrap:normal;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:1.05rem;font-weight:650;display:flex}.primary-nav{z-index:10;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);position:fixed;inset:auto 0 0}.primary-nav ul{grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;display:grid}.nav-link{min-height:var(--nav-height);color:var(--text-muted);overflow-wrap:normal;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 2px;font-size:.75rem;font-weight:550;text-decoration:none;display:flex}.nav-link:hover{color:var(--text)}.nav-link[aria-current=page]{color:var(--accent);font-weight:700}.nav-link[aria-current=page] svg{stroke-width:2.25px}.app-main{width:100%;max-width:960px;padding:20px var(--gutter) calc(var(--nav-height) + 32px + env(safe-area-inset-bottom));flex-direction:column;gap:20px;margin:0 auto;display:flex}.preview-banner{background:var(--notice-bg);border:1px solid var(--notice-border);border-radius:var(--radius);color:var(--notice-text);padding:12px 14px;font-size:.9rem}.page-header h1{font-size:1.6rem;line-height:1.2}.page-intro{color:var(--text-muted);margin-top:6px}.section-grid{gap:16px;display:grid}.empty-state,.info-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:18px;display:flex}.empty-state{border-style:dashed}.empty-state h2,.info-section h2{font-size:1.1rem}.empty-state-body,.info-section>p{color:var(--text-muted)}.empty-state-upcoming-label{font-size:.85rem;font-weight:600}.empty-state-upcoming{color:var(--text-muted);padding-left:1.2rem;font-size:.9rem}.type-list{gap:8px;padding:0;list-style:none;display:grid}.type-list li{background:var(--surface-muted);border-radius:8px;flex-direction:column;padding:12px;display:flex}.type-list span{color:var(--text-muted);font-size:.9rem}.table-scroll{overflow-x:auto}.plan-table{border-collapse:collapse;overflow-wrap:normal;width:100%;font-size:.95rem}.plan-table td:not(.numeric){white-space:nowrap}.plan-table th,.plan-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 8px}.plan-table thead th{color:var(--text-muted);font-size:.8rem;font-weight:600}.plan-table tbody th{font-weight:550}.plan-table .numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.row-note{color:var(--text-muted);margin-top:2px;font-size:.8rem;font-weight:400;display:block}.app-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.account{align-items:center;gap:10px;min-width:0;display:flex}.account-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);font-size:.85rem;overflow:hidden}.sign-out{flex-direction:column;align-items:flex-end;display:flex}.sign-out-error{color:var(--danger-text);font-size:.8rem}@media (max-width:420px){.account-email{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute}}.button-primary,.button-secondary{min-height:44px;font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}.button-primary{border:1px solid var(--accent);background:var(--accent);width:100%;color:var(--on-accent)}.button-secondary{border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap}.button-secondary:hover{background:var(--surface-muted)}.button-primary:disabled,.button-secondary:disabled{opacity:.65;cursor:progress}.auth-shell{flex-direction:column;min-height:100vh;display:flex}.auth-header{padding:14px var(--gutter);border-bottom:1px solid var(--border);background:var(--surface)}.auth-main{padding:32px var(--gutter) 48px;flex:1;justify-content:center;align-items:flex-start;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:16px;width:100%;max-width:400px;padding:24px 20px;display:flex}.auth-card h1{font-size:1.5rem;line-height:1.2}.auth-intro{color:var(--text-muted)}.auth-form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:.95rem;font-weight:600}.field input{border:1px solid var(--input-border);background:var(--surface);min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:10px 12px;font-size:1rem}.field input[aria-invalid=true]{border-color:var(--danger-border)}.field input:disabled{background:var(--surface-muted)}.form-alert{border-radius:8px;padding:10px 12px;font-size:.95rem}.form-alert-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text)}.form-alert-success{background:var(--accent-soft);border:1px solid var(--accent);color:var(--text)}.form-alert-empty{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.auth-aside{font-size:.95rem}.button-link{width:auto}.field select{border:1px solid var(--input-border);background:var(--surface);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:10px 12px;font-size:1rem}.field select[aria-invalid=true]{border-color:var(--danger-border)}.field-help{color:var(--text-muted);font-size:.85rem}.field-error{color:var(--danger-text);font-size:.9rem;font-weight:550}.entry-form{flex-direction:column;gap:14px;display:flex}.form-grid{align-items:start;gap:14px;display:grid}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.kind-picker{border:0;margin:0;padding:0}.kind-picker legend{margin-bottom:6px;padding:0;font-size:.95rem;font-weight:600}.kind-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.kind-option{cursor:pointer;position:relative}.kind-option input{opacity:0;margin:0;position:absolute;inset:0}.kind-option span{border:1px solid var(--input-border);overflow-wrap:normal;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:8px 4px;font-size:.95rem;font-weight:600;display:flex}.kind-option input:checked+span{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.kind-option input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.button-danger{border:1px solid var(--danger-border);background:var(--danger-border);min-height:44px;color:var(--surface);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:10px 16px;font-weight:600;display:inline-flex}.button-danger:disabled{opacity:.65;cursor:progress}.button-compact{min-height:40px;padding:6px 12px;font-size:.9rem}.page-action{align-self:flex-start}.plain-list{flex-direction:column;padding:0;list-style:none;display:flex}.account-row,.entry-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;display:grid}.plain-list>li:first-child{border-top:0;padding-top:0}.plain-list>li:last-child{padding-bottom:0}.account-row-name,.entry-row-title{flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:600;display:flex}.row-meta{color:var(--text-muted);font-size:.875rem}.entry-row-note{margin-top:2px;font-size:.9rem}.account-row-balance,.entry-row-amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:650}.entry-amount-income{color:var(--accent)}.entry-amount-transfer{color:var(--text-muted)}.row-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;margin-top:6px;display:flex}.row-error,.rename-form{grid-column:1/-1}.rename-form{flex-direction:column;gap:8px;margin-top:6px;display:flex}.tag{border:1px solid var(--border);background:var(--surface-muted);color:var(--text-muted);border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:16px 18px;display:flex}.stat-label{color:var(--text-muted);font-size:.9rem;font-weight:600}.stat-value{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700}.stat-card-lead .stat-value{font-size:1.9rem;line-height:1.2}.stat-hint,.stat-note{color:var(--text-muted);font-size:.875rem}.stat-grid{gap:10px;display:grid}.month-section{flex-direction:column;gap:10px;display:flex}.month-heading-row,.section-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.month-heading-row h2{font-size:1.1rem}.inline-filter{gap:8px;display:flex}.inline-filter select{border:1px solid var(--input-border);background:var(--surface);min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:8px 10px}.budget-remaining{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:650}.budget-remaining-over{color:var(--notice-text)}.budget-bar{background:var(--surface-muted);border-radius:999px;grid-column:1/-1;height:8px;margin-top:6px;overflow:hidden}.budget-bar span{border-radius:inherit;background:var(--accent);height:100%;display:block}.budget-bar-over span{background:var(--notice-border)}.filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:10px;padding:14px 18px;display:grid}.filter-actions{align-items:flex-end;gap:8px;display:flex}.pagination{border-top:1px solid var(--border);color:var(--text-muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding-top:12px;font-size:.9rem;display:grid}.pagination a:first-child{justify-self:start}.pagination a:last-child{justify-self:end}.confirm-dialog{width:min(420px, calc(100vw - 2 * var(--gutter)));border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:20px}.confirm-dialog::backdrop{background:#00000073}.confirm-dialog h2{margin-bottom:8px;font-size:1.15rem}.confirm-warning{color:var(--text-muted);margin-top:8px;font-size:.9rem}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@media (min-width:768px){.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);grid-template-rows:auto 1fr;min-height:100vh;display:grid}.app-header{border-bottom:0;border-right:1px solid var(--border);flex-direction:column;grid-area:1/1;align-items:stretch;padding:24px 20px 12px}.account{flex-direction:column;align-items:flex-start;gap:8px}.account-email{max-width:100%;display:block}.sign-out{align-items:flex-start}.auth-main{padding-top:64px}.auth-card{padding:32px 28px}.primary-nav{border-top:0;border-right:1px solid var(--border);grid-area:2/1;padding:8px 12px;position:static}.primary-nav ul{flex-direction:column;gap:4px;display:flex}.nav-link{border-radius:10px;flex-direction:row;justify-content:flex-start;gap:12px;min-height:48px;padding:10px 12px;font-size:.95rem}.nav-link:hover{background:var(--surface-muted)}.nav-link[aria-current=page]{background:var(--accent-soft)}.app-main{grid-area:1/2/span 2;padding:32px 40px 48px}.page-header h1{font-size:2rem}.section-grid,.type-list,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.row-actions{justify-content:flex-end;margin-top:0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
