:root{color-scheme:light;font-family:Roboto,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--surface);color:var(--on-surface);--primary: #6750a4;--on-primary: #ffffff;--primary-container: #eaddff;--on-primary-container: #21005d;--secondary: #625b71;--on-secondary: #ffffff;--secondary-container: #e8def8;--on-secondary-container: #1d192b;--tertiary: #7d5260;--on-tertiary: #ffffff;--tertiary-container: #ffd8e4;--on-tertiary-container: #31111d;--surface: #fef7ff;--surface-dim: #ded8e1;--surface-bright: #fef7ff;--surface-container-lowest: #ffffff;--surface-container-low: #fef7ff;--surface-container: #fef7ff;--surface-container-high: #f8f0fa;--surface-container-highest: #f3ebf5;--on-surface: #1c1b1f;--on-surface-variant: #49454f;--timeline-section: #ffffff;--timeline-row: #f7f2fa;--bottom-nav-bg: #ece6f0;--bottom-nav-fg: #4a4458;--entry-icon-bg: #ffffff;--outline: #79747e;--outline-variant: #cac4d0;--inverse-surface: #313033;--inverse-on-surface: #f4eff4;--green: #5f826f;--green-container: #a9f5c9;--blue: #0061a4;--blue-container: #d1e4ff;--error: #8b4f63;--on-error: #ffffff;--error-container: #f9dedc;--on-error-container: #410e0b;--red: var(--error);--red-container: var(--error-container);--amber: #765900;--amber-container: #ffdf9b;--scrim: #000000;--shadow-color: #000000;--card-border: color-mix(in srgb, var(--outline-variant) 72%, transparent);--card-shadow: var(--elevation-1);--filled-card-bg: var(--surface-container-highest);--filled-card-shadow: var(--elevation-0);--shape-extra-small: 4px;--shape-small: 8px;--shape-medium: 12px;--shape-large: 16px;--shape-large-increased: 20px;--shape-extra-large: 28px;--shape-full: 999px;--card-radius: var(--shape-medium);--card-padding: 16px;--elevation-0: none;--elevation-1: 0 1px 2px color-mix(in srgb, var(--shadow-color) 30%, transparent), 0 1px 3px 1px color-mix(in srgb, var(--shadow-color) 15%, transparent);--elevation-2: 0 1px 2px color-mix(in srgb, var(--shadow-color) 30%, transparent), 0 2px 6px 2px color-mix(in srgb, var(--shadow-color) 15%, transparent);--elevation-3: 0 1px 3px color-mix(in srgb, var(--shadow-color) 30%, transparent), 0 4px 8px 3px color-mix(in srgb, var(--shadow-color) 15%, transparent);--elevation-4: 0 2px 3px color-mix(in srgb, var(--shadow-color) 30%, transparent), 0 6px 10px 4px color-mix(in srgb, var(--shadow-color) 15%, transparent);--elevation-5: 0 4px 4px color-mix(in srgb, var(--shadow-color) 30%, transparent), 0 8px 12px 6px color-mix(in srgb, var(--shadow-color) 15%, transparent);--shadow: var(--elevation-3);--state-hover: color-mix(in srgb, var(--on-surface) 8%, transparent);--state-focus: color-mix(in srgb, var(--on-surface) 12%, transparent);--state-pressed: color-mix(in srgb, var(--on-surface) 12%, transparent);--state-primary-hover: color-mix(in srgb, var(--primary) 8%, transparent);--state-primary-focus: color-mix(in srgb, var(--primary) 12%, transparent);--focus-ring: 3px solid color-mix(in srgb, var(--primary) 38%, transparent);--duration-short: .16s;--duration-medium: .26s;--easing-standard: cubic-bezier(.2, 0, 0, 1);--easing-emphasized: cubic-bezier(.2, 0, 0, 1)}:root[data-theme=dark]{color-scheme:dark;--primary: #d0bcff;--on-primary: #381e72;--primary-container: #4f378b;--on-primary-container: #eaddff;--secondary: #ccc2dc;--on-secondary: #332d41;--secondary-container: #4a4458;--on-secondary-container: #e8def8;--tertiary: #efb8c8;--on-tertiary: #492532;--tertiary-container: #633b48;--on-tertiary-container: #ffd8e4;--surface: #141218;--surface-dim: #141218;--surface-bright: #3b383e;--surface-container-lowest: #0f0d13;--surface-container-low: #1d1b20;--surface-container: #211f26;--surface-container-high: #2b2930;--surface-container-highest: #36343b;--on-surface: #e6e0e9;--on-surface-variant: #cac4d0;--outline: #938f99;--outline-variant: #49454f;--inverse-surface: #e6e0e9;--inverse-on-surface: #313033;--green: #8bd8a7;--green-container: #00522b;--blue: #a1c9ff;--blue-container: #00497d;--error: #f2b8b5;--on-error: #601410;--error-container: #8c1d18;--on-error-container: #f9dedc;--red: var(--error);--red-container: var(--error-container);--amber: #e7c16d;--amber-container: #5a4200;--card-border: color-mix(in srgb, var(--outline-variant) 76%, transparent);--card-shadow: var(--elevation-0);--timeline-section: var(--surface-container-low);--timeline-row: var(--surface-container-high);--bottom-nav-bg: var(--surface-container);--bottom-nav-fg: var(--on-surface);--entry-icon-bg: var(--surface-container-highest);--filled-card-bg: var(--surface-container-highest);--filled-card-shadow: var(--elevation-0);--elevation-1: 0 1px 2px color-mix(in srgb, var(--shadow-color) 46%, transparent), 0 1px 3px 1px color-mix(in srgb, var(--shadow-color) 25%, transparent);--elevation-2: 0 1px 2px color-mix(in srgb, var(--shadow-color) 46%, transparent), 0 2px 6px 2px color-mix(in srgb, var(--shadow-color) 25%, transparent);--elevation-3: 0 1px 3px color-mix(in srgb, var(--shadow-color) 48%, transparent), 0 4px 8px 3px color-mix(in srgb, var(--shadow-color) 28%, transparent);--elevation-4: 0 2px 3px color-mix(in srgb, var(--shadow-color) 50%, transparent), 0 6px 10px 4px color-mix(in srgb, var(--shadow-color) 30%, transparent);--elevation-5: 0 4px 4px color-mix(in srgb, var(--shadow-color) 52%, transparent), 0 8px 12px 6px color-mix(in srgb, var(--shadow-color) 32%, transparent)}:root[data-theme-variant=light-new]{--primary: #6750a4;--on-primary-container: #6750a4;--form-text: #55515f;--green: #4dc680;--blue: #307ce5;--red: #e14549;--amber: #fa9525;--surface: #fefdfe;--surface-bright: #fefdfe;--surface-container-low: #fefdfe;--surface-container: #fefdfe;--surface-container-high: #ffffff;--surface-container-highest: #ffffff;--timeline-section: #ffffff;--timeline-row: #ffffff;--bottom-nav-bg: #ffffff;--bottom-nav-border: #e4e1e6;--muted-text: var(--on-surface);--filled-card-bg: #ffffff;--filled-card-shadow: 0 10px 24px color-mix(in srgb, #21005d 8%, transparent), 0 2px 8px color-mix(in srgb, #21005d 5%, transparent)}:root[data-theme-variant=light-new] .projection-chart-area{fill:var(--primary-container)}:root[data-theme-variant=light-new] .projection-chart-area.negative{fill:color-mix(in srgb,var(--red) 18%,transparent)}:root[data-theme-variant=light-new] .top-title span,:root[data-theme-variant=light-new] .hero-balance span,:root[data-theme-variant=light-new] .hero-balance small,:root[data-theme-variant=light-new] .metric-card span,:root[data-theme-variant=light-new] .projection-chart-header span,:root[data-theme-variant=light-new] .projection-chart-header small,:root[data-theme-variant=light-new] .projection-chart-footer,:root[data-theme-variant=light-new] .month-strip button,:root[data-theme-variant=light-new] .summary-line,:root[data-theme-variant=light-new] .summary-line b,:root[data-theme-variant=light-new] .consolidated-toggle,:root[data-theme-variant=light-new] .timeline-list-header h2,:root[data-theme-variant=light-new] .timeline-text strong,:root[data-theme-variant=light-new] .timeline-text span,:root[data-theme-variant=light-new] .month-totals span,:root[data-theme-variant=light-new] .entry-icon,:root[data-theme-variant=light-new] .bottom-nav button,:root[data-theme-variant=light-new] .bottom-nav button.nav-action{color:var(--muted-text)}:root[data-theme-variant=light-new] .bottom-nav button.active,:root[data-theme-variant=light-new] .bottom-nav button.active>span{color:var(--primary)}:root[data-theme-variant=light-new] .bottom-nav button.active>span{background:transparent}:root[data-theme-variant=light-new] .bottom-nav button.nav-action>span,:root[data-theme-variant=light-new] .bottom-nav button.nav-action .nav-action-icon{color:var(--primary)}:root[data-theme-variant=light-new] .top-account-label{color:var(--on-primary-container)}:root[data-theme-variant=light-new] .top-app-bar h1{font-weight:600}:root[data-theme-variant=light-new] .access-panel h1,:root[data-theme-variant=light-new] .timeline-list-header h2{font-weight:500}:root[data-theme-variant=light-new] .month-strip strong{background:var(--primary);color:var(--on-primary)}:root[data-theme-variant=light-new] .month-totals b{color:var(--on-primary-container)}:root[data-theme-variant=light-new] .access-panel h1,:root[data-theme-variant=light-new] .access-panel label,:root[data-theme-variant=light-new] .auth-tabs button:not(.active){color:var(--muted-text)}:root[data-theme-variant=light-new] .timeline-list-section{padding:0 16px 4px;background:var(--surface)}:root[data-theme-variant=light-new] .timeline-scroll{margin-top:20px}:root[data-theme-variant=light-new] .timeline-content{padding-bottom:0}:root[data-theme-variant=light-new] .month-totals{margin-bottom:25px}:root[data-theme-variant=light-new] .timeline-list{gap:10px;margin-inline:-8px;padding:0 8px 8px;overflow-y:auto}:root[data-theme-variant=light-new] .timeline-list-section{overflow:hidden}:root[data-theme-variant=light-new] .timeline-scroll{overflow:hidden}:root[data-theme-variant=light-new] .swipe-row{border-radius:var(--card-radius);background:var(--filled-card-bg);box-shadow:var(--filled-card-shadow)}:root[data-theme-variant=light-new] .timeline-row{background:var(--filled-card-bg);box-shadow:none}:root[data-theme-variant=light-new] .segmented button.active.out{background:var(--red);color:var(--on-error)}:root[data-theme-variant=light-new] .segmented button.active.in{background:var(--green);color:var(--on-error)}:root[data-theme-variant=light-new] .sheet-form label,:root[data-theme-variant=light-new] .sheet-form input,:root[data-theme-variant=light-new] .sheet-form select,:root[data-theme-variant=light-new] .currency-prefix,:root[data-theme-variant=light-new] .currency-input input{color:var(--form-text)}:root[data-theme-variant=light-new] .mode-segmented button{color:color-mix(in srgb,var(--form-text) 78%,transparent)}:root[data-theme-variant=light-new] .mode-segmented button.active{color:var(--primary)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;min-height:100%;overscroll-behavior:none}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:var(--surface-container);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-size-adjust:100%;-webkit-text-size-adjust:100%;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}button,input,select{font:inherit}button{border:0;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}input,textarea{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}.phone-shell{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,520px);height:100vh;height:100dvh;min-height:0;margin:0 auto;background:var(--surface);overflow:hidden;overscroll-behavior:contain}.access-screen{display:grid;min-height:100vh;min-height:100dvh;place-items:center;padding:24px;background:var(--surface)}.access-panel{display:grid;width:min(100%,360px);gap:18px}.preload-screen{display:grid;min-height:100dvh;place-items:center;overflow:hidden;padding:24px;background:linear-gradient(180deg,color-mix(in srgb,#14072f 22%,transparent),color-mix(in srgb,#080317 26%,transparent)),url(/splash-preload.svg) center / cover no-repeat,#160735;color:#fff}.preload-brand{display:grid;justify-items:center;gap:18px;transform:translateY(-4vh)}.preload-brand img{width:clamp(104px,28vw,148px);height:clamp(104px,28vw,148px);border-radius:28px;box-shadow:0 24px 70px color-mix(in srgb,#000000 42%,transparent),0 0 46px color-mix(in srgb,#d8b4ff 42%,transparent)}.preload-brand h1{margin:0;color:#fff;font-size:clamp(1.55rem,8vw,2.25rem);font-weight:600;line-height:1.1;letter-spacing:0;text-shadow:0 2px 24px color-mix(in srgb,#000000 45%,transparent)}.access-mark{display:grid;width:56px;height:56px;place-items:center;border-radius:var(--shape-full);background:var(--primary-container);color:var(--on-primary-container)}.access-panel h1{margin:0;color:var(--on-surface);font-size:2.1rem;font-weight:400;line-height:2.5rem;letter-spacing:0}.access-panel p{min-height:20px;margin:0;color:var(--red);font-size:.9rem;font-weight:700}.access-links{display:flex;flex-wrap:wrap;gap:10px 14px;justify-content:center;color:var(--primary);font-size:.86rem;font-weight:500}.access-links a{color:inherit;text-decoration:none}.access-links a:hover,.access-links a:focus-visible{text-decoration:underline;outline:0}.access-panel .demo-access-button{width:100%;border:1px solid color-mix(in srgb,var(--primary) 56%,transparent);background:var(--surface-container-lowest);color:var(--primary)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid var(--outline);border-radius:var(--shape-full);padding:4px;background:var(--surface-container-lowest)}.auth-tabs button{min-height:42px;border-radius:var(--shape-full);background:transparent;color:var(--on-surface-variant);font-weight:800}.auth-tabs button.active{background:var(--primary-container);color:var(--on-primary-container)}.auth-secondary-actions{display:grid;gap:4px;justify-items:center}.access-panel label,.access-panel button,.access-panel .access-links,.access-panel p{font-weight:400}.access-panel label,.access-panel .auth-tabs button,.access-panel .filled-button,.access-panel .demo-access-button,.access-panel .access-links{font-weight:500}.desktop-gate{display:grid;min-height:100vh;min-height:100dvh;place-items:center;padding:40px 24px;background:var(--surface-container)}.desktop-gate-panel{display:grid;width:min(100%,560px);justify-items:start;gap:18px;border:1px solid color-mix(in srgb,var(--outline-variant) 72%,transparent);border-radius:28px;padding:36px;background:color-mix(in srgb,var(--surface-container-highest) 94%,transparent);box-shadow:var(--filled-card-shadow)}.desktop-gate-mark{display:grid;width:64px;height:64px;place-items:center;border-radius:var(--shape-full);background:var(--primary-container);color:var(--on-primary-container)}.desktop-gate-mark.success{background:color-mix(in srgb,var(--green) 18%,var(--surface-container-highest));color:var(--green)}.desktop-gate-panel p,.desktop-gate-panel h1,.desktop-gate-panel span,.desktop-gate-panel small{margin:0}.desktop-gate-panel p{color:var(--primary);font-size:.95rem;font-weight:800}.desktop-gate-panel h1{max-width:12ch;color:var(--on-surface);font-size:clamp(2.4rem,5vw,4.4rem);font-weight:600;line-height:.98;letter-spacing:0}.desktop-gate-panel span{max-width:46ch;color:var(--on-surface-variant);font-size:1.05rem;line-height:1.55}.desktop-gate-panel small{color:var(--on-surface-variant);font-size:.95rem;font-weight:700}.desktop-gate-action{min-width:220px;margin-top:8px;text-decoration:none}.password-field{position:relative;display:block}.password-field input{padding-right:48px}.password-visibility-button{position:absolute;top:50%;right:8px;display:grid;width:40px;height:40px;min-height:40px;place-items:center;border-radius:var(--shape-full);background:transparent;color:var(--on-surface-variant);transform:translateY(-50%)}.password-visibility-button:hover,.password-visibility-button:focus-visible{background:var(--state-primary-hover);outline:0}.password-visibility-button .ui-icon{width:20px;height:20px}.dialog-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--scrim) 38%,transparent)}.material-dialog{display:grid;width:min(100%,360px);gap:14px;border-radius:var(--shape-extra-large);padding:24px;background:var(--surface-container-high);color:var(--on-surface);box-shadow:var(--elevation-3)}.material-dialog .dialog-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:var(--shape-full)}.material-dialog.info .dialog-icon{background:var(--blue-container);color:var(--blue)}.material-dialog.error .dialog-icon{background:var(--error-container);color:var(--on-error-container)}.material-dialog h2,.material-dialog p{margin:0}.material-dialog h2{font-size:1.5rem;font-weight:500;line-height:2rem;letter-spacing:0}.material-dialog p{color:var(--on-surface-variant);font-size:.95rem;font-weight:500;line-height:1.35rem}.dialog-actions{display:flex;justify-content:flex-end;padding-top:8px}.dialog-actions .text-button{min-width:64px}.orientation-guard{display:none}.top-app-bar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:96px minmax(0,1fr) auto;grid-template-rows:52px 60px;min-height:calc(128px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 4px 12px 16px;background:var(--surface)}.household-top-app-bar{background:radial-gradient(circle at 96% 12%,color-mix(in srgb,var(--primary-container) 68%,transparent) 0 46px,transparent 47px),radial-gradient(circle at 83% -4%,color-mix(in srgb,var(--primary-container) 76%,transparent) 0 128px,transparent 129px),linear-gradient(135deg,color-mix(in srgb,var(--primary-container) 72%,var(--surface)),color-mix(in srgb,var(--primary-container) 52%,var(--surface)));box-shadow:none}.household-top-app-bar .icon-button{background:color-mix(in srgb,var(--surface-container-lowest) 92%,transparent);box-shadow:0 4px 12px color-mix(in srgb,var(--shadow-color) 18%,transparent)}.household-top-app-bar .icon-button:hover,.household-top-app-bar .icon-button:focus-visible{background:var(--surface-container-lowest)}.household-top-app-bar h1{color:var(--on-surface);font-size:2.1rem;font-weight:800}.household-top-app-bar .top-title span{color:color-mix(in srgb,var(--on-surface-variant) 88%,transparent);font-weight:600}.top-app-bar-compact{grid-template-rows:48px;min-height:calc(52px + env(safe-area-inset-top));padding-bottom:0}.top-app-bar-compact .icon-button,.top-app-bar-compact .notification-bell{width:44px;height:44px}.top-app-bar-compact .notification-badge{top:7px;right:6px}.top-title{grid-column:1 / -1;grid-row:2;align-self:end;display:grid;gap:2px;min-width:0;padding-right:96px}.top-app-bar h1{margin:0;overflow:hidden;color:var(--on-surface);font-size:2rem;font-weight:400;line-height:2.5rem;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.top-title span{overflow:hidden;color:var(--on-surface-variant);font-size:1rem;font-weight:500;line-height:1.3rem;text-overflow:ellipsis;white-space:nowrap}.top-leading-action{grid-column:1;grid-row:1;align-self:center;display:flex;align-items:center}.top-account-label{grid-column:2;grid-row:1;align-self:center;justify-self:center;max-width:100%;overflow:hidden;color:color-mix(in srgb,var(--on-surface-variant) 76%,transparent);font-size:.86rem;font-weight:700;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}.app-actions{grid-column:3;grid-row:1;align-self:center;display:flex;align-items:center;justify-content:flex-end;gap:0}.icon-button{display:inline-grid;width:48px;height:48px;place-items:center;border-radius:var(--shape-full);padding:0;background:transparent;color:var(--on-surface);transition:background var(--duration-short) var(--easing-standard),color var(--duration-short) var(--easing-standard)}.icon-button:hover,.icon-button:focus-visible{background:var(--state-hover);outline:0}.icon-button:active{background:var(--state-pressed)}.notification-wrap{position:relative}.notification-bell{position:relative;display:inline-grid;width:48px;height:48px;place-items:center;border-radius:var(--shape-full);padding:0;background:transparent;color:var(--on-surface-variant);transition:background var(--duration-short) var(--easing-standard),color var(--duration-short) var(--easing-standard)}.notification-bell:hover,.notification-bell:focus-visible,.notification-bell.is-open{background:var(--state-hover);outline:0}.notification-bell.is-open,.notification-bell.has-items{color:var(--primary)}.notification-svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.notification-badge{position:absolute;top:9px;right:8px;display:grid;min-width:17px;height:17px;place-items:center;border-radius:var(--shape-full);padding:0 5px;background:var(--red);color:var(--on-error);font-size:.68rem;font-weight:700;line-height:1}.notification-panel{position:absolute;top:calc(100% + 6px);right:-40px;z-index:30;display:grid;gap:10px;width:min(336px,calc(100vw - 24px));max-height:min(430px,calc(100vh - 88px));overflow:hidden;border:1px solid var(--outline-variant);border-radius:var(--shape-medium);padding:12px;background:var(--surface-container-highest);color:var(--on-surface);box-shadow:var(--elevation-3)}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px}.notification-panel-header strong{color:var(--on-surface);font-size:.9rem;line-height:1.2}.notification-panel-header span{color:var(--on-surface-variant);font-size:.72rem;font-weight:800;line-height:1.2}.notification-list{display:grid;gap:8px;max-height:352px;margin:0;overflow:auto;padding:0;list-style:none}.notification-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:10px;align-items:start;min-height:72px;border:1px solid color-mix(in srgb,var(--outline-variant) 72%,transparent);border-radius:var(--shape-small);padding:10px 8px 10px 12px;background:var(--surface-container-low)}.notification-copy{display:grid;gap:4px;min-width:0}.notification-copy strong{color:var(--on-surface);font-size:.82rem;line-height:1.2}.notification-copy span{color:var(--on-surface-variant);font-size:.76rem;font-weight:600;line-height:1.3}.notification-read-button{display:inline-grid;width:32px;height:32px;place-items:center;border-radius:var(--shape-full);padding:0;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);transition:background var(--duration-short) var(--easing-standard),color var(--duration-short) var(--easing-standard)}.notification-read-button:hover,.notification-read-button:focus-visible{background:var(--primary);color:var(--on-primary);outline:0}.notification-read-svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.notification-read-svg .second-check{opacity:0;transition:opacity var(--duration-short) var(--easing-standard)}.notification-read-button:hover .second-check,.notification-read-button:focus-visible .second-check{opacity:1}.notification-empty{margin:0;border:1px dashed var(--outline-variant);border-radius:var(--shape-small);padding:14px 12px;color:var(--on-surface-variant);font-size:.8rem;font-weight:700;text-align:center}@keyframes month-slide-next{0%{transform:translate(-33.333333%)}to{transform:translate(-66.666667%)}}@keyframes month-slide-prev{0%{transform:translate(-33.333333%)}to{transform:translate(0)}}@keyframes menu-enter{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes sheet-enter{0%{transform:translateY(24px)}to{transform:translateY(0)}}@keyframes snackbar-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.overflow-menu{position:absolute;top:calc(56px + env(safe-area-inset-top));right:8px;z-index:20;min-width:224px;max-width:min(320px,calc(100vw - 24px));overflow:hidden;border-radius:var(--shape-extra-small);border:1px solid var(--outline-variant);padding:8px 0;background:var(--surface-container);box-shadow:var(--elevation-2);transform-origin:top right;animation:menu-enter var(--duration-short) var(--easing-standard)}.overflow-menu button{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:center;width:100%;min-height:48px;padding:0 12px;background:transparent;color:var(--on-surface);font-size:.875rem;font-weight:500;line-height:1.25rem;text-align:left}.overflow-menu button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-menu .ui-icon{color:var(--on-surface-variant)}.menu-icon{display:block;width:24px;height:24px;background:currentColor;color:var(--on-surface-variant);mask:var(--material-icon-src) center / 24px 24px no-repeat;-webkit-mask:var(--material-icon-src) center / 24px 24px no-repeat}.ui-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.ui-icon.filled-icon{fill:currentColor;stroke:none}.overflow-menu button:hover,.overflow-menu button:focus-visible{background:var(--state-hover);outline:0}.overflow-menu button:active{background:var(--state-focus)}.theme-menu-control{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:6px 12px;border:1px solid var(--outline-variant);border-radius:var(--shape-full);padding:4px;background:var(--surface-container-lowest)}.overflow-menu .theme-menu-control button{display:grid;grid-template-columns:1fr;min-height:36px;place-items:center;border-radius:var(--shape-full);padding:0;color:var(--on-surface-variant)}.overflow-menu .theme-menu-control button.active{background:var(--primary-container);color:var(--primary)}.overflow-menu .theme-menu-control button:hover,.overflow-menu .theme-menu-control button:focus-visible{background:var(--state-primary-hover)}.overflow-menu .theme-menu-control button.active:hover,.overflow-menu .theme-menu-control button.active:focus-visible{background:var(--primary-container)}.theme-icon{display:block;width:22px;height:22px;background:currentColor;color:inherit;mask:var(--material-icon-src) center / 22px 22px no-repeat;-webkit-mask:var(--material-icon-src) center / 22px 22px no-repeat}.menu-divider{height:1px;margin:8px 0;background:var(--outline-variant)}.content{min-height:0;overflow-y:auto;padding:8px 16px 12px}.timeline-content{display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden;padding-bottom:12px}.stack{display:grid;gap:12px}.dashboard-skeleton{pointer-events:none}.skeleton-card{overflow:hidden}.skeleton-line,.skeleton-chart{position:relative;display:block;overflow:hidden;border-radius:var(--shape-full);background:color-mix(in srgb,var(--on-surface) 10%,transparent)}.skeleton-line:after,.skeleton-chart:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface-container-highest) 72%,transparent),transparent);transform:translate(-100%);animation:skeleton-shimmer 1.35s ease-in-out infinite}.skeleton-line.short{width:72px;height:14px}.skeleton-line.medium{width:min(68%,160px);height:14px}.skeleton-line.tiny{width:58px;height:12px}.skeleton-line.amount-line{width:min(82%,250px);height:clamp(2.15rem,11vw,3rem)}.skeleton-line.value-line{width:min(78%,128px);height:24px}.dashboard-skeleton .projection-chart-header small,.dashboard-skeleton .projection-chart-footer span{color:transparent}.skeleton-chart{display:grid;height:92px;align-content:space-evenly;border-radius:var(--shape-small);padding:12px 0;background:color-mix(in srgb,var(--primary) 8%,transparent)}.skeleton-chart span{display:block;height:1px;background:color-mix(in srgb,var(--outline) 22%,transparent)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.hero-balance{position:relative;display:grid;gap:10px;min-height:132px;align-content:center;overflow:visible;border:0;border-radius:var(--card-radius);padding:18px 24px;background:var(--hero-balance-bg, var(--primary));box-shadow:var(--filled-card-shadow);color:var(--hero-balance-fg, #ffffff)}:root[data-theme=dark] .hero-balance{--hero-balance-bg: var(--primary-container)}.hero-balance:before{display:none}.hero-balance>*{position:relative}.hero-balance-header{display:flex;align-items:center;justify-content:space-between;gap:14px}:root .hero-balance span,:root .hero-balance small{color:var(--hero-balance-fg, #ffffff);font-weight:600}:root[data-theme-variant=light-new] .hero-balance span,:root[data-theme-variant=light-new] .hero-balance small{color:var(--hero-balance-fg, #ffffff)}.hero-balance strong{overflow-wrap:anywhere;color:var(--hero-balance-fg, #ffffff);font-size:clamp(2.15rem,11vw,3rem);line-height:1;letter-spacing:0}.period-select{position:relative;flex:0 0 auto;color:var(--hero-balance-fg, #ffffff)}.period-select-button{position:relative;min-width:112px;max-width:128px;border:0;border-radius:var(--shape-full);padding:6px 30px 6px 12px;background:color-mix(in srgb,#ffffff 14%,transparent);color:var(--hero-balance-fg, #ffffff);font:inherit;font-size:.78rem;font-weight:700;text-align:left;white-space:nowrap}.period-select-button:after{position:absolute;top:50%;right:13px;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;content:"";pointer-events:none;transform:translateY(-65%) rotate(45deg)}.period-select-button:hover{background:color-mix(in srgb,#ffffff 20%,transparent)}.period-select-button:focus-visible{outline:2px solid color-mix(in srgb,#ffffff 62%,transparent);outline-offset:2px}.period-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:35;display:grid;min-width:136px;overflow:hidden;border:1px solid var(--outline-variant);border-radius:var(--shape-small);padding:3px;background:var(--surface-container-highest);box-shadow:var(--elevation-2)}.period-menu button{min-height:28px;border:0;border-radius:calc(var(--shape-small) - 2px);padding:0 9px;background:transparent;color:var(--on-surface);font:inherit;font-size:.78rem;font-weight:600;text-align:left;outline:0}.period-menu button:hover,.period-menu button:focus-visible{background:var(--state-hover)}.period-menu button.active{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric-card{position:relative;display:grid;gap:8px;min-height:94px;align-content:space-between;overflow:hidden;border:0;border-radius:var(--card-radius);padding:14px 16px;background:var(--filled-card-bg);box-shadow:var(--filled-card-shadow);color:var(--on-surface)}.metric-card:before{display:none}.metric-card>*{position:relative}.metric-card strong{overflow-wrap:anywhere;color:var(--card-accent, var(--on-surface));font-size:1.2rem;line-height:1.12}.metric-card span{color:var(--on-surface-variant);font-weight:600}.metric-card.in{--card-accent: var(--green);--card-tint: var(--green-container)}.metric-card.info{--card-accent: var(--blue);--card-tint: var(--blue-container)}.metric-card.out{--card-accent: var(--red);--card-tint: var(--red-container)}.metric-card.warning{--card-accent: var(--amber);--card-tint: var(--amber-container)}.projection-chart{display:grid;gap:6px;border:0;border-radius:var(--card-radius);padding:14px 16px;background:var(--filled-card-bg);box-shadow:var(--filled-card-shadow)}.projection-chart-header,.projection-chart-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.projection-chart-header div{display:grid;gap:3px}.projection-chart-header span,.projection-chart-header small,.projection-chart-footer{color:var(--on-surface-variant);font-weight:700}.projection-chart-header strong{color:var(--on-primary-container);font-size:1.32rem;line-height:1.05}.projection-chart-header small{white-space:nowrap;font-size:.78rem}.projection-chart-svg{display:block;width:100%;height:92px;overflow:visible}.projection-chart-grid{fill:none;stroke:color-mix(in srgb,var(--outline) 24%,transparent);stroke-dasharray:2 8;stroke-linecap:round}.projection-chart-area{fill:color-mix(in srgb,var(--primary) 15%,transparent)}.projection-chart-area.negative{fill:color-mix(in srgb,var(--red) 18%,transparent)}.projection-chart-zero{stroke:color-mix(in srgb,var(--primary) 64%,transparent);stroke-linecap:round;stroke-width:1.5}.projection-chart-line{fill:none;stroke:var(--primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.projection-chart-line.projection{stroke-dasharray:5 7}.projection-chart-line.negative{stroke:var(--red)}.projection-chart-today line{stroke:color-mix(in srgb,var(--green) 48%,transparent);stroke-dasharray:4 6;stroke-linecap:round;stroke-width:2}.projection-chart-today circle{fill:var(--green);stroke:var(--surface-container-highest);stroke-width:3}.projection-chart-footer{font-size:.75rem}.projection-chart-footer span{display:grid;gap:2px}.projection-chart-footer span:last-child{justify-items:end;text-align:right}.projection-chart-footer small{color:var(--on-surface-variant);font-size:.68rem;font-weight:700}.projection-chart-footer b{color:var(--on-surface);font-size:.78rem;line-height:1.1}.balance-summary,.month-totals{border:0;border-radius:var(--card-radius);background:var(--filled-card-bg);box-shadow:var(--filled-card-shadow)}.month-strip{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;min-height:44px}.month-strip button{display:inline-grid;width:44px;min-height:38px;place-items:center;border-radius:var(--shape-full);padding:0;background:transparent;color:var(--on-surface-variant);font-weight:700;transition:background var(--duration-short) var(--easing-standard),color var(--duration-short) var(--easing-standard)}.month-strip button:first-child{justify-self:start}.month-strip button:last-child{justify-self:end}.month-strip button .ui-icon{width:20px;height:20px}.month-strip-next .ui-icon{transform:rotate(180deg)}.month-strip button:not(:disabled):hover,.month-strip button:not(:disabled):focus-visible{background:var(--state-hover);color:var(--on-surface);outline:0}.month-strip button:disabled{cursor:default}.month-strip strong{display:inline-grid;min-height:38px;min-width:156px;place-items:center;border-radius:var(--shape-full);padding:0 16px 1px;background:var(--secondary-container);white-space:nowrap;color:var(--on-secondary-container);font-size:1rem;line-height:1}.timeline-stack,.timeline-pages-clip,.timeline-pages,.month-page{min-height:0;height:100%}.timeline-stack{display:grid}.timeline-pages-clip{margin-inline:-16px;overflow:hidden}.timeline-pages{display:flex;width:300%;transform:translate(-33.333333%)}.timeline-pages.sliding-next{animation:month-slide-next var(--duration-medium) var(--easing-emphasized) forwards}.timeline-pages.sliding-prev{animation:month-slide-prev var(--duration-medium) var(--easing-emphasized) forwards}.month-page{display:grid;grid-template-rows:auto auto minmax(0,1fr);flex:0 0 33.333333%;gap:12px}.month-strip,.balance-summary,.month-totals{margin-inline:16px}.month-page[data-visible=false]{pointer-events:none}.timeline-scroll{display:grid;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;gap:12px;min-height:0;overflow:hidden;overscroll-behavior:contain;padding-bottom:0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.timeline-scroll::-webkit-scrollbar{display:none}.timeline-list-section{align-self:stretch;display:grid;grid-template-rows:minmax(0,1fr);width:100%;max-height:100%;min-height:0;overflow:hidden;border-radius:var(--shape-extra-large) var(--shape-extra-large) 0 0;padding:18px 16px 4px;background:var(--timeline-section)}.timeline-list-header{display:flex;align-items:center;justify-content:space-between;min-height:34px}.timeline-list-header h2{margin:0;color:var(--bottom-nav-fg);font-size:1.65rem;font-weight:400;line-height:2rem;letter-spacing:0}.balance-summary{display:grid;gap:2px;padding:12px 16px}.summary-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px;font-size:1rem;color:var(--on-surface-variant)}.summary-line span{font-weight:500}.summary-line b{overflow-wrap:anywhere;color:var(--on-surface-variant);font-size:1rem;font-weight:700;line-height:1.2}.summary-line.strong{margin-top:6px;border-top:1px solid var(--outline-variant);padding-top:10px;color:var(--on-surface);font-size:1.1rem}.consolidated-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px;color:var(--on-surface-variant);font-size:1rem}.consolidated-toggle span{font-weight:500}.consolidated-toggle input{position:relative;flex:0 0 auto;width:48px;height:28px;min-height:0;margin:0;border:2px solid var(--outline);border-radius:var(--shape-full);padding:0;appearance:none;background:var(--surface-container-high);cursor:pointer;transition:background var(--duration-short) var(--easing-standard),border-color var(--duration-short) var(--easing-standard)}.consolidated-toggle input:before{position:absolute;top:4px;left:4px;width:16px;height:16px;border-radius:var(--shape-full);background:var(--outline);content:"";transition:background var(--duration-short) var(--easing-standard),transform var(--duration-short) var(--easing-standard)}.consolidated-toggle input:checked{border-color:var(--primary);background:var(--primary)}.consolidated-toggle input:checked:before{background:var(--on-primary);transform:translate(20px)}.consolidated-toggle input:focus-visible{outline:var(--focus-ring);outline-offset:2px}.timeline-list{display:grid;align-content:start;gap:4px;width:100%;max-height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.timeline-list::-webkit-scrollbar{display:none}.swipe-row{position:relative;overflow:hidden;min-height:64px;border-radius:var(--shape-extra-small);touch-action:pan-y;-webkit-user-select:none;user-select:none}.swipe-row:first-child{border-radius:var(--shape-large) var(--shape-large) var(--shape-extra-small) var(--shape-extra-small)}.swipe-row:last-child{border-radius:var(--shape-extra-small) var(--shape-extra-small) var(--shape-large) var(--shape-large)}.swipe-row:only-child{border-radius:var(--shape-large)}.swipe-action{position:absolute;top:0;bottom:0;z-index:0;display:flex;width:108px;align-items:center;gap:8px;padding:0 18px;color:#fff;font-size:.875rem;font-weight:800;opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--duration-short) var(--easing-standard)}.swipe-action .ui-icon{width:20px;height:20px;stroke-width:2.3}.swipe-action-edit{left:0;justify-content:flex-start;background:var(--blue)}.swipe-action-delete{right:0;justify-content:flex-end;background:var(--red)}.swipe-row.reveal-edit .swipe-action-edit,.swipe-row.reveal-delete .swipe-action-delete{opacity:1;visibility:visible}.timeline-row{position:relative;z-index:1;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:64px;border-radius:inherit;padding:8px 14px;background:var(--timeline-row);transform:translate(var(--swipe-offset, 0));transition:transform var(--duration-short) var(--easing-standard)}.swipe-row.dragging .timeline-row{transition:none}.timeline-row.future{opacity:.58}.entry-icon{display:inline-grid;width:40px;height:40px;place-items:center;overflow:hidden;border-radius:var(--shape-full);background:var(--entry-icon-bg);color:var(--on-surface-variant);font-size:1rem;font-weight:800}.entry-icon img{display:block;width:100%;height:100%}.entry-icon.fallback{border:0;background:var(--fallback-icon-bg, linear-gradient(135deg, var(--primary), var(--secondary)));color:#fff!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,#ffffff 28%,transparent),0 6px 14px color-mix(in srgb,var(--shadow-color) 12%,transparent);text-shadow:0 1px 2px color-mix(in srgb,#000000 34%,transparent)}.timeline-text{min-width:0}.timeline-text strong,.timeline-text span{display:block}.timeline-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--on-surface);font-size:1rem;font-weight:500;line-height:1.35rem}.timeline-text span{color:var(--on-surface-variant);font-size:.82rem;line-height:1.05rem}.amount{text-align:right;white-space:nowrap;color:var(--bottom-nav-fg);font-size:.95rem;font-weight:700;line-height:1.25rem}.money-in{color:var(--green)}.money-out{color:var(--red)}.delete-button{display:grid;width:48px;height:48px;place-items:center;border-radius:var(--shape-full);padding:0;background:transparent;color:var(--on-surface-variant);transition:background var(--duration-short) var(--easing-standard),color var(--duration-short) var(--easing-standard)}.delete-button:hover,.delete-button:focus-visible{background:var(--state-hover);color:var(--on-surface);outline:0}.empty-state{display:grid;min-height:110px;place-items:center;padding:20px;color:var(--on-surface-variant);text-align:center}.empty-state.compact{min-height:64px;border-radius:var(--shape-small);background:var(--surface-container-high);font-size:.9rem}.month-totals{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;font-size:1rem;padding:12px 16px}.month-totals span{color:var(--on-surface-variant);font-weight:500}.month-totals b{overflow-wrap:anywhere;color:var(--on-surface-variant);text-align:right;font-size:1rem;font-weight:700;line-height:1.2}.bottom-nav{position:relative;right:0;bottom:0;left:0;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr);column-gap:12px;width:min(100%,520px);min-height:68px;margin:0 auto;border-top:1px solid var(--bottom-nav-border, transparent);border-radius:0;padding:6px 24px calc(6px + env(safe-area-inset-bottom));background:var(--bottom-nav-bg)}.bottom-nav button{display:grid;gap:2px;place-items:center;min-width:0;border-radius:var(--shape-small);padding:0;background:transparent;color:var(--bottom-nav-fg);font-size:.8125rem;font-weight:500;transition:background var(--duration-short) var(--easing-standard),color var(--duration-short) var(--easing-standard)}.bottom-nav button:focus-visible{outline:var(--focus-ring);outline-offset:2px}@media(hover:hover)and (pointer:fine){.bottom-nav button:hover{background:var(--state-hover);outline:0}}.bottom-nav button>span{display:grid;width:60px;height:28px;place-items:center;border-radius:var(--shape-full);transition:background var(--duration-short) var(--easing-standard),color var(--duration-short) var(--easing-standard)}.bottom-nav button.active{color:var(--primary)}.bottom-nav button.active>span{background:var(--primary-container);color:var(--primary)}.bottom-nav button.nav-action{display:grid;place-items:center;justify-self:center;align-self:center;gap:1px;width:86px;min-height:52px;border-radius:var(--shape-large);padding:5px 12px 7px;background:var(--primary-container);color:var(--primary);font-size:.78rem;font-weight:600}.bottom-nav button.nav-action>span{display:grid;width:auto;height:20px;place-items:center;border-radius:0;background:transparent;color:inherit}.nav-action-icon{display:block;width:20px;height:20px;background:currentColor;mask:var(--material-icon-src) center / 20px 20px no-repeat;-webkit-mask:var(--material-icon-src) center / 20px 20px no-repeat}@media(hover:hover)and (pointer:fine){.bottom-nav button.nav-action:hover{background:color-mix(in srgb,var(--primary-container) 82%,var(--primary));color:var(--primary);box-shadow:var(--elevation-1)}}.bottom-nav button.nav-action:focus-visible{background:color-mix(in srgb,var(--primary-container) 82%,var(--primary));color:var(--primary);box-shadow:var(--elevation-1);outline:var(--focus-ring);outline-offset:2px}.snackbar{position:fixed;right:16px;bottom:calc(166px + env(safe-area-inset-bottom));left:16px;z-index:90;width:min(calc(100% - 32px),488px);margin:0 auto;border-radius:var(--shape-small);padding:14px 16px;background:var(--inverse-surface);color:var(--inverse-on-surface);box-shadow:var(--elevation-3);animation:snackbar-enter var(--duration-short) var(--easing-standard)}.sheet-backdrop{position:fixed;inset:0;z-index:40;display:grid;align-items:end;justify-items:center;background:color-mix(in srgb,var(--scrim) 38%,transparent)}.bottom-sheet{width:min(100%,520px);max-height:min(86vh,680px);overflow:auto;border-radius:var(--shape-extra-large) var(--shape-extra-large) 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom));background:var(--surface-container-low);box-shadow:var(--elevation-3);animation:sheet-enter var(--duration-medium) var(--easing-emphasized)}.drag-handle{width:36px;height:4px;margin:0 auto 12px;border-radius:var(--shape-full);background:var(--outline-variant)}.bottom-sheet header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.bottom-sheet h2{margin:0;font-size:1.45rem;line-height:1.75rem}.sheet-form{display:grid;gap:14px}label{display:grid;gap:6px;color:var(--on-surface-variant);font-size:.9rem;font-weight:600}input,select{width:100%;min-height:56px;border:1px solid var(--outline);border-radius:var(--shape-small);padding:0 14px;background:var(--surface-container-lowest);color:var(--on-surface);transition:border-color var(--duration-short) var(--easing-standard),background var(--duration-short) var(--easing-standard)}input:focus-visible,select:focus-visible{border-color:var(--primary);outline:var(--focus-ring);outline-offset:2px}input:disabled,select:disabled{border-color:var(--outline-variant);background:var(--surface-container);color:var(--on-surface-variant)}select{appearance:auto;font:inherit;font-weight:600}.currency-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:56px;border:1px solid var(--outline);border-radius:var(--shape-small);background:var(--surface-container-lowest);transition:border-color var(--duration-short) var(--easing-standard),background var(--duration-short) var(--easing-standard)}.currency-input:focus-within{border-color:var(--primary);outline:var(--focus-ring);outline-offset:2px}.currency-input:has(input:user-invalid){border-color:var(--red)}.currency-prefix{padding-left:14px;color:var(--on-surface-variant);font-size:1rem;font-weight:600}.currency-input input{min-height:54px;border:0;border-radius:0 var(--shape-small) var(--shape-small) 0;padding:0 14px 0 8px;background:transparent;text-align:right;font-size:1.05rem;font-variant-numeric:tabular-nums;font-weight:600}.currency-input input:focus-visible{outline:0}.date-warning{border:1px solid color-mix(in srgb,var(--amber) 52%,transparent);border-radius:var(--shape-small);padding:12px 14px;background:color-mix(in srgb,var(--amber-container) 36%,var(--surface-container-lowest));color:var(--on-surface);font-size:.875rem;font-weight:700;line-height:1.35rem}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid var(--outline);border-radius:var(--shape-full);padding:4px;background:var(--surface-container-lowest)}.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;border-radius:var(--shape-full);background:transparent;color:var(--on-surface-variant);font-weight:600;transition:background var(--duration-short) var(--easing-standard),color var(--duration-short) var(--easing-standard)}.segmented button .ui-icon{width:20px;height:20px;stroke-width:2.4}.segmented button:hover,.segmented button:focus-visible{background:var(--state-hover);outline:0}.segmented button.active.in{background:var(--green-container);color:var(--green)}.segmented button.active.out{background:var(--red-container);color:var(--red)}.mode-segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border:1px solid var(--outline-variant);border-radius:var(--shape-full);padding:4px;background:var(--surface-container-lowest)}.mode-segmented button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:38px;border-radius:var(--shape-full);padding:0 6px;background:transparent;color:var(--on-surface-variant);font-size:.78rem;font-weight:500;transition:background var(--duration-short) var(--easing-standard),color var(--duration-short) var(--easing-standard)}.mode-segmented button .ui-icon{flex:0 0 auto;width:16px;height:16px;stroke-width:2.1}.mode-segmented button:hover,.mode-segmented button:focus-visible{background:var(--state-hover);outline:0}.mode-segmented button.active{background:color-mix(in srgb,var(--primary) 14%,var(--surface-container-lowest));color:var(--primary)}.mode-segmented button:disabled{cursor:default;opacity:.5}.mode-segmented button.active:disabled{opacity:1}.installment-fields{display:grid;grid-template-columns:minmax(0,7fr) minmax(92px,3fr);gap:12px;align-items:end}.title-input-shell{position:relative;display:block}.title-input-shell.has-selected-icon input{color:transparent;caret-color:transparent}.title-input-shell.has-selected-icon input:focus-visible{border-color:var(--outline);outline:0}.icon-picker{display:grid;gap:8px;margin-top:-4px}.selected-icon-chip{position:absolute;top:50%;left:10px;right:10px;display:inline-grid;grid-template-columns:24px minmax(0,max-content) 30px;gap:8px;align-items:center;justify-content:start;width:max-content;max-width:calc(100% - 20px);min-height:36px;border-radius:var(--shape-small);padding:6px 3px 6px 8px;background:var(--secondary-container);color:var(--on-secondary-container);font-weight:800;transform:translateY(-50%)}.selected-icon-chip img,.icon-suggestions img{display:block;width:24px;height:24px;border-radius:var(--shape-extra-small)}.selected-icon-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;line-height:1.25rem}.selected-icon-chip button{display:grid;width:30px;height:30px;place-items:center;border-radius:var(--shape-full);background:transparent;color:inherit;font-size:1.1rem}.selected-icon-chip button:hover{background:color-mix(in srgb,var(--on-secondary-container) 8%,transparent)}.selected-icon-chip button:focus-visible{background:color-mix(in srgb,var(--on-secondary-container) 12%,transparent);outline:0}.icon-suggestions{display:flex;gap:8px;overflow-x:auto;padding:0 0 2px;scrollbar-width:none}.icon-suggestions::-webkit-scrollbar{display:none}.icon-suggestions button{position:relative;display:grid;grid-template-columns:24px auto;gap:8px;align-items:center;flex:0 0 auto;min-height:48px;border:0;border-radius:var(--shape-small);padding:8px 12px 8px 8px;background:transparent;color:var(--on-surface);font-size:.875rem;font-weight:500;line-height:1.25rem}.icon-suggestions button:before{position:absolute;inset:8px 0;border:1px solid var(--outline-variant);border-radius:var(--shape-small);background:var(--surface-container-lowest);content:""}.icon-suggestions button span{position:relative;z-index:1}.icon-suggestions button:hover,.icon-suggestions button:focus-visible{background:transparent;outline:0}.icon-suggestions button:hover:before,.icon-suggestions button:focus-visible:before{background:var(--surface-container-high)}.installment-preview{border-radius:var(--shape-small);padding:10px 12px;background:var(--surface-container-high);color:inherit;font-size:.9rem;font-weight:400;line-height:1.25rem}.household-content{padding:24px 20px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(circle at 84% 18%,color-mix(in srgb,var(--primary-container) 24%,transparent) 0 80px,transparent 82px),var(--surface)}.household-manager{display:grid;gap:22px}.household-identity-card{display:grid;grid-template-columns:48px minmax(0,1fr) 96px;align-items:center;gap:10px;min-height:80px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--outline-variant));border-radius:8px;padding:14px 12px;background:color-mix(in srgb,var(--surface-container-lowest) 96%,transparent);box-shadow:0 14px 34px color-mix(in srgb,var(--primary) 9%,transparent)}.household-identity-icon,.household-section-icon,.household-row-icon,.household-action-button:before{display:grid;place-items:center;background:color-mix(in srgb,var(--primary-container) 76%,var(--surface-container-lowest));color:var(--primary)}.household-identity-icon{width:48px;height:48px;border-radius:var(--shape-full)}.household-identity-icon .ui-icon{width:25px;height:25px}.household-identity-copy{display:grid;min-width:0;gap:2px}.household-identity-copy span{color:var(--on-surface-variant);font-size:.72rem;font-weight:700}.household-identity-copy strong{overflow:hidden;color:var(--on-surface);font-size:.8rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.household-reset-link{display:inline-flex;align-items:center;gap:4px;min-height:36px;border-radius:var(--shape-full);padding:0 0 0 8px;background:transparent;color:var(--primary);justify-content:end;font-size:.64rem;font-weight:800;white-space:nowrap}.household-reset-link .ui-icon{width:18px;height:18px}.household-reset-link:hover,.household-reset-link:focus-visible{background:var(--state-primary-hover);outline:0}.household-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.household-section-heading{display:inline-flex;align-items:center;min-width:0;gap:8px;color:var(--on-surface);font-size:1rem;font-weight:800}.household-section-icon{width:24px;height:24px;border-radius:6px}.household-section-icon .ui-icon{width:16px;height:16px}.household-new-button{display:inline-flex;align-items:center;gap:8px;min-height:48px;border-radius:var(--shape-full);padding:0 18px;background:var(--primary);color:var(--on-primary);font-weight:800;box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 24%,transparent)}.household-new-button .ui-icon{width:18px;height:18px}.household-new-button:hover,.household-new-button:focus-visible{background:color-mix(in srgb,var(--primary) 92%,black);outline:0}.household-form{display:grid;gap:16px}.household-current{display:flex;align-items:center;justify-content:space-between;gap:2px;border-radius:var(--shape-small);padding:12px 14px;background:var(--surface-container-high)}.household-current>div{display:grid;min-width:0;gap:2px}.household-current .compact-button{flex:0 0 auto;min-height:36px;padding-inline:12px;font-size:.86rem}.household-current span{color:var(--on-surface-variant);font-size:.82rem;font-weight:700}.household-current strong{overflow:hidden;color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap}.password-reset-dialog{width:min(100%,368px)}.password-reset-form{display:grid;gap:14px}.password-reset-form .dialog-actions{gap:8px;justify-content:flex-end}.password-reset-form .filled-button{min-width:96px}.household-list{display:grid;gap:12px}.household-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:90px;border:1px solid color-mix(in srgb,var(--primary) 42%,var(--outline-variant));border-radius:8px;padding:14px 8px 14px 12px;background:color-mix(in srgb,var(--surface-container-lowest) 98%,transparent);color:var(--on-surface);box-shadow:0 12px 26px color-mix(in srgb,var(--primary) 9%,transparent)}.household-row.active{border-color:var(--primary);background:color-mix(in srgb,var(--surface-container-lowest) 88%,var(--primary-container));color:var(--on-surface)}.household-row-icon{width:48px;height:48px;border-radius:10px}.household-row-icon .ui-icon{width:26px;height:26px}.household-row-main{display:grid;flex:1;min-width:0;gap:2px;min-height:42px;padding:0;background:transparent;color:inherit;text-align:left}.household-row-actions{display:grid;grid-auto-flow:column;flex:0 0 auto;gap:2px}.household-action-button{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:38px 12px;justify-items:center;width:40px;min-height:54px;gap:4px;border-radius:10px;padding:0;background:transparent;color:var(--primary);font-size:.54rem;font-weight:600}.household-action-button:before{content:"";grid-column:1;grid-row:1;width:38px;height:38px;border-radius:var(--shape-full)}.household-action-button .ui-icon{grid-column:1;grid-row:1;align-self:center;width:18px;height:18px;z-index:1}.household-action-button span{grid-column:1;grid-row:2;color:currentColor;line-height:1}.household-action-button:hover,.household-action-button:focus-visible{background:transparent;outline:0}.household-action-button:hover:before,.household-action-button:focus-visible:before{background:color-mix(in srgb,var(--primary-container) 92%,var(--surface-container-lowest))}.household-action-button.danger{color:var(--red)}.household-action-button.danger:before{background:color-mix(in srgb,var(--red-container) 86%,var(--surface-container-lowest));color:var(--red)}.household-action-button.danger:hover,.household-action-button.danger:focus-visible{background:color-mix(in srgb,var(--red) 10%,transparent)}.household-action-button:disabled{cursor:default;opacity:.38}.household-action-button:disabled:hover,.household-action-button:disabled:focus-visible{background:transparent}.household-row-main span{overflow:hidden;font-size:.84rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.household-role-chip{display:inline-flex;align-items:center;min-height:22px;width:fit-content;gap:4px;border-radius:var(--shape-full);padding:0 7px;background:color-mix(in srgb,var(--primary-container) 76%,var(--surface-container-lowest));color:var(--primary);font-family:inherit;font-size:.72rem;font-weight:800;line-height:1;letter-spacing:0}.household-role-chip.role-admin{background:color-mix(in srgb,var(--blue-container) 72%,var(--surface-container-lowest));color:var(--blue)}.household-role-chip.role-member{background:color-mix(in srgb,var(--on-surface-variant) 10%,transparent);color:var(--on-surface-variant)}.household-role-chip .ui-icon{width:12px;height:12px;color:currentColor}.household-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.compact-button{min-height:40px;padding-inline:14px}.member-section{display:grid;gap:10px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--on-surface);font-weight:800}.icon-text-button{display:inline-flex;align-items:center;gap:6px}.button-icon{display:block;width:20px;height:20px;background:currentColor;mask:var(--material-icon-src) center / 20px 20px no-repeat;-webkit-mask:var(--material-icon-src) center / 20px 20px no-repeat}.member-table{overflow:hidden;border:1px solid var(--outline-variant);border-radius:var(--shape-small);background:var(--surface-container-high)}.member-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:64px;padding:10px 12px;background:var(--surface-container-high)}.member-row+.member-row{border-top:1px solid var(--outline-variant)}.member-row.pending{color:var(--on-surface-variant)}.member-main{display:grid;min-width:0;gap:6px}.member-email{overflow:hidden;color:var(--on-surface);font-weight:700;line-height:1.25rem;text-overflow:ellipsis;white-space:nowrap}.member-row.pending .member-email{color:var(--on-surface-variant)}.member-meta{display:flex;flex-wrap:wrap;gap:6px}.role-chip,.status-chip{display:inline-flex;align-items:center;min-height:24px;border-radius:var(--shape-full);padding:0 8px;font-size:.75rem;font-weight:800;line-height:1}.role-chip{background:color-mix(in srgb,var(--on-surface-variant) 10%,transparent);color:var(--on-surface-variant)}.status-chip{background:var(--secondary-container);color:var(--on-secondary-container)}.member-remove-button{justify-self:end;align-self:center}.danger-text-button{min-height:36px;border-radius:var(--shape-full);padding:0 12px;background:transparent;color:var(--red);font-weight:800}.danger-text-button:hover,.danger-text-button:focus-visible{background:color-mix(in srgb,var(--red) 10%,transparent);outline:0}.scope-group{display:grid;gap:8px;min-width:0;margin:0;border:0;padding:0}.scope-group legend{margin-bottom:2px;color:var(--on-surface-variant);font-size:.9rem;font-weight:800}.scope-group label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:center;min-height:64px;border:1px solid var(--outline-variant);border-radius:var(--shape-large);padding:10px 14px;background:var(--surface-container-lowest);transition:border-color var(--duration-short) var(--easing-standard),background var(--duration-short) var(--easing-standard)}.scope-group label.active{border-color:var(--primary);background:var(--primary-container);color:var(--on-primary-container)}.scope-group input{width:20px;min-height:20px;margin:0;accent-color:var(--primary)}.scope-group span,.scope-group small{display:block}.scope-group span{min-width:0;color:var(--on-surface);font-size:.94rem;font-weight:800;line-height:1.25rem}.scope-group small{margin-top:2px;color:var(--on-surface-variant);font-size:.8rem;font-weight:500;line-height:1.15rem}.scope-group label.active span,.scope-group label.active small{color:var(--on-primary-container)}.confirm-sheet{display:grid;gap:14px}.confirm-sheet p{margin:0;color:var(--on-surface-variant);font-size:1rem;line-height:1.45rem}.confirm-sheet strong{overflow-wrap:anywhere;color:var(--on-surface);font-size:1.1rem;line-height:1.45rem}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.filled-button,.tonal-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:var(--shape-full);padding:0 18px;font-weight:800;transition:background var(--duration-short) var(--easing-standard),box-shadow var(--duration-short) var(--easing-standard),filter var(--duration-short) var(--easing-standard)}.filled-button{background:var(--primary);color:var(--on-primary)}.tonal-button{background:var(--primary-container);color:var(--on-primary-container)}.danger-button{background:var(--red);color:var(--on-error)}.danger-button .ui-icon{width:20px;height:20px}.filled-button:hover,.filled-button:focus-visible,.tonal-button:hover,.tonal-button:focus-visible,.danger-button:hover,.danger-button:focus-visible{box-shadow:var(--elevation-1);outline:0}.filled-button:active,.tonal-button:active,.danger-button:active{box-shadow:var(--elevation-0)}.text-button{min-height:40px;border-radius:var(--shape-full);padding:0 12px;background:transparent;color:var(--primary);font-weight:800}.text-button:hover,.text-button:focus-visible{background:var(--state-primary-hover);outline:0}.filled-button:disabled,.tonal-button:disabled,.danger-button:disabled{cursor:default;opacity:.64;box-shadow:none}@media(min-width:760px){body{background:var(--surface-container-high)}.phone-shell{height:calc(100vh - 32px);height:calc(100dvh - 32px);min-height:0;margin-top:16px;margin-bottom:16px;border-radius:32px;box-shadow:var(--shadow)}.top-app-bar{border-radius:32px 32px 0 0}.bottom-nav{border-radius:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(orientation:landscape)and (max-height:560px){.orientation-guard{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:var(--surface);color:var(--on-surface);text-align:center}.orientation-guard div{display:grid;gap:8px;max-width:280px}.orientation-guard strong{font-size:1.5rem}.orientation-guard span{color:var(--on-surface-variant)}}
