:root{--bg-primary: #0a0e27;--bg-secondary: #1a1f3a;--bg-tertiary: #0f1629;--bg-card-1: linear-gradient(135deg, #1a2f4a 0%, #1e3a52 100%);--bg-card-2: linear-gradient(135deg, #4a1a2f 0%, #521e3a 100%);--bg-card-3: linear-gradient(135deg, #1a4a2f 0%, #1e523a 100%);--bg-card-4: linear-gradient(135deg, #2d1a4a 0%, #3a1e52 100%);--bg-card-savings: linear-gradient(135deg, #1a4a2a, #1e5d3a);--bg-card-section: linear-gradient(135deg, #1a2d3a, #1f3a48);--bg-card-section-solid: #1c3441;--bg-card-form: linear-gradient(135deg, #1a3a2a, #1e523a);--bg-header: linear-gradient(135deg, #1a1f3a 0%, #2d3548 100%);--bg-card: #1e293b;--bg-input: #334155;--bg-modal-overlay: rgba(0,0,0,.9);--bg-tab: #334155;--bg-chip-unselected: #334155;--bg-tooltip: #0f172a;--bg-tag: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #9ab0c4;--placeholder-color: #8fa3b8;--text-link: #3b82f6;--border-card-1: #2d5a7b;--border-card-2: #7b2d5a;--border-card-3: #2d7b5a;--border-card-4: #5a2d7b;--border-card-savings: #2d8d5a;--bg-hero-card: linear-gradient(135deg, #1a4a3a 0%, #1e6d52 100%);--border-section: #2d5a7b;--border-input: #728ba0;--border-light: #334155;--border-tooltip: #334155;--color-income: #22c55e;--color-income-dark: #16a34a;--color-on-accent: #fff;--color-expense: #ef4444;--color-accent: #3b82f6;--color-accent2: #06b6d4;--color-warning: #f59e0b;--color-purple: #8b5cf6;--color-pink: #ec4899;--color-accent-btn: #2563eb;--color-income-btn: #15803d;--color-expense-btn: #b91c1c;--color-accent-text: #60a5fa;--color-expense-text: #f87171;--color-purple-text: #a78bfa;--color-pink-text: #f472b6;--color-accent2-text: #22d3ee;--color-income-text: #4ade80;--color-warning-text: #fbbf24;--shadow-card: 0 8px 24px rgba(0,0,0,.12);--shadow-card-hero: 0 18px 36px rgba(8, 15, 30, .22);--shadow-hover: 0 16px 32px rgba(0,0,0,.2);--shadow-focus: 0 0 0 4px rgba(6, 182, 212, .15);--insight-bg-1: linear-gradient(135deg, #1a3a4a, #1f5d5d);--insight-border-1: #2d8d8d;--insight-bg-2: linear-gradient(135deg, #4a3518, #6b4c28);--insight-border-2: #d4a030;--insight-bg-3: linear-gradient(135deg, #3a1a2a, #5d1f3d);--insight-border-3: #8d2d6d;--goal-bar-bg: #334155;--bg-main: #0a0e27;--border-card: #2d5a7b;--app-shell-stack-height: 12.1rem;--transactions-sticky-gap: .75rem;--transactions-footer-space: 6rem;--z-dropdown: 10;--z-sticky: 20;--z-overlay: 30;--z-modal: 40;--z-toast: 50;--z-pin: 60;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .4s;--ease-default: ease;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-material: cubic-bezier(.4, 0, .2, 1);--surface-border-faint: var(--surface-border-faint);--surface-border-muted: var(--surface-border-muted);--surface-border-subtle: var(--surface-border-subtle);--tint-income-xs: var(--tint-income-xs);--tint-income-sm: var(--tint-income-sm);--tint-income-md: var(--tint-income-md);--tint-expense-xs: var(--tint-expense-xs);--tint-expense-sm: var(--tint-expense-sm);--tint-expense-md: var(--tint-expense-md);--tint-accent-xs: var(--tint-accent-xs);--tint-accent-sm: var(--tint-accent-sm);--tint-accent-md: var(--tint-accent-md);--tint-warning-md: var(--tint-warning-md);--space-0: 0;--space-0_5: .125rem;--space-1: .25rem;--space-1_5: .375rem;--space-2: .5rem;--space-2_5: .625rem;--space-3: .75rem;--space-3_5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--text-2xs: .65rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-pill: 9999px}html[data-theme=light]{--bg-primary: #f0f4f8;--bg-secondary: #e2e8f0;--bg-tertiary: #f8fafc;--bg-card: #ffffff;--bg-card-1: linear-gradient(135deg, #dbeafe 0%, #e0f2fe 100%);--bg-card-2: linear-gradient(135deg, #fce7f3 0%, #fdf2f8 100%);--bg-card-3: linear-gradient(135deg, #dcfce7 0%, #ecfdf5 100%);--bg-card-4: linear-gradient(135deg, #ede9fe 0%, #f3e8ff 100%);--bg-card-savings: linear-gradient(135deg, #d1fae5, #ecfdf5);--bg-card-section: linear-gradient(135deg, #f1f5f9, #e2e8f0);--bg-card-form: linear-gradient(135deg, #ecfdf5, #d1fae5);--bg-header: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);--bg-input: #ffffff;--bg-modal-overlay: rgba(0,0,0,.5);--bg-tab: #e2e8f0;--bg-chip-unselected: #e2e8f0;--bg-tooltip: #1e293b;--bg-tag: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #3d4a59;--text-link: #2563eb;--border-card-1: #93c5fd;--border-card-2: #f9a8d4;--border-card-3: #86efac;--border-card-4: #c4b5fd;--border-card-savings: #6ee7b7;--bg-hero-card: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);--border-section: #cbd5e1;--border-input: #6b7c92;--border-light: #e2e8f0;--border-tooltip: #475569;--color-income: #15803d;--color-income-dark: #14532d;--color-on-accent: #fff;--color-expense: #b91c1c;--color-accent: #2563eb;--color-accent2: #0e7490;--color-warning: #92400e;--color-purple: #7c3aed;--color-pink: #db2777;--color-accent-btn: #2563eb;--color-income-btn: #15803d;--color-expense-btn: #b91c1c;--color-accent-text: #2563eb;--color-expense-text: #b91c1c;--color-purple-text: #7c3aed;--color-pink-text: #db2777;--color-accent2-text: #0e7490;--color-income-text: #15803d;--color-warning-text: #92400e;--shadow-card: 0 4px 12px rgba(0,0,0,.06);--shadow-card-hero: 0 12px 28px rgba(0, 0, 0, .1);--shadow-hover: 0 8px 24px rgba(0,0,0,.1);--shadow-focus: 0 0 0 4px rgba(37, 99, 235, .15);--insight-bg-1: linear-gradient(135deg, #e0f2fe, #cffafe);--insight-border-1: #67e8f9;--insight-bg-2: linear-gradient(135deg, #fef3c7, #fef9c3);--insight-border-2: #fcd34d;--insight-bg-3: linear-gradient(135deg, #fce7f3, #fdf2f8);--insight-border-3: #f9a8d4;--goal-bar-bg: #e2e8f0;--bg-main: #f0f4f8;--border-card: #cbd5e1}@media(prefers-color-scheme:light){html[data-theme=system]{--bg-primary: #f0f4f8;--bg-secondary: #e2e8f0;--bg-tertiary: #f8fafc;--bg-card: #ffffff;--bg-card-1: linear-gradient(135deg, #dbeafe 0%, #e0f2fe 100%);--bg-card-2: linear-gradient(135deg, #fce7f3 0%, #fdf2f8 100%);--bg-card-3: linear-gradient(135deg, #dcfce7 0%, #ecfdf5 100%);--bg-card-4: linear-gradient(135deg, #ede9fe 0%, #f3e8ff 100%);--bg-card-savings: linear-gradient(135deg, #d1fae5, #ecfdf5);--bg-card-section: linear-gradient(135deg, #f1f5f9, #e2e8f0);--bg-card-form: linear-gradient(135deg, #ecfdf5, #d1fae5);--bg-header: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);--bg-input: #ffffff;--bg-modal-overlay: rgba(0,0,0,.5);--bg-tab: #e2e8f0;--bg-chip-unselected: #e2e8f0;--bg-tooltip: #1e293b;--bg-tag: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #57687d;--text-link: #2563eb;--border-card-1: #93c5fd;--border-card-2: #f9a8d4;--border-card-3: #86efac;--border-card-4: #c4b5fd;--border-card-savings: #6ee7b7;--bg-hero-card: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);--border-section: #cbd5e1;--border-input: #7b8ca2;--border-light: #e2e8f0;--border-tooltip: #475569;--color-income: #15803d;--color-expense: #b91c1c;--color-accent: #2563eb;--color-accent2: #0e7490;--color-warning: #92400e;--color-purple: #7c3aed;--color-pink: #db2777;--shadow-card: 0 4px 12px rgba(0,0,0,.06);--shadow-card-hero: 0 12px 28px rgba(0, 0, 0, .1);--shadow-hover: 0 8px 24px rgba(0,0,0,.1);--shadow-focus: 0 0 0 4px rgba(37, 99, 235, .15);--insight-bg-1: linear-gradient(135deg, #e0f2fe, #cffafe);--insight-border-1: #67e8f9;--insight-bg-2: linear-gradient(135deg, #fef3c7, #fef9c3);--insight-border-2: #fcd34d;--insight-bg-3: linear-gradient(135deg, #fce7f3, #fdf2f8);--insight-border-3: #f9a8d4;--goal-bar-bg: #e2e8f0;--bg-main: #f0f4f8;--border-card: #cbd5e1;--color-income-dark: #14532d;--color-on-accent: #fff;--color-accent-btn: #2563eb;--color-income-btn: #15803d;--color-expense-btn: #b91c1c;--color-accent-text: #2563eb;--color-expense-text: #b91c1c;--color-warning-text: #92400e;--color-income-text: #15803d}}html.high-contrast{--text-secondary: var(--text-primary);--text-tertiary: var(--text-primary);--border-input: var(--text-primary);--border-section: var(--text-primary);--border-light: var(--text-primary);--border-tooltip: var(--text-primary);--shadow-focus: 0 0 0 4px rgba(248, 250, 252, .35)}html[data-theme=light].high-contrast,html[data-theme=system].high-contrast{--text-secondary: #0f172a;--text-tertiary: #0f172a;--border-input: #0f172a;--border-section: #0f172a;--border-light: #0f172a;--border-tooltip: #0f172a;--shadow-focus: 0 0 0 4px rgba(15, 23, 42, .25)}html.high-contrast :focus-visible{outline:3px solid var(--text-primary);outline-offset:2px;box-shadow:none!important}html.high-contrast .btn,html.high-contrast button,html.high-contrast input,html.high-contrast select,html.high-contrast textarea,html.high-contrast .modal-content,html.high-contrast .app-shell,html.high-contrast .nav-tab,html.high-contrast .cal-day{border-width:2px;box-shadow:none}.modal-content{background:var(--bg-card-section);border:1px solid var(--border-section);border-radius:var(--radius-xl);padding:1.5rem;max-height:calc(100vh - 2rem);overflow-y:auto;box-shadow:var(--shadow-card)}.confirm-modal,.alert-modal,.prompt-modal{width:min(100%,26rem)}.modal-header{margin-bottom:1rem}.modal-header h3{margin:0;font-size:1.5rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.modal-body{display:grid;gap:.9rem}.confirm-icon,.alert-icon{font-size:2rem;line-height:1}.confirm-message,.alert-message{font-size:.95rem;line-height:1.5;color:var(--text-secondary)}.confirm-details{padding:.85rem 1rem;border-radius:.875rem;background:color-mix(in srgb,var(--bg-input) 88%,transparent);border:1px solid var(--border-input);color:var(--text-secondary);font-size:.85rem;white-space:pre-wrap}.modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.25rem}.alert-modal .modal-actions{grid-template-columns:minmax(0,1fr)}.btn{min-height:44px;padding:.8rem 1rem;border-radius:.875rem;border:1px solid transparent;font:inherit;font-size:.95rem;font-weight:700;transition:transform var(--duration-fast) var(--ease-default),opacity var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default);box-shadow:none}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}html{box-sizing:border-box;font-family:Avenir Next,Segoe UI,Helvetica Neue,Arial,sans-serif}*,*:before,*:after{box-sizing:border-box}input[type=date]{-webkit-appearance:none;appearance:none;max-width:100%;min-width:0}html,body{height:100%;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary)}.category-chip{transition:transform var(--duration-slow) var(--ease-material),background-color var(--duration-slow) var(--ease-material),box-shadow var(--duration-slow) var(--ease-material);contain:layout style}.category-chip:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);will-change:transform}.transaction-row{animation:slideIn .4s ease;contain:layout style;background:var(--bg-card);border:1px solid var(--border-card)}.transaction-row.income-row{border-left:4px solid color-mix(in srgb,var(--color-income) 85%,white);background:linear-gradient(90deg,color-mix(in srgb,var(--color-income) 8%,var(--bg-card)) 0%,var(--bg-card) 16%)}.transaction-row.expense-row{border-left:4px solid color-mix(in srgb,var(--color-expense) 80%,white);background:linear-gradient(90deg,color-mix(in srgb,var(--color-expense) 8%,var(--bg-card)) 0%,var(--bg-card) 16%)}.transaction-row.savings-transfer-row{border-left:4px solid color-mix(in srgb,var(--border-card-savings) 85%,white);background:linear-gradient(90deg,color-mix(in srgb,var(--border-card-savings) 10%,var(--bg-card)) 0%,var(--bg-card) 16%)}.transaction-row .desktop-actions{opacity:.72;transition:opacity var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-default)}.transaction-row:hover .desktop-actions,.transaction-row:focus-within .desktop-actions{opacity:1}.transaction-row .tx-main{min-width:0;display:block}.transaction-row .tx-top{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.transaction-row .tx-info{min-width:0;flex:1 1 auto}.transaction-row .tx-aside{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;flex-shrink:0}.transaction-row .tx-amount{min-width:6.5rem;font-weight:900;font-size:1.125rem;white-space:nowrap;text-align:right}.transaction-row .income-amount,.transaction-row .expense-amount{display:inline-flex;align-items:center;justify-content:flex-end;min-height:1.85rem;padding:.2rem .6rem;border-radius:var(--radius-pill);border:1px solid transparent;letter-spacing:-.02em}.transaction-row .income-amount{color:var(--color-income-text);background:var(--tint-income-sm);border-color:color-mix(in srgb,var(--color-income) 28%,var(--border-input))}.transaction-row .expense-amount{color:var(--color-expense-text);background:var(--tint-expense-sm);border-color:color-mix(in srgb,var(--color-expense) 28%,var(--border-input))}.tx-amount-dir{font-size:.72em;margin-right:.2em;opacity:.7}.transaction-row .savings-transfer-amount{display:inline-flex;align-items:center;justify-content:flex-end;min-height:1.85rem;padding:.2rem .6rem;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--border-card-savings) 34%,var(--border-input));color:var(--border-card-savings);background:color-mix(in srgb,var(--border-card-savings) 13%,transparent);letter-spacing:-.02em}.transaction-row .tx-description{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.transaction-row .tx-description-text{min-width:0}.transaction-row .tx-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .5rem}.transaction-row .tx-goal-meta{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:var(--radius-pill);font-size:.68rem;font-weight:700;color:var(--border-card-savings);background:color-mix(in srgb,var(--border-card-savings) 12%,transparent);border:1px solid color-mix(in srgb,var(--border-card-savings) 24%,var(--border-input))}.tx-type-badge,.cat-chip,.tag-badge{flex-shrink:0;white-space:nowrap}.cat-chip{padding:2px 8px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;gap:4px}.badge-recurring{color:var(--color-accent-text)}.badge-split{color:var(--color-purple-text)}.reconcile-btn--checked{color:var(--color-income-text);background:color-mix(in srgb,var(--color-income) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-income) 32%,var(--border-input))}.reconcile-btn--unchecked{color:var(--color-accent-text);background:var(--tint-accent-sm);border:1px solid color-mix(in srgb,var(--color-accent) 30%,var(--border-input))}.split-btn{color:var(--color-purple-text);background:color-mix(in srgb,var(--color-purple) 10%,transparent)}.edit-btn{color:var(--color-accent-text);background:var(--tint-accent-xs)}.delete-btn{color:var(--color-expense-text);background:var(--tint-expense-xs)}.spinner{border:2px solid transparent;border-bottom-color:var(--color-accent)}.transaction-row--interactive{transition:transform var(--duration-normal),box-shadow var(--duration-normal);cursor:pointer}.tx-description-text{color:var(--text-primary)}.tx-type-badge{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:var(--radius-pill);font-size:.68rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;border:1px solid transparent}.tx-type-badge--income{color:var(--color-income-text);background:color-mix(in srgb,var(--color-income) 14%,transparent);border-color:color-mix(in srgb,var(--color-income) 24%,var(--border-input))}.tx-type-badge--expense{color:var(--color-expense-text);background:color-mix(in srgb,var(--color-expense) 14%,transparent);border-color:color-mix(in srgb,var(--color-expense) 24%,var(--border-input))}.tx-type-badge--transfer{color:var(--border-card-savings);background:color-mix(in srgb,var(--border-card-savings) 15%,transparent);border-color:color-mix(in srgb,var(--border-card-savings) 26%,var(--border-input))}#transaction-details summary::-webkit-details-marker{display:none}#transaction-details summary::marker{content:""}.details-toggle__indicator{display:inline-flex;align-items:center;gap:.35rem}.details-toggle__chevron{display:inline-block;transition:transform var(--duration-normal) var(--ease-default);font-size:.6rem}#transaction-details[open] .details-toggle__chevron{transform:rotate(180deg)}#transaction-details[open] .details-toggle__label{display:none}@keyframes slideIn{0%{opacity:0;transform:translate(-15px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes celebrateIn{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(80vh) rotate(720deg);opacity:0}}.insight-card{animation:fadeInUp .6s ease}.card-shadow{box-shadow:var(--shadow-card)}.hover-lift{transition:transform var(--duration-slower) var(--ease-material),box-shadow var(--duration-slower) var(--ease-material)}.hover-lift:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-color:var(--color-accent2)}input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}.stat-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1_5) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:600}.stat-positive{background:var(--tint-income-md);color:var(--color-income-text)}.stat-negative{background:color-mix(in srgb,var(--color-expense) 20%,transparent);color:var(--color-expense-text)}.stat-neutral{background:var(--tint-accent-md);color:var(--color-accent-text)}.stat-warning{background:var(--tint-warning-md);color:var(--color-warning-text)}.time-badge{display:inline-block;font-size:var(--text-2xs);font-weight:600;padding:var(--space-0_5) var(--space-2);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-secondary);margin-left:var(--space-2);vertical-align:middle}.progress-track,.goal-bar{height:6px;border-radius:3px;background:var(--goal-bar-bg);position:relative;overflow:hidden;min-width:100%}.progress-fill,.goal-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent2));transition:width var(--duration-slower) ease-out}.insight-badge{display:inline-flex;align-items:center;gap:var(--space-1_5);padding:var(--space-2) var(--space-3_5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600}.insight-up{background:color-mix(in srgb,var(--color-income) 18%,transparent);color:var(--color-income-text)}.insight-down{background:color-mix(in srgb,var(--color-expense) 18%,transparent);color:var(--color-expense-text)}.quick-shortcut{animation:fadeInUp .5s ease}.transactions-shell{--transactions-sticky-top: calc(env(safe-area-inset-top, 0px) + var(--app-shell-stack-height) + var(--transactions-sticky-gap));--transactions-form-col: minmax(19.25rem, 22.25rem);--transactions-ledger-col: minmax(0, 1fr);display:grid;gap:.85rem;min-height:0;max-width:none;width:100%;margin:0;padding-top:.1rem}.transactions-workspace-grid,.transactions-top-grid,.transactions-main-grid{display:grid;gap:.85rem;grid-template-columns:var(--transactions-form-col) var(--transactions-ledger-col)}.transactions-workspace-grid,.transactions-top-grid{align-items:stretch}.transactions-main-grid{align-items:start}.transactions-column{min-width:0;display:grid;gap:.85rem;align-content:start}.transactions-column--entry{position:relative;height:auto;grid-template-rows:auto;overflow:visible}.transactions-column--ledger{display:flex;flex-direction:column;position:sticky;top:var(--transactions-sticky-top);max-height:calc(100dvh - var(--transactions-sticky-top) - .9rem);overflow:hidden;min-height:0}.transactions-column--entry::-webkit-scrollbar-thumb,.transactions-column--ledger::-webkit-scrollbar-thumb{background:var(--surface-border-faint);border-radius:var(--radius-pill)}.transactions-entry-card{position:sticky;top:var(--transactions-sticky-top);scroll-margin-top:calc(var(--transactions-sticky-top) + .25rem);align-self:start;height:auto;min-height:0;max-height:calc(100dvh - var(--transactions-sticky-top) - .9rem);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:.82rem!important;background:var(--bg-card-form);border:1px solid var(--border-card-3);box-shadow:0 18px 34px #0f172a2e;z-index:2}.transactions-entry-header{position:relative;z-index:1;background:inherit}.transactions-entry-body{min-height:0;overflow:visible;padding-right:0;padding-bottom:0;scrollbar-gutter:auto;overscroll-behavior:auto}#transaction-form{display:block;min-height:0;overflow:visible;padding-right:0;scrollbar-gutter:auto;overscroll-behavior:auto}.transactions-entry-card--overflowing .transactions-entry-body{overflow:auto;padding-right:.18rem;padding-bottom:calc(var(--transactions-footer-space) + .6rem);scrollbar-gutter:stable;overscroll-behavior:contain}.transactions-entry-card--overflowing .transactions-entry-body::-webkit-scrollbar{width:9px}.transactions-entry-card--overflowing .transactions-entry-body::-webkit-scrollbar-thumb{background:var(--surface-border-faint);border-radius:var(--radius-pill)}.transactions-support-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;align-items:stretch;flex-shrink:0}.transactions-top-grid>.section-card,.transactions-main-grid>.section-card{min-width:0}.transactions-templates-panel{display:flex;flex-direction:column;height:100%;min-height:0}.transactions-templates-panel--collapsed{padding-bottom:.74rem!important}.transactions-templates-panel--collapsed .transactions-template-grid{display:none}.transactions-templates-panel--secondary{background:color-mix(in srgb,var(--bg-card-section-solid, #1c3441) 90%,transparent);border-color:color-mix(in srgb,var(--border-section) 72%,var(--border-input));box-shadow:0 10px 24px #0f172a14;padding:.72rem .82rem!important}.transactions-panel-head{display:flex;flex-direction:column;gap:.12rem;margin-bottom:.32rem}.transactions-panel-head--split{flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem}.transactions-template-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.transactions-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),20rem));gap:.38rem;align-content:start;flex:1 1 auto}.template-collapsed-summary{display:grid;gap:.22rem;padding:.58rem .72rem;border-radius:.78rem;border:1px dashed var(--surface-border-faint);background:color-mix(in srgb,var(--bg-input) 24%,transparent)}.template-collapsed-summary__title{margin:0;font-size:.8rem;font-weight:800;color:var(--text-primary)}.template-collapsed-summary__body{margin:0;font-size:.7rem;line-height:1.3;color:var(--text-secondary)}.template-empty-state{grid-column:1 / -1;min-height:clamp(11.5rem,28vh,15rem);display:grid;place-items:center;padding:1.15rem 1rem;border-radius:.6rem;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-input) 18%,transparent),color-mix(in srgb,var(--bg-card-section-solid, #1c3441) 76%,transparent));text-align:center;overflow:hidden}.template-empty-state>div{width:min(100%,22rem);margin-inline:auto;padding-block:.3rem}.template-empty-state .empty-state-illustration{width:108px;height:92px;margin-bottom:.82rem}.template-empty-state p.font-bold{margin:0;font-size:.96rem;letter-spacing:-.01em}.template-empty-state p.text-xs{margin-top:.45rem;font-size:.74rem;line-height:1.45;color:var(--text-secondary)!important}.template-empty-state__title{margin:0;font-size:.82rem;font-weight:800;color:var(--text-primary)}.template-empty-state__body{margin:0;font-size:.72rem;line-height:1.3;color:var(--text-secondary);max-width:38rem}.template-btn{min-height:2.75rem;max-width:18rem;padding:.45rem .6rem;border-radius:.72rem;box-shadow:inset 0 1px #ffffff08}.template-btn p:first-of-type{font-size:.76rem;line-height:1.2}.template-btn p:last-of-type{font-size:.66rem;line-height:1.25}.transactions-form-actions{position:static;z-index:1;padding-top:.65rem;padding-bottom:0;margin-top:0}.tx-submit-btn{text-transform:uppercase;letter-spacing:.5px}.tx-submit-btn--income{background:linear-gradient(135deg,var(--color-income),var(--color-income-dark, var(--color-income)))}.tx-submit-btn--expense{background:linear-gradient(135deg,var(--color-expense),color-mix(in srgb,var(--color-expense) 82%,black))}.transactions-entry-card--overflowing .transactions-form-actions{position:sticky;bottom:0;min-height:var(--transactions-footer-space);align-items:center;padding-bottom:.25rem;border-top:1px solid color-mix(in srgb,var(--border-input) 72%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-card-form) 16%,transparent) 0%,var(--bg-card-form) 22%,var(--bg-card-form) 100%)}.transactions-entry-card label,.transactions-entry-card #category-label{letter-spacing:.05em}.transactions-entry-card #amount{min-height:2.55rem;font-size:1.42rem}.transactions-entry-card #date,.transactions-entry-card #description,.transactions-entry-card #tags,.transactions-entry-card #tx-notes,.transactions-entry-card #recurring-type,.transactions-entry-card #recurring-end{min-height:2.2rem}.transactions-entry-card #tx-notes{min-height:4.1rem}.transactions-entry-card #category-chips{gap:.36rem}.transactions-entry-card .category-chip,.transactions-entry-card #inline-add-cat{min-height:3rem;border-radius:.65rem;padding:.32rem .52rem}.transactions-type-toggle{background:color-mix(in srgb,var(--bg-tab) 78%,transparent)!important;border:1px solid color-mix(in srgb,var(--border-input) 86%,transparent)}.transactions-ledger-card{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 16px 30px #0f172a1f}.transactions-ledger-card>.transactions-ledger-header,.transactions-ledger-card>#pagination-controls{flex-shrink:0}.transactions-filter-section{flex-shrink:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.transactions-filter-section::-webkit-scrollbar{width:9px}.transactions-filter-section::-webkit-scrollbar-thumb{background:var(--surface-border-faint);border-radius:var(--radius-pill)}.transactions-ledger-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap}.transactions-toolbar-stack{display:grid;justify-items:end;gap:.32rem}.transactions-toolbar-label{margin:0;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.transaction-summary-controls,.transactions-toolbar-actions{display:flex;flex-wrap:wrap;gap:.45rem .7rem;align-items:center}.transactions-toolbar-actions button{min-height:2.75rem;border:1px solid color-mix(in srgb,var(--border-input) 84%,transparent)}.transactions-toolbar-actions--tertiary button{font-size:.68rem;letter-spacing:.01em;box-shadow:none}.utilities-dropdown{position:relative}.utilities-dropdown__menu{position:absolute;right:0;top:calc(100% + 4px);z-index:50;min-width:12.5rem;max-width:calc(100vw - 1rem);background:var(--bg-card);border:1px solid var(--border-input);border-radius:var(--radius-lg);padding:.35rem;box-shadow:0 12px 28px #00000059;display:flex;flex-direction:column}.utilities-dropdown__menu.hidden{display:none}.utilities-dropdown__item{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.75rem;padding:.625rem .75rem;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-size:.8rem;font-weight:600;cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-default)}.utilities-dropdown__item:hover{background:var(--bg-input)}.utilities-dropdown__item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;background:var(--bg-input)}.utilities-dropdown__item--caution{color:var(--color-warning-text)}.utilities-dropdown__hint{margin-left:auto;align-self:center;font-size:.6rem;font-weight:500;color:var(--text-secondary);opacity:.7;white-space:nowrap}.utilities-dropdown__hint--filtered{color:var(--color-accent-text);opacity:1}.utilities-dropdown__divider{border:none;border-top:1px solid var(--border-input);margin:.5rem .75rem}@media(max-width:480px){.utilities-dropdown__menu{right:-.25rem}}.advanced-filters-toggle{background:var(--bg-tab);color:var(--text-secondary);border:1px dashed var(--surface-border-subtle);transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.advanced-filters-toggle:hover{background:var(--bg-input);border-color:var(--color-accent)}.advanced-filters-toggle[aria-expanded=true]{border-style:solid;border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,var(--bg-tab))}.date-preset-btn{background:var(--bg-input);color:var(--text-secondary);min-height:2.75rem;border:1px solid var(--border-input)}.transaction-filter-grid{display:grid;grid-template-columns:1fr minmax(0,1.2fr);gap:.4rem;align-items:end}.transaction-filter-grid label{font-size:.65rem;margin-bottom:.15rem}.transaction-filter-grid input,.transaction-filter-grid select{padding-top:.38rem;padding-bottom:.38rem;font-size:.8rem}.transaction-filter-grid__primary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}#toggle-advanced-filters{min-height:2rem;padding-top:.35rem;padding-bottom:.35rem;border-radius:.9rem;font-size:.72rem;border:1px solid var(--surface-border-faint)}#advanced-filters{margin-top:.15rem;border-radius:.9rem;border:1px solid var(--surface-border-faint);background:color-mix(in srgb,var(--bg-input) 24%,transparent)}.transaction-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .65rem;padding:.65rem}.transaction-advanced-grid>#saved-presets-section,.transaction-advanced-grid>#custom-date-range,.transaction-advanced-grid__toggles,.transaction-advanced-grid__actions,.transaction-advanced-grid__fields{grid-column:1 / -1}.transaction-advanced-grid__toggles,.transaction-advanced-grid__actions{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center}#saved-presets-list{display:grid;gap:.5rem;align-content:start}#saved-presets-list>*{border-radius:.8rem}#saved-presets-section{min-height:0}.saved-presets-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:.35rem 0}.saved-presets-details summary::-webkit-details-marker{display:none}.saved-presets-details summary:after{content:"▶";font-size:.6rem;color:var(--text-tertiary);transition:transform var(--duration-normal) var(--ease-default)}.saved-presets-details[open] summary:after{transform:rotate(90deg)}.filter-empty-state{display:grid;gap:.25rem;padding:.7rem .8rem;border-radius:.8rem;border:1px dashed var(--surface-border-muted);background:color-mix(in srgb,var(--bg-input) 22%,transparent)}#transactions-list{display:grid;gap:.7rem;flex:1;overflow-y:auto;min-height:0;overscroll-behavior:contain;padding-bottom:.5rem}#transactions-list::-webkit-scrollbar{width:9px}#transactions-list::-webkit-scrollbar-thumb{background:var(--surface-border-faint);border-radius:var(--radius-pill)}#transactions-list .transaction-row{border-radius:.9rem!important;padding:.5rem .74rem!important;gap:.6rem!important;margin-bottom:0!important}#transactions-list .swipe-content.transaction-row{margin-bottom:0!important}#transactions-list .tx-description{margin-bottom:.15rem!important}#transactions-list .tx-description-text{font-size:.9375rem;line-height:1.25}#transactions-list .tx-meta{gap:.3rem .5rem}#transactions-list .desktop-actions button,#transactions-list .reconcile-btn{min-width:2.75rem;min-height:2.75rem;border-radius:.6rem;border:1px solid var(--surface-border-muted);opacity:.68}#transactions-list .desktop-actions{gap:.35rem!important;margin-left:0!important}#transactions-list .desktop-actions button:hover,#transactions-list .desktop-actions button:focus-visible,#transactions-list .reconcile-btn:hover,#transactions-list .reconcile-btn:focus-visible{opacity:1}#transactions-list .split-btn,#transactions-list .edit-btn,#transactions-list .delete-btn{background:color-mix(in srgb,var(--bg-input) 64%,transparent)!important}#transactions-list .delete-btn{color:color-mix(in srgb,var(--color-expense) 82%,white)!important}#transactions-list .split-btn{color:color-mix(in srgb,var(--color-purple) 82%,white)!important}#transactions-list .edit-btn{color:color-mix(in srgb,var(--color-accent) 84%,white)!important}.tag-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2_5);background:var(--bg-tag);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--text-xs)}.savings-card-bg{background:var(--bg-card-savings);border:1px solid var(--border-card-savings)}.app-panel{display:flex;flex-direction:column;gap:.85rem;min-height:0}.app-panel__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start}.app-panel__intro{display:grid;gap:.3rem;min-width:0;text-align:left;justify-items:start}.app-panel__title{margin:0;line-height:1.2;text-align:left}.app-panel__title--compact{gap:.35rem}.app-panel__subtitle{margin:0;line-height:1.45;text-align:left}.app-panel__actions{display:flex;align-items:start;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.app-panel__metric{display:grid;gap:.15rem;justify-items:end;text-align:right;min-width:6.5rem}.app-panel__metric-label{margin:0;color:var(--text-secondary);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.app-panel__metric-value{margin:0;color:var(--text-primary);font-size:1.65rem;font-weight:900;letter-spacing:-.03em;line-height:1}.app-panel__body{display:grid;gap:.85rem;flex:1 1 auto;min-height:0;align-content:start}.app-panel-empty,.budget-empty-panel{display:grid;align-content:center;justify-items:center;text-align:center;gap:.35rem;min-height:8rem;color:var(--text-secondary);padding:.1rem 0}.app-panel-empty--compact,.budget-empty-panel--compact{min-height:4.35rem;align-content:center;padding:.55rem .2rem .2rem}.app-panel-empty__icon{font-size:1.75rem;line-height:1;margin-bottom:.15rem}.app-panel-empty__title{margin:0;color:var(--text-primary);font-size:.98rem;font-weight:700;line-height:1.3}.app-panel-empty__copy{margin:0;color:var(--text-tertiary);font-size:.78rem;line-height:1.45;max-width:34rem;justify-self:center}.budget-panel{height:100%;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:.85rem;padding:.95rem!important}.budget-panel-btn{min-width:0;box-shadow:0 8px 16px #0f172a1f}.budget-panel-header-actions{display:grid;gap:.75rem;justify-items:end}.budget-panel-btn--income{background:var(--color-income);color:#fff;border-color:transparent}.budget-panel-btn--expense{background:var(--color-expense);color:#fff;border-color:transparent}.budget-panel-btn--ghost{border-style:dashed}.budget-empty-panel p{margin:0}.budget-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:.55rem}.budget-stat-card{padding:.7rem;border-radius:.8rem;background:color-mix(in srgb,var(--bg-input) 72%,transparent);border:1px solid var(--border-input);min-height:4.35rem;display:flex;flex-direction:column;justify-content:space-between;text-align:center}.budget-meter{margin-top:.55rem;padding:.68rem;border-radius:.8rem;background:color-mix(in srgb,var(--bg-input) 48%,transparent);border:1px solid var(--border-input)}.budget-meter__bar{height:.8rem;border-radius:var(--radius-pill);overflow:hidden;background:var(--goal-bar-bg);margin-top:.75rem}.budget-meter__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-warning),var(--color-income));transition:width var(--duration-slower) var(--ease-default)}.debt-item-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.9rem;flex-wrap:wrap}.debt-item-actions .btn{min-width:6.5rem;min-height:2.75rem;padding-inline:.72rem;opacity:.9}.debt-summary-card{padding:.75rem .9rem;border-radius:.8rem;background:color-mix(in srgb,var(--bg-input) 92%,transparent);border:1px solid var(--surface-border-faint);border-left:3px solid var(--text-tertiary);box-shadow:inset 0 1px #ffffff08;min-height:4.5rem;display:flex;flex-direction:column;justify-content:space-between}.debt-summary-card:first-child{border-left-color:var(--color-expense-text)}.debt-summary-card:last-child{border-left-color:var(--color-accent)}.debt-summary-card__label{margin:0 0 .45rem;color:var(--text-tertiary);text-transform:uppercase;font-size:.7rem;font-weight:800;letter-spacing:.04em}.debt-summary-card__value{margin:0;color:var(--text-primary);font-size:1.45rem;font-weight:900;letter-spacing:-.02em}.debt-summary-card__value--danger{color:var(--color-expense-text)}.debt-item{background:color-mix(in srgb,var(--bg-card) 88%,transparent);border-radius:.8rem;padding:.68rem;margin-bottom:.45rem;border:1px solid var(--surface-border-muted);box-shadow:inset 0 1px #ffffff08}.debt-item__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.65rem}.debt-item__identity{display:flex;align-items:flex-start;gap:.7rem;min-width:0}.debt-item__emoji{font-size:1.25rem;line-height:1.1}.debt-item__name{display:block;color:var(--text-primary);font-size:1rem;line-height:1.2}.debt-item__type{display:block;margin-top:.2rem;color:var(--text-secondary);font-size:.8rem}.debt-item__balance-block{text-align:right;flex-shrink:0}.debt-item__balance{color:var(--color-expense-text);font-size:1.12rem;font-weight:800;letter-spacing:-.02em}.debt-item__apr{color:var(--text-secondary);font-size:.75rem;margin-top:.15rem}.debt-item__progress{margin-bottom:.45rem}.debt-item__progress-fill{transition:width var(--duration-slow) var(--ease-default)}.debt-item__stats{display:flex;justify-content:space-between;gap:.8rem;color:var(--text-secondary);font-size:.72rem}.debt-item__stats--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem .8rem}.debt-item__stats--grid .debt-item__stat{display:flex;flex-direction:column;gap:.15rem}.debt-item__stat-value--paid{color:var(--color-income-text);font-weight:700}.debt-item__stat-value--remaining{color:var(--color-expense-text);font-weight:700}.debt-item__stat-value--interest{color:var(--color-warning, #f59e0b)}.debt-item__progress-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.45rem}.debt-item__progress-row .debt-item__progress{flex:1;margin-bottom:0}.debt-item__progress-pct{font-size:.72rem;font-weight:700;color:var(--text-secondary);min-width:2.5rem;text-align:right}.savings-goal-row{display:grid;gap:.42rem;padding:.72rem .9rem;border-radius:.72rem;background:var(--bg-input);border:1px solid color-mix(in srgb,var(--border-card-savings) 40%,var(--border-input))}.savings-goal-row__head{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.savings-goal-row__title{display:inline-flex;align-items:center;gap:.45rem;min-width:0;font-size:.88rem;font-weight:800;color:var(--text-primary)}.savings-goal-row__summary{display:grid;gap:.1rem;justify-items:end;text-align:right}.savings-goal-row__status{font-size:.68rem;font-weight:800;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.savings-goal-row__amount{flex:0 0 auto;font-size:.8rem;font-weight:800;color:var(--color-income-text);text-align:right}.savings-goal-row__foot{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.savings-goal-row__meta{display:flex;flex-wrap:wrap;gap:.35rem .7rem;align-items:center;color:var(--text-tertiary);font-size:.69rem;font-weight:600}.savings-goal-row__actions{display:flex;gap:.35rem;align-items:center;justify-content:flex-end}.savings-goal-action-btn{min-width:2.75rem;min-height:2.75rem;border-radius:var(--radius-md);border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:800;transition:transform var(--duration-fast) var(--ease-default),opacity var(--duration-fast) var(--ease-default)}.savings-goal-action-btn .label{font-size:.75rem;font-weight:800;letter-spacing:.01em}.savings-goal-action-btn:hover{transform:translateY(-1px);opacity:.95}.savings-goal-action-btn--add{color:#fff;background:var(--color-income);min-width:auto;padding:0 .8rem;gap:.35rem}.savings-goal-action-btn--delete{background:transparent;border:1px solid var(--border-input);color:var(--text-tertiary);opacity:.6;transition:opacity var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.savings-goal-action-btn--delete:hover{transform:none;opacity:1;border-color:var(--color-expense-text);color:var(--color-expense-text)}.savings-goal-action-btn--confirming{opacity:1!important;background:var(--tint-expense-md)!important;border-color:var(--color-expense)!important;color:var(--color-expense)!important;font-size:.68rem;font-weight:800;padding:0 .6rem}@keyframes confirmPulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.savings-goal-emoji-btn{cursor:pointer;border:1px solid var(--border-input);background:var(--bg-input, var(--bg-primary));transition:border-color .12s ease,transform .12s ease,background .12s ease;line-height:1;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center}.savings-goal-emoji-btn:hover{border-color:var(--color-accent);transform:translateY(-1px)}.savings-goal-emoji-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.savings-goal-emoji-btn--selected{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 30%,transparent)}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;padding:1rem;background:var(--bg-modal-overlay);overflow-y:auto;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-overlay.active{display:flex}.modal-overlay--stacked{z-index:var(--z-toast)}.modal-overlay--priority{z-index:var(--z-pin)}#celebration-overlay{pointer-events:none}#celebration-overlay>.celebration-badge{pointer-events:auto}.alert-banner,#alert-banner,#backup-reminder{animation:slideIn .4s ease}#alert-banner,#backup-reminder{position:relative;z-index:var(--z-sticky)}#alert-banner>div,#backup-reminder>div{max-width:var(--app-max-width);margin-inline:auto}.inline-alert-card{display:flex;align-items:center;justify-content:space-between;gap:.9rem;padding:.85rem 1rem;border-radius:var(--radius-xl);background:color-mix(in srgb,var(--color-warning) 12%,var(--bg-card-section-solid, #1c3441));border:1px solid color-mix(in srgb,var(--color-warning) 35%,transparent);box-shadow:0 10px 24px #0f172a33}.inline-alert-card__copy{min-width:0;display:flex;align-items:flex-start;gap:.75rem}.inline-alert-card__icon{font-size:1rem;line-height:1;color:var(--color-warning-text);margin-top:.1rem}.inline-alert-card__body{min-width:0}.inline-alert-card__label{margin:0 0 .08rem;font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-warning-text)}.inline-alert-card__text{margin:0;font-size:.8rem;font-weight:700;line-height:1.25;color:var(--text-primary)}#alert-banner .inline-alert-card__body{display:flex;align-items:baseline;gap:.5rem}#alert-banner .inline-alert-card__label{margin:0;white-space:nowrap}#alert-banner .inline-alert-card__text{font-size:.78rem}.inline-alert-card__dismiss{flex-shrink:0;min-width:44px;min-height:44px;padding:.45rem .8rem;border-radius:.8rem;border:1px solid color-mix(in srgb,var(--color-warning) 38%,transparent);background:color-mix(in srgb,var(--bg-input) 82%,transparent);color:var(--color-warning-text)}.celebration-badge{animation:celebrateIn .6s cubic-bezier(.34,1.56,.64,1)}.nav-tab{padding:8px 14px;border-radius:9px;font-size:.75rem;font-weight:600;cursor:pointer;transition:background var(--duration-slow),color var(--duration-slow);border:none}.nav-tab.active{background:var(--color-accent-btn);color:var(--color-on-accent)}.nav-tab:not(.active){background:transparent;color:var(--text-secondary)}.nav-tab:not(.active):hover{background:var(--bg-tab)}.nav-tab:active{opacity:.7}.app-shell-bg{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-tertiary) 100%)}.app-shell-header{background:var(--bg-header);border-bottom:1px solid var(--border-input)}.app-shell-logo{background:linear-gradient(135deg,var(--color-accent),var(--color-accent2));box-shadow:0 4px 12px #06b6d44d}.app-shell-title{color:var(--text-primary);letter-spacing:-.5px}.app-shell-tabs-bar{background:var(--bg-tab)}.alert-banner{background:var(--tint-warning-md);border-bottom:1px solid var(--color-warning)}.backup-banner{background:var(--tint-accent-md);border-bottom:1px solid var(--color-accent)}.rollover-badge--positive{background:var(--tint-income-md);color:var(--color-income-text)}.rollover-badge--negative{background:color-mix(in srgb,var(--color-expense) 20%,transparent);color:var(--color-expense-text)}.app-shell{backdrop-filter:blur(18px);box-shadow:0 8px 18px #0f172a1a}.app-shell>.w-full{padding-top:.8rem;padding-bottom:.8rem}.app-shell-tabs{background:color-mix(in srgb,var(--bg-tab) 82%,transparent)!important;border:1px solid var(--surface-border-muted);margin-top:.6rem!important;padding:.18rem!important}.app-shell-action--secondary{background:color-mix(in srgb,var(--bg-input) 34%,transparent);color:var(--text-secondary);border:1px solid color-mix(in srgb,var(--border-input) 78%,transparent);box-shadow:none}.app-shell-action--icon{opacity:.72}.app-shell-month{border-top:1px solid var(--surface-border-subtle);margin-top:.55rem!important;padding-top:.6rem!important}.app-shell-month__label{min-width:11rem}.month-nav-btn{min-width:48px;min-height:48px;padding:7px 11px;border-radius:9px;font-weight:700;cursor:pointer;border:1px solid var(--border-input);background:color-mix(in srgb,var(--bg-input) 76%,transparent);color:var(--text-primary);transition:background var(--duration-normal),color var(--duration-normal),border-color var(--duration-normal);display:inline-flex;align-items:center;justify-content:center}.month-nav-btn:hover{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.month-nav-btn:active{opacity:.7}.touch-btn{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.date-preset-btn{cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.date-preset-btn:hover{background:color-mix(in srgb,var(--color-accent) 20%,var(--bg-input));color:var(--color-accent);border-color:var(--color-accent)}.date-preset-btn:active{transform:scale(.95)}[role=tabpanel]{opacity:0;visibility:hidden;position:absolute;width:100%;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-default)}[role=tabpanel].tab-panel-active{opacity:1;visibility:visible;position:relative;pointer-events:auto}@media(prefers-reduced-motion:reduce){[role=tabpanel]{transition:none}}button:focus-visible,.nav-tab:focus-visible,.main-tab:focus-visible,.touch-btn:focus-visible,.month-nav-btn:focus-visible,.category-chip:focus-visible,.emoji-cell:focus-visible,.emoji-tab:focus-visible,.template-btn:focus-visible,.load-preset-btn:focus-visible,.delete-preset-btn:focus-visible,.date-preset-btn:focus-visible,.swipe-action-btn:focus-visible,.pagination-btn:focus-visible,.theme-btn:focus-visible,.analytics-tab:focus-visible,.quick-shortcut:focus-visible,.insight-action-btn:focus-visible,.badge-card:focus-visible,.debt-item__details-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;position:relative;z-index:1}.hero-card button:focus-visible,[style*=dark]:focus-visible{outline:2px solid var(--color-accent2);outline-offset:2px}button:focus:not(:focus-visible){outline:none}.border-warning{border-color:var(--color-warning);box-shadow:0 0 0 3px #f59e0b1a}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--color-warning)}.field-error{color:var(--color-expense-text);font-size:.75rem;margin-top:4px;display:none}input.error,textarea.error,select.error{border-color:var(--color-expense)!important;background-color:color-mix(in srgb,var(--color-expense) 5%,transparent)}input.error:focus,textarea.error:focus,select.error:focus{outline-color:var(--color-expense);box-shadow:0 0 0 3px var(--tint-expense-xs)}.spending-pace-indicator{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;border-radius:.625rem;font-size:.8125rem;font-weight:700}.spending-pace-indicator .pace-icon{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.65rem;font-weight:700}.spending-pace-indicator.pace-under{background:color-mix(in srgb,var(--color-income) 15%,transparent);color:var(--color-income-text)}.spending-pace-indicator.pace-under .pace-icon{background:var(--color-income);color:#fff}.spending-pace-indicator.pace-on-track{background:var(--tint-warning-md);color:var(--color-warning-text)}.spending-pace-indicator.pace-on-track .pace-icon{background:var(--color-warning);color:#fff}.spending-pace-indicator.pace-over{background:color-mix(in srgb,var(--color-expense) 22%,transparent);color:var(--color-expense-text);border-left:3px solid var(--color-expense)}.spending-pace-indicator.pace-over .pace-icon{background:var(--color-expense);color:#fff;animation:pulse-alert 2s ease-in-out infinite}@keyframes pulse-alert{0%,to{opacity:1}50%{opacity:.6}}.spending-pace-indicator.pace-neutral{background:var(--bg-input);color:var(--text-secondary)}.spending-pace-indicator.pace-neutral .pace-icon{background:var(--text-secondary);color:#fff}.toast-item{position:relative;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000040;pointer-events:auto;overflow:hidden}.toast-item .undo-btn:hover{opacity:.9}.toast-item .undo-btn:active{transform:scale(.95)}.undo-timer-bar{transform-origin:left center}@keyframes undoTimer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.swipe-hint{position:absolute;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:5;animation:fadeIn var(--duration-slow) var(--ease-default)}.swipe-hint-content{text-align:center;color:#fff;padding:1rem}.swipe-hint-arrow{font-size:3rem;animation:swipeAnimation 1.5s ease-in-out infinite}@keyframes swipeAnimation{0%,to{transform:translate(0)}50%{transform:translate(-20px)}}.swipe-hint.fade-out{animation:fadeOut var(--duration-slow) var(--ease-default);opacity:0}.swipe-hint-close{margin-top:1rem;padding:.5rem 1.5rem;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}@media(min-width:768px){.swipe-hint{display:none}}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-accent{color:var(--color-accent-text)}.text-income{color:var(--color-income-text)}.text-expense{color:var(--color-expense-text)}.text-warning{color:var(--color-warning-text)}.text-purple{color:var(--color-purple)}.border-input{border-color:var(--border-input)}.bg-input{background:var(--bg-input)}.bg-primary{background:var(--bg-primary)}.badge-warning{background:var(--color-warning);color:#fff}.resize-none{resize:none}.text-secondary-uppercase{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.label-style{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.section-label{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-size:.875rem}.form-input{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-input)}.form-input-secondary{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-input)}.card-section,.modal-panel{background:var(--bg-card-section);border:1px solid var(--border-section)}html:not([data-theme=light]) .modal-panel{background:color-mix(in srgb,var(--bg-card-section-solid, #1c3441) 82%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}html:not([data-theme=light]) .utilities-dropdown__menu{background:color-mix(in srgb,var(--bg-card) 80%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}html:not([data-theme=light]) .toast-item{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@media(prefers-color-scheme:light){html:not([data-theme=dark]) .modal-panel,html:not([data-theme=dark]) .utilities-dropdown__menu,html:not([data-theme=dark]) .toast-item{backdrop-filter:none;-webkit-backdrop-filter:none}}.modal-panel--scroll{max-height:85vh;overflow-y:auto;display:flex;flex-direction:column}.settings-modal__footer{position:sticky;bottom:0;padding-top:.75rem;margin-top:1rem;background:linear-gradient(to bottom,transparent,var(--bg-card) 30%);padding-bottom:.25rem;z-index:2}.settings-modal__footer:before{content:"";position:absolute;top:-1.5rem;left:0;right:0;height:1.5rem;background:linear-gradient(to bottom,transparent,var(--bg-card));pointer-events:none}.section-header{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.border-danger{border:1px solid color-mix(in srgb,var(--color-expense) 40%,var(--border-input))}.btn-primary{background:var(--color-accent-btn);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{background:var(--bg-input);color:var(--text-secondary);border-color:var(--border-input)}.btn-secondary:hover:not(:disabled){background:var(--bg-input)}.btn-success{background:var(--color-income-btn);color:#fff}.btn-danger{background:var(--color-expense-btn);color:#fff}.btn-danger-outline{background:transparent;color:var(--color-expense-btn);border:1.5px solid var(--color-expense-btn)}.btn-success:hover:not(:disabled),.btn-danger:hover:not(:disabled),.btn-danger-outline:hover:not(:disabled){opacity:.9}.btn-sm{min-height:2.75rem;padding:.5rem .75rem;font-size:.8125rem;border-radius:var(--radius-lg)}.btn-xs{min-height:2.75rem;padding:.35rem .6rem;font-size:.75rem;border-radius:var(--radius-md)}.btn-tinted{border:none}.btn-tinted-outline.text-expense{background:var(--tint-expense-sm);color:var(--color-expense-text);border:1px solid color-mix(in srgb,var(--color-expense) 28%,transparent)}.btn-dashed{background:var(--bg-input);color:var(--text-secondary);border:1px dashed var(--border-input)}.btn-tinted.text-accent{background:color-mix(in srgb,var(--color-accent) 11%,transparent);color:var(--color-accent-text)}.btn-tinted.text-expense{background:color-mix(in srgb,var(--color-expense) 11%,transparent);color:var(--color-expense-text)}.btn-tinted.text-warning{background:color-mix(in srgb,var(--color-warning) 16%,transparent);color:var(--color-warning-text)}.btn-tinted.text-income{background:color-mix(in srgb,var(--color-income) 16%,transparent);color:var(--color-income-text)}.btn-tinted.text-purple{background:color-mix(in srgb,var(--color-purple) 11%,transparent);color:var(--color-purple-text)}.btn-tinted.text-accent2{background:color-mix(in srgb,var(--color-accent2) 11%,transparent);color:var(--color-accent2-text)}.btn-outline{background:transparent;border:1px solid var(--border-input);color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.btn-outline:hover{background:color-mix(in srgb,var(--text-secondary) 8%,transparent);border-color:var(--text-secondary);color:var(--text-primary)}.btn-ghost{background:transparent;border:none;color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease-default)}.btn-ghost:hover{color:var(--text-primary)}.btn-ghost-outline{background:transparent;color:var(--text-tertiary);border:1px dashed var(--border-input);transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.btn-ghost-outline:hover{background:color-mix(in srgb,var(--text-tertiary) 6%,transparent);border-color:var(--text-secondary);color:var(--text-secondary)}.input-pin-code{background:var(--bg-input);color:var(--text-primary);border:2px solid var(--border-input);letter-spacing:8px}.input-pin-code:focus{border-color:var(--color-accent);outline:none}.callout-warning{background:var(--tint-warning-md)}.card-surface{background:var(--bg-card-section);border:1px solid var(--border-section)}.chip-category{background:color-mix(in srgb,var(--cat-color, var(--text-tertiary)) 12%,transparent);border:2px solid var(--cat-color, var(--text-tertiary));color:var(--cat-color, var(--text-tertiary));font-weight:600}.strategy-grid{display:grid;gap:1rem}.strategy-card{background:var(--bg-card-section);padding:1rem;border-radius:.75rem;border-left:4px solid var(--border-section)}.strategy-card--snowball{border-left-color:var(--color-accent)}.strategy-card--avalanche{border-left-color:var(--color-income)}.strategy-card h4{margin:0 0 .5rem}.strategy-card__desc{font-size:.875rem;color:var(--text-secondary);margin-bottom:.75rem}.strategy-row{display:flex;justify-content:space-between}.strategy-savings{text-align:center;padding:.75rem;border-radius:.5rem}.strategy-savings--positive{background:var(--tint-income-sm)}.strategy-savings--negative{background:color-mix(in srgb,var(--color-warning) 12%,transparent)}.payoff-order-row{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0}button{cursor:pointer}.bg-accent-light{background:var(--tint-accent-md);color:var(--color-accent-text)}.bg-warning-light{background:var(--tint-warning-md);color:var(--color-warning-text)}.bg-expense-light{background:var(--tint-expense-md);color:var(--color-expense-text)}.bg-purple-light{background:color-mix(in srgb,var(--color-purple) 15%,transparent);color:var(--color-purple-text)}.skip-nav{position:absolute;top:-100%;left:1rem;z-index:var(--z-pin);padding:.75rem 1.5rem;background:var(--color-accent-btn);color:#fff;border-radius:0 0 .5rem .5rem;font-weight:600;font-size:.875rem;text-decoration:none;transition:top var(--duration-normal) var(--ease-default)}.skip-nav:focus{top:0;outline:2px solid var(--text-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.empty-state-cta{cursor:pointer;box-shadow:0 2px 8px #0003;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center}.empty-state-cta:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;opacity:.9}.empty-state-cta:active{transform:translateY(0)}.load-preset-btn{cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.load-preset-btn:hover{background:color-mix(in srgb,var(--color-accent) 20%,var(--bg-input));color:var(--color-accent);border-color:var(--color-accent)}.delete-preset-btn{cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.delete-preset-btn:hover{opacity:.7}.filter-collapsible{max-height:0;opacity:0;overflow:hidden;transition:max-height var(--duration-slow) var(--ease-material),opacity var(--duration-normal) var(--ease-default)}.filter-collapsible.expanded{max-height:600px;opacity:1}#filter-chevron{transition:transform var(--duration-normal) var(--ease-default)}#filter-chevron.rotated{transform:rotate(180deg)}#toggle-advanced-filters:hover{background:var(--bg-input)}#toggle-advanced-filters:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.swipe-container{position:relative;overflow:hidden;touch-action:pan-y;border-radius:var(--radius-md)}.swipe-content{position:relative;z-index:2;transition:transform var(--duration-slow) cubic-bezier(.25,.46,.45,.94)}.swipe-content.swiping{transition:none}.swipe-actions-left,.swipe-actions-right{position:absolute;top:0;height:100%;display:flex;align-items:center;gap:4px;padding:0 12px;z-index:1}.swipe-actions-left{right:0;background:var(--bg-primary);justify-content:flex-end}.swipe-actions-right{left:0;background:var(--bg-primary);justify-content:flex-start}.swipe-action-btn{min-width:60px;min-height:52px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.625rem;font-weight:600;color:#fff;opacity:0;transform:scale(.8);transition:opacity var(--duration-normal),transform var(--duration-normal);cursor:pointer;border:none}.swipe-action-btn.edit-swipe-btn{background:var(--color-accent2)}.swipe-action-btn.delete-swipe-btn{background:var(--color-expense)}.swipe-action-btn.reconcile-swipe-btn{background:var(--color-income)}.swipe-action-btn.split-swipe-btn{background:var(--color-purple)}.swipe-action-btn.notes-swipe-btn{background:var(--color-warning)}.swipe-container.revealed-left .swipe-actions-left .swipe-action-btn,.swipe-container.revealed-right .swipe-actions-right .swipe-action-btn{opacity:1;transform:scale(1)}.swipe-action-btn .swipe-icon{font-size:1.25rem}@keyframes springBack{0%{transform:translate(var(--swipe-offset, 0))}50%{transform:translate(calc(var(--swipe-offset, 0) * -.1))}to{transform:translate(0)}}.swipe-content.spring-back{animation:springBack .4s cubic-bezier(.34,1.56,.64,1)}@media(max-width:767px){.swipe-container .transaction-row .desktop-actions{display:none}.swipe-container:focus-within .transaction-row .desktop-actions,.transaction-row:focus-within .desktop-actions{display:flex;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:5;background:var(--bg-card);padding:.25rem;border-radius:var(--radius-md);gap:.25rem}}@media(min-width:768px){.swipe-actions-left,.swipe-actions-right{display:none}}#emoji-picker-dropdown{max-height:220px;overflow-y:auto}.emoji-tab{padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default);background:var(--bg-input);color:var(--text-secondary);border:1px solid transparent}.emoji-tab.active{background:var(--color-accent);color:#fff}.emoji-tab:hover:not(.active){background:var(--bg-tab)}.emoji-cell{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;border-radius:6px;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default);border:none;background:transparent}.emoji-cell:hover{background:var(--bg-tab);transform:scale(1.15)}.emoji-cell.selected{background:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.empty-state-illustration{width:120px;height:100px;margin:0 auto 1rem;position:relative}.illustration-no-transactions .wallet{width:60px;height:40px;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent2) 100%);border-radius:8px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #3b82f64d;animation:walletFloat 3s ease-in-out infinite}.illustration-no-transactions .wallet:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:20px;height:4px;background:#ffffff80;border-radius:2px}.illustration-no-transactions .coin{position:absolute;width:16px;height:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-warning) 80%,#fff) 0%,var(--color-warning) 100%);border-radius:50%;box-shadow:inset 0 2px 4px #fff6}.illustration-no-transactions .coin:nth-child(2){top:15px;left:20px;animation:coinFloat 2s ease-in-out infinite var(--duration-normal)}.illustration-no-transactions .coin:nth-child(3){top:25px;right:25px;animation:coinFloat 2s ease-in-out infinite .5s}.illustration-no-transactions .coin:nth-child(4){bottom:15px;left:35px;animation:coinFloat 2s ease-in-out infinite .8s}@keyframes walletFloat{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-8px)}}@keyframes coinFloat{0%,to{transform:translateY(0) rotate(0);opacity:.7}50%{transform:translateY(-12px) rotate(180deg);opacity:1}}.illustration-no-results .magnifier{width:50px;height:50px;border:4px solid var(--color-accent);border-radius:50%;position:absolute;left:35px;top:15px;animation:magnifierPulse 2s ease-in-out infinite}.illustration-no-results .magnifier:after{content:"?";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:1.5rem;font-weight:800;color:var(--text-tertiary);animation:questionBlink 1.5s ease-in-out infinite}.illustration-no-results .handle{width:20px;height:4px;background:var(--color-accent);position:absolute;right:25px;bottom:30px;transform:rotate(45deg);border-radius:2px}@keyframes magnifierPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes questionBlink{0%,to{opacity:.5}50%{opacity:1}}.illustration-no-goals .target-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:3px solid}.illustration-no-goals .target-ring:nth-child(1){width:60px;height:60px;border-color:var(--color-expense-text)}.illustration-no-goals .target-ring:nth-child(2){width:40px;height:40px;border-color:var(--color-warning)}.illustration-no-goals .target-ring:nth-child(3){width:20px;height:20px;border-color:var(--color-income-text);background:var(--color-income)}.illustration-no-goals .arrow{position:absolute;width:40px;height:3px;background:var(--color-accent);right:10px;top:30px;transform-origin:right center;animation:arrowAim 2.5s ease-in-out infinite}.illustration-no-goals .arrow:before{content:"";position:absolute;right:-2px;top:-4px;border:5px solid transparent;border-left:8px solid var(--color-accent)}@keyframes arrowAim{0%,to{transform:translate(30px) rotate(-5deg);opacity:0}20%{opacity:1}40%{transform:translate(0) rotate(0);opacity:1}50%{transform:translate(-5px) rotate(0)}to{transform:translate(0) rotate(0);opacity:0}}.illustration-no-recurring .calendar{width:50px;height:55px;background:var(--bg-card);border:2px solid var(--border-section);border-radius:8px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:hidden}.illustration-no-recurring .calendar-header{height:14px;background:var(--color-purple)}.illustration-no-recurring .calendar-dots{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px}.illustration-no-recurring .calendar-dot{width:6px;height:6px;background:var(--text-tertiary);border-radius:2px}.illustration-no-recurring .repeat-icon{position:absolute;right:20px;bottom:15px;font-size:1.5rem;color:var(--color-warning-text);animation:repeatSpin 2s linear infinite}@keyframes repeatSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.template-btn{cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.template-btn:hover{background:color-mix(in srgb,var(--color-purple) 15%,var(--bg-input));border-color:var(--color-purple)}.delete-template-btn{cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.delete-template-btn:hover{opacity:.7}.dashboard-insight-copy{display:grid;gap:.85rem}.dashboard-insight-text{margin:0}.insight-action-btn{cursor:pointer;transition:transform var(--duration-fast) var(--ease-default),opacity var(--duration-fast) var(--ease-default);display:inline-flex;align-items:center;justify-content:center;align-self:stretch;width:100%;min-height:2rem;padding:.45rem .75rem;border:none;border-radius:var(--radius-lg);font-size:.75rem;font-weight:700;line-height:1;box-shadow:0 8px 18px #0f172a2e;background:var(--color-accent);color:#fff}.insight-action-btn:hover{transform:translate(2px);opacity:.9}.badge-card{width:80px;text-align:center;padding:12px 4px;border-radius:12px;transition:transform var(--duration-slow),box-shadow var(--duration-slow)}.badge-card.earned{background:var(--tint-warning-md)}.badge-card.locked{background:var(--bg-input);opacity:.6;filter:grayscale(.8)}.backup-banner{padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem}.priority-high{background:var(--tint-expense-md);border:1px solid var(--color-expense)}.priority-medium{background:color-mix(in srgb,var(--color-warning, #f59e0b) 15%,transparent);border:1px solid var(--color-warning, #f59e0b)}.priority-low{background:var(--tint-accent-xs);border:1px solid var(--border-card)}.onboarding-overlay{position:fixed;inset:0;z-index:var(--z-overlay);display:none;pointer-events:none}.onboarding-overlay.active{display:block;pointer-events:auto;opacity:1;transition:opacity var(--duration-normal, .25s) var(--ease-default, ease)}.onboarding-overlay.active.dismissing{opacity:0;pointer-events:none}.onboarding-overlay.modal-overlay{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.onboarding-overlay--centered .onboarding-backdrop{opacity:1}.onboarding-overlay--targeted .onboarding-backdrop{opacity:0}.onboarding-backdrop{position:absolute;inset:0;background:#070d198c;transition:opacity var(--duration-slow) var(--ease-default)}.onboarding-spotlight{position:absolute;pointer-events:none;z-index:1;transition:all var(--duration-slower) var(--ease-material)}.onboarding-spotlight.active{box-shadow:0 0 0 9999px #070d1999;border-radius:12px}.onboarding-tooltip{position:absolute;max-width:380px;width:90%;z-index:2;background:var(--bg-card-section);border:2px solid var(--color-accent);border-radius:16px;padding:24px;box-shadow:0 12px 40px #00000059,0 0 0 1px var(--border-section);opacity:0}.onboarding-tooltip.visible{animation:onboardTooltipFadeIn var(--duration-slower) var(--ease-material) forwards}@keyframes onboardTooltipFadeIn{0%{opacity:0}to{opacity:1}}.onboarding-tooltip:focus{outline:2px solid var(--color-accent);outline-offset:-2px}.onboard-emoji{font-size:2.25rem;line-height:2.5rem;margin-bottom:.75rem}.onboard-title{font-size:1.25rem;font-weight:900;color:var(--text-primary);margin:0 0 .375rem}.onboard-body{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin:0 0 1.25rem}.onboard-footer{display:flex;align-items:center;justify-content:space-between}.onboard-dots{display:flex;gap:5px;align-items:center}.onboard-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--text-tertiary);opacity:.25;transition:all var(--duration-slow) var(--ease-default)}.onboard-dot--done{background:var(--color-accent);opacity:.7;transform:scale(1.1)}.onboard-dot--active{width:24px;background:var(--color-accent);opacity:1}.onboard-actions{display:flex;gap:.5rem;align-items:center}.onboard-skip-btn{padding:.625rem 1rem;min-height:2.75rem;font-size:.75rem;font-weight:700;color:var(--text-tertiary);background:none;border:none;cursor:pointer;transition:color var(--duration-normal) var(--ease-default);display:inline-flex;align-items:center}.onboard-skip-btn:hover{color:var(--text-primary)}@keyframes onboarding-pulse{0%,to{box-shadow:0 0 #3b82f6b3}50%{box-shadow:0 0 0 12px #3b82f600}}.onboarding-highlight{position:relative;z-index:3;animation:onboarding-pulse 2s ease-in-out infinite;border-radius:8px}.streak-widget{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:.8125rem;font-weight:700;background:var(--tint-warning-md);color:var(--color-warning-text)}.pin-overlay{position:fixed;inset:0;z-index:var(--z-pin);display:none;align-items:center;justify-content:center;background:var(--bg-primary)}.pin-overlay.active{display:flex}.confetti-particle{position:fixed;width:10px;height:10px;border-radius:2px;animation:confetti 2s ease-out forwards;pointer-events:none;z-index:var(--z-toast)}svg text{font-family:Avenir Next,Segoe UI,Helvetica Neue,Arial,sans-serif}svg{display:block;max-width:100%;height:auto}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-input);border-radius:3px}.section-card{border-radius:.9rem;padding:.95rem;box-shadow:var(--shadow-card);background:var(--bg-card-section);border:1px solid var(--border-section);overflow:hidden}#app>main{padding-top:1.1rem}.split-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;margin-bottom:8px}.hero-dashboard-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:1024px){.hero-dashboard-grid{grid-template-columns:2.3fr 1fr;gap:1rem;align-items:stretch}.dashboard-chart-row-card{height:13.5rem}}@media(min-width:768px)and (max-width:1023px){.hero-dashboard-grid{grid-template-columns:1fr 1fr;gap:1rem}}.dashboard-welcome{padding:2.5rem 1rem 2rem}.dashboard-welcome.hidden{display:none}.dashboard--welcome-active>*:not(#dashboard-welcome){display:none!important}.dashboard--welcome-active>#dashboard-welcome{display:block!important}.dashboard-welcome__inner{max-width:28rem;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem}.dashboard-welcome__illustration{margin-bottom:.5rem}.dashboard-welcome__harbor{position:relative;width:120px;height:80px;display:flex;align-items:flex-end;justify-content:center}.dashboard-welcome__boat{font-size:3rem;line-height:1;display:block;animation:welcomeBoatBob 3s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.dashboard-welcome__waves{position:absolute;bottom:0;left:0;right:0;height:14px;border-radius:50% 50% 0 0/100% 100% 0 0;background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-accent2) 50%,var(--color-accent) 100%);opacity:.35;animation:welcomeWaves 4s ease-in-out infinite}@keyframes welcomeBoatBob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}@keyframes welcomeWaves{0%,to{transform:scaleX(1) translateY(0)}50%{transform:scaleX(1.08) translateY(-2px)}}.dashboard-welcome__title{font-size:1.35rem;font-weight:800;color:var(--text-primary);margin:0;line-height:1.25}.dashboard-welcome__copy{font-size:.88rem;color:var(--text-secondary);line-height:1.55;margin:0;max-width:24rem}.dashboard-welcome__actions{display:flex;gap:.6rem;margin-top:.75rem;flex-wrap:wrap;justify-content:center}.dashboard-welcome__btn{padding:.6rem 1.25rem;border-radius:var(--radius-lg);font-size:.85rem;font-weight:700;border:none;cursor:pointer;transition:transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.dashboard-welcome__btn:active{transform:scale(.97)}.dashboard-welcome__btn--primary{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent2) 100%);color:var(--color-on-accent);box-shadow:0 4px 14px #3b82f64d}.dashboard-welcome__btn--primary:hover{box-shadow:0 6px 20px #3b82f666}.dashboard-welcome__btn--secondary{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-input)}.dashboard-welcome__btn--secondary:hover{color:var(--text-primary);border-color:var(--text-tertiary)}.dashboard-welcome__hint{font-size:.72rem;color:var(--text-tertiary);margin:.5rem 0 0;opacity:.75}.hero-card{position:relative;overflow:hidden;min-height:280px}.dashboard-hero-card{background:var(--bg-hero-card);border:2px solid var(--border-card-savings)}.hero-kpi-amount{color:var(--color-income-text);line-height:1}.hero-pace-track{background:#0f172a59}html[data-theme=light] .hero-pace-track{background:#0f172a1a}.hero-pace-fill{width:0%;background:var(--color-income)}.hero-pace-panel{padding:.6rem .8rem;border-radius:.9rem;background:#0f172a2e;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px)}.hero-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.hero-action-btn{min-height:2.75rem;border:1px solid transparent;border-radius:var(--radius-lg);padding:.8rem 1rem;font:inherit;font-size:.85rem;font-weight:800;letter-spacing:.01em;transition:transform var(--duration-fast) var(--ease-default),opacity var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.hero-action-btn:hover:not(:disabled){transform:translateY(-1px);opacity:.95}.hero-action-btn--primary{background:#ffffff24;color:var(--text-primary);border-color:#ffffff24;box-shadow:0 10px 20px #0f172a2e}.hero-action-btn--secondary{background:transparent;color:var(--text-secondary);border-color:#ffffff1f}.hero-card[data-hero-state=setup]{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--border-card-savings))}.hero-card[data-hero-state=estimate]{border-color:color-mix(in srgb,var(--color-warning) 40%,var(--border-card-savings))}.hero-card[data-hero-state=warning]{border-color:color-mix(in srgb,var(--color-warning) 65%,var(--border-card-savings))}.hero-card[data-hero-state=over]{border-color:color-mix(in srgb,var(--color-expense) 70%,var(--border-card-savings))}.hero-card[data-hero-state=future]{border-color:color-mix(in srgb,var(--color-accent2) 55%,var(--border-card-savings))}.dashboard-analytics-grid{align-items:stretch;gap:.8rem!important}.dashboard-analytics-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-card-section-solid, #1c3441) 92%,transparent),color-mix(in srgb,var(--bg-card) 40%,transparent));border-color:color-mix(in srgb,var(--color-accent) 20%,var(--border-section));min-height:0}.dashboard-analytics-secondary{background:color-mix(in srgb,var(--bg-card-section-solid, #1c3441) 88%,transparent);border-color:color-mix(in srgb,var(--border-section) 82%,var(--border-input));box-shadow:0 8px 22px #0f172a1f;min-height:0}.dashboard-chart-row-card{display:flex;flex-direction:column;height:100%;min-height:13.5rem}.dashboard-analysis-panel{border-radius:.8rem;padding:.78rem;background:color-mix(in srgb,var(--bg-input) 46%,transparent);border:1px solid var(--border-input);box-shadow:inset 0 1px #ffffff05}.hero-card:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(34,197,94,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none}.hero-card:after{content:"";position:absolute;bottom:-30%;left:-10%;width:250px;height:250px;background:radial-gradient(circle,rgba(6,182,212,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}.hero-sidebar-panel{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-xl);padding:.65rem;display:flex;flex-direction:column;gap:.45rem;height:100%}.hero-sidebar-panel__heading{text-transform:uppercase;letter-spacing:.06em;font-size:.65rem;font-weight:700;color:var(--text-tertiary);margin:0;padding:.15rem .3rem}.hero-sidebar{display:flex;flex-direction:column;gap:.45rem;flex:1}.hero-sidebar--compact{height:100%}.hero-sidebar--compact .dashboard-support-card{min-height:0;flex:1 1 0;display:flex;flex-direction:column;justify-content:space-between}.dashboard-support-card{box-shadow:none;padding:.75rem .85rem!important;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.dashboard-support-card__top{margin-bottom:.25rem!important}.dashboard-analytics-primary,.dashboard-analytics-secondary{padding:.78rem!important}.dashboard-chart-row-card .app-panel__header{margin-bottom:.55rem!important;gap:.65rem;align-items:flex-start}#trend-chart-container{min-height:0;display:grid;gap:.35rem}#trend-chart-container svg{max-height:108px}#donut-chart-container{min-height:0}.dashboard-category-breakdown{align-items:flex-start;min-height:0}.dashboard-category-breakdown__legend{display:grid;grid-template-columns:.75rem auto minmax(3rem,1fr) auto auto auto auto;gap:.35rem .45rem;align-items:center}.donut-legend-emoji{font-size:.8rem;line-height:1}.dashboard-category-breakdown__row{display:contents;line-height:1.2;font-size:.75rem}.dashboard-breakdown-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;width:100%}.dashboard-breakdown-header .app-panel__title{margin-bottom:0}.dashboard-breakdown-header .app-panel__intro{gap:.18rem}.dashboard-analytics-link{background:none;border:none;padding:0;font:inherit;color:var(--color-accent-text);cursor:pointer;white-space:nowrap;transition:opacity .15s ease}.dashboard-analytics-link:hover,.dashboard-analytics-link:focus-visible{opacity:.8;text-decoration:underline}.dashboard-breakdown-help{position:relative;flex-shrink:0}.dashboard-breakdown-help__toggle{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--border-input) 84%,transparent);background:color-mix(in srgb,var(--bg-input) 82%,transparent);color:var(--text-tertiary);cursor:pointer;font-size:.76rem;font-weight:800;transition:border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.dashboard-breakdown-help__toggle::-webkit-details-marker{display:none}.dashboard-breakdown-help__toggle:hover,.dashboard-breakdown-help[open] .dashboard-breakdown-help__toggle{color:var(--text-primary);border-color:color-mix(in srgb,var(--color-accent) 40%,var(--border-input));background:color-mix(in srgb,var(--color-accent) 16%,var(--bg-input))}.dashboard-breakdown-help__toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--color-accent) 72%,white);outline-offset:2px}.dashboard-breakdown-help__popover{position:absolute;top:calc(100% + .55rem);right:0;z-index:var(--z-dropdown);width:min(18rem,calc(100vw - 2rem));display:grid;gap:.5rem;padding:.8rem .9rem;border-radius:.95rem;border:1px solid color-mix(in srgb,var(--border-input) 92%,transparent);background:color-mix(in srgb,var(--bg-card) 94%,black 6%);box-shadow:0 18px 42px #0f172a5c;color:var(--text-secondary);font-size:.72rem;line-height:1.45}.dashboard-breakdown-help__popover p{margin:0}.dashboard-breakdown-help__heading{color:var(--text-primary);font-size:.74rem;font-weight:800}.dashboard-category-breakdown__share,.dashboard-category-breakdown__mom,.dashboard-category-breakdown__status-cell{white-space:nowrap;min-width:0}.dashboard-category-breakdown__share{min-width:2rem}.dashboard-category-breakdown__mom{min-width:2.6rem}.dashboard-category-breakdown__status-cell{min-width:2.8rem;display:flex;justify-content:flex-end}.dashboard-category-breakdown__status{display:inline-flex;align-items:center;justify-content:center;padding:.18rem .44rem;border-radius:var(--radius-pill);font-size:.58rem;font-weight:800;letter-spacing:.02em;white-space:nowrap;border:1px solid transparent}.dashboard-category-breakdown__status--positive{color:var(--color-income-text);background:color-mix(in srgb,var(--color-income) 16%,transparent);border-color:color-mix(in srgb,var(--color-income) 32%,transparent)}.dashboard-category-breakdown__status--warning{color:var(--color-warning-text);background:color-mix(in srgb,var(--color-warning) 16%,transparent);border-color:color-mix(in srgb,var(--color-warning) 32%,transparent)}.dashboard-trend-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.38rem}.dashboard-trend-metric{min-width:0;padding:.45rem .55rem;border-radius:.72rem;background:color-mix(in srgb,var(--bg-input) 58%,transparent);border:1px solid var(--surface-border-faint);text-align:center}.dashboard-trend-metric__label{display:block;margin-bottom:.15rem;color:var(--text-tertiary);font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.dashboard-trend-metric__value{display:block;color:var(--text-primary);font-size:.84rem;font-weight:800;line-height:1.15;white-space:nowrap}.dashboard-trend-svg{max-height:6.5rem}.dashboard-trend-legend{display:flex;gap:.7rem;justify-content:center;margin-top:-.2rem;font-size:.72rem}#donut-chart-container{display:flex;align-items:center}#donut-chart-container>div{width:100%}.dashboard-category-breakdown{gap:.65rem}.dashboard-category-breakdown svg{flex-shrink:0}@media(max-width:767px){.dashboard-breakdown-help__popover{right:-.2rem;width:min(16.8rem,calc(100vw - 1.5rem))}.dashboard-category-breakdown__legend{gap:.3rem .35rem}.budget-health-layout{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.budget-health-gauge{width:14rem}.budget-health-summary{justify-items:center}.budget-health-remaining{font-size:.88rem}.budget-health-note{max-width:none}}.insight-card{min-height:8.3rem;display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--radius-xl);padding:1rem}.insight-card__label{text-transform:uppercase}.insight-card__label--trend{color:var(--color-accent2-text)}.insight-card__label--forecast{color:var(--color-warning-text)}.insight-card__label--action{color:var(--color-pink-text)}.insight-card--trend{background:var(--insight-bg-1);border:1px solid var(--insight-border-1)}.insight-card--forecast{background:var(--insight-bg-2);border:1px solid var(--insight-border-2)}.insight-card--action{background:var(--insight-bg-3);border:1px solid var(--insight-border-3)}.insight-card.hover-lift{transition:transform var(--duration-slow) var(--ease-default),box-shadow var(--duration-slow) var(--ease-default),filter var(--duration-slow) var(--ease-default)}.insight-card.hover-lift:hover{filter:brightness(1.1)}.insight-card--trend.hover-lift:hover{box-shadow:var(--shadow-hover),0 0 18px #2d8d8d59}.insight-card--forecast.hover-lift:hover{box-shadow:var(--shadow-hover),0 0 18px #d4a03059}.insight-card--action.hover-lift:hover{box-shadow:var(--shadow-hover),0 0 18px #8d2d6d59}.dashboard-section-heading{display:grid;gap:.28rem}.dashboard-section-heading p{margin:0;max-width:54ch}#insights-dashboard .insight-card{padding:.95rem!important;justify-items:stretch}#insights-dashboard [id^=insight-]{display:block;width:100%;min-width:0;justify-self:stretch;align-self:stretch}.dashboard-insight-copy{display:grid;gap:.65rem;width:100%;min-width:0;justify-self:stretch}.dashboard-insight-text{margin:0;line-height:1.5;text-align:center}.insight-action-btn{align-self:stretch;width:100%;min-height:2.75rem;padding:.52rem .8rem;border-radius:var(--radius-lg);border:1px solid transparent;font:inherit;font-size:.76rem;font-weight:800;box-shadow:0 8px 18px #0f172a24}.hero-guidance{display:grid;gap:.42rem;background:#ffffff0d;border-left:3px solid var(--color-accent);border-radius:0 .5rem .5rem 0;padding:.65rem .85rem;margin-top:.25rem;transition:border-color var(--duration-slow) var(--ease-default),background var(--duration-slow) var(--ease-default)}.hero-guidance--positive{border-left-color:var(--color-income-text);background:color-mix(in srgb,var(--color-income) 6%,transparent)}.hero-guidance--warning{border-left-color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 8%,transparent)}.hero-guidance--danger{border-left-color:var(--color-expense-text);background:color-mix(in srgb,var(--color-expense) 8%,transparent)}.hero-guidance__pace{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.1rem}.hero-guidance__pace-icon{width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:.55rem;font-weight:700;color:#fff}.hero-guidance--warning .hero-guidance__pace{color:var(--color-warning-text)}.hero-guidance--warning .hero-guidance__pace-icon{background:var(--color-warning)}.hero-guidance--danger .hero-guidance__pace{color:var(--color-expense-text)}.hero-guidance--danger .hero-guidance__pace-icon{background:var(--color-expense);animation:pulse-alert 2s ease-in-out infinite}.hero-guidance__label{margin:0;text-align:left;letter-spacing:.06em;opacity:.82}.hero-guidance__text{margin:0;line-height:1.45}#trend-range-selector{align-self:flex-start;background:var(--bg-tab);box-shadow:inset 0 1px #ffffff05}#trend-range-selector .trend-range-btn{min-width:2.75rem;min-height:2.75rem;color:var(--text-secondary);background:#ffffff0f;transition:background var(--duration-normal) var(--ease-default),color var(--duration-normal) var(--ease-default)}#trend-range-selector .trend-range-btn:hover:not(.active){background:#ffffff1a}#trend-range-selector .trend-range-btn.active{box-shadow:0 6px 14px #3b82f62e}@media(max-width:767px){.hero-card{min-height:auto;padding:1.5rem}.dashboard-trend-summary{grid-template-columns:1fr}#hero-daily-amount{font-size:3rem}.hero-sidebar>div{padding:1rem}.app-shell-month__label{min-width:0}.hero-action-row,.budget-stat-grid,.savings-goal-row__head{grid-template-columns:1fr}.savings-goal-row__head,.savings-goal-row__foot{display:grid}.savings-goal-row__actions{justify-content:flex-start}.debt-item-actions .btn{min-width:0;flex:1 1 10rem}.debt-item__header{display:grid}.debt-item__stats--grid{grid-template-columns:repeat(2,1fr)}.debt-item__balance-block{text-align:left}}@media(max-width:420px){.debt-item__stats--grid{grid-template-columns:1fr}}#hero-daily-amount{transition:color var(--duration-slow) var(--ease-default)}#hero-daily-amount.negative{color:var(--color-expense-text)}#hero-daily-amount.warning{color:var(--color-warning-text)}.del-custom-cat,.del-split-row{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.summary-amount{transition:opacity var(--duration-fast) var(--ease-default)}.calendar-tab-layout{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.calendar-tab-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr);gap:1.5rem;align-items:start}.calendar-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.calendar-summary-card{padding:1rem 1.1rem;border-radius:var(--radius-xl);background:var(--bg-card);border:1px solid var(--border-card);min-height:6.75rem;text-align:center}.calendar-summary-card__label{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:.45rem}.calendar-summary-card__value{font-size:1.8rem;font-weight:900;line-height:1;color:var(--text-primary);margin-bottom:.55rem}.calendar-summary-card__value--small{font-size:1.05rem;line-height:1.2}.calendar-summary-card__meta{font-size:.78rem;color:var(--text-secondary);line-height:1.45}.calendar-detail-card{min-height:100%}.calendar-detail-panel{border-radius:var(--radius-xl);background:var(--bg-card);border:1px solid var(--border-card);padding:1rem}.calendar-detail-empty{padding:1rem;border-radius:var(--radius-xl);background:var(--bg-card);border:1px dashed var(--border-input)}.calendar-detail-empty__title{font-size:.95rem;font-weight:800;color:var(--text-primary);margin-bottom:.35rem}.calendar-detail-empty__body{font-size:.8rem;color:var(--text-secondary);line-height:1.5}.calendar-day-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;padding-bottom:.95rem;margin-bottom:.95rem;border-bottom:1px solid color-mix(in srgb,var(--border-input) 80%,transparent)}.calendar-day-actions__label{font-size:.95rem;font-weight:800;color:var(--text-primary);margin-bottom:.2rem}.calendar-day-actions__meta{font-size:.78rem;color:var(--text-secondary);line-height:1.4}.calendar-day-actions__button{white-space:nowrap;min-height:2.75rem;padding-inline:.95rem}.calendar-detail-edit-btn{min-height:2.75rem;padding:.35rem .6rem;border-radius:.65rem;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-secondary);font-size:.72rem;font-weight:700;cursor:pointer;transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.calendar-detail-edit-btn:hover{background:color-mix(in srgb,var(--color-accent) 14%,var(--bg-input));color:var(--text-primary);border-color:color-mix(in srgb,var(--color-accent) 55%,var(--border-input))}.cal-grid{display:grid;grid-template-columns:1.2fr repeat(7,1fr);gap:1px}.cal-grid--phone{grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}.cal-grid--phone .cal-header{padding:0 0 .28rem;font-size:.58rem;letter-spacing:.04em}.cal-grid--phone .cal-day,.cal-grid--phone .cal-empty{min-height:4rem;border-radius:.82rem}.cal-grid--phone .cal-day{padding:.3rem .34rem}.cal-grid--phone .cal-empty{background:color-mix(in srgb,var(--bg-input) 26%,transparent);border:1px dashed color-mix(in srgb,var(--border-input) 58%,transparent);opacity:.18}.cal-grid--phone .cal-day-num,.cal-grid--phone .cal-day-amt{font-size:.64rem}.cal-grid--phone .cal-bill-indicator{top:2px;right:3px}.cal-header{padding:6px 2px;text-align:center;font-size:.6875rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase}.cal-day{position:relative;min-height:64px;padding:4px 5px;border-radius:6px;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default);border:1.5px solid transparent;width:100%;background:transparent;text-align:left;appearance:none;font:inherit;color:inherit}.cal-day:hover{background:var(--bg-input)}.cal-day.cal-today{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 6%,transparent)}.cal-day.cal-selected{border-color:var(--color-accent);background:var(--tint-accent-sm)}.cal-day-num{font-size:.6875rem;font-weight:700;color:var(--text-secondary);line-height:1}.cal-today .cal-day-num{color:var(--color-accent-text);font-weight:800;position:relative}.cal-today .cal-day-num:after{content:"";display:block;width:5px;height:5px;border-radius:50%;background:var(--color-accent);margin:2px auto 0}.cal-today.cal-selected{box-shadow:inset 0 0 0 2px var(--color-accent)}.cal-day-dots{display:flex;gap:3px;margin-top:3px;flex-wrap:wrap}.cal-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.cal-day-amt{font-size:.6875rem;font-weight:700;margin-top:2px;line-height:1.1}.cal-day:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;z-index:var(--z-dropdown)}.cf-hover:focus-visible,.wr-hover:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.cal-bill-indicator{position:absolute;top:3px;right:4px;display:flex;align-items:center;gap:2px;cursor:help}.cal-bill-dot{width:8px;height:8px;border-radius:50%;background:var(--color-warning);box-shadow:0 0 4px var(--color-warning)}.cal-bill-indicator.cal-bill-upcoming .cal-bill-dot{animation:billPulse 2s ease-in-out infinite}.cal-bill-indicator.cal-bill-paid .cal-bill-dot{background:var(--color-income);box-shadow:none;opacity:.6}.cal-bill-count{font-size:.5rem;font-weight:700;color:var(--color-warning-text);line-height:1}@keyframes billPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}.cal-bill-label{display:block;font-size:.5625rem;font-weight:600;color:var(--color-warning-text);margin-top:2px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:help}.cal-week-total{display:flex;align-items:center;justify-content:flex-end;padding:2px 6px;font-size:.6875rem;font-weight:700;color:var(--text-tertiary);min-height:64px}.cal-empty{min-height:64px}.cal-detail{margin-top:12px;border-radius:12px;padding:14px;background:var(--bg-input)}.cal-detail-tx{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--text-tertiary) 12%,transparent)}.cal-detail-tx:last-child{border-bottom:none}.cal-legend{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}.cal-legend-item{display:flex;align-items:center;gap:4px;font-size:.625rem;font-weight:600;color:var(--text-tertiary)}.cal-dot--expense{background:var(--color-expense)}.cal-dot--income{background:var(--color-income)}.cal-dot--bill{background:var(--color-warning);box-shadow:0 0 4px var(--color-warning)}.cal-detail-section{padding:.75rem;border-radius:var(--radius-lg)}.cal-detail-section--bills{background:color-mix(in srgb,var(--color-warning) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-warning) 20%,transparent)}.cal-detail-section--transactions{background:var(--bg-input)}.cal-detail-section__header{font-size:.625rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}.cal-detail-section__header--bills{color:var(--color-warning-text)}.cal-detail-section__header--transactions{color:var(--text-tertiary)}.cal-status-badge{font-size:.5625rem;font-weight:700;padding:.125rem .375rem;border-radius:var(--radius-xs);text-transform:uppercase}.cal-status-badge--paid{background:var(--tint-income-md);color:var(--color-income-text)}.cal-status-badge--due{background:color-mix(in srgb,var(--color-warning) 20%,transparent);color:var(--color-warning-text)}@media(max-width:640px){.calendar-tab-grid,.calendar-summary-strip{grid-template-columns:1fr}.cal-day{min-height:48px;padding:3px}.cal-day-num,.cal-day-amt{font-size:.625rem}.cal-week-total{font-size:.625rem;padding:2px 3px}.calendar-day-actions{flex-direction:column}.calendar-day-actions__button{width:100%}}@media(max-width:1024px){.section-card{padding:1.25rem}.calendar-tab-grid{grid-template-columns:1fr}.calendar-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.section-card{padding:1rem}.modal-overlay>div{margin:1rem;max-height:calc(100vh - 2rem)}}@media(max-width:640px){.section-card{padding:.875rem;border-radius:var(--radius-lg)}.modal-overlay>div{padding:1rem;margin:.5rem;max-height:calc(100vh - 1rem);border-radius:var(--radius-xl)}.main-tab{font-size:.75rem;padding:.5rem .25rem}.month-nav-btn{min-width:44px;min-height:44px;padding:6px 10px;font-size:.875rem}.transaction-row{padding:.625rem;gap:.5rem}.transaction-row .w-11{width:2.25rem;height:2.25rem}.transaction-row button{min-width:44px;min-height:44px;padding:.375rem}}@media(max-width:480px){.app-shell-tabs-bar{position:fixed;bottom:0;left:0;right:0;z-index:35;margin-top:0;border-radius:0;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom,0px));background:var(--bg-tab);backdrop-filter:blur(18px);border-top:1px solid var(--shell-border);box-shadow:0 -4px 12px #0f172a14}.main-tab{flex-direction:column;gap:.15rem!important;padding:.35rem .25rem!important;font-size:.65rem!important;min-height:0;border-radius:.6rem!important}.main-tab__label{display:block;font-size:.6rem;line-height:1;letter-spacing:.01em}.main-tab__icon{font-size:1.2rem;line-height:1}#app{padding-bottom:calc(3.8rem + env(safe-area-inset-bottom,0px))}.app-shell-tabs{margin-top:0}}@media(max-width:375px){.section-card{padding:.75rem}.modal-overlay>div{padding:.875rem}.transaction-row button:not(:last-child){display:none}.transaction-row button:last-child{position:relative}.transaction-row button:last-child:after{content:"•••";position:absolute;right:100%;margin-right:4px;color:var(--text-tertiary);font-size:.625rem}}::placeholder{color:var(--placeholder-color, var(--text-tertiary));opacity:1}input:disabled,select:disabled,button:disabled{opacity:.6;cursor:not-allowed;filter:grayscale(.3)}input[type=checkbox]{min-width:24px;min-height:24px;cursor:pointer}header{padding-top:env(safe-area-inset-top,0px)}main{padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px))}.modal-overlay>div{padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.month-nav-btn{touch-action:manipulation}#spending-heatmap{touch-action:pan-y}button:active:not(:disabled),.category-chip:active{transform:scale(.97);opacity:.85}.chart-tooltip{position:fixed;background:var(--bg-secondary);border:1px solid var(--border-light);padding:8px 12px;border-radius:8px;font-size:.75rem;line-height:1.5;white-space:pre-line;pointer-events:none;z-index:var(--z-toast);box-shadow:0 4px 12px #0003;color:var(--text-primary);max-width:200px}.cf-hover{cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.cf-hover:hover{opacity:.7}.wr-hover{cursor:pointer}.wr-hover:hover~.wr-bar{filter:brightness(1.15)}.wr-bar{transition:filter var(--duration-fast) var(--ease-default);animation:barGrow .4s ease-out forwards;transform-origin:bottom center}@keyframes barGrow{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.month-nav-btn:active:not(:disabled),.touch-btn:active:not(:disabled){transform:scale(.95);will-change:transform}button,.category-chip,.nav-tab,.main-tab{-webkit-user-select:none;user-select:none}.analytics-tab{min-height:44px;min-width:44px;transition:background-color var(--duration-normal) var(--ease-default),color var(--duration-normal) var(--ease-default)}.analytics-tab:hover:not([style*="background: var(--color-accent)"]){background:var(--bg-input)}#analytics-modal>div{width:100%;max-width:72rem}.analytics-modal-shell{box-shadow:0 24px 56px #0f172a5c;position:relative}.analytics-modal-shell:after{content:"";position:sticky;bottom:0;left:0;right:0;display:block;height:2.5rem;background:linear-gradient(to bottom,transparent,var(--bg-card) 90%);pointer-events:none;border-radius:0 0 1rem 1rem;margin-top:-2.5rem}.analytics-detail-section{box-shadow:inset 0 1px #ffffff05}.analytics-card{background:var(--bg-card);border:1px solid var(--border-card)}.analytics-tabs-bar{background:var(--bg-tab);flex-shrink:0;padding:.375rem}.analytics-chart-min{min-height:200px}.analytics-chart-min--tall{min-height:260px}.analytics-chart-min--xl{min-height:280px}.analytics-card__divider{border-top:1px solid var(--border-card)}.analytics-tint--expense{background:var(--tint-expense-xs)}.analytics-tint--income{background:var(--tint-income-xs)}.analytics-description{font-size:.6875rem;color:var(--text-tertiary);margin-top:.25rem}.analytics-stat-label{font-size:.625rem;font-weight:700;text-transform:uppercase}.analytics-summary-card{background:var(--bg-input);padding:.75rem;border-radius:var(--radius-md)}.analytics-bar-track{background:var(--bg-input)}.settings-section-border{border-color:var(--border-input)}.kbd{background:var(--bg-input);padding-left:.25rem;padding-right:.25rem;border-radius:var(--radius-xs)}.settings-danger-box{background:color-mix(in srgb,var(--color-expense) 8%,var(--bg-input));border:1px solid color-mix(in srgb,var(--color-expense) 25%,var(--border-input))}.settings-danger-box__title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}@media(max-width:640px){#analytics-modal>div{max-height:calc(100vh - 1rem);margin:.5rem}#analytics-modal h3{font-size:1.125rem}#analytics-modal .grid-cols-2{gap:.5rem}}.pagination-btn{cursor:pointer}.pagination-btn:hover:not(:disabled){background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.pagination-btn:disabled{opacity:.6;cursor:not-allowed}.hidden{display:none}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.w-full{width:100%}.w-4{width:1rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-32{width:8rem}.min-w-0{min-width:0}.h-full{height:100%}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-8{height:2rem}.h-10{height:2.5rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pb-2{padding-bottom:.5rem}.pb-24{padding-bottom:6rem}.pl-3{padding-left:.75rem}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-mx-8{margin-left:-2rem;margin-right:-2rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}@media(max-width:1279px){.transactions-workspace-grid,.transactions-support-grid,.transactions-top-grid,.transactions-main-grid,.transaction-filter-grid,.transaction-advanced-grid{grid-template-columns:minmax(0,1fr)}.transactions-column--entry,.transactions-column--ledger,.transactions-entry-card,.transactions-form-actions{position:static}.transactions-column--entry{height:auto;overflow:visible}.transactions-column--ledger{display:grid;flex-direction:unset;max-height:none;overflow:visible;padding-right:0}.transactions-ledger-card{display:block;flex:unset;min-height:0;overflow:visible}.transactions-filter-section{flex-shrink:unset;overflow-y:visible;min-height:unset}#transactions-list{flex:unset;overflow-y:visible;min-height:unset;overscroll-behavior:auto}.transactions-entry-card{position:static;top:auto;max-height:none;height:auto;overflow:visible;display:grid;grid-template-rows:auto auto auto;z-index:auto}.transactions-entry-header,.transactions-entry-body{overflow:visible;padding-right:0;padding-bottom:0}#transaction-form{min-height:0;overflow:visible;padding-right:0}.transactions-form-actions{min-height:0;padding-top:0;padding-bottom:0;margin-top:0;background:transparent;border-top:none}.transactions-entry-card--overflowing .transactions-entry-body{overflow:visible;padding-right:0;padding-bottom:0}.hero-sidebar--compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.hero-sidebar--compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){#alert-banner,#backup-reminder{border-top:0}#alert-banner>div,#backup-reminder>div{padding-top:.55rem!important;padding-bottom:.55rem!important;gap:.55rem!important}.inline-alert-card{padding:.72rem .82rem;gap:.72rem;border-radius:.92rem}.inline-alert-card__copy{gap:.62rem}.inline-alert-card__label{font-size:.6rem}.inline-alert-card__text{font-size:.78rem;line-height:1.3}#alert-banner #alert-text,#backup-reminder #backup-reminder-text{font-size:.76rem;line-height:1.25}#dismiss-alert,#backup-now-btn{min-height:44px}.transactions-shell{gap:.8rem}.transactions-shortcuts-grid,.transactions-template-grid,.transaction-filter-grid__primary{grid-template-columns:minmax(0,1fr)}.transactions-shortcuts-grid{display:grid;overflow:visible}.transactions-shortcuts-grid .quick-shortcut{flex:initial}.transactions-entry-card,.transactions-templates-panel,.transactions-ledger-card{padding:.82rem!important}.transactions-panel-head{gap:.08rem;margin-bottom:.22rem}.transactions-panel-head--split{gap:.45rem;align-items:flex-start}.transactions-template-actions{width:100%;justify-content:space-between;gap:.35rem}.transactions-template-actions>button{min-height:44px}.transactions-entry-card .app-panel__subtitle,.transactions-ledger-card .app-panel__subtitle,.transactions-templates-panel .app-panel__subtitle{font-size:.72rem;line-height:1.25}.transactions-entry-card #amount{font-size:1.52rem;min-height:2.35rem}.transactions-entry-card #date,.transactions-entry-card #description,.transactions-entry-card #tags,.transactions-entry-card #tx-notes,.transactions-entry-card #recurring-type,.transactions-entry-card #recurring-end{min-height:2.05rem}.transactions-entry-card #tx-notes{min-height:3.2rem}.transactions-entry-card #category-chips{gap:.28rem}.transactions-entry-card .category-chip,.transactions-entry-card #inline-add-cat{min-height:2rem;padding:.28rem .5rem;border-radius:.72rem}.transactions-form-actions,.transactions-entry-card--overflowing .transactions-form-actions{padding-top:.58rem;gap:.45rem}.transactions-form-actions>button{min-height:44px}.transactions-ledger-header{gap:.45rem;margin-bottom:.72rem!important}.transactions-toolbar-stack{width:100%;justify-items:stretch;gap:.25rem}.transaction-summary-controls,.transactions-toolbar-actions{gap:.35rem .45rem}.transactions-toolbar-actions button{min-height:44px;padding-block:.4rem;font-size:.7rem}.transaction-filter-grid,.transaction-filter-grid__primary{gap:.4rem}#toggle-advanced-filters{min-height:44px;font-size:.74rem}.transaction-advanced-grid{gap:.35rem .45rem;padding:.55rem}#transactions-list{gap:.48rem}#transactions-list .transaction-row{padding:.62rem .68rem!important;gap:.58rem!important}#transactions-list .tx-description{margin-bottom:.22rem!important}#transactions-list .tx-description-text{font-size:.94rem}#transactions-list .tx-meta{gap:.28rem .46rem}#transactions-list .desktop-actions button,#transactions-list .reconcile-btn{min-width:2.75rem;min-height:2.75rem}#transactions-list .swipe-container{border-radius:var(--radius-xl)}#transactions-list .swipe-content.transaction-row{display:block;padding:.72rem .76rem!important;gap:.56rem .68rem!important}#transactions-list .swipe-content.transaction-row .tx-main{min-width:0;overflow:visible;gap:.38rem}#transactions-list .swipe-content.transaction-row .tx-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.52rem .68rem}#transactions-list .swipe-content.transaction-row .tx-info{min-width:0}#transactions-list .swipe-content.transaction-row .tx-description{align-items:flex-start;gap:.26rem;margin-bottom:0!important}#transactions-list .swipe-content.transaction-row .tx-description-text{font-size:.92rem;line-height:1.28}#transactions-list .swipe-content.transaction-row .tx-badges{margin-left:0!important;flex-wrap:wrap}#transactions-list .swipe-content.transaction-row .tx-meta{gap:.38rem .52rem;flex-wrap:wrap;overflow:visible;max-width:100%;width:100%}#transactions-list .swipe-content.transaction-row .tx-aside{display:flex;min-width:fit-content;justify-self:end;align-self:start;margin-top:.06rem;margin-right:.05rem;gap:0}#transactions-list .swipe-content.transaction-row .tx-amount{min-width:0;max-width:fit-content;min-height:2rem;padding:.34rem .62rem;border-radius:var(--radius-pill);font-size:.96rem!important;line-height:1.1;justify-self:end}#transactions-list .swipe-actions-left,#transactions-list .swipe-actions-right{gap:.35rem;padding-inline:.55rem}#transactions-list .swipe-action-btn{min-width:4.7rem;min-height:4.25rem;padding:.3rem .25rem;border-radius:.9rem;font-size:.62rem;line-height:1.1}#transactions-list .swipe-action-btn .swipe-icon{font-size:1rem}.hero-sidebar--compact{grid-template-columns:1fr}.transaction-row .tx-amount{min-width:0}}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.text-left{text-align:left}.text-center{text-align:center}.leading-relaxed{line-height:1.625}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uppercase{text-transform:uppercase}.rounded{border-radius:var(--radius-xs)}.rounded-lg{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-lg)}.rounded-2xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-pill)}.border{border-width:1px}.border-t{border-top-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-t-transparent{border-top-color:transparent}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.top-0{top:0}.top-1\/2{top:50%}.left-0{left:0}.left-3{left:.75rem}.inset-0{inset:0}.z-40{z-index:var(--z-modal)}.z-50{z-index:var(--z-toast)}.z-60{z-index:var(--z-pin)}.-translate-x-1\/2{transform:translate(-50%)}.-translate-y-1\/2{transform:translateY(-50%)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.col-span-2{grid-column:span 2 / span 2}.space-y-1>*+*{margin-top:.25rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-2xl{max-width:42rem}.max-h-24{max-height:6rem}.w-48{width:12rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.pl-8{padding-left:2rem}.pr-3{padding-right:.75rem}.gap-0\.5{gap:.125rem}input[type=checkbox]{accent-color:var(--color-accent)}input[type=checkbox].accent-purple{accent-color:var(--color-purple)}input[type=checkbox].accent-warning{accent-color:var(--color-warning)}.bg-transparent{background-color:transparent}.opacity-50{opacity:.5}.opacity-90{opacity:.9}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.left-1\/2{left:50%}.bottom-24{bottom:6rem}.p-0\.5{padding:.125rem}.w-11{width:2.75rem}.h-11{height:2.75rem}.min-w-10{min-width:2.5rem}.min-h-10{min-height:2.5rem}.font-mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.underline{text-decoration:underline}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.animate-bounce{animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.text-white{color:var(--color-on-accent)}.text-right{text-align:right}.text-4xl{font-size:2.25rem;line-height:2.5rem}.mt-6{margin-top:1.5rem}.border-4{border-width:4px;border-style:solid}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}@media(min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.duration-500{transition-duration:.5s}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.pointer-events-none{pointer-events:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.tx-loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary);gap:.75rem}.tx-loading:before{content:"";width:1.25rem;height:1.25rem;border:2px solid var(--border-input);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite}@media(min-width:768px){.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:col-span-2{grid-column:span 2 / span 2}.md\:-mx-8{margin-left:-2rem;margin-right:-2rem}}@media(min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-7xl{font-size:4.5rem;line-height:1}}.hover\:opacity-90:hover{opacity:.9}.disabled\:opacity-50:disabled{opacity:.5}.update-banner{position:fixed;top:0;left:0;right:0;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;background:var(--color-accent);color:#fff;text-align:center;z-index:var(--z-pin);display:flex;align-items:center;justify-content:center;gap:12px;font-size:.875rem;font-weight:600;animation:slideDown var(--duration-slow) var(--ease-default)}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.update-banner .update-btn{background:#fff;color:var(--color-accent-text);border:none;padding:6px 16px;border-radius:6px;font-weight:700;cursor:pointer;transition:transform var(--duration-normal)}.update-banner .update-btn:hover{transform:scale(1.05)}.update-banner .dismiss-btn{background:transparent;border:none;color:#fff;font-size:1.25rem;cursor:pointer;padding:0 8px;opacity:.8}.update-banner .dismiss-btn:hover{opacity:1}:root{--app-max-width: 1440px;--page-gutter: 20px;--section-gap: 20px;--panel-pad: 18px;--panel-radius: 20px;--surface-neutral: color-mix(in srgb, var(--bg-card-section-solid, #1c3441) 94%, transparent);--surface-elevated: color-mix(in srgb, var(--bg-card) 88%, transparent);--surface-muted: color-mix(in srgb, var(--bg-input) 38%, transparent);--shell-border: color-mix(in srgb, var(--border-input) 76%, transparent)}html[data-theme=light]{--surface-neutral: color-mix(in srgb, white 92%, var(--bg-card-section-solid, #1c3441));--surface-elevated: color-mix(in srgb, white 96%, var(--bg-card));--surface-muted: color-mix(in srgb, var(--bg-input) 68%, transparent);--shell-border: var(--surface-border-faint)}html[data-theme=light] .stat-positive{background:var(--tint-income-sm)}html[data-theme=light] .stat-negative{background:var(--tint-expense-sm)}html[data-theme=light] .insight-up{background:var(--tint-income-xs)}html[data-theme=light] .insight-down{background:var(--tint-expense-xs)}html[data-theme=light] .hero-sidebar-panel{background:#00000008;border-color:#00000014}html[data-theme=light] .dashboard-support-card{background:#00000005!important;border-color:#0000000f!important}html[data-theme=light] #trend-range-selector .trend-range-btn:not(.active){background:#0000000d;color:var(--text-secondary)}html[data-theme=light] #trend-range-selector .trend-range-btn:hover:not(.active){background:#00000014}.app-shell__inner,.app-main-shell{max-width:var(--app-max-width);margin-inline:auto;width:100%}#app>main.app-main-shell{padding-top:.85rem;padding-bottom:4.75rem}.app-shell{backdrop-filter:blur(18px);box-shadow:0 8px 24px #0f172a2e;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-header) 97%,transparent),color-mix(in srgb,var(--bg-header) 92%,var(--bg-secondary)))}.app-shell>.w-full{padding-top:.65rem;padding-bottom:.65rem}.app-shell__top{min-height:2.8rem;gap:.9rem}.app-shell__brand .w-10{width:2.35rem;height:2.35rem;border-radius:.9rem}#app-title{font-size:1.65rem!important;line-height:1.05;letter-spacing:-.04em!important}.app-shell-actions{gap:.55rem!important}.app-shell-action--secondary,.app-shell-action--icon{min-height:2.75rem;border-radius:.9rem}.app-shell-action--secondary{padding-inline:.9rem!important;font-size:.78rem!important;background:color-mix(in srgb,var(--surface-muted) 88%,transparent);color:var(--text-primary);border:1px solid var(--shell-border)}.app-shell-action--icon{width:2.35rem;padding:0!important;border:1px solid transparent;opacity:.8}.app-shell-tabs{background:color-mix(in srgb,var(--bg-tab) 74%,transparent)!important;border:1px solid var(--shell-border);margin-top:.45rem!important;padding:.18rem!important;gap:.2rem!important;border-radius:1rem!important}.main-tab{min-height:2.75rem;padding:.62rem .9rem!important;border-radius:.8rem!important;font-size:.8rem!important;letter-spacing:-.01em;display:flex;align-items:center;justify-content:center;gap:.35rem}.app-shell-month{border-top:1px solid var(--shell-border);margin-top:.5rem!important;padding-top:.55rem!important}.app-shell-month__label{min-width:9.5rem}.app-shell-month__label h2,#current-month-label{font-size:1.1rem!important;line-height:1.1}.month-nav-btn{min-width:2.75rem;min-height:2.75rem;border-radius:.9rem;padding:.3rem .65rem;border:1px solid var(--shell-border);background:color-mix(in srgb,var(--surface-muted) 86%,transparent)}.section-card{border-radius:var(--panel-radius);padding:var(--panel-pad);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-neutral) 96%,transparent),color-mix(in srgb,var(--bg-card) 22%,transparent));border:1px solid color-mix(in srgb,var(--border-section) 84%,var(--border-input));box-shadow:0 14px 30px #0f172a1f,inset 0 1px #ffffff05}.app-panel,.budget-panel,.transactions-shell,.transactions-column,.calendar-tab-layout{gap:var(--section-gap)}.app-panel__header{gap:.85rem;align-items:start}.app-panel__intro{gap:.22rem}.app-panel__title{font-size:1.1rem;letter-spacing:-.03em}.app-panel__subtitle{font-size:.76rem;line-height:1.4;max-width:48ch}.app-panel__actions{gap:.55rem;align-items:center}.app-panel__metric{min-width:5.25rem;gap:.08rem}.app-panel__metric-value{font-size:1.45rem}.hero-dashboard-grid{gap:var(--section-gap);align-items:stretch}.dashboard-hero-card{min-height:0;padding:clamp(1.05rem,1.4vw,1.4rem)!important;box-shadow:var(--shadow-card-hero)}.hero-card{min-height:0}.hero-card:before{width:230px;height:230px;top:-26%;right:-10%;opacity:.85}.hero-card:after{width:180px;height:180px;bottom:-18%;left:-6%}#hero-daily-amount{font-size:clamp(3.2rem,5vw,4.4rem)!important;margin-bottom:.4rem!important}#hero-amount-caption{max-width:42ch;margin-inline:auto;line-height:1.45;font-size:.84rem!important}.hero-pace-panel{padding:.75rem .85rem;border-radius:var(--radius-xl);background:#0f172a29}.hero-action-row{gap:.65rem}.hero-action-btn{min-height:2.75rem;padding:.72rem .95rem;font-size:.8rem;border-radius:var(--radius-lg)}.hero-action-btn--primary{background:linear-gradient(135deg,var(--color-accent),color-mix(in srgb,var(--color-accent2) 74%,var(--color-accent)));border-color:color-mix(in srgb,var(--color-accent) 55%,transparent);color:#fff}.hero-action-btn--secondary{background:#0f172a14;color:var(--text-secondary);border-color:#ffffff14}.hero-sidebar{gap:.55rem}.dashboard-support-card{padding:1rem!important;border-radius:.85rem!important}.dashboard-support-card__icon{line-height:1}.dashboard-support-card--interactive{width:100%;border:1px solid transparent;cursor:pointer;font:inherit;background-clip:padding-box}.dashboard-support-card--interactive:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.dashboard-support-card--interactive:focus-visible{outline:2px solid color-mix(in srgb,var(--color-accent) 78%,white);outline-offset:3px}.dashboard-support-card .stat-badge{min-width:4.65rem;justify-content:center}.dashboard-analytics-grid{gap:var(--section-gap)!important}.dashboard-analytics-primary,.dashboard-analytics-secondary{padding:.95rem!important;min-height:0}.dashboard-chart-row-card{min-height:12.25rem;height:auto}#budget-gauge-section{padding-block:.78rem}#budget-gauge-section #budget-gauge-container{min-height:0;align-items:center}.budget-health-layout{display:grid;grid-template-columns:minmax(10rem,auto) minmax(0,1fr);gap:1rem;align-items:center}.budget-health-gauge-wrap{display:flex;align-items:center;justify-content:center}.budget-health-gauge{width:12rem;max-width:100%;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}svg g[tabindex="0"]:focus-visible,svg rect[tabindex="0"]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.budget-gauge-percent{font-family:inherit}.budget-health-summary{display:grid;gap:.35rem;justify-items:start}.budget-health-status{display:inline-flex;align-items:center;justify-content:center;min-height:1.5rem;padding:.18rem .6rem;border-radius:var(--radius-pill);font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--budget-health-tone);background:color-mix(in srgb,var(--budget-health-tone) 14%,transparent);border:1px solid color-mix(in srgb,var(--budget-health-tone) 28%,transparent)}.budget-health-amount{margin:0;color:var(--text-primary);font-size:1rem;font-weight:800;line-height:1.3}.budget-health-amount__of{font-weight:600;color:var(--text-secondary);font-size:.88rem}.budget-health-remaining{margin:0;font-size:.82rem;font-weight:700;line-height:1.3}.budget-health-note{margin:0;color:var(--text-tertiary);font-size:.74rem;line-height:1.45;max-width:34ch}.budget-health-empty{width:100%;display:flex;justify-content:center;padding-block:.45rem}.budget-health-empty__summary{width:min(100%,26rem);display:grid;justify-items:center;gap:.5rem;text-align:center}#insights-dashboard>.flex{margin-bottom:.7rem!important}.insights-grid{gap:.9rem!important}.insight-card{min-height:0;padding:.9rem!important;border-radius:1.05rem!important;display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch;align-content:space-between;gap:.7rem}.dashboard-insight-copy{min-height:100%;width:100%}.dashboard-insight-text{min-height:3.6rem;text-align:center}.budget-panel{padding:1rem!important;gap:.8rem;border-radius:1.15rem}.budget-panel--allocation .app-panel__body{min-height:0}.budget-panel--allocation .app-panel__header{grid-template-columns:auto 1fr auto}.budget-panel--allocation .app-panel__metric{justify-items:center;text-align:center}.budget-panel--allocation .app-panel__actions{justify-content:flex-end}.budget-panel--goals{align-self:start}.budget-panel--goals .app-panel__body{align-content:start;min-height:0}.budget-panel--debt{background:linear-gradient(135deg,var(--bg-card-section-solid, #1c3441) 0%,color-mix(in srgb,var(--color-expense) 8%,var(--bg-card-section-solid, #1c3441)) 100%);border:1px solid var(--border-section)}.budget-panel-btn{min-height:2.75rem;border-radius:.8rem;padding-inline:.8rem;box-shadow:0 8px 20px #0f172a24}@media(max-width:767px){.budget-panel--allocation .app-panel__header{grid-template-columns:1fr 1fr}.budget-panel--allocation .app-panel__metric{grid-column:1 / -1;justify-items:center}.panel-scroll{max-height:none!important;overflow-y:visible;scrollbar-gutter:auto}}#envelope-grid,#savings-goals-list,#debts-list{gap:.65rem!important}.panel-scroll{overflow-y:visible;overscroll-behavior:contain}#envelope-grid.envelope-grid--collapsed>:nth-child(n+6){display:none}.envelope-toggle-btn{display:flex;align-items:center;justify-content:center;gap:.35rem;width:100%;padding:.5rem;margin-top:.35rem;border:1px dashed color-mix(in srgb,var(--border-input) 60%,transparent);border-radius:var(--radius-md);background:transparent;color:var(--text-tertiary);font-size:.75rem;font-weight:700;cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast)}.envelope-toggle-btn:hover{color:var(--text-secondary);border-color:var(--border-input)}#savings-goals-list,#debts-list{max-height:none}.savings-goal-row{padding:.8rem .9rem;border-radius:.95rem;min-height:0}#debt-planner-section .app-panel__body{gap:.9rem}#debt-summary-cards{gap:.75rem!important;margin-bottom:.15rem}.debt-summary-card{padding:.8rem .95rem;min-height:5rem;border-radius:.95rem}.debt-item{padding:.9rem;border-radius:var(--radius-xl);margin-bottom:0}.debt-item__header{margin-bottom:.7rem}.debt-item__stats{align-items:center;gap:.55rem}.debt-item__stat{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface-muted) 80%,transparent);border:1px solid var(--surface-border-muted)}.debt-item__stat-label{color:var(--text-tertiary);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.debt-item__stat-value{color:var(--text-primary);font-size:.75rem;font-weight:800}.debt-item__details{margin-top:.4rem}.debt-item__details-toggle{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:700;color:var(--text-tertiary);cursor:pointer;list-style:none;user-select:none;min-height:2.75rem;padding:.25rem .5rem;margin:-.25rem -.5rem;border-radius:var(--radius-md);transition:color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.debt-item__details-toggle::-webkit-details-marker{display:none}.debt-item__details-toggle:before{content:"▸";font-size:.6rem;transition:transform var(--duration-fast) var(--ease-default)}.debt-item__details[open]>.debt-item__details-toggle:before{transform:rotate(90deg)}.debt-item__details-toggle:hover{color:var(--text-secondary);background:color-mix(in srgb,var(--bg-input) 50%,transparent)}.debt-item__details>.debt-item__stats--grid:first-of-type{margin-top:.5rem}.debt-item__stats--secondary{margin-top:.45rem}.debt-item__details>.debt-item-rec{margin-top:.5rem}.debt-item-rec{display:flex;align-items:baseline;gap:.5rem;margin-top:.75rem;padding:.55rem .75rem;border-radius:var(--radius-md);font-size:.8rem;line-height:1.35;border-left:3px solid var(--text-tertiary);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.debt-item-rec__label{color:var(--text-tertiary);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex-shrink:0}.debt-item-rec__text{color:var(--text-secondary);font-weight:600}.debt-item-rec--urgent{background:var(--tint-expense-xs);border-left-color:var(--color-expense-text)}.debt-item-rec--urgent .debt-item-rec__text{color:var(--color-expense-text)}.debt-item-rec--focus{background:var(--tint-accent-xs);border-left-color:var(--color-accent)}.debt-item-rec--focus .debt-item-rec__text{color:var(--color-accent-text)}.debt-item-rec--milestone{background:var(--tint-income-xs);border-left-color:var(--color-income-text)}.debt-item-rec--milestone .debt-item-rec__text{color:var(--color-income-text)}.debt-item-rec--info{background:color-mix(in srgb,var(--text-tertiary) 8%,transparent)}.debt-item-actions{margin-top:.5rem;gap:.55rem;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap}.debt-item-actions__buttons{display:inline-flex;gap:.55rem;flex-wrap:wrap}.debt-item-actions .btn{min-width:7rem;min-height:2.75rem;border-radius:.8rem}.debt-item-actions__btn--icon{min-width:2.75rem!important;padding:0 .5rem;font-size:1rem;background:transparent;border:1px solid var(--border-input);color:var(--text-tertiary);opacity:.6;transition:opacity var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.debt-item-actions__btn--icon:hover{opacity:1;border-color:var(--color-expense-text)}.debt-delete-btn--confirming{opacity:1!important;background:var(--tint-expense-md)!important;border-color:var(--color-expense)!important;color:var(--color-expense)!important;font-size:.75rem!important;font-weight:700}.compare-strategies-wrapper{margin-top:.25rem}#compare-strategies-btn{min-height:2.75rem;border-radius:.9rem;background:color-mix(in srgb,var(--surface-muted) 72%,transparent);border-style:solid;opacity:.92;color:var(--text-secondary);border-color:color-mix(in srgb,var(--border-input) 80%,transparent)}.envelope-card{background:var(--bg-input);cursor:pointer;transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),transform .1s var(--ease-default),box-shadow var(--duration-fast) var(--ease-default);border:1px solid transparent}.envelope-card:hover{background:color-mix(in srgb,var(--color-accent) 8%,var(--bg-input));border-color:color-mix(in srgb,var(--color-accent) 25%,transparent)}.envelope-card:active{transform:scale(.98);background:color-mix(in srgb,var(--color-accent) 14%,var(--bg-input))}.envelope-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.envelope-card--selected{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,var(--bg-input))}.envelope-card__name{color:var(--text-primary)}.envelope-card__budget-label{color:var(--text-tertiary);font-weight:600}.envelope-card__rollover--positive{color:var(--color-income-text)}.envelope-card__rollover--negative,.envelope-card__amount--over{color:var(--color-expense-text)}.envelope-card__amount--ok{color:var(--color-income-text)}.goal-fill--over{background:var(--color-expense)!important}.goal-fill--warning{background:var(--color-warning)!important}.goal-fill--ok{background:var(--color-income)!important}.envelope-unassigned-stat{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem .75rem;border-radius:.72rem;background:color-mix(in srgb,var(--bg-input) 58%,transparent);border:1px solid var(--surface-border-faint);text-align:center}.envelope-unassigned-stat__label{font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.envelope-unassigned-stat__value{font-size:1.1rem;font-weight:900;line-height:1.15}.category-detail-modal__panel{max-width:380px;padding:1.25rem}.category-detail-modal__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.category-detail-modal__title-row{display:flex;align-items:center;gap:.6rem}.category-detail-modal__emoji{font-size:1.6rem}.category-detail-modal__title{font-size:1.05rem;font-weight:900;color:var(--text-primary);margin:0;line-height:1.2}.category-detail-modal__subtitle{font-size:.75rem;color:var(--text-tertiary);margin:.1rem 0 0}.category-detail-modal__close{background:none;border:none;color:var(--text-tertiary);font-size:1.4rem;cursor:pointer;padding:0 .25rem;line-height:1;border-radius:var(--radius-xs);transition:color var(--duration-fast) var(--ease-default)}.category-detail-modal__close:hover{color:var(--text-primary)}.category-detail-modal__total{display:flex;align-items:baseline;justify-content:space-between;padding:.6rem .75rem;margin-bottom:.6rem;border-radius:.6rem;background:var(--bg-input)}.category-detail-modal__total-label{font-size:.75rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.category-detail-modal__total-amount{font-size:1.1rem;font-weight:900;color:var(--color-expense-text)}.category-detail-modal__list{display:flex;flex-direction:column;gap:.35rem;max-height:320px;overflow-y:auto}.category-detail-modal__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;border-radius:var(--radius-md);background:var(--bg-input);transition:background var(--duration-fast) var(--ease-default)}.category-detail-modal__row:hover{background:color-mix(in srgb,var(--bg-input) 70%,var(--bg-card))}.category-detail-modal__row-info{display:flex;flex-direction:column;gap:.05rem;min-width:0}.category-detail-modal__row-desc{font-size:.82rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-detail-modal__row-date{font-size:.68rem;color:var(--text-tertiary)}.category-detail-modal__row-amount{font-size:.85rem;font-weight:800;color:var(--color-expense-text);white-space:nowrap}.category-detail-modal__empty{text-align:center;padding:1.5rem 0;font-size:.85rem;color:var(--text-tertiary)}.savings-goal-row__head--clickable,.debt-item__header--clickable{cursor:pointer;border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-default)}.savings-goal-row__head--clickable:hover,.debt-item__header--clickable:hover{background:color-mix(in srgb,var(--bg-input) 50%,transparent)}.savings-goal-row__head--clickable:focus-visible,.debt-item__header--clickable:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.compare-strategies-link{display:block;width:100%;padding:.65rem 0;background:none;border:none;color:var(--text-secondary);font-weight:600;text-align:center;cursor:pointer;transition:color var(--duration-fast) var(--ease-default);border-top:1px solid var(--border-card);margin-top:.25rem}.compare-strategies-link:hover{color:var(--color-accent-text)}.empty-state-cta{background:var(--color-accent);color:#fff}.empty-state-cta--income{background:var(--color-income)}.goal-badge--complete{background:var(--color-income);color:#fff}.goal-forecast--on-track{color:var(--color-income-text)}.goal-forecast--at-risk{color:var(--color-warning-text)}.goal-forecast--unknown{color:var(--text-tertiary)}.debt-item-actions__btn{font-size:.875rem}.transactions-shell{gap:var(--section-gap);padding-top:0}.transactions-workspace-grid,.transactions-top-grid,.transactions-main-grid{gap:var(--section-gap)}.transactions-entry-card{padding:1rem!important;border-radius:1.2rem!important;box-shadow:0 18px 36px #0f172a29}.transactions-entry-card #amount{min-height:2.65rem;font-size:1.52rem}.transactions-entry-card #category-chips{gap:.45rem}.transactions-entry-card .category-chip,.transactions-entry-card #inline-add-cat{min-height:2.05rem;padding:.38rem .62rem;border-radius:.78rem}.transactions-ledger-card{min-height:0;padding:1rem!important;border-radius:1.2rem!important}.transactions-toolbar-actions{gap:.4rem}.transactions-toolbar-actions button{min-height:2.75rem;border-radius:.8rem;opacity:.92;border:1px solid var(--surface-border-subtle);box-shadow:none}.transactions-toolbar-actions--tertiary button{font-size:.66rem;letter-spacing:.02em}.transaction-filter-grid{gap:.4rem}.transaction-filter-grid__search,.transaction-filter-grid__primary,.transaction-advanced-grid>.grid,.transaction-advanced-grid__toggles,.transaction-advanced-grid__actions{min-width:0}#toggle-advanced-filters{min-height:2.2rem;border-radius:.95rem;background:color-mix(in srgb,var(--surface-muted) 86%,transparent)!important}#advanced-filters{border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface-muted) 52%,transparent)}.transaction-advanced-grid{gap:.7rem;padding:.8rem}.filter-empty-state{padding:.8rem .9rem;border-radius:.9rem}#transactions-list{gap:.6rem}#transactions-list .transaction-row{padding:.7rem .8rem!important;border-radius:1rem!important}#transactions-list .desktop-actions{gap:.3rem!important}#transactions-list .desktop-actions button,#transactions-list .reconcile-btn{min-width:2.75rem;min-height:2.75rem;border-radius:.72rem;opacity:.82}.transaction-row-actions{padding:.18rem;border-radius:.85rem;background:color-mix(in srgb,var(--surface-muted) 68%,transparent);border:1px solid color-mix(in srgb,var(--border-input) 78%,transparent)}.calendar-tab-layout{gap:var(--section-gap);margin-bottom:var(--section-gap)}.calendar-tab-grid{gap:var(--section-gap);grid-template-columns:minmax(0,1.52fr) minmax(320px,.96fr)}.calendar-summary-strip{gap:.9rem}.calendar-summary-card{padding:.9rem 1rem;min-height:5.85rem;border-radius:var(--radius-xl)}.calendar-main-card,.calendar-detail-card{padding:1rem!important}.calendar-detail-card .app-panel__intro{margin-bottom:.2rem}@media(min-width:1200px){.hero-dashboard-grid{grid-template-columns:minmax(0,1.72fr) minmax(280px,.88fr)}.dashboard-analytics-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.92fr)}.transaction-filter-grid{grid-template-columns:minmax(0,1fr) minmax(20rem,1.2fr)}.transaction-advanced-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:768px)and (max-width:1199px){:root{--page-gutter: 16px;--section-gap: 16px;--panel-pad: 16px}.hero-dashboard-grid,.dashboard-analytics-grid,.calendar-tab-grid{grid-template-columns:minmax(0,1fr)}.hero-sidebar--compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.transaction-filter-grid,.transaction-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-filter-grid__primary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){:root{--page-gutter: 12px;--section-gap: 12px;--panel-pad: 14px;--panel-radius: 16px}#app>main.app-main-shell{padding-top:.6rem;padding-bottom:4.1rem}html,body,#app{overflow-x:clip}#settings-modal.active,#analytics-modal.active{align-items:flex-start;padding-top:calc(env(safe-area-inset-top,0px) + .4rem);padding-bottom:calc(env(safe-area-inset-bottom,0px) + .4rem)}#settings-modal>div,#analytics-modal>div{width:min(100%,calc(100vw - .75rem));margin:0 auto;max-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - .8rem);padding-top:.95rem!important;padding-bottom:calc(.95rem + env(safe-area-inset-bottom,0px))!important}.app-shell>.w-full{padding-top:.38rem;padding-bottom:.42rem}.app-shell__top{min-height:0;align-items:center;flex-wrap:wrap;gap:.55rem}.app-shell__brand{gap:.55rem!important}.app-shell__brand .w-10{width:2rem;height:2rem;border-radius:var(--radius-lg)}#app-title{font-size:1.16rem!important}.app-shell-actions{width:100%;justify-content:flex-end;gap:.42rem!important}.app-shell-action--secondary,.app-shell-action--icon,.main-tab,.month-nav-btn{min-height:44px}.app-shell-action--secondary{padding-inline:.75rem!important;font-size:.72rem!important}.app-shell-action--icon{width:44px}.app-shell-tabs{margin-top:.34rem!important;padding:.14rem!important;gap:.16rem!important}.main-tab{padding:.5rem .22rem!important;font-size:.68rem!important}.app-shell-month{margin-top:.3rem!important;padding-top:.34rem!important}.app-shell-month__label{min-width:0}.app-shell-month__label h2,#current-month-label{font-size:1rem!important}.month-nav-btn{padding:.28rem .58rem}.dashboard-hero-card{padding:.88rem!important}#hero-daily-amount{font-size:2.7rem!important}#hero-amount-caption{font-size:.78rem!important}.dashboard-support-card,.dashboard-analytics-primary,.dashboard-analytics-secondary{padding:.9rem!important}#budget-gauge-section{padding-block:.72rem}.budget-health-layout,.hero-dashboard-grid,.dashboard-analytics-grid,.calendar-tab-grid,.transactions-workspace-grid,.transactions-top-grid,.transactions-main-grid,.hero-action-row,.transaction-filter-grid,.transaction-filter-grid__primary,.transaction-advanced-grid,.calendar-summary-strip,#debt-summary-cards{grid-template-columns:1fr!important}.dashboard-chart-row-card{min-height:0}.hero-sidebar--compact{grid-template-columns:1fr;gap:.45rem}.hero-sidebar--compact .dashboard-support-card{min-width:0;padding:.75rem!important}.dashboard-support-card__top{margin-bottom:.35rem!important;gap:.32rem}.dashboard-support-card__icon{font-size:1.35rem!important}.dashboard-support-card .stat-badge{min-width:0;max-width:100%;padding-inline:.36rem;font-size:.54rem!important;line-height:1.2}.dashboard-support-card__label{margin-bottom:.2rem!important;font-size:.58rem!important;line-height:1.15}.hero-sidebar--compact .summary-amount{font-size:.98rem!important;line-height:1.1!important;overflow-wrap:anywhere}.dashboard-support-card__meta{display:none!important}.transactions-shell{--transactions-form-col: minmax(0, 1fr);--transactions-ledger-col: minmax(0, 1fr);overflow-x:clip}.transactions-column,.transactions-column--entry,.transactions-column--ledger,.transactions-entry-card,.transactions-ledger-card,.transactions-templates-panel,.calendar-main-card,.calendar-detail-card{min-width:0;width:100%;max-width:100%}.transactions-entry-card{position:relative;top:auto;max-height:none;overflow:visible;grid-template-rows:auto auto auto;display:grid}.transactions-entry-body,#transaction-form,.transactions-entry-card--overflowing .transactions-entry-body{overflow:visible;padding-right:0;padding-bottom:0;scrollbar-gutter:auto}#transaction-form{width:100%}#transaction-form>.grid,#transaction-form details .grid,.transactions-entry-card .grid,.transactions-entry-card .split-row{grid-template-columns:minmax(0,1fr)!important}#transaction-form>.grid>*,#transaction-form details .grid>*,.transactions-entry-card .grid>*,.transactions-entry-card .split-row>*{min-width:0;width:100%}.transactions-entry-card input,.transactions-entry-card select,.transactions-entry-card textarea,.transactions-entry-card details,.transactions-entry-card summary,.transactions-entry-card .relative,.transactions-entry-card .transactions-type-toggle,.transactions-entry-card #category-chips,.transactions-entry-card .transactions-form-actions{max-width:100%}.transactions-type-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.transactions-entry-card .category-chip,.transactions-entry-card #inline-add-cat{width:100%;justify-content:flex-start;min-width:0}.transactions-form-actions,.transactions-entry-card--overflowing .transactions-form-actions{position:static;flex-direction:column;align-items:stretch;min-height:0;padding-top:.75rem;padding-bottom:0;border-top:0;background:none}.transactions-form-actions>button{width:100%}.transactions-toolbar-actions{width:100%}.transactions-toolbar-actions button{flex:1 1 calc(50% - .4rem);min-height:44px}.transactions-toolbar-stack{width:100%;justify-items:stretch}.transactions-toolbar-label{text-align:left}.calendar-tab-layout,.calendar-tab-grid{gap:.9rem}.calendar-tab-grid{align-items:stretch}.calendar-main-card,.calendar-detail-card{order:initial;align-self:stretch}#spending-heatmap{min-width:0;width:100%;max-width:100%;overflow-x:hidden}.calendar-main-card .app-panel__header,.calendar-detail-card .app-panel__header{display:flex;flex-direction:column;align-items:stretch}.calendar-main-card .app-panel__intro,.calendar-detail-card .app-panel__intro{min-width:0}.calendar-main-card .cal-legend{gap:.55rem}.calendar-main-card .cal-grid--phone{margin-top:.15rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}.illustration-no-transactions .wallet,.illustration-no-transactions .coin,.illustration-no-results .magnifier,.illustration-no-results .magnifier:after,.illustration-no-goals .arrow,.illustration-no-recurring .repeat-icon{animation:none}.onboarding-highlight,.cal-bill-indicator.cal-bill-upcoming .cal-bill-dot{animation:none}}.catmgr-presets{margin-bottom:1rem}.catmgr-section-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:.5rem}.catmgr-preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}.catmgr-preset-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .3rem;border-radius:.65rem;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-secondary);font-size:.68rem;font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.catmgr-preset-btn:hover{border-color:var(--color-accent);color:var(--text-primary)}.catmgr-preset-btn--active{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 15%,var(--bg-input));color:var(--color-accent-text)}.catmgr-preset-btn--previewing{border-color:var(--color-accent);border-style:dashed;color:var(--text-primary)}.catmgr-preset-active-badge{font-size:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent-text)}.catmgr-preset-emoji{font-size:1.2rem}.catmgr-preset-name{font-size:.62rem}.catmgr-preset-preview{margin-top:.5rem;padding:.6rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-input) 60%,var(--bg-card));border:1px dashed var(--border-input)}.catmgr-preset-preview__heading{font-size:.72rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.catmgr-preset-preview__label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin:0 0 .3rem}.catmgr-preset-preview__label:not(:first-of-type){margin-top:.45rem}.catmgr-preset-preview__chips{display:flex;flex-wrap:wrap;gap:.25rem}.catmgr-preset-preview__chip{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .4rem;border-radius:.35rem;font-size:.62rem;font-weight:600;background:color-mix(in srgb,var(--color-expense) 8%,var(--bg-card));color:var(--text-primary);border:1px solid color-mix(in srgb,var(--color-expense) 15%,var(--border-input))}.catmgr-preset-preview__chip--income{background:color-mix(in srgb,var(--color-income) 8%,var(--bg-card));border-color:color-mix(in srgb,var(--color-income) 15%,var(--border-input))}.catmgr-preset-preview__actions{display:flex;gap:.4rem;margin-top:.55rem}.catmgr-preset-preview__apply{flex:1;padding:.4rem;border:none;border-radius:.4rem;font-size:.7rem;font-weight:700;background:var(--color-accent);color:#fff;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.catmgr-preset-preview__apply:hover{opacity:.85}.catmgr-preset-preview__cancel{padding:.4rem .7rem;border-radius:.4rem;border:1px solid var(--border-input);background:var(--bg-input);font-size:.7rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.catmgr-preset-preview__cancel:hover{color:var(--text-primary)}.catmgr-tabs{display:flex;gap:.3rem;margin-bottom:.6rem}.catmgr-tab{flex:1;padding:.4rem;border-radius:var(--radius-md);border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-secondary);font-size:.72rem;font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.catmgr-tab:hover{color:var(--text-primary)}.catmgr-tab--active{background:color-mix(in srgb,var(--color-accent) 15%,var(--bg-input));border-color:var(--color-accent);color:var(--color-accent-text)}.catmgr-list{display:grid;gap:.35rem;margin-bottom:.6rem;max-height:22rem;overflow-y:auto}@media(max-width:767px){.catmgr-list{max-height:none;overflow-y:visible}}.catmgr-row{border-radius:.6rem;border:1px solid var(--border-input);background:var(--bg-input);overflow:hidden}.catmgr-row--hidden{opacity:.6}.catmgr-row__main{display:flex;align-items:center;gap:.4rem;padding:.45rem .55rem;min-height:2.4rem}.catmgr-row__reorder{display:flex;flex-direction:column;gap:.1rem}.catmgr-reorder-btn{padding:0;width:2.75rem;min-height:2.75rem;border:none;background:none;color:var(--text-secondary);font-size:.625rem;cursor:pointer;line-height:1;border-radius:.2rem;transition:color var(--duration-fast) var(--ease-default)}.catmgr-reorder-btn:hover:not(:disabled){color:var(--text-primary);background:var(--tint-accent-sm)}.catmgr-reorder-btn:disabled{opacity:.4;cursor:default}.catmgr-row__swatch{width:.65rem;height:.65rem;border-radius:50%;flex-shrink:0}.catmgr-row__swatch--sm{width:.5rem;height:.5rem}.catmgr-row__emoji{font-size:.85rem;flex-shrink:0}.catmgr-row__name{flex:1;font-size:.78rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catmgr-row__name--hidden{text-decoration:line-through}.catmgr-badge{font-size:.55rem;font-weight:800;padding:.1rem .35rem;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.03em}.catmgr-badge--hidden{background:color-mix(in srgb,var(--text-tertiary) 15%,transparent);color:var(--text-tertiary)}.catmgr-row__actions{display:flex;gap:.25rem;margin-left:auto;flex-shrink:0}.catmgr-action-btn{width:2.75rem;height:2.75rem;border:none;border-radius:.35rem;background:none;color:var(--text-tertiary);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) var(--ease-default)}.catmgr-action-btn:hover{background:var(--tint-accent-md);color:var(--text-primary)}.catmgr-action-btn--danger:hover{background:var(--tint-expense-md);color:var(--color-expense-text)}.catmgr-edit-form{padding:.55rem;border-radius:.6rem;border:1px solid var(--color-accent);background:color-mix(in srgb,var(--color-accent) 6%,var(--bg-input))}.catmgr-edit-row{display:flex;align-items:center;gap:.35rem;margin-bottom:.4rem}.catmgr-input{border:1px solid var(--border-input);border-radius:.4rem;background:var(--bg-input);color:var(--text-primary);font-size:.78rem;padding:.3rem .45rem}.catmgr-input--emoji{width:2.6rem;text-align:center}.catmgr-input--name{flex:1;min-width:0}.catmgr-input--color{width:2rem;height:1.6rem;padding:.1rem;cursor:pointer;border-radius:.35rem}.catmgr-edit-actions{display:flex;gap:.3rem;justify-content:flex-end}.catmgr-save-btn{padding:.28rem .7rem;border-radius:.4rem;border:none;background:var(--color-accent);color:#fff;font-size:.7rem;font-weight:700;cursor:pointer}.catmgr-cancel-btn{padding:.28rem .7rem;border-radius:.4rem;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-secondary);font-size:.7rem;font-weight:700;cursor:pointer}.catmgr-add-btn{width:100%;padding:.5rem;border-radius:.55rem;border:1px dashed var(--border-input);background:none;color:var(--text-secondary);font-size:.75rem;font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.catmgr-add-btn:hover{border-color:var(--color-accent);color:var(--color-accent-text)}.preset-picker-page{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--bg-primary);overflow-y:auto}.onboard-preset-page{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto}.preset-picker{width:min(32rem,100%);padding:1.5rem;border-radius:var(--radius-xl);border:1px solid var(--border-input);background:var(--bg-card);color:var(--text-primary);box-shadow:0 8px 32px #00000026;max-height:90vh;overflow-y:auto}.preset-picker__brand{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-bottom:.4rem}.preset-picker__logo{width:3rem;height:3rem;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,var(--color-accent),var(--color-accent2));box-shadow:0 4px 12px #06b6d44d}.preset-picker__title{font-size:1.25rem;font-weight:900;text-align:center}.preset-picker__subtitle{font-size:.78rem;color:var(--text-secondary);margin-bottom:1.2rem;text-align:center}.preset-picker__grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}.preset-picker__card{padding:.75rem .6rem;border-radius:.7rem;min-height:2.75rem;border:2px solid var(--border-input);background:var(--bg-input);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);text-align:center}.preset-picker__card:hover{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,var(--bg-input))}.preset-picker__card--selected{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,var(--bg-input));box-shadow:0 0 0 1px var(--color-accent)}.preset-picker__card-emoji{font-size:1.5rem;margin-bottom:.2rem}.preset-picker__card-name{font-size:.82rem;font-weight:800;color:var(--text-primary)}.preset-picker__card-desc{font-size:.65rem;color:var(--text-tertiary);margin-top:.15rem}.preset-picker__preview{padding:.75rem;margin-bottom:.75rem;border-radius:.7rem;background:var(--bg-input);border:1px solid var(--border-input)}.preset-picker__preview-section{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin:0 0 .4rem}.preset-picker__preview-section:not(:first-child){margin-top:.65rem}.preset-picker__preview-list{display:flex;flex-wrap:wrap;gap:.3rem}.preset-picker__preview-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:.4rem;font-size:.68rem;font-weight:600;background:color-mix(in srgb,var(--color-expense) 10%,var(--bg-card));color:var(--text-primary);border:1px solid color-mix(in srgb,var(--color-expense) 20%,var(--border-input))}.preset-picker__preview-chip--income{background:color-mix(in srgb,var(--color-income) 10%,var(--bg-card));border-color:color-mix(in srgb,var(--color-income) 20%,var(--border-input))}.preset-picker__preview-chip-emoji{font-size:.72rem}.preset-picker__confirm{display:block;width:100%;padding:.7rem;border:none;border-radius:.6rem;font-size:.85rem;font-weight:800;background:var(--color-accent);color:#fff;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default);margin-bottom:.3rem}.preset-picker__confirm:hover{opacity:.9}.preset-picker__skip{display:block;width:100%;padding:.5rem;border:none;background:none;color:var(--text-tertiary);font-size:.7rem;font-weight:600;cursor:pointer;text-align:center}.preset-picker__skip:hover{color:var(--text-secondary)}.kb-shortcuts-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center}.kb-shortcuts-overlay.hidden{display:none}.kb-shortcuts__backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.kb-shortcuts__panel{position:relative;z-index:1;background:var(--bg-card);border-radius:var(--radius-xl, 1rem);padding:1.5rem;max-width:480px;width:calc(100% - 2rem);max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg, 0 8px 32px rgba(0,0,0,.2));outline:none}.kb-shortcuts__grid{display:flex;flex-direction:column;gap:1.25rem}.kb-shortcuts__group-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-subtle, var(--border-input))}.kb-shortcuts__row{display:flex;align-items:center;gap:.75rem;padding:.3rem 0}.kb-shortcuts__key{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.15rem .5rem;font-family:var(--font-mono, ui-monospace, monospace);font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-sm, .375rem);box-shadow:0 1px 0 var(--border-input);white-space:nowrap}.kb-shortcuts__label{font-size:.85rem;color:var(--text-primary)}.kb-shortcuts__footer{margin-top:1.25rem;padding-top:.75rem;border-top:1px solid var(--border-subtle, var(--border-input));text-align:center;font-size:.75rem;color:var(--text-tertiary)}
