:root{--color-canvas:#f2f7f4;--color-surface:#fdfefd;--color-surface-muted:#e7f0ea;--color-text:#17241d;--color-text-muted:#57685e;--color-border:#d5e1d9;--color-accent:#0e8a56;--color-accent-strong:#14bf70;--color-accent-hover:#10a861;--color-on-accent:#0c1512;--color-mint:#85ddca;--color-gold:#b07f06;--color-focus:#0e8a56;--color-danger:#b3423a;--shadow-soft:0 6px 22px #1a302914;--shadow-glow:0 10px 26px #14bf7073;--radius-small:.8125rem;--radius-medium:1.25rem;--radius-large:1.5rem;--radius-pill:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--container-width:68rem;color:var(--color-text);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Roboto,Roboto Fallback,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--color-canvas:#0c1512;--color-surface:#14231c;--color-surface-muted:#1b3025;--color-text:#eef4f0;--color-text-muted:#8fa79b;--color-border:#ffffff14;--color-accent:#3ccd86;--color-accent-strong:#14bf70;--color-accent-hover:#10a861;--color-on-accent:#0c1512;--color-mint:#85ddca;--color-gold:#f5b50a;--color-focus:#3ccd86;--color-danger:#ff7a6e;--shadow-soft:0 18px 50px #0000004d;--shadow-glow:0 10px 26px #14bf7073}*,:before,:after{box-sizing:border-box}html{background:var(--color-canvas);min-width:20rem;min-height:100%}body{background-color:var(--color-canvas);background-image:radial-gradient(56rem 34rem at 50% -10rem, color-mix(in srgb, var(--color-accent-strong) 11%, transparent), transparent 70%);background-repeat:no-repeat;min-width:20rem;min-height:100vh;margin:0}button,select,input,textarea{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-small);min-height:2.75rem;color:var(--color-text);background:var(--color-surface)}select,input:not([type=checkbox],[type=radio]),textarea{background:var(--color-surface-muted);min-height:3.125rem}select:focus-visible,input:focus-visible,textarea:focus-visible{border-color:var(--color-focus)}button{padding-inline:var(--space-4);border-radius:var(--radius-pill);cursor:pointer;font-weight:700;transition:background-color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1)}button:hover{border-color:var(--color-accent)}select{width:100%;padding:var(--space-2) var(--space-3)}input:not([type=checkbox]){width:100%;padding:var(--space-3)}textarea{width:100%;padding:var(--space-3);resize:vertical}input:-webkit-autofill{border-color:var(--color-border);caret-color:var(--color-text);-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;box-shadow:0 0 0 1000px var(--color-surface) inset}input:-webkit-autofill:hover{border-color:var(--color-border);caret-color:var(--color-text);-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;box-shadow:0 0 0 1000px var(--color-surface) inset}input:-webkit-autofill:focus{border-color:var(--color-border);caret-color:var(--color-text);-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;box-shadow:0 0 0 1000px var(--color-surface) inset}input:-webkit-autofill:active{border-color:var(--color-border);caret-color:var(--color-text);-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;box-shadow:0 0 0 1000px var(--color-surface) inset}button:disabled{cursor:not-allowed;opacity:.65}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--color-focus) 55%, transparent);outline-offset:2px}a{color:var(--color-accent-strong);text-underline-offset:.18em}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-shell,.onboarding-shell{padding-block:clamp(var(--space-4), 7vh, var(--space-7));align-items:start}.onboarding-card{width:min(100%,48rem);padding:clamp(var(--space-5), 6vw, var(--space-7));border:1px solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface);box-shadow:var(--shadow-soft);margin-inline:auto}.auth-card{width:min(100%,26rem);margin-inline:auto}.auth-brand{align-items:center;gap:var(--space-3);display:flex}.auth-mark{width:2.75rem;height:2.75rem;color:var(--color-on-accent);background:linear-gradient(150deg, var(--color-accent-strong), var(--color-mint));border-radius:.9375rem;flex:none;place-items:center;display:grid}.auth-mark svg{width:1.5rem;height:1.5rem}.brand-name{margin-bottom:0;font-size:1.05rem;font-weight:750}.auth-back{align-items:center;gap:var(--space-2);min-height:2.75rem;color:var(--color-text-muted);font-weight:700;text-decoration:none;display:inline-flex}.auth-back:hover{color:var(--color-text)}.auth-back-icon{width:1rem;height:1rem}.form-pair{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.auth-shell .primary-button{min-height:3.25rem}.auth-shell .form-heading{margin-block:var(--space-5)}.auth-shell .form-heading h1{letter-spacing:-.02em;font-size:clamp(1.7rem,7vw,2.2rem)}.muted,.form-heading p:not(.eyebrow),.field-help,.step-label{color:var(--color-text-muted);line-height:1.55}.form-heading{margin-block:var(--space-6)}.form-heading h1{max-width:none;margin-bottom:var(--space-3);font-size:clamp(1.8rem,7vw,2.5rem)}.form-stack{gap:var(--space-4);display:grid}.form-field{gap:var(--space-2);color:var(--color-text);font-size:.9rem;font-weight:650;display:grid}.field-help{margin:calc(var(--space-3) * -1) 0 0;font-size:.82rem}.field-error,.form-error{color:var(--color-danger);font-size:.86rem;font-weight:650}.form-error{padding:var(--space-3);border-inline-start:3px solid var(--color-danger);background:color-mix(in srgb, var(--color-danger) 8%, transparent);margin:0}.primary-button{border-color:var(--color-accent-strong);color:var(--color-on-accent);background:var(--color-accent-strong);font-weight:700}.primary-button:hover{border-color:var(--color-accent-hover);background:var(--color-accent-hover)}.button-link{min-height:2.75rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-pill);justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.invitation-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.form-switch{margin:var(--space-5) 0 0;text-align:center;color:var(--color-text-muted)}.compact-preferences{margin-top:var(--space-6);padding-top:var(--space-5);gap:var(--space-4);border-top:1px solid var(--color-border);display:grid}.success-message{color:var(--color-accent-strong);font-weight:650}.notice{padding:var(--space-3);border-inline-start:3px solid var(--color-accent);background:var(--color-surface-muted)}.checkbox-field{align-items:center;gap:var(--space-3);min-height:2.75rem;font-weight:650;display:flex}.checkbox-field input{width:1.25rem;height:1.25rem;accent-color:var(--color-accent-strong)}.offline-banner{z-index:20;padding:var(--space-3);text-align:center;color:var(--color-surface);background:var(--color-danger);font-weight:700;position:fixed;inset-block-start:0;inset-inline:0}.authenticated-shell{min-height:100vh}.shell-header{z-index:15;border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 96%, transparent);display:none;position:sticky;inset-block-start:0;box-shadow:0 .25rem 1.25rem #0000001f}.shell-header-inner{width:min(100% - 1.5rem, var(--container-width));justify-content:space-between;align-items:center;gap:var(--space-3);min-height:4rem;margin-inline:auto;display:flex}.shell-brand{align-items:center;gap:var(--space-2);min-height:2.75rem;color:var(--color-text);font-weight:780;text-decoration:none;display:inline-flex}.shell-mark{width:2rem;height:2rem;color:var(--color-on-accent);background:linear-gradient(150deg, var(--color-accent-strong), var(--color-mint));border-radius:.625rem;place-items:center;display:grid}.shell-mark svg{width:1.2rem;height:1.2rem}.shell-desktop-nav{align-items:center;gap:var(--space-2);display:none}.shell-desktop-nav a,.shell-mobile-nav a{min-height:2.75rem;padding:var(--space-3);border-radius:var(--radius-small);color:var(--color-text);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.shell-desktop-nav a[aria-current=page],.shell-mobile-nav a[aria-current=page]{background:var(--color-surface-muted);box-shadow:inset 0 -2px 0 var(--color-accent-strong)}.shell-menu-button{justify-content:center;align-items:center;gap:var(--space-2);min-width:2.75rem;display:inline-flex}.shell-account-name{display:none}.shell-budget-controls{align-items:center;gap:var(--space-2);min-width:0;display:flex}.shell-budget-icon{width:1.5rem;height:1.5rem;color:var(--color-accent-strong);flex:none;place-items:center;font-size:1.1rem;display:grid}.shell-budget-controls select{width:min(9rem,34vw)}.shell-new-budget{min-height:2.75rem;padding-inline:var(--space-3);white-space:nowrap;align-items:center;font-weight:700;display:none}.shell-menu-panel{z-index:25;width:min(100% - 1.5rem,24rem);max-height:calc(100vh - 8rem);padding:var(--space-4);gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-soft);margin-inline:auto;display:grid;position:fixed;inset-block-end:5.5rem;inset-inline:0;overflow-y:auto}.shell-mobile-nav{gap:var(--space-1);display:grid}.shell-account-identity{gap:var(--space-1);padding-block:var(--space-3);border-block:1px solid var(--color-border);display:grid}.shell-account-identity span{color:var(--color-text-muted);overflow-wrap:anywhere}.shell-content{min-width:0}.shell-recovery-page{min-height:calc(100vh - 4rem)}.app-page{width:min(100% - 2rem, var(--container-width));padding-block:var(--space-5) var(--space-7);margin-inline:auto}.app-header{justify-content:space-between;align-items:start;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border);display:flex}.app-header h1{max-width:20ch;margin:0;font-size:clamp(2rem,8vw,3.25rem)}.welcome-panel{padding-block:var(--space-6)}.welcome-panel h2,.category-section h2{font-size:1.35rem}.welcome-panel dl{gap:var(--space-3);display:grid}.welcome-panel dl div{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.welcome-panel dt{color:var(--color-text-muted);font-size:.85rem}.welcome-panel dd{margin:var(--space-1) 0 0;font-weight:700}.category-section,.member-section,.invitation-manager{padding-block:var(--space-5);border-top:1px solid var(--color-border)}.member-list{margin:0;padding:0;list-style:none}.member-list li{min-height:2.75rem;padding-block:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.member-list li span:first-child{font-weight:700}.member-list li span:last-child{color:var(--color-text-muted)}.invitation-manager{max-width:38rem}.invitation-status{gap:var(--space-2);margin-block:var(--space-4);display:grid}.invitation-status div{gap:var(--space-3);grid-template-columns:minmax(7rem,.45fr) 1fr;display:grid}.invitation-status dt{color:var(--color-text-muted)}.invitation-status dd{overflow-wrap:anywhere;margin:0}.revoke-control{margin-top:var(--space-4);gap:var(--space-3);display:grid}.category-list{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.category-list li{min-height:2.75rem;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);align-items:center;display:flex}.fixed-field{min-height:2.75rem;padding:var(--space-3);gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-muted);display:grid}.fixed-field span,.fixed-field small{color:var(--color-text-muted)}.home-transaction-actions{padding-block:var(--space-5);gap:var(--space-3);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.primary-link{border-color:var(--color-accent-strong);color:var(--color-on-accent);background:var(--color-accent-strong)}.primary-link:hover{border-color:var(--color-accent-hover);background:var(--color-accent-hover)}.no-budget-page{max-width:58rem}.no-budget-hero{padding-block:clamp(var(--space-6), 9vw, var(--space-7));border-bottom:1px solid var(--color-border)}.no-budget-hero p{max-width:48ch;color:var(--color-text-muted);font-size:clamp(1.05rem,4vw,1.3rem);line-height:1.65}.account-summary{max-width:38rem;padding-block:var(--space-6)}.account-summary dl{margin:0 0 var(--space-5);gap:var(--space-3);display:grid}.account-summary dl div{padding-block:var(--space-3);border-bottom:1px solid var(--color-border)}.account-summary dt{color:var(--color-text-muted);font-size:.85rem}.account-summary dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font-weight:700}.budget-placeholder{margin-inline:auto}.budget-create-page{max-width:27.5rem}.budget-create-header{padding-block:var(--space-3) var(--space-4)}.budget-create-header h1{margin-bottom:var(--space-2);letter-spacing:-.02em;font-size:1.5rem}.budget-create-header p:last-child{color:var(--color-text-muted);margin:0;font-size:.9rem;line-height:1.55}.budget-create-form{gap:var(--space-4);display:grid}.budget-create-submit{min-height:3.25rem}.budget-icon-fieldset{border:0;margin:0;padding:0}.budget-icon-fieldset legend{margin-bottom:var(--space-3);font-weight:700}.budget-icon-options{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.budget-icon-option{min-height:3.75rem;padding:var(--space-2);justify-content:center;align-items:center;gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface-muted);cursor:pointer;text-align:center;overflow-wrap:anywhere;flex-direction:column;font-size:.72rem;display:flex;position:relative}.budget-icon-option:has(input:checked){border-color:color-mix(in srgb, var(--color-accent-strong) 60%, transparent);background:color-mix(in srgb, var(--color-accent-strong) 14%, transparent);color:var(--color-accent)}.budget-icon-option:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--color-focus) 55%, transparent);outline-offset:2px}.budget-icon-option input{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;margin:0;position:absolute;inset:0}.budget-icon-glyph{font-size:1.35rem}.budget-form-section{padding-block:var(--space-5);gap:var(--space-4);border-block-start:1px solid var(--color-border);display:grid}.budget-form-section h2,.budget-form-section p{margin-bottom:0}.budget-form-section p,.budget-eur-notice{color:var(--color-text-muted);line-height:1.55}.money-input{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.money-input>span{min-width:3rem;font-weight:750}.form-actions,.recovery-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.budget-overview-page{max-width:27.5rem;padding-block:var(--space-4) var(--space-6)}.budget-overview-page>.success-message{margin-bottom:var(--space-3)}.status-badge{width:fit-content;padding:var(--space-2) var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius-pill);color:var(--color-accent);font-weight:700}.dash-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-2) var(--space-4);display:flex}.dash-budget-heading{min-width:0}.dash-budget-name{letter-spacing:-.02em;max-width:none;margin:0;font-size:1.25rem;line-height:1.2}.dash-budget-trigger{align-items:center;gap:var(--space-3);min-height:2.875rem;color:var(--color-text);text-align:start;font-size:inherit;background:0 0;border:0;padding:0;font-weight:800;display:flex}.dash-budget-trigger:hover{color:var(--color-accent);border-color:#0000}.dash-budget-badge{width:2.875rem;height:2.875rem;color:var(--color-on-accent);background:linear-gradient(150deg, var(--color-accent-strong), var(--color-mint));border-radius:.9375rem;flex:none;place-items:center;font-size:1.35rem;display:grid}.dash-budget-text{gap:.125rem;min-width:0;display:grid}.dash-budget-text .eyebrow{color:var(--color-accent);margin:0;font-size:.6875rem}.dash-budget-text>span:last-child{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;display:flex}.dash-chevron{width:1rem;height:1rem;color:var(--color-text-muted);flex:none}.dash-avatars{flex:none;display:flex}.dash-avatar{border:2px solid var(--color-canvas);width:2.125rem;height:2.125rem;color:var(--color-on-accent);background:var(--color-accent-strong);text-transform:uppercase;border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:grid}.dash-avatar+.dash-avatar{background:var(--color-mint);margin-inline-start:-.625rem}.dash-avatar svg{width:1rem;height:1rem}.dash-meta-row{align-items:center;gap:var(--space-2) var(--space-3);color:var(--color-text-muted);flex-wrap:wrap;font-size:.86rem;display:flex}.dash-meta-row p{margin:0}.dash-meta-row .status-badge{padding:var(--space-1) var(--space-3);font-size:.8rem}.budget-overview-page .dashboard-section{margin-top:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface)}.dashboard-section>p{max-width:52ch;color:var(--color-text-muted);line-height:1.55}.dashboard-section h2{font-size:1rem}.dashboard-today{margin-top:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface);box-shadow:var(--shadow-soft)}.dashboard-today h2,.dashboard-weekly h2,.dashboard-income-forecast h2{margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:.82rem;font-weight:600}.dashboard-primary-amount{margin-bottom:var(--space-4);color:var(--color-accent);font-variant-numeric:tabular-nums;letter-spacing:-.03em;overflow-wrap:anywhere;font-size:clamp(2.5rem,12vw,3.25rem);font-weight:800;line-height:1.02}.dashboard-supporting-amount{margin-bottom:var(--space-3);font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(1.5rem,7vw,1.9rem);font-weight:800}.dashboard-financial-list{gap:var(--space-2);margin:0;display:grid}.dashboard-today .dashboard-financial-list{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-weekly .dashboard-financial-list,.dashboard-goal .dashboard-financial-list{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-financial-list div{padding:var(--space-3);align-content:start;gap:var(--space-1);border-radius:var(--radius-small);background:var(--color-surface-muted);display:grid}.dashboard-financial-list dt{color:var(--color-text-muted);font-size:.78rem;line-height:1.35}.dashboard-financial-list dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-weight:700}.dashboard-tile-danger{background:color-mix(in srgb, var(--color-danger) 14%, transparent)}.dashboard-tile-danger dt,.dashboard-tile-danger dd{color:var(--color-danger)}.dashboard-cta-row{margin-top:var(--space-4);gap:var(--space-3);display:flex}.dashboard-cta-row .button-link{gap:var(--space-2);flex:1 1 0;min-width:0;min-height:3rem}.dashboard-cta-row .button-link:not(.primary-link){border-width:1.5px;border-color:color-mix(in srgb, var(--color-accent-strong) 55%, transparent);color:var(--color-accent);background:0 0}.dashboard-cta-icon{flex:none;width:1.05rem;height:1.05rem}.streak-chip{margin:var(--space-4) 0 0;min-height:2.75rem;padding:var(--space-2) var(--space-4);align-items:center;gap:var(--space-2);border:1px solid color-mix(in srgb, var(--color-gold) 25%, transparent);border-radius:var(--radius-pill);background:linear-gradient(100deg, color-mix(in srgb, var(--color-gold) 16%, transparent), color-mix(in srgb, var(--color-gold) 5%, transparent));color:var(--color-gold);font-size:.82rem;font-weight:700;display:flex}.streak-chip svg{flex:none;width:1rem;height:1rem}.streak-cta{color:var(--color-text-muted);margin-inline-start:auto;font-weight:600}.week-bars{margin-bottom:var(--space-3);gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;display:grid}.week-bar{justify-items:center;gap:var(--space-1);display:grid}.week-bar-track{background:color-mix(in srgb, var(--color-text) 6%, transparent);border-radius:.375rem;align-items:flex-end;width:100%;max-width:1.75rem;height:3.25rem;display:flex;overflow:hidden}.week-bar-fill{background:color-mix(in srgb, var(--color-accent-strong) 45%, transparent);border-radius:.375rem;width:100%;transition:block-size .34s cubic-bezier(.4,0,.2,1)}.week-bar-fill--peak{background:var(--color-accent-strong)}.week-bar-label{color:var(--color-text-muted);font-size:.68rem;font-weight:600}.split-bar{margin-block:var(--space-3);border-radius:var(--radius-pill);gap:3px;height:.875rem;display:flex;overflow:hidden}.split-bar-segment{border-radius:var(--radius-pill);background:var(--color-accent-strong);min-width:.5rem}.split-bar-segment--partner{background:var(--color-mint)}.split-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.split-list li{align-items:center;gap:var(--space-3);min-height:2.75rem;display:flex}.split-list .dash-avatar{border-width:0;width:1.75rem;height:1.75rem;font-size:.72rem}.dash-avatar--partner{background:var(--color-mint)}.split-name{overflow-wrap:anywhere;flex:auto;min-width:0;font-weight:600}.split-amount{font-variant-numeric:tabular-nums;font-weight:700}.split-percent{min-width:2.5rem;color:var(--color-text-muted);text-align:end;font-variant-numeric:tabular-nums;font-size:.86rem}.dashboard-goal{background:linear-gradient(160deg, var(--color-surface-muted), var(--color-surface))}.dashboard-goal-layout{margin-block:var(--space-4);align-items:center;gap:var(--space-4) var(--space-5);flex-wrap:wrap;display:flex}.goal-ring{flex:none;place-items:center;width:8rem;height:8rem;display:grid;position:relative}.goal-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.goal-ring-track{fill:none;stroke:color-mix(in srgb, var(--color-text) 10%, transparent)}.goal-ring-progress{fill:none;stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.33,1,.68,1)}.goal-ring-label{justify-items:center;gap:.125rem;display:grid}.goal-ring-percent{color:var(--color-accent);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.65rem;font-weight:800}.goal-ring-caption{color:var(--color-text-muted);font-size:.72rem}.goal-summary{justify-items:start;gap:var(--space-2);flex:10rem;min-width:0;display:grid}.goal-summary p{margin:0}.goal-saved-label{color:var(--color-text-muted);font-size:.82rem}.goal-saved-amount{font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere;font-size:1.6rem;font-weight:800}.goal-target-line{color:var(--color-text-muted);font-size:.86rem;line-height:1.45}.goal-days-pill{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);color:var(--color-accent);background:color-mix(in srgb, var(--color-accent-strong) 14%, transparent);font-size:.8rem;font-weight:700}.dashboard-guidance{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);gap:var(--space-1);border:1px solid color-mix(in srgb, var(--color-gold) 25%, transparent);border-radius:var(--radius-small);background:linear-gradient(100deg, color-mix(in srgb, var(--color-gold) 16%, transparent), color-mix(in srgb, var(--color-gold) 5%, transparent));display:grid}.dashboard-guidance h3{align-items:center;gap:var(--space-2);color:var(--color-gold);margin:0;font-size:.82rem;display:flex}.dashboard-guidance-icon{flex:none;width:1rem;height:1rem}.dashboard-guidance p{max-width:52ch;margin:0;font-size:.9rem;line-height:1.5}.dashboard-target-ended,.dashboard-incomplete{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-inline-start:3px solid var(--color-accent-strong);border-radius:var(--radius-small);background:var(--color-surface-muted)}.dashboard-target-ended h2,.dashboard-incomplete h2{margin-bottom:var(--space-2)}.dashboard-target-ended p,.dashboard-incomplete p{max-width:52ch;margin:0;line-height:1.55}.dashboard-income-forecast>p:not(.dashboard-supporting-amount,.success-message){margin-block:var(--space-2);color:var(--color-text-muted);font-size:.9rem}.dashboard-forecast-form{margin-top:var(--space-4);gap:var(--space-4);display:grid}.dashboard-empty{padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-medium);text-align:center}.dashboard-empty h3{margin:0 0 var(--space-2);font-size:1rem}.dashboard-empty p{color:var(--color-text-muted);margin:0;line-height:1.55}.budget-overview-page .dashboard-recent{background:0 0;border:0;border-radius:0;padding:0}.dashboard-recent .dashboard-section-heading{padding-inline:var(--space-1)}.dashboard-recent .dashboard-section-heading h2{font-size:1rem}.dashboard-transaction-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.dashboard-transaction-list li{border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface)}.dashboard-transaction-list .transaction-icon-tile{background:var(--color-surface-muted)}.dashboard-transaction-list li>a{min-height:3.75rem;padding:var(--space-3);align-items:center;gap:var(--space-3);color:var(--color-text);text-decoration:none;display:flex}.transaction-icon-tile{width:2.375rem;height:2.375rem;color:var(--color-text-muted);background:color-mix(in srgb, var(--color-text) 8%, transparent);border-radius:.75rem;flex:none;place-items:center;display:grid}.transaction-icon-tile svg{width:1.2rem;height:1.2rem}.transaction-icon-tile--income{color:var(--color-accent);background:color-mix(in srgb, var(--color-accent-strong) 16%, transparent)}.dashboard-transaction-list li>a>div{flex:auto;gap:.125rem;min-width:0;display:grid}.dashboard-transaction-list strong{overflow-wrap:anywhere}.dashboard-transaction-list li>a>div span{color:var(--color-text-muted);font-size:.82rem}.dashboard-transaction-amount{text-align:end;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;flex:none;max-width:13rem;font-weight:800}.dashboard-transaction-amount--income{color:var(--color-accent)}.dashboard-section-heading{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.dashboard-section-heading h2{margin-bottom:0}.dashboard-section-heading p{max-width:48ch;color:var(--color-text-muted);margin:0;line-height:1.55}.dashboard-section-heading a{min-height:2.75rem;color:var(--color-accent);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.dashboard-section-heading a:hover{text-decoration:underline}.dashboard-expected-income-list{margin:var(--space-3) 0 0;padding:0;list-style:none}.dashboard-expected-income-list li{border-bottom:1px solid var(--color-border)}.dashboard-expected-income-list a{min-height:4.5rem;padding-block:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--color-text);text-decoration:none;display:flex}.dashboard-expected-income-list a>span:first-child{gap:var(--space-1);min-width:0;display:grid}.dashboard-expected-income-list a>span:first-child span{color:var(--color-text-muted);font-size:.86rem}.dashboard-skeleton{gap:var(--space-4);grid-template-columns:auto 1fr;display:grid}.dashboard-skeleton span{border-radius:var(--radius-small);background:var(--color-surface-muted);animation:1.2s ease-in-out infinite alternate dashboard-skeleton-pulse;display:block}.dashboard-skeleton-icon{width:2.875rem;height:2.875rem;border-radius:.9375rem!important}.dashboard-skeleton-heading{align-content:center;gap:var(--space-2);display:grid}.dashboard-skeleton-heading span:first-child{width:min(14rem,72%);height:1.6rem}.dashboard-skeleton-heading span:last-child{width:min(10rem,54%);height:.9rem}.dashboard-skeleton-primary{height:9rem;margin-top:var(--space-3);grid-column:1/-1;border-radius:var(--radius-large)!important}.dashboard-skeleton-grid{gap:var(--space-3);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-skeleton-grid span{height:6rem}.dashboard-skeleton-section{grid-column:1/-1;height:8rem}@keyframes dashboard-skeleton-pulse{to{opacity:.52}}.confirmation-session-actions{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.state-actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.transaction-page{max-width:27.5rem}.transaction-page-header,.transaction-detail-header{padding-block:var(--space-3) var(--space-4);justify-content:space-between;align-items:start;gap:var(--space-3);flex-wrap:wrap;display:flex}.transaction-page-header h1,.transaction-detail-header h1,.transaction-form-header h1{letter-spacing:-.02em;margin-bottom:0;font-size:1.5rem}.transaction-page-header>div>p:last-child{color:var(--color-text-muted);margin:0;font-size:.9rem}.transaction-primary-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.transaction-filters{margin-bottom:var(--space-4);padding:var(--space-4);gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);display:grid}.transaction-filters h2{color:var(--color-text-muted);margin:0;font-size:.82rem;font-weight:600}.transaction-detail-navigation{padding-block:var(--space-3);gap:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.transaction-detail-navigation a{align-items:center;min-height:2.75rem;display:inline-flex}.back-link{min-height:2.75rem;padding-block:var(--space-3);align-items:center;display:inline-flex}.transaction-empty{padding-block:var(--space-7);text-align:center}.transaction-empty p,.transaction-row-main span,.amount-field p,.transaction-form-header p{color:var(--color-text-muted)}.transaction-list{margin:0 0 var(--space-5);gap:var(--space-2);padding:0;list-style:none;display:grid}.transaction-list li{border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface)}.transaction-list a{min-height:3.75rem;padding:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--color-text);text-decoration:none;display:flex}.transaction-row-main{gap:var(--space-1) var(--space-2);flex-wrap:wrap;min-width:0;font-size:.82rem;display:flex}.transaction-row-main strong{overflow-wrap:anywhere;flex-basis:100%;font-size:1rem}.transaction-row-note{overflow-wrap:anywhere;flex-basis:100%}.transaction-amount{text-align:end;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;flex:none;max-width:13rem;font-weight:800}.transaction-form-header{padding-block:var(--space-4) var(--space-5)}.transaction-form{gap:var(--space-5);padding-bottom:var(--space-7);display:grid}.transaction-sheet-page{z-index:28;background:#0000007a;align-items:end;display:grid;position:fixed;inset:0}.transaction-sheet{width:min(100%,30rem);max-height:94vh;padding:var(--space-2) var(--space-4) max(var(--space-5), env(safe-area-inset-bottom));border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft);border-block-end:0;border-radius:1.625rem 1.625rem 0 0;margin-inline:auto;animation:.34s cubic-bezier(.4,0,.2,1) sheet-up;overflow-y:auto}.sheet-handle{width:2.5rem;height:.25rem;margin:var(--space-2) auto;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-text) 25%, transparent);display:block}.transaction-sheet .transaction-form-header{padding-block:var(--space-2) var(--space-4)}.transaction-sheet .transaction-form-header h1{font-size:1.35rem}.transaction-sheet .transaction-form-header p:last-child{color:var(--color-text-muted);font-size:.9rem}.transaction-sheet .transaction-form{gap:var(--space-4);padding-bottom:var(--space-4);grid-template-columns:1fr}.amount-field{gap:var(--space-2);display:grid}.amount-field input{font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-align:center;min-height:4.25rem;font-size:clamp(1.9rem,9vw,2.4rem);font-weight:800}.amount-field p{text-align:center;margin:0;font-size:.85rem}.keypad{margin-top:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.keypad button{border-radius:var(--radius-small);background:var(--color-surface-muted);border-color:#0000;min-height:3.25rem;font-size:1.2rem;font-weight:700}.transaction-summary{padding:var(--space-4);border-inline-start:3px solid var(--color-accent);background:var(--color-surface-muted)}.transaction-summary h2,.transaction-summary p{margin-bottom:var(--space-2)}.transaction-details{border-block:1px solid var(--color-border)}.transaction-details summary{min-height:2.75rem;padding-block:var(--space-3);cursor:pointer;align-items:center;font-weight:700;display:flex}.transaction-details>div{padding-block:var(--space-4);gap:var(--space-4);display:grid}.transaction-submit{min-height:3.25rem}.transaction-actions,.dialog-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.detail-amount{font-size:1.25rem;font-weight:750}.transaction-detail-list{padding-block:var(--space-5);gap:var(--space-4);margin:0;display:grid}.transaction-detail-list div{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.transaction-detail-list dt{color:var(--color-text-muted);font-size:.85rem}.transaction-detail-list dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font-weight:650}.detail-note dd{white-space:pre-wrap;font-weight:400}.danger-button{border-color:var(--color-danger);color:var(--color-danger);background:0 0;font-weight:700}.dialog-backdrop{z-index:30;padding:var(--space-4);background:#0000007a;place-items:center;display:grid;position:fixed;inset:0}.confirmation-dialog{width:min(100%,30rem);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-soft)}.conflict-panel{margin-bottom:var(--space-5);padding:var(--space-4);border-inline-start:3px solid var(--color-danger);background:color-mix(in srgb, var(--color-danger) 8%, transparent)}.expected-income-page{max-width:52rem}.expected-income-page-header,.expected-income-detail-header{padding-block:var(--space-5);justify-content:space-between;align-items:start;gap:var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.expected-income-page-header h1,.expected-income-detail-header h1,.expected-income-form-header h1{margin-bottom:0;font-size:clamp(2rem,9vw,3.25rem)}.expected-income-detail-navigation{padding-block:var(--space-3);gap:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.expected-income-detail-navigation a{align-items:center;min-height:2.75rem;display:inline-flex}.forecast-only-notice{margin-block:var(--space-4);padding:var(--space-4);border-inline-start:3px solid var(--color-accent);background:var(--color-surface-muted);line-height:1.55}.expected-income-filters{padding-block:var(--space-4);gap:var(--space-3);border-block:1px solid var(--color-border);display:grid}.expected-income-filters h2{margin:0;font-size:1rem}.expected-income-empty{padding-block:var(--space-7);text-align:center}.expected-income-empty p,.expected-income-row-main span,.expected-income-form-header p,.expected-income-form .amount-field p{color:var(--color-text-muted)}.expected-income-list{margin:0 0 var(--space-5);padding:0;list-style:none}.expected-income-list li{border-bottom:1px solid var(--color-border)}.expected-income-list a{min-height:6rem;padding-block:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--color-text);text-decoration:none;display:flex}.expected-income-row-main{gap:var(--space-1) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.expected-income-row-main strong,.expected-income-row-note{overflow-wrap:anywhere;flex-basis:100%}.expected-income-row-main .status-badge{padding:var(--space-1) var(--space-2);font-size:.78rem}.status-received{border-style:double}.expected-income-amount{text-align:end;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;flex:none;max-width:13rem;font-weight:750}.expected-income-form-header{padding-block:var(--space-4) var(--space-5)}.expected-income-form{gap:var(--space-5);padding-bottom:var(--space-7);display:grid}.expected-income-submit{min-height:3.25rem}.expected-income-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.expected-income-detail-list{padding-block:var(--space-5);gap:var(--space-4);margin:0;display:grid}.expected-income-detail-list div{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.expected-income-detail-list dt{color:var(--color-text-muted);font-size:.85rem}.expected-income-detail-list dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font-weight:650}.segmented-fieldset,.chip-fieldset{min-width:0;color:var(--color-text);border:0;margin:0;padding:0;font-size:.9rem;font-weight:650}.segmented-fieldset legend,.chip-fieldset legend{margin-bottom:var(--space-2);padding:0}.segmented-control{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;margin:0;padding:.25rem;display:grid}.segmented-option{position:relative}.segmented-option input{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;margin:0;position:absolute;inset:0}.segmented-option span{border-radius:var(--radius-pill);min-height:2.5rem;color:var(--color-text-muted);justify-content:center;align-items:center;font-weight:700;transition:background-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1);display:flex}.segmented-option input:checked+span{color:var(--color-on-accent);background:var(--color-accent-strong)}.segmented-option input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--color-focus) 55%, transparent);outline-offset:2px}.segmented-option input:disabled{cursor:not-allowed}.segmented-option input:disabled+span{opacity:.6}.chip-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{position:relative}.chip input{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;margin:0;position:absolute;inset:0}.chip span{min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-muted);align-items:center;font-size:.9rem;font-weight:600;transition:background-color .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1);display:inline-flex}.chip input:checked+span{border-color:color-mix(in srgb, var(--color-accent-strong) 60%, transparent);background:color-mix(in srgb, var(--color-accent-strong) 16%, transparent);color:var(--color-accent)}.chip input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--color-focus) 55%, transparent);outline-offset:2px}.chip-toggle{min-height:2.75rem;padding-inline:var(--space-3);border:1.5px dashed color-mix(in srgb, var(--color-accent-strong) 55%, transparent);border-radius:var(--radius-pill);color:var(--color-accent);background:0 0;font-size:.9rem;font-weight:700}.bottom-nav{z-index:18;padding:var(--space-2) var(--space-3) max(var(--space-2), env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;display:grid;position:fixed;inset-block-end:0;inset-inline:0}.bottom-nav a,.bottom-nav button{min-height:2.75rem;padding:var(--space-1);border-radius:var(--radius-small);color:var(--color-text-muted);background:0 0;border:0;align-content:center;justify-items:center;gap:.125rem;font-size:.68rem;font-weight:600;text-decoration:none;display:grid}.bottom-nav a:hover,.bottom-nav button:hover{color:var(--color-text);border-color:#0000}.bottom-nav a[aria-current=page]{color:var(--color-accent)}.bottom-nav svg{width:1.375rem;height:1.375rem}.bottom-nav-fab{width:3.5rem;height:3.5rem;color:var(--color-on-accent);background:var(--color-accent-strong);box-shadow:var(--shadow-glow);border:0;border-radius:50%;justify-content:center;align-items:center;margin:-1.375rem auto 0;display:flex}a.bottom-nav-fab:hover{color:var(--color-on-accent);background:var(--color-accent-hover)}.bottom-nav-fab svg{width:1.5rem;height:1.5rem}.shell-content{padding-block-end:6.5rem}.sheet-backdrop{z-index:30;background:#0000007a;align-items:end;display:grid;position:fixed;inset:0}.budget-sheet{width:100%;max-width:30rem;max-height:84vh;padding:var(--space-4) var(--space-4) max(var(--space-5), env(safe-area-inset-bottom));border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft);border-block-end:0;border-radius:1.625rem 1.625rem 0 0;margin-inline:auto;animation:.34s cubic-bezier(.4,0,.2,1) sheet-up;overflow-y:auto}@keyframes sheet-up{0%{opacity:.4;transform:translateY(1.5rem)}}.budget-sheet-handle{width:4.5rem;min-height:1.75rem;margin:calc(var(--space-2) * -1) auto 0;border-radius:var(--radius-pill);background:0 0;border:0;padding:0;display:block}.budget-sheet-handle:before{content:"";border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-text) 25%, transparent);width:2.5rem;height:.25rem;margin-inline:auto;display:block}.budget-sheet h2{margin:var(--space-2) 0 var(--space-4);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.budget-sheet-list{margin:0 0 var(--space-4);gap:var(--space-2);padding:0;list-style:none;display:grid}.budget-sheet-row{width:100%;min-height:3.75rem;padding:var(--space-2) var(--space-3);align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface-muted);text-align:start;font-weight:700;display:flex}.budget-sheet-titles{flex:auto;gap:.125rem;min-width:0;display:grid}.budget-sheet-progress{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600}.budget-sheet-row[aria-current=true]{border-color:color-mix(in srgb, var(--color-accent-strong) 55%, transparent);background:color-mix(in srgb, var(--color-accent-strong) 12%, transparent)}.budget-sheet-icon{width:2.625rem;height:2.625rem;color:var(--color-accent);background:color-mix(in srgb, var(--color-accent-strong) 16%, transparent);border-radius:.8125rem;flex:none;place-items:center;font-size:1.25rem;display:grid}.budget-sheet-row[aria-current=true] .budget-sheet-icon{color:var(--color-on-accent);background:var(--color-accent-strong)}.budget-sheet-name{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;min-width:0;display:flex}.budget-sheet-star{color:var(--color-gold);flex:none}.budget-sheet-check{color:var(--color-accent);flex:none}.budget-sheet-check svg,.budget-sheet-star svg{width:1.1rem;height:1.1rem;display:block}.budget-sheet-new{justify-content:center;align-items:center;gap:var(--space-2);border:1.5px dashed color-mix(in srgb, var(--color-accent-strong) 55%, transparent);border-radius:var(--radius-pill);width:100%;min-height:3rem;color:var(--color-accent);background:0 0;font-weight:700;text-decoration:none;display:flex}.budget-sheet-new svg{width:1.1rem;height:1.1rem}.page-shell{min-height:100vh;padding:var(--space-4);align-items:center;display:grid}.page-container{width:min(100%, var(--container-width));margin-inline:auto}.foundation-card{max-width:44rem;padding:clamp(var(--space-5), 6vw, var(--space-7));border:1px solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface);box-shadow:var(--shadow-soft)}.eyebrow{margin:0 0 var(--space-3);color:var(--color-accent-strong);letter-spacing:.09em;text-transform:uppercase;font-size:.78rem;font-weight:700}h1,h2,p{margin-block-start:0}h1{max-width:18ch;letter-spacing:-.035em;margin-block-end:var(--space-4);font-size:clamp(2rem,9vw,3.5rem);line-height:1.05}h2{margin-block-end:var(--space-4);font-size:1rem}.foundation-summary{max-width:55ch;color:var(--color-text-muted);margin-block-end:var(--space-6);font-size:1.05rem;line-height:1.65}.preferences{padding-top:var(--space-5);border-top:1px solid var(--color-border)}.preference-grid{gap:var(--space-4);display:grid}.field-label{gap:var(--space-2);color:var(--color-text-muted);font-size:.875rem;font-weight:600;display:grid}.state-panel{width:min(100% - 2rem,32rem);min-height:12rem;padding:var(--space-6);place-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-medium);text-align:center;background:var(--color-surface);margin:15vh auto 0;display:grid}.state-panel p{color:var(--color-text-muted)}.state-indicator{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:1.75rem;height:1.75rem;animation:.8s linear infinite state-spin}.update-prompt{z-index:10;inset-inline:var(--space-4);max-width:34rem;padding:var(--space-4);gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);box-shadow:var(--shadow-soft);margin-inline:auto;display:grid;position:fixed;inset-block-end:max(var(--space-4), env(safe-area-inset-bottom))}.update-prompt h2,.update-prompt p{margin-block-end:var(--space-2)}.update-prompt p{color:var(--color-text-muted)}.update-prompt__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.update-prompt__actions button:first-child{border-color:var(--color-accent-strong);color:var(--color-on-accent);background:var(--color-accent-strong)}@keyframes state-spin{to{transform:rotate(360deg)}}@media (width>=40rem){.page-shell{padding:var(--space-6)}.preference-grid,.compact-preferences,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>.form-error,.form-grid>.primary-button,.form-grid>.checkbox-field{grid-column:1/-1}.category-list{grid-template-columns:repeat(4,minmax(0,1fr))}.transaction-form{grid-template-columns:repeat(2,minmax(0,1fr))}.amount-field,.transaction-summary,.transaction-details,.transaction-submit,.transaction-form>.form-error,.transaction-form>label:last-of-type{grid-column:1/-1}.transaction-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-filters h2{grid-column:1/-1}.expected-income-form{grid-template-columns:repeat(2,minmax(0,1fr))}.expected-income-form .amount-field,.expected-income-form .forecast-only-notice,.expected-income-submit,.expected-income-form>.form-error,.expected-income-form>label:last-of-type{grid-column:1/-1}.shell-header{display:block}.shell-header-inner{width:min(100% - 2rem, var(--container-width))}.shell-desktop-nav{margin-inline-start:auto;display:flex}.shell-budget-controls select{width:12rem}.shell-new-budget{display:inline-flex}.shell-account-name{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;display:inline;overflow:hidden}.shell-menu-panel{margin:0;inset-block:4.5rem auto;inset-inline-start:auto;inset-inline-end:max(1rem, calc((100% - var(--container-width)) / 2))}.shell-mobile-nav,.bottom-nav{display:none}.shell-content{padding-block-end:0}}@media (width>=64rem){.welcome-panel{padding-block:var(--space-5) var(--space-4)}.welcome-panel dl{gap:var(--space-2)}.welcome-panel dl div{padding-block:var(--space-2)}.category-section{padding-block:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
