:root{--brand-50:#f8ff5f;--brand-100:#edec58;--brand-200:#e1de47;--brand-300:#d5d63f;--brand-400:#c0d03e;--brand-500:#a9c93b;--brand-600:#89b93a;--brand-700:#6aa741;--brand-800:#4c9a58;--brand-900:#3a7d5e;--neutral-0:#fff;--neutral-25:#f9f9fb;--neutral-50:#f2f2f7;--neutral-100:#e5e5ea;--neutral-200:#d1d1d6;--neutral-300:#c7c7cc;--neutral-400:#aeaeb2;--neutral-500:#8e8e93;--neutral-600:#636366;--neutral-700:#48484a;--neutral-800:#3a3a3c;--neutral-850:#2c2c2e;--neutral-900:#1c1c1e;--neutral-950:#000;--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-2-5:10px;--radius-xs:8px;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-group:26px;--radius-sheet:34px;--radius-pill:999px;--touch-target-min:44px;--touch-control:50px;--touch-input:50px;--touch-row:44px;--touch-row-form:50px;--touch-icon:24px;--touch-target-gap:8px;--touch-bar-height:76px;--touch-toolbar-height:64px;--touch-sidebar-width:280px;--font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", system-ui, Arial, sans-serif;--font-family-rounded:ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-numeric:tabular-nums;--motion-instant:90ms;--motion-fast:.14s;--motion-normal:.22s;--motion-navigation:.35s;--motion-slow:.36s;--motion-sheet:.42s;--motion-settle:.52s;--motion-celebration:.6s;--motion-ease-standard:cubic-bezier(.22, 1, .36, 1);--motion-ease-enter:cubic-bezier(.22, 1, .36, 1);--motion-ease-exit:cubic-bezier(.4, 0, 1, 1);--motion-ease-spring:cubic-bezier(.2, 1.25, .3, 1);--motion-ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--material-blur:20px;--material-blur-control:16px;--material-saturate:180%;--feedback-press-scale:.96;--feedback-press-opacity:.9;--feedback-press-duration:90ms;--feedback-release-duration:.22s;--feedback-text-pressed-opacity:.45;--feedback-disabled-opacity:.45;--feedback-focus-ring-width:3px;--feedback-focus-ring-offset:2px;--type-large-title-size:34px;--type-large-title-line:41px;--type-large-title-weight:700;--type-title-1-size:28px;--type-title-1-line:34px;--type-title-1-weight:700;--type-title-2-size:22px;--type-title-2-line:28px;--type-title-2-weight:700;--type-title-3-size:20px;--type-title-3-line:25px;--type-title-3-weight:600;--type-headline-size:17px;--type-headline-line:22px;--type-headline-weight:600;--type-body-size:17px;--type-body-line:22px;--type-body-weight:400;--type-callout-size:16px;--type-callout-line:21px;--type-callout-weight:400;--type-subhead-size:15px;--type-subhead-line:20px;--type-subhead-weight:400;--type-footnote-size:13px;--type-footnote-line:18px;--type-footnote-weight:400;--type-caption-1-size:12px;--type-caption-1-line:16px;--type-caption-1-weight:400;--type-caption-2-size:11px;--type-caption-2-line:13px;--type-caption-2-weight:400;--type-display-size:34px;--type-display-line:41px;--type-display-weight:700;--type-title-lg-size:28px;--type-title-lg-line:34px;--type-title-lg-weight:700;--type-title-size:22px;--type-title-line:28px;--type-title-weight:700;--type-title-sm-size:20px;--type-title-sm-line:25px;--type-title-sm-weight:600;--type-body-lg-size:17px;--type-body-lg-line:22px;--type-body-lg-weight:400;--type-body-sm-size:15px;--type-body-sm-line:20px;--type-body-sm-weight:400;--type-label-lg-size:17px;--type-label-lg-line:22px;--type-label-lg-weight:600;--type-label-size:15px;--type-label-line:20px;--type-label-weight:600;--type-label-sm-size:13px;--type-label-sm-line:18px;--type-label-sm-weight:600;--type-caption-size:12px;--type-caption-line:16px;--type-caption-weight:400;--color-primary:#a9c93b;--color-primary-soft:#f4f8e3;--color-primary-tint:#697e23;--color-secondary:#717b1e;--color-secondary-soft:#fcfdf5;--color-success:#398444;--color-success-soft:#fbfdfc;--color-warning:#9d6d0e;--color-warning-soft:#fffdfa;--color-danger:#bf4f3c;--color-danger-soft:#fdf8f7;--color-info:#2a7c86;--color-info-soft:#eff9fa;--color-on-primary:#15231a;--color-on-secondary:#fff;--color-accent:#c0d03e;--color-on-accent:#1a211c;--color-on-solid:#fff;--color-surface-canvas:#f2f2f7;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-subtle:#f2f2f7;--color-text:#000;--color-text-secondary:#3c3c4399;--color-text-tertiary:#3c3c434d;--color-text-disabled:#3c3c434d;--color-separator:#3c3c434a;--color-border:#d1d1d6;--color-border-control:#c7c7cc;--color-fill:#78788033;--color-fill-secondary:#78788029;--color-glass:#ffffff9e;--color-glass-strong:#fffc;--color-focus-ring:#a9c93b8c;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 30px #00000024;--shadow-glass:0 8px 30px #00000024, inset 0 0 0 .5px #ffffff8c}html.dark{--color-primary:#a9c93b;--color-primary-soft:#394413;--color-primary-tint:#a9c93b;--color-secondary:#edec58;--color-secondary-soft:#4e4e08;--color-success:#7fd08a;--color-success-soft:#173f1d;--color-warning:#f0c35a;--color-warning-soft:#4f3a07;--color-danger:#ff9e8f;--color-danger-soft:#570c00;--color-info:#7fcbd3;--color-info-soft:#163c41;--color-on-primary:#0f100f;--color-on-secondary:#0f100f;--color-accent:#d5d63f;--color-on-accent:#181918;--color-on-solid:#0f100f;--color-surface-canvas:#000;--color-surface:#1c1c1e;--color-surface-raised:#2c2c2e;--color-surface-subtle:#2c2c2e;--color-text:#fff;--color-text-secondary:#ebebf599;--color-text-tertiary:#ebebf54d;--color-text-disabled:#ebebf54d;--color-separator:#54545899;--color-border:#3a3a3c;--color-border-control:#48484a;--color-fill:#7878805c;--color-fill-secondary:#78788052;--color-glass:#2c2c2e94;--color-glass-strong:#2c2c2ecc;--color-focus-ring:#a9c93b73;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #0006;--shadow-lg:0 10px 36px #00000075;--shadow-glass:0 10px 36px #00000075, inset 0 0 0 .5px #ffffff24}:root{--f7-theme-color:var(--color-primary);--f7-link-color:var(--color-primary-tint);--f7-theme-color-rgb:169, 201, 59;--f7-font-family:var(--font-family);--f7-font-size:var(--type-body-size);--f7-line-height:calc(var(--type-body-line) / var(--type-body-size));--f7-text-color:var(--color-text);--f7-page-bg-color:var(--color-surface-canvas);--f7-block-title-text-color:var(--color-text-secondary);--f7-block-title-font-size:var(--type-footnote-size);--f7-block-strong-bg-color:var(--color-surface);--f7-block-strong-border-color:transparent;--f7-bars-bg-color:var(--color-surface-canvas);--f7-bars-text-color:var(--color-text);--f7-bars-link-color:var(--color-text);--f7-bars-border-color:transparent;--f7-bars-translucent-blur:var(--material-blur);--f7-glass-bg-color:var(--color-glass);--f7-navbar-title-font-size:var(--type-headline-size);--f7-navbar-title-font-weight:var(--type-headline-weight);--f7-navbar-large-title-font-size:var(--type-large-title-size);--f7-navbar-large-title-font-weight:var(--type-large-title-weight);--f7-navbar-large-title-letter-spacing:-.02em;--f7-tabbar-link-active-color:var(--color-primary-tint);--f7-tabbar-link-inactive-color:var(--color-text-secondary);--f7-tabbar-label-font-size:var(--type-caption-1-size);--f7-tabbar-label-font-weight:var(--font-weight-medium);--f7-toolbar-bg-color:transparent;--f7-list-bg-color:var(--color-surface);--f7-list-strong-bg-color:var(--color-surface);--f7-list-inset-side-margin:var(--space-4);--f7-list-inset-border-radius:var(--radius-group);--f7-list-item-border-color:var(--color-separator);--f7-list-item-min-height:var(--touch-row);--f7-list-item-padding-horizontal:var(--space-4);--f7-list-item-text-color:var(--color-text);--f7-list-item-subtitle-text-color:var(--color-text-secondary);--f7-list-item-after-text-color:var(--color-text-secondary);--f7-list-chevron-icon-color:var(--neutral-300);--f7-list-group-title-text-color:var(--color-text-secondary);--f7-input-height:var(--touch-input);--f7-input-font-size:var(--type-body-size);--f7-input-text-color:var(--color-text);--f7-input-bg-color:transparent;--f7-input-placeholder-color:var(--color-text-tertiary);--f7-input-padding-left:0px;--f7-input-padding-right:0px;--f7-input-error-text-color:var(--color-danger);--f7-input-info-text-color:var(--color-text-secondary);--f7-input-info-font-size:var(--type-footnote-size);--f7-label-font-size:var(--type-footnote-size);--f7-label-font-weight:var(--font-weight-regular);--f7-label-text-color:var(--color-text-secondary);--f7-button-height:var(--touch-control);--f7-button-large-height:var(--touch-control);--f7-button-small-height:34px;--f7-button-border-radius:var(--radius-pill);--f7-button-font-size:var(--type-headline-size);--f7-button-font-weight:var(--type-headline-weight);--f7-button-padding-horizontal:var(--space-5);--f7-button-text-color:var(--color-primary-tint);--f7-button-fill-bg-color:var(--color-primary);--f7-button-fill-text-color:var(--color-on-primary);--f7-button-tonal-bg-color:var(--color-primary-soft);--f7-button-tonal-text-color:var(--color-primary-tint);--f7-button-outline-border-color:var(--color-primary-tint);--f7-button-pressed-bg-color:var(--color-fill);--f7-segmented-strong-bg-color:var(--color-fill-secondary);--f7-card-bg-color:var(--color-surface);--f7-card-text-color:var(--color-text);--f7-card-border-radius:var(--radius-group);--f7-card-box-shadow:none;--f7-card-outline-border-color:var(--color-separator);--f7-card-margin-horizontal:var(--space-4);--f7-card-margin-vertical:var(--space-3);--f7-card-content-padding-horizontal:var(--space-4);--f7-card-content-padding-vertical:var(--space-4);--f7-card-header-font-size:var(--type-headline-size);--f7-card-header-font-weight:var(--type-headline-weight);--f7-card-footer-font-size:var(--type-footnote-size);--f7-card-footer-text-color:var(--color-text-secondary);--f7-sheet-bg-color:var(--color-surface);--f7-sheet-border-radius:var(--radius-sheet);--f7-sheet-transition-duration:var(--motion-sheet);--f7-sheet-transition-timing-function:var(--motion-ease-standard);--f7-popup-border-radius:var(--radius-sheet);--f7-dialog-bg-color:var(--color-glass-strong);--f7-dialog-text-color:var(--color-text);--f7-dialog-button-text-color:var(--color-primary-tint);--f7-dialog-button-strong-bg-color:var(--color-primary);--f7-dialog-transition-duration:var(--motion-normal);--f7-block-padding-horizontal:var(--space-4);--f7-block-padding-vertical:var(--space-4);--f7-block-margin-vertical:var(--space-6);--f7-page-transition-duration:var(--motion-navigation)}html.dark{--f7-theme-color:var(--color-primary);--f7-theme-color-rgb:169, 201, 59;--f7-glass-bg-color:var(--color-glass);--f7-bars-bg-color:var(--color-surface-canvas);--f7-page-bg-color:var(--color-surface-canvas);--f7-list-bg-color:var(--color-surface);--f7-list-strong-bg-color:var(--color-surface);--f7-block-strong-bg-color:var(--color-surface);--f7-card-bg-color:var(--color-surface);--f7-sheet-bg-color:var(--color-surface);--f7-dialog-bg-color:var(--color-glass-strong)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root,html.dark{--f7-glass-bg-color:var(--color-surface)}}@media (prefers-reduced-transparency:reduce){:root,html.dark{--f7-glass-bg-color:var(--color-glass-strong);--f7-bars-translucent-blur:0px}}.navbar--floating{--f7-navbar-bg-color:transparent;--f7-bars-bg-color:transparent;--f7-bars-border-color:transparent;--f7-navbar-glass-bg-color:transparent}.navbar--floating .navbar-bg,.navbar--floating:after{display:none}.side-panel{--f7-panel-width:min(82vw, 340px)}.shell{width:100%;height:100%}.shell-desktop{display:flex}.shell-desktop .shell-sidebar{flex:0 0 var(--touch-sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border)}.shell-desktop .shell-content{flex:auto;min-width:0;position:relative}.shell-desktop--collapsed .shell-sidebar{flex-basis:var(--touch-bar-height)}html,body,#root{height:100%;margin:0}body{background:var(--color-surface-canvas);color:var(--color-text);font-variant-numeric:var(--font-numeric);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}input:-webkit-autofill{-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);box-shadow:inset 0 0 0 1000px var(--color-primary-soft);background-clip:content-box;transition:background-color 9999s ease-out}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);box-shadow:inset 0 0 0 1000px var(--color-primary-soft);background-clip:content-box;transition:background-color 9999s ease-out}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);box-shadow:inset 0 0 0 1000px var(--color-primary-soft);background-clip:content-box;transition:background-color 9999s ease-out}input:autofill{-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);box-shadow:inset 0 0 0 1000px var(--color-primary-soft);background-clip:content-box;transition:background-color 9999s ease-out}:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--feedback-focus-ring-offset)}a:not(.button),.link:not(.button){color:var(--color-primary-tint)}.navbar .link,.navbar a,.toolbar .link,.toolbar a{color:var(--color-text)}.button:not(.button-fill):not(.button-tonal):not(.button-outline):active{opacity:var(--feedback-text-pressed-opacity)}@media (prefers-reduced-motion:reduce){:root{--motion-instant:1ms;--motion-fast:1ms;--motion-normal:1ms;--motion-navigation:1ms;--motion-slow:1ms;--motion-sheet:1ms;--motion-settle:1ms;--motion-celebration:1ms;--motion-ease-bounce:linear;--motion-ease-spring:linear;--feedback-press-scale:1}}@media (prefers-contrast:more){:root,html.dark{--color-separator:var(--color-border-control);--color-text-secondary:var(--color-text)}}.w-full{width:100%}.app-alert{margin:var(--space-3) var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);font-weight:var(--font-weight-semibold)}.app-alert--danger{background:var(--color-danger-soft);color:var(--color-danger)}.app-alert--warning{background:var(--color-warning-soft);color:var(--color-warning)}.app-alert--info{background:var(--color-info-soft);color:var(--color-info)}.app-alert--success{background:var(--color-success-soft);color:var(--color-success)}.press-host{isolation:isolate;position:relative}.press-lens{--press-lens-inset:0px;border-radius:inherit;pointer-events:none;visibility:hidden;z-index:1;position:absolute;inset:0}.press-lens__surface{inset:var(--press-lens-inset);border-radius:inherit;transition:scale var(--feedback-release-duration) var(--motion-ease-spring);position:absolute;scale:1}.press-lens__body,.press-lens__rim{border-radius:inherit;position:absolute;inset:0}.press-lens__body{-webkit-backdrop-filter:blur(1.1px)saturate(1.28)brightness(1.08)contrast(1.03);backdrop-filter:blur(1.1px)saturate(1.28)brightness(1.08)contrast(1.03);background:linear-gradient(145deg,#ffffff29,#ffffff0b 48%,#ffffff17);box-shadow:inset .7px .9px .8px #ffffff9e,inset -.8px -1px 1.4px #0000001f,0 7px 18px #00000029}html.dark .press-lens__body{background:linear-gradient(145deg,#ffffff1f,#14141826 52%,#ffffff0e);box-shadow:inset .7px .9px .8px #ffffff61,inset -.8px -1px 1.5px #00000052,0 8px 22px #0000005c}.press-lens--sm .press-lens__body{-webkit-backdrop-filter:blur(1.4px)saturate(1.34)brightness(1.12);backdrop-filter:blur(1.4px)saturate(1.34)brightness(1.12);background-color:#ffffff8c}html.dark .press-lens--sm .press-lens__body{background-color:#ebebf06b}.press-lens__rim{-webkit-mask-composite:xor;mix-blend-mode:screen;padding:1.1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.press-lens__rim--warm{opacity:.32;background:linear-gradient(135deg,#ff524c61,#0000 34% 72%,#ffca5c2e);inset:-.55px;transform:translate(-.45px,-.25px)}.press-lens__rim--cool{opacity:.3;background:linear-gradient(315deg,#2fb1ff6b,#0000 34% 70%,#b356ff33);inset:-.55px;transform:translate(.45px,.25px)}.press-lens__specular{opacity:.72;background:linear-gradient(135deg,#ffffffeb,#ffffff3d 22%,#0000 44% 76%,#fff3)}html.dark .press-lens__rim--warm,html.dark .press-lens__rim--cool{opacity:.24}.press-host:active>.press-lens,.press-host--pressed>.press-lens,.press-lens--pressed{visibility:visible}.press-host:active>.press-lens--sm>.press-lens__surface,.press-host--pressed>.press-lens--sm>.press-lens__surface,.press-lens--sm.press-lens--pressed>.press-lens__surface{animation:press-lens-swell-sm 1.4s var(--motion-ease-standard) forwards}.press-host:active>.press-lens--lg>.press-lens__surface,.press-host--pressed>.press-lens--lg>.press-lens__surface,.press-lens--lg.press-lens--pressed>.press-lens__surface{animation:press-lens-swell-lg 1.4s var(--motion-ease-standard) forwards}@keyframes press-lens-swell-sm{0%{scale:1}22%{scale:1.24}to{scale:1.32}}@keyframes press-lens-swell-lg{0%{scale:1}22%{scale:1.2 1.38}to{scale:1.26 1.48}}@media (prefers-reduced-motion:reduce){.press-lens__surface{transition:none;scale:1.08;animation:none!important}.press-lens__rim--warm,.press-lens__rim--cool{display:none}}@media (prefers-reduced-transparency:reduce){.press-lens__body{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--color-surface-raised)}.press-lens__rim--warm,.press-lens__rim--cool{display:none}}@media (prefers-contrast:more){.press-lens__rim--warm,.press-lens__rim--cool{display:none}}.avatar{--avatar-size:36px;width:var(--avatar-size);height:var(--avatar-size);border-radius:var(--radius-pill);background:var(--color-fill);color:var(--color-text-secondary);font:inherit;font-size:calc(var(--avatar-size) * .38);font-weight:var(--font-weight-semibold);letter-spacing:.02em;-webkit-user-select:none;user-select:none;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.avatar--sm{--avatar-size:28px}.avatar--lg{--avatar-size:64px}.avatar__image{border-radius:inherit;object-fit:cover;width:100%;height:100%}.avatar__placeholder{width:70%;height:70%}.avatar--interactive{cursor:pointer;transition:transform var(--feedback-release-duration) var(--motion-ease-spring)}.avatar--interactive>:not(.press-lens){z-index:2;position:relative}.avatar--interactive:active{transition-duration:var(--feedback-press-duration);transform:scale(1.04)}.avatar--interactive:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--feedback-focus-ring-offset)}@media (prefers-reduced-motion:reduce){.avatar--interactive{transition:none}}.app-button{min-height:var(--touch-target-min);transition:transform var(--feedback-release-duration) var(--motion-ease-spring), opacity var(--feedback-release-duration) var(--motion-ease-standard)}.app-button.button-fill{box-shadow:inset 0 1px #ffffff47}.app-button.button-tonal{background:var(--color-primary-soft)}.app-button.button-outline{border-width:1px}.app-button:active:not(.disabled){transform:scale(var(--feedback-press-scale));transition-duration:var(--feedback-press-duration)}.app-button.disabled{opacity:var(--feedback-disabled-opacity)}.app-button.color-danger{--f7-button-text-color:var(--color-danger);--f7-button-tonal-bg-color:var(--color-danger-soft);--f7-button-tonal-text-color:var(--color-danger);--f7-button-outline-border-color:var(--color-danger);--f7-button-fill-bg-color:var(--color-danger);--f7-button-fill-text-color:var(--color-on-solid)}.app-card{border-radius:var(--radius-group);margin-left:0;margin-right:0}.app-card-action{cursor:pointer;border-radius:var(--radius-group)}.app-card--interactive{transition:transform var(--feedback-release-duration) var(--motion-ease-spring)}.app-card-action:active .app-card--interactive{transform:scale(var(--feedback-press-scale));transition-duration:var(--feedback-press-duration)}.checkbox-field{padding:var(--space-2) var(--space-4);list-style:none}.checkbox-field__control{align-items:flex-start;gap:var(--space-3);min-height:var(--touch-target-min);cursor:pointer;display:flex}.checkbox-field__control .icon-checkbox{margin-top:var(--space-2);flex:none}.checkbox-field__label{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);padding-top:var(--space-2)}.checkbox-field__error{margin:var(--space-1) 0 0;font-size:var(--type-caption-size);color:var(--color-danger)}.app-divider{align-items:center;gap:var(--space-3);margin:var(--space-4) var(--space-4);color:var(--color-text-secondary);font-size:var(--type-caption-size);display:flex}.app-divider:before,.app-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.icon-button{border-radius:var(--radius-pill);width:36px;height:36px;color:var(--color-text);cursor:pointer;transition:transform var(--feedback-release-duration) var(--motion-ease-spring), opacity var(--motion-fast) var(--motion-ease-standard);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.icon-button--sm{width:32px;height:32px}.icon-button--glass{background:var(--color-glass);-webkit-backdrop-filter:saturate(var(--material-saturate)) blur(var(--material-blur-control));backdrop-filter:saturate(var(--material-saturate)) blur(var(--material-blur-control));box-shadow:var(--shadow-glass)}.icon-button svg{width:18px;height:18px}.icon-button>:not(.press-lens){z-index:2;position:relative}.icon-button:active:not(:disabled){transition-duration:var(--feedback-press-duration);transform:scale(1.04)}.icon-button:disabled{opacity:var(--feedback-disabled-opacity);cursor:default}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.icon-button--glass{background:var(--color-surface)}}.icon-button:after{content:"";width:var(--touch-target-min);height:var(--touch-target-min);position:absolute;inset:50%;transform:translate(-50%,-50%)}.icon-button{position:relative}.app-list__header,.app-list__footer{margin:0 calc(var(--f7-list-inset-side-margin) + var(--space-4));color:var(--color-text-secondary);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);display:block}.app-list__header{margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.04em}.app-list__footer{margin-top:var(--space-2)}.app-list__leading,.app-list__trailing{align-items:center;display:inline-flex}.app-list__item--destructive .item-title{color:var(--color-danger)}.app-list__item .item-link{color:inherit}.app-menu{--app-menu-row:48px}.app-menu__list{padding:var(--space-2) 0;flex-direction:column;display:flex}.app-menu__item{box-sizing:border-box;align-items:center;gap:var(--space-3);min-height:var(--app-menu-row);padding:0 var(--space-4);color:var(--color-text);font:inherit;font-size:var(--type-body-size);text-align:left;background:0 0;border:0;width:100%;display:flex}.app-menu__item--prominent{min-height:56px}.app-menu__item--divider{margin-top:var(--space-2);padding-top:var(--space-2);position:relative}.app-menu__item--divider:before{content:"";top:0;left:var(--space-4);right:var(--space-4);background:var(--color-separator);height:.5px;position:absolute}.app-menu__item--action{cursor:pointer;transition:background-color var(--motion-fast) var(--motion-ease-standard)}.app-menu__item--action:active{background-color:var(--color-fill-secondary)}.app-menu__icon{width:28px;height:28px;color:var(--color-text);flex:none;place-items:center;display:inline-grid}.app-menu__icon svg{width:22px;height:22px}.app-menu__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.app-menu__trailing{color:var(--color-text-tertiary);flex:none;align-items:center;display:inline-flex}.app-menu__trailing svg{width:16px;height:16px}.navbar-inner--content{padding-inline:var(--space-4)}.navbar-inner--content>:first-child{flex:1;min-width:0}.page>.page-content{animation:page-fade-in var(--motion-normal) var(--motion-ease-enter) both}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.page>.page-content{animation:none}}.navbar .left .icon-button,.navbar .right .icon-button{width:44px;height:44px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.navbar .left .icon-button svg,.navbar .right .icon-button svg{width:22px;height:22px}.password-field .item-input-wrap{position:relative}.password-field .item-input-wrap input,.password-field .item-input-info,.password-field .item-input-error-message{padding-right:calc(var(--touch-target-min) + var(--space-3))}.password-field__toggle{width:auto;min-width:var(--touch-target-min);height:var(--touch-input);padding:0 var(--space-2);color:var(--color-primary-tint);font:inherit;font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:0;flex:none;align-items:center;display:inline-flex;position:absolute;top:0;right:0}.password-field__toggle:active{opacity:var(--feedback-text-pressed-opacity)}.progress-bar{border-radius:var(--radius-pill);background:var(--color-fill-secondary);--progress-color:var(--color-primary);width:100%;height:8px;position:relative;overflow:hidden}.progress-bar--sm{height:5px}.progress-bar--success{--progress-color:var(--color-success)}.progress-bar--warning{--progress-color:var(--color-warning)}.progress-bar--danger{--progress-color:var(--color-danger)}.progress-bar--neutral{--progress-color:var(--color-text-tertiary)}.progress-bar__fill{transform-origin:0;transform:scaleX(var(--progress-ratio));border-radius:inherit;background:var(--progress-color);transition:transform var(--motion-slow) var(--motion-ease-standard);position:absolute;inset:0}.progress-bar__tick{background:var(--color-surface);opacity:.9;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.progress-bar__marker{background:var(--color-text);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-1px;bottom:-1px}@media (prefers-reduced-motion:reduce){.progress-bar__fill{transition:none}}.progress-ring{--ring-color:var(--color-primary);place-items:center;display:inline-grid;position:relative}.progress-ring--success{--ring-color:var(--color-success)}.progress-ring__svg{position:absolute;inset:0}.progress-ring__track{fill:none;stroke:var(--color-fill-secondary)}.progress-ring__fill{fill:none;stroke:var(--ring-color);stroke-linecap:round;stroke-dashoffset:var(--ring-offset);transition:stroke-dashoffset var(--motion-slow) var(--motion-ease-standard)}.progress-ring__dot{fill:var(--color-surface);stroke:var(--color-text-tertiary);stroke-width:1.5px}.progress-ring__dot--reached{fill:var(--ring-color);stroke:var(--ring-color)}.progress-ring__content{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.progress-ring__fill{transition:none}}.segmented{--segmented-padding:2px;padding:var(--segmented-padding);border-radius:var(--radius-pill);background:var(--color-fill-secondary);isolation:isolate;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;position:relative}.segmented--glass{background:var(--color-glass);-webkit-backdrop-filter:saturate(var(--material-saturate)) blur(var(--material-blur-control));backdrop-filter:saturate(var(--material-saturate)) blur(var(--material-blur-control));box-shadow:var(--shadow-glass)}.segmented__thumb{top:var(--segmented-padding);bottom:var(--segmented-padding);left:var(--segmented-padding);width:calc((100% - 2 * var(--segmented-padding)) / var(--segmented-count));border-radius:var(--radius-pill);background:var(--color-surface);transform:translateX(calc(var(--segmented-index) * 100%));transition:transform var(--motion-normal) var(--motion-ease-spring);z-index:0;position:absolute;box-shadow:0 1px 3px #0000001f,inset 0 0 0 .5px #fff6}html.dark .segmented__thumb{background:var(--neutral-600)}.segmented__option{z-index:1;justify-content:center;align-items:center;gap:var(--space-1);min-width:var(--touch-target-min);min-height:32px;padding:0 var(--space-3);color:var(--color-text-secondary);font:inherit;font-size:var(--type-footnote-size);font-weight:var(--font-weight-semibold);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--motion-fast) var(--motion-ease-standard);background:0 0;border:0;display:inline-flex;position:relative}.segmented--sm .segmented__option{min-width:40px;min-height:28px;padding:0 var(--space-2)}.segmented__option--active{color:var(--color-text)}.segmented__option:active{opacity:var(--feedback-text-pressed-opacity)}.segmented__option svg{width:18px;height:18px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.segmented--glass{background:var(--color-surface)}}.segmented__option:after{content:"";height:var(--touch-target-min);position:absolute;inset:50% 0;transform:translateY(-50%)}.app-sheet.sheet-modal{height:auto;max-height:calc(100% - var(--space-10) - env(safe-area-inset-top,0px));flex-direction:column;display:flex}.app-sheet.sheet-modal:not(.modal-in):not(.modal-out){display:none}.app-sheet__dialog{min-height:0;max-height:inherit;flex-direction:column;display:flex}.app-sheet__handle{height:var(--space-6);cursor:grab;touch-action:none;flex:none;place-items:center;display:grid}.app-sheet__grabber{border-radius:var(--radius-pill);background:var(--color-fill);width:36px;height:5px}.app-sheet__content{-webkit-overflow-scrolling:touch;min-height:0;padding:0 var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));flex:auto;overflow-y:auto}@media (width>=768px){.app-sheet.sheet-modal{width:480px;left:50%;transform:translate(-50%,100%)}.app-sheet.sheet-modal.modal-in{transform:translate(-50%)}.app-sheet.sheet-modal.modal-out{transform:translate(-50%,100%)}}.app-sheet__header{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--touch-target-min);padding:0 var(--space-2) 0 var(--space-4);flex:none;display:flex}.app-sheet__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--type-headline-size);line-height:var(--type-headline-line);font-weight:var(--type-headline-weight);flex:1;overflow:hidden}.app-sheet__close.icon-button{width:var(--touch-target-min);height:var(--touch-target-min);background:var(--color-fill-secondary)}.app-sheet-host{display:contents}.side-panel__content{height:100%;padding-top:var(--f7-safe-area-top,0px);flex-direction:column;display:flex;overflow:auto}.side-panel__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4) var(--space-3);display:flex}.side-panel__title{font-size:var(--type-title-3-size);line-height:var(--type-title-3-line);font-weight:var(--type-title-3-weight);margin:0}.app-skeleton{--skeleton-color:var(--color-fill-secondary);height:var(--type-body-line);border-radius:var(--radius-xs);vertical-align:middle;display:inline-block}.app-skeleton--circle{border-radius:var(--radius-pill)}.app-skeleton--rect{border-radius:var(--radius-lg)}@media (prefers-reduced-motion:reduce){.app-skeleton{animation:none}}.app-tabbar__tab{appearance:none;font:inherit;cursor:pointer;min-width:0;min-height:var(--touch-target-min);height:100%;color:var(--color-text-secondary);-webkit-tap-highlight-color:transparent;transition:color var(--motion-fast) var(--motion-ease-standard);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:0;text-decoration:none;display:flex}.app-tabbar__tab.tab-link-active,.app-tabbar__tab--active{color:var(--color-primary-tint)}.app-tabbar__icon{width:28px;height:28px;transition:transform var(--feedback-release-duration) var(--motion-ease-spring);place-items:center;display:inline-grid}.app-tabbar__icon svg{width:26px;height:26px}.app-tabbar__tab:active .app-tabbar__icon{transition-duration:var(--feedback-press-duration);transform:scale(.9)}.app-tabbar__tab .tabbar-label{font-size:var(--type-caption-1-size);font-weight:var(--font-weight-medium);white-space:nowrap;line-height:1}.app-tabbar__action-pane{z-index:1;border-radius:var(--radius-pill);flex:0 0 64px;justify-content:center;align-items:center;width:64px;height:100%;display:flex;position:relative}.app-tabbar__action{flex:none;width:100%}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-tabbar__glass{background:var(--color-surface)}}.app-tabbar__tab:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring);outline-offset:calc(-1 * var(--feedback-focus-ring-width));border-radius:var(--radius-pill)}@media (prefers-reduced-motion:reduce){.app-tabbar .tab-link-highlight,.app-tabbar__icon{transition:none}}.app-tabbar .app-tabbar__tabs{flex:1;width:auto;min-width:0}.app-tabbar .toolbar-inner{gap:var(--space-3)}.app-tabbar .app-tabbar__tabs--on-action{z-index:2}.app-tabbar .app-tabbar__tabs--on-action .tab-link-highlight{width:var(--tabbar-action-size,64px)!important;transform:translate3d(var(--tabbar-action-offset,100%), 0, 0)!important}.app-tabbar .tab-link-highlight{transition-property:transform,width;transition-duration:var(--tabbar-thumb-duration,var(--motion-navigation));transition-timing-function:var(--motion-ease-spring);will-change:transform}.app-tabbar .tab-link-highlight:before,.app-tabbar .tab-link-highlight:after{transition:opacity var(--motion-fast) var(--motion-ease-standard), scale var(--motion-navigation) var(--motion-ease-spring)}@media (prefers-contrast:more),(forced-colors:active){.app-tabbar__glass{border:1px solid}}@media (prefers-reduced-motion:reduce){.app-tabbar .tab-link-highlight:before,.app-tabbar .tab-link-highlight:after,.app-tabbar__tabs,.app-tabbar__action-pane{transition:none}}.app-tabbar .toolbar-pane,.app-tabbar__action-pane{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0}.app-tabbar__glass{z-index:0;border-radius:inherit;background:var(--color-glass);-webkit-backdrop-filter:saturate(var(--material-saturate)) blur(var(--material-blur-control));backdrop-filter:saturate(var(--material-saturate)) blur(var(--material-blur-control));box-shadow:var(--shadow-glass);pointer-events:none;transition:background-color var(--motion-fast) var(--motion-ease-standard);position:absolute;inset:0}.app-tabbar .tab-link-highlight{z-index:1}.app-tabbar .tab-link,.app-tabbar__action{z-index:3;position:relative}:is(.app-tabbar__tabs:has(.press-lens--pressed)>.app-tabbar__glass,.app-tabbar__tabs:has(.tab-link:active)>.app-tabbar__glass){background-color:var(--color-glass-strong)}.app-tabbar .tab-link-highlight-pressed:after{opacity:0}.app-tabbar__tabs:has(.tab-link:active) .tab-link-highlight:after{opacity:0}.app-tabbar__tabs:has(.tab-link:active) .tab-link-highlight:before{opacity:0}.app-tabbar__lens{z-index:2;will-change:transform;width:0;height:100%;inset:0 auto auto 0}.app-tabbar__tabs:has(.tab-link:active) .app-tabbar__lens{visibility:visible}.app-tabbar__tabs:has(.tab-link:active) .app-tabbar__lens>.press-lens__surface{animation:press-lens-swell-lg 1.4s var(--motion-ease-standard) forwards}.app-tabbar__action-pane:active .app-tabbar__action{color:var(--color-on-solid)}html.dark .app-tabbar__action-pane:active .app-tabbar__action{color:#fff}.app-tabbar,.app-tabbar *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.app-toast{--f7-toast-border-radius:var(--radius-pill);--f7-toast-bg-color:var(--color-glass-strong);--f7-toast-text-color:var(--color-text);--f7-toast-font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:saturate(var(--material-saturate)) blur(var(--material-blur));backdrop-filter:saturate(var(--material-saturate)) blur(var(--material-blur))}.app-toast.toast-center{top:auto;bottom:calc(var(--touch-toolbar-height) + var(--space-8) + env(safe-area-inset-bottom,0px))}.app-toast[role=alert],.app-toast{pointer-events:none}.app-toast-live{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-splash{background:var(--color-surface-canvas);height:100%;color:var(--color-text-secondary);animation:app-splash-in var(--motion-slow) ease-out both;place-items:center;display:grid}@keyframes app-splash-in{0%,60%{opacity:0}to{opacity:1}}.brand-hero{align-items:center;gap:var(--space-2);color:var(--color-primary-tint);display:flex}.brand-hero--full{gap:var(--space-3);padding-top:var(--space-10);flex-direction:column}.brand-hero__mark{border-radius:var(--radius-sm);background:var(--color-primary-soft);width:40px;height:40px;animation:brand-hero-grow var(--motion-slow) var(--motion-ease-enter) both;place-items:center;display:grid}.brand-hero--full .brand-hero__mark{border-radius:var(--radius-group);width:96px;height:96px}.brand-hero__icon{transform-origin:50% 90%;width:60%;height:60%}.brand-hero--celebrate .brand-hero__icon{animation:brand-hero-bounce var(--motion-celebration) var(--motion-ease-bounce) 1}.brand-hero__name{font-size:var(--type-title-sm-size);font-weight:var(--type-title-2-weight);letter-spacing:-.01em}.brand-hero--full .brand-hero__name{font-size:var(--type-title-size)}@keyframes brand-hero-grow{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes brand-hero-bounce{0%{transform:scale(1)}40%{transform:scale(1.18)rotate(-4deg)}to{transform:scale(1)}}.auth-layout{flex-direction:column;min-height:100%;display:flex}.auth-layout__main{box-sizing:border-box;min-width:0;padding:var(--space-6) 0 var(--space-8);flex:1;justify-content:center;display:flex}.auth-layout__card{box-sizing:border-box;width:100%;max-width:440px;padding:0 var(--space-4);animation:auth-enter var(--motion-normal) var(--motion-ease-enter) both}.auth-layout__header{margin:var(--space-6) 0 var(--space-2)}.auth-layout__title{font-size:var(--type-title-1-size);line-height:var(--type-title-1-line);font-weight:var(--type-title-1-weight);letter-spacing:-.02em;outline:none;margin:0}.auth-layout__subtitle{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--type-body-size);line-height:var(--type-body-line)}.auth-layout__footer{margin-top:var(--space-6);text-align:center;color:var(--color-text-secondary);font-size:var(--type-subhead-size)}.auth-layout--split{flex-direction:row}.auth-layout__brand{box-sizing:border-box;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-12);background:var(--color-primary-soft);color:var(--color-primary-tint);flex-direction:column;flex:0 0 44%;display:flex}.auth-layout__tagline{text-align:center;max-width:18ch;font-size:var(--type-title-size);line-height:var(--type-title-line);font-weight:var(--type-title-weight);margin:0}.auth-layout--split .auth-layout__main{padding:var(--space-12) var(--space-8);flex:0 0 56%;align-items:center}.auth-layout--split .auth-layout__card{padding:var(--space-8) 0}.auth-layout--split .auth-layout__header{margin-top:0}.auth-layout .list{margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4))}.auth-layout .app-divider,.auth-layout .app-alert{margin-left:0;margin-right:0}@keyframes auth-enter{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:none}}.auth-aside{margin:0 0 var(--space-3);text-align:right;font-size:var(--type-subhead-size)}.welcome__appearance{top:calc(env(safe-area-inset-top,0px) + var(--space-3));right:var(--space-4);z-index:2;position:absolute}.welcome{box-sizing:border-box;justify-content:center;align-items:center;gap:var(--space-8);min-height:100%;padding:calc(env(safe-area-inset-top,0px) + var(--space-12)) var(--space-5) calc(env(safe-area-inset-bottom,0px) + var(--space-6));flex-direction:column;max-width:440px;margin:0 auto;display:flex}.welcome .brand-hero--full{padding-top:0}.welcome__copy{text-align:center;animation:auth-enter var(--motion-slow) var(--motion-ease-enter) both}.welcome__title{font-family:var(--font-family-rounded);font-size:40px;line-height:1.15;font-weight:var(--type-large-title-weight);letter-spacing:-.02em;text-wrap:balance;margin:0}.welcome__subtitle{margin:var(--space-3) 0 0;color:var(--color-text-secondary);font-size:var(--type-body-size);line-height:var(--type-body-line)}.welcome__actions{gap:var(--space-3);width:100%;margin-top:var(--space-2);display:grid}.category-icon{--category-color:var(--color-text-secondary);border-radius:var(--radius-pill);background:var(--category-color);width:40px;height:40px;color:var(--color-on-solid);flex:none;place-items:center;display:inline-grid}.category-icon--neutral{background:var(--color-fill);color:var(--color-text-secondary)}.category-icon--sm{width:32px;height:32px}.category-icon--lg{width:56px;height:56px}.category-icon svg{width:22px;height:22px}.category-icon--sm svg{width:18px;height:18px}.category-icon--lg svg{width:30px;height:30px}.amount-keypad{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.amount-keypad__key{min-height:var(--touch-control);border-radius:var(--radius-lg);background:var(--color-fill-secondary);color:var(--color-text);font:inherit;font-size:var(--type-title-2-size);font-weight:var(--font-weight-medium);font-variant-numeric:var(--font-numeric);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--feedback-release-duration) var(--motion-ease-spring), background-color var(--motion-fast) var(--motion-ease-standard);border:0;place-items:center;display:grid}.amount-keypad__key--action{color:var(--color-text-secondary);background:0 0}.amount-keypad__key svg{width:28px;height:28px}.amount-keypad__key:active:not(:disabled){transform:scale(var(--feedback-press-scale));background:var(--color-fill);transition-duration:var(--feedback-press-duration)}.amount-keypad__key:disabled{opacity:var(--feedback-disabled-opacity);cursor:default}.category-chips{gap:var(--space-2);scrollbar-width:none;margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4);padding-block:var(--space-1);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.category-chips::-webkit-scrollbar{display:none}.category-chip{align-items:center;gap:var(--space-2);width:auto;min-height:var(--touch-target-min);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);border-radius:var(--radius-pill);background:var(--color-fill-secondary);color:var(--color-text);font:inherit;font-size:var(--type-subhead-size);font-weight:var(--font-weight-medium);scroll-snap-align:start;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--motion-fast) var(--motion-ease-standard), color var(--motion-fast) var(--motion-ease-standard), transform var(--feedback-release-duration) var(--motion-ease-spring);border:0;flex:none;display:inline-flex}.category-chip--selected{background:var(--chip-color);color:var(--color-on-solid);font-weight:var(--font-weight-semibold)}.category-chip--selected .category-chip__icon{background:var(--color-on-solid);color:var(--chip-color)}.category-chip:active{transform:scale(var(--feedback-press-scale));transition-duration:var(--feedback-press-duration)}.category-chip__label{white-space:nowrap}.category-chips__skeleton{border-radius:var(--radius-pill);flex:none}.category-chip__tag{padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary-tint);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);font-weight:var(--font-weight-semibold);white-space:nowrap}.category-chip--selected .category-chip__tag{background:var(--color-on-solid);color:var(--chip-color)}.category-chips--expanded{scroll-snap-type:none;flex-wrap:wrap;overflow-x:visible}.category-chip--more{padding-inline:var(--space-3);color:var(--color-primary-tint);font-weight:var(--font-weight-semibold)}.category-chip:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}.category-chips--state{min-height:var(--touch-target-min);justify-content:space-between;align-items:center;overflow-x:visible}.category-chips--state .app-button{flex:none;width:auto;min-width:0;margin:0}.category-chips__message{min-width:0;font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-secondary);flex:1}.quick-add{gap:var(--space-3);flex-direction:column;display:flex}.quick-add__type{align-self:center;min-width:200px}.quick-add__amount{align-items:center;gap:var(--space-1);padding-block:var(--space-2);flex-direction:column;display:flex}.quick-add__question{font-size:var(--type-subhead-size);color:var(--color-text-secondary)}.quick-add__value{max-width:100%;font-size:44px;line-height:1.1;font-weight:var(--font-weight-bold);font-variant-numeric:var(--font-numeric);letter-spacing:-.02em;color:var(--color-text);transition:color var(--motion-fast) var(--motion-ease-standard);justify-content:center;align-items:baseline;display:inline-flex}.quick-add__value--empty{color:var(--color-text-tertiary)}.quick-add__value-input{box-sizing:content-box;min-width:1ch;max-width:100%;color:inherit;font:inherit;font-variant-numeric:inherit;letter-spacing:inherit;text-align:left;caret-color:var(--color-primary);background:0 0;border:0;padding:0}.quick-add__value-input::placeholder{color:var(--color-text-tertiary)}.quick-add__value-input:focus-visible{border-radius:var(--radius-sm);box-shadow:0 0 0 var(--feedback-focus-ring-width) var(--color-focus-ring);outline:none}.quick-add__loading{justify-content:center;align-items:center;gap:var(--space-3);min-height:160px;color:var(--color-text-secondary);font-size:var(--type-subhead-size);display:flex}.quick-add__disclosure{align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch-target-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--color-fill-secondary);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;border:0;display:flex}.quick-add__disclosure-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.quick-add__disclosure-title{font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold)}.quick-add__disclosure-summary{font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quick-add__disclosure-chevron{width:16px;height:16px;color:var(--color-text-tertiary);transition:transform var(--motion-fast) var(--motion-ease-standard);flex:none}.quick-add__disclosure[aria-expanded=true] .quick-add__disclosure-chevron{transform:rotate(90deg)}.quick-add__disclosure:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring)}.quick-add__currency{font-size:.6em;font-weight:var(--font-weight-semibold);vertical-align:.25em;color:var(--color-text-secondary);margin-right:2px}.quick-add__error{font-size:var(--type-footnote-size);color:var(--color-danger)}.quick-add__details{gap:var(--space-2);flex-direction:column;display:flex}.quick-add__details-row{align-items:stretch;gap:var(--space-2);display:flex}.quick-add__field{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.quick-add__hidden-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.quick-add__input{box-sizing:border-box;width:100%;min-height:var(--touch-target-min);padding:0 var(--space-4);border-radius:var(--radius-lg);background:var(--color-fill-secondary);color:var(--color-text);font:inherit;font-size:var(--type-body-size);border:0}.quick-add__input::placeholder{color:var(--color-text-tertiary)}.quick-add__input:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring);outline-offset:0}.quick-add__date{flex:none;display:inline-grid;position:relative}.quick-add__date-button{align-items:center;gap:var(--space-1);min-height:var(--touch-target-min);padding:0 var(--space-3);border-radius:var(--radius-lg);background:var(--color-fill-secondary);color:var(--color-primary-tint);font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);white-space:nowrap;display:inline-flex}.quick-add__date-button svg{width:18px;height:18px}.quick-add__date-input{opacity:0;cursor:pointer;appearance:none;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.quick-add__date-input:focus-visible+.quick-add__date-button,.quick-add__date:focus-within .quick-add__date-button{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring)}.quick-add__alert{margin:0}.quick-add__actions{z-index:1;gap:var(--space-1);margin-inline:calc(-1 * var(--space-4));margin-bottom:calc(-1 * (var(--space-4) + env(safe-area-inset-bottom,0px)));padding:var(--space-2) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--color-glass-strong);-webkit-backdrop-filter:saturate(var(--material-saturate)) blur(var(--material-blur));backdrop-filter:saturate(var(--material-saturate)) blur(var(--material-blur));flex-direction:column;display:flex;position:sticky;bottom:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.quick-add__actions{background:var(--color-surface)}}.quick-add__nl{gap:var(--space-1);flex-direction:column;display:flex}.quick-add__nl-row{align-items:stretch;gap:var(--space-2);display:flex}.quick-add__nl-input{flex:1;min-width:0}.quick-add__nl-action{width:auto;min-height:var(--touch-target-min);padding:0 var(--space-3);border-radius:var(--radius-lg);background:var(--color-primary-soft);color:var(--color-primary-tint);font:inherit;font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;border:0;flex:none}.quick-add__nl-action:disabled{opacity:.5;cursor:default}.quick-add__understood{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--color-success-soft);color:var(--color-success);font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);display:flex}.quick-add__understood-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.quick-add__understood-text b{font-weight:var(--font-weight-semibold)}.quick-add__link{width:auto;padding:var(--space-1) var(--space-2);color:var(--color-primary-tint);font:inherit;font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0;flex:none}.quick-add__remember{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-secondary);display:flex}.quick-add__remember[data-on=true]{color:var(--color-success)}.quick-add__suggestion{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-secondary);display:flex}.tx-row{box-sizing:border-box;align-items:center;gap:var(--space-3);width:100%;min-height:64px;padding:var(--space-2) var(--space-4);color:var(--color-text);font:inherit;text-align:left;background:0 0;border:0;display:flex}.tx-row--interactive{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--motion-fast) var(--motion-ease-standard)}.tx-row--interactive:active{background:var(--color-fill-secondary)}.tx-row__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tx-row__title{font-size:var(--type-body-size);line-height:var(--type-body-line);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tx-row__detail{font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tx-row__amount{font-size:var(--type-body-size);font-weight:var(--font-weight-semibold);font-variant-numeric:var(--font-numeric);white-space:nowrap;flex:none}.tx-row__amount--income{color:var(--color-success)}.offline-banner{justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-2) var(--space-4) 0;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);border-radius:var(--radius-lg);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);font-weight:var(--font-weight-semibold);display:flex}.offline-banner__text{flex:1;min-width:0}.offline-banner .app-button{flex:none;width:auto;min-width:0;margin:0}.goal-card{gap:var(--space-2);flex-direction:column;display:flex}.goal-card__eyebrow{font-size:var(--type-footnote-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.goal-card__name{font-size:var(--type-title-3-size);line-height:var(--type-title-3-line);font-weight:var(--type-title-3-weight)}.goal-card__figures{align-items:baseline;gap:var(--space-1);font-size:var(--type-subhead-size);color:var(--color-text-secondary);font-variant-numeric:var(--font-numeric);display:flex}.goal-card__figures b{font-weight:var(--font-weight-semibold);color:var(--color-text)}.goal-card__percent{font-weight:var(--font-weight-semibold);color:var(--color-text);margin-left:auto}.goal-card__footer{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:32px;display:flex}.goal-card__remaining{font-size:var(--type-footnote-size);color:var(--color-text-secondary);font-variant-numeric:var(--font-numeric)}.goal-card__footer .app-button{flex:none}.contribute{gap:var(--space-3);flex-direction:column;display:flex}.contribute__amount{align-items:center;gap:var(--space-1);padding-block:var(--space-2);text-align:center;flex-direction:column;display:flex}.contribute__question{font-size:var(--type-subhead-size);color:var(--color-text-secondary)}.contribute__value{font-size:44px;line-height:1.1;font-weight:var(--font-weight-bold);font-variant-numeric:var(--font-numeric);letter-spacing:-.02em;color:var(--color-text)}.contribute__value--empty{color:var(--color-text-tertiary)}.contribute__currency{font-size:.6em;font-weight:var(--font-weight-semibold);vertical-align:.25em;color:var(--color-text-secondary);margin-right:2px}.contribute__error{font-size:var(--type-footnote-size);color:var(--color-danger)}.contribute__chips{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.contribute__chip{min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary-tint);font:inherit;font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);font-variant-numeric:var(--font-numeric);border:0}.contribute__chip:active{opacity:var(--feedback-press-opacity)}.contribute__field{flex-direction:column;display:flex}.contribute__hidden-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contribute__input{box-sizing:border-box;width:100%;min-height:var(--touch-target-min);padding:0 var(--space-4);border-radius:var(--radius-lg);background:var(--color-fill-secondary);color:var(--color-text);font:inherit;font-size:var(--type-body-size);border:0}.contribute__input::placeholder{color:var(--color-text-tertiary)}.contribute__input:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring);outline-offset:0}.contribute__alert{margin:0}.contribute__disclaimer{text-align:center;font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-tertiary);margin:0}.weekly-insight__block{padding-top:0}.weekly-insight{gap:var(--space-2);flex-direction:column;display:flex}.weekly-insight__header{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:32px;display:flex}.weekly-insight__kind{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-fill-secondary);color:var(--color-text-secondary);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);font-weight:var(--font-weight-semibold);align-items:center;display:inline-flex}.weekly-insight--win .weekly-insight__kind{background:var(--color-success-soft);color:var(--color-success)}.weekly-insight--warning .weekly-insight__kind{background:var(--color-warning-soft);color:var(--color-warning)}.weekly-insight--tip .weekly-insight__kind{background:var(--color-info-soft);color:var(--color-info)}.weekly-insight--baseline .weekly-insight__kind{background:var(--color-primary-soft);color:var(--color-primary-tint)}.weekly-insight__period{font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-tertiary);margin:0}.weekly-insight__title{font-size:var(--type-title-3-size);line-height:var(--type-title-3-line);font-weight:var(--type-title-3-weight);color:var(--color-text);margin:0}.weekly-insight__body{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);margin:0}.weekly-insight__cta{margin-top:var(--space-1);align-self:flex-start}.day-summary{gap:var(--space-1);flex-direction:column;display:flex}.day-summary__balance{margin:0 0 var(--space-1);font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.day-summary__balance b{font-weight:var(--font-weight-semibold);font-variant-numeric:var(--font-numeric);color:var(--color-text)}.day-summary__label{font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.day-summary__hero{font-size:var(--type-title-1-size);line-height:var(--type-title-1-line);font-weight:var(--type-title-1-weight);font-variant-numeric:var(--font-numeric);letter-spacing:-.02em}.day-summary__hero-skeleton{margin-block:var(--space-1);display:block}.day-summary__week{margin-top:var(--space-1);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-secondary)}.day-summary__week b{font-weight:var(--font-weight-semibold);font-variant-numeric:var(--font-numeric);color:var(--color-text)}.day-summary__in{color:var(--color-success)!important}.empty-home{gap:var(--space-3);flex-direction:column;display:flex}.empty-home__title{font-size:var(--type-title-3-size);line-height:var(--type-title-3-line);font-weight:var(--type-title-3-weight);margin:0}.empty-home__text{margin:0 0 var(--space-2);font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary)}.margin-hero{gap:var(--space-1);flex-direction:column;display:flex}.margin-hero__state{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0}.margin-hero__state--good{color:var(--color-success)}.margin-hero__state--calm{color:var(--color-warning)}.margin-hero__state--over{color:var(--color-danger)}.margin-hero__figure{font-size:var(--type-large-title-size);line-height:var(--type-large-title-line);font-weight:var(--type-large-title-weight);font-variant-numeric:var(--font-numeric);letter-spacing:-.02em}.margin-hero__figure--negative{color:var(--color-danger)}.margin-hero__skeleton{margin-block:var(--space-1);display:block}.margin-hero__context{font-size:var(--type-body-size);line-height:var(--type-body-line);color:var(--color-text)}.margin-hero__confidence{font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-secondary)}.margin-hero__link{align-items:center;gap:var(--space-1);min-height:var(--touch-target-min);margin-top:var(--space-1);color:var(--color-primary-tint);font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);align-self:flex-start;display:inline-flex}.margin-hero__link svg{width:14px;height:14px}.margin-hero__prompt{font-size:var(--type-title-3-size);line-height:var(--type-title-3-line);font-weight:var(--type-title-3-weight);margin:0}.margin-hero__text{margin:0 0 var(--space-2);font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary)}.margin-hero__alert{margin:0 0 var(--space-2)}.next-step{gap:var(--space-1);flex-direction:column;display:flex}.next-step__eyebrow{font-size:var(--type-footnote-size);font-weight:var(--font-weight-semibold);color:var(--color-primary-tint)}.next-step__title{font-size:var(--type-headline-size);line-height:var(--type-headline-line);font-weight:var(--type-headline-weight)}.next-step__text{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);margin:0}.next-step__cta{margin-top:var(--space-2);align-self:flex-start}.recent{gap:var(--space-2);padding:0 var(--space-4) var(--space-6);flex-direction:column;display:flex}.recent__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding-inline:var(--space-1);display:flex}.recent__title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--type-headline-size);line-height:var(--type-headline-line);font-weight:var(--type-headline-weight);flex:1;margin:0;overflow:hidden}.recent__link{align-items:center;gap:var(--space-1);min-height:var(--touch-target-min);color:var(--color-primary-tint);font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);white-space:nowrap;flex:none;display:inline-flex}.recent__link svg{width:14px;height:14px}.recent__error{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-group);background:var(--color-danger-soft);color:var(--color-danger);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);font-weight:var(--font-weight-semibold);text-align:center;flex-direction:column;display:flex}.recent__error .app-button{width:auto;min-width:0;margin:0}.recent__empty{padding:var(--space-4);font-size:var(--type-subhead-size);color:var(--color-text-secondary);text-align:center;margin:0}.recent__card{background:var(--color-surface);border-radius:var(--radius-group);flex-direction:column;display:flex;overflow:hidden}.recent__card>.tx-row+.tx-row{position:relative}.recent__card>.tx-row+.tx-row:before{content:"";top:0;left:calc(var(--space-4) + 40px + var(--space-3));background:var(--color-separator);height:.5px;position:absolute;right:0}.week-strip{padding:var(--space-2) var(--space-2) var(--space-3)}.week-strip__viewport{touch-action:pan-y;overflow:hidden}.week-strip__track{will-change:transform;width:300%;display:flex}.week-strip__track--settling{transition:transform var(--motion-navigation) var(--motion-ease-standard)}.week-strip__week{gap:var(--space-1);flex:0 0 33.3333%;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.week-strip__day{align-items:center;gap:var(--space-2);min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-1) 0;color:var(--color-text);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity var(--motion-fast) var(--motion-ease-standard);background:0 0;border:0;flex-direction:column;display:flex}.week-strip__day:disabled{cursor:default;opacity:var(--feedback-disabled-opacity)}.week-strip__day:active:not(:disabled){opacity:var(--feedback-text-pressed-opacity)}.week-strip__initial{border-radius:var(--radius-pill);width:28px;height:28px;font-size:var(--type-footnote-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);place-items:center;display:inline-grid}.week-strip__day--today .week-strip__initial{background:var(--color-text);color:var(--color-surface-canvas)}.week-strip__number{font-size:var(--type-title-3-size);font-weight:var(--type-title-3-weight);font-variant-numeric:var(--font-numeric);transition:color var(--motion-fast) var(--motion-ease-standard);line-height:1}.week-strip__day--selected .week-strip__number{color:var(--color-primary-tint)}.week-strip__dot{border-radius:var(--radius-pill);background:var(--color-text-tertiary);width:7px;height:7px}.week-strip__dot--active{background:var(--color-primary)}.week-strip__day:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring);outline-offset:0;border-radius:var(--radius-md)}@media (width<=360px){.week-strip__week{gap:0}.week-strip__day{min-width:0}}@media (prefers-reduced-motion:reduce){.week-strip__track--settling{transition:none}}.avatar-picker{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.avatar-picker__button{border-radius:var(--radius-pill);cursor:pointer;transition:transform var(--feedback-release-duration) var(--motion-ease-spring);background:0 0;border:0;padding:0;position:relative}.avatar-picker__button .avatar{--avatar-size:96px}.avatar-picker__button:active:not(:disabled){transform:scale(var(--feedback-press-scale));transition-duration:var(--feedback-press-duration)}.avatar-picker__button:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--feedback-focus-ring-offset)}.avatar-picker__badge{border-radius:var(--radius-pill);background:var(--color-primary);width:32px;height:32px;color:var(--color-on-primary);box-shadow:0 0 0 3px var(--color-surface-canvas);place-items:center;display:inline-grid;position:absolute;bottom:-2px;right:-2px}.avatar-picker__badge svg{width:18px;height:18px}.avatar-picker__overlay{border-radius:inherit;background:var(--color-glass-strong);place-items:center;display:grid;position:absolute;inset:0}.avatar-picker__error{font-size:var(--type-footnote-size);color:var(--color-danger);text-align:center;margin:0}.profile-identity{align-items:center;gap:var(--space-2);padding-block:var(--space-4);text-align:center;flex-direction:column;display:flex}.profile-identity__name{font-size:var(--type-title-3-size);font-weight:var(--type-title-3-weight)}.profile-identity__email{font-size:var(--type-subhead-size);color:var(--color-text-secondary)}.period-selector{align-items:center;gap:var(--space-1);min-height:var(--touch-target-min);padding:0 var(--space-1);color:var(--color-text);font:inherit;font-size:var(--type-title-2-size);font-weight:var(--type-title-2-weight);letter-spacing:-.01em;cursor:pointer;transition:opacity var(--motion-fast) var(--motion-ease-standard);background:0 0;border:0;display:inline-flex}.period-selector:active{opacity:var(--feedback-text-pressed-opacity)}.period-selector__chevron{width:18px;height:18px;color:var(--color-text-secondary);margin-top:2px}.period-selector--static{cursor:default}.streak-badge{align-items:center;gap:var(--space-1);min-height:var(--touch-target-min);padding:0 var(--space-1);color:var(--color-text-secondary);font:inherit;font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);font-variant-numeric:var(--font-numeric);background:0 0;border:0;display:inline-flex}.streak-badge--active{color:var(--color-text)}.streak-badge{font-size:var(--type-headline-size);--streak-flame-tip:var(--color-text-tertiary);--streak-flame-mid:var(--color-text-tertiary);--streak-flame-base:var(--color-text-tertiary)}.streak-badge__flame{width:28px;height:28px;transition:filter var(--motion-normal) var(--motion-ease-standard)}.streak-badge--active{--streak-flame-tip:var(--brand-50);--streak-flame-mid:var(--brand-400);--streak-flame-base:var(--brand-800)}.streak-badge--active .streak-badge__flame{filter:drop-shadow(0 0 6px #a9c93b8c)}.streak-badge--interactive{cursor:pointer}.streak-badge--interactive:active{opacity:var(--feedback-text-pressed-opacity)}.dashboard-header{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-target-min);display:flex}.dashboard-header__trailing{align-items:center;gap:var(--space-3);display:flex}.streak-card{gap:var(--space-1);flex-direction:column;display:flex}.streak-card__eyebrow{font-size:var(--type-footnote-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.streak-card__hero{font-size:var(--type-title-1-size);line-height:var(--type-title-1-line);font-weight:var(--type-title-1-weight);font-variant-numeric:var(--font-numeric);letter-spacing:-.02em}.streak-card__hero small{font-size:var(--type-headline-size);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.streak-card__meta{font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-secondary)}.streak-card__cta{margin-top:var(--space-1);font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);color:var(--color-primary-tint)}.impulse-card{gap:var(--space-2);flex-direction:column;display:flex}.impulse-card__head{justify-content:space-between;align-items:baseline;display:flex}.impulse-card__eyebrow{font-size:var(--type-footnote-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.impulse-card__level{font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);color:var(--color-primary-tint)}.impulse-card__points{font-size:var(--type-title-2-size);font-weight:var(--type-title-2-weight);font-variant-numeric:var(--font-numeric)}.impulse-card__points small{font-size:var(--type-subhead-size);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.impulse-card__next{font-size:var(--type-footnote-size);color:var(--color-text-secondary)}.impulse-card__origin{gap:var(--space-1);padding-top:var(--space-2);border-top:.5px solid var(--color-separator);flex-direction:column;display:flex}.impulse-card__origin-title{font-size:var(--type-footnote-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.impulse-card__empty{font-size:var(--type-footnote-size);color:var(--color-text-tertiary)}.impulse-card__list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.impulse-card__item{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--type-subhead-size);display:flex}.impulse-card__item-label{color:var(--color-text)}.impulse-card__item-date{font-size:var(--type-footnote-size);font-variant-numeric:var(--font-numeric);color:var(--color-text-tertiary);flex:none}.challenge-card{gap:var(--space-2);flex-direction:column;display:flex}.challenge-card__head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.challenge-card__name{font-size:var(--type-headline-size);line-height:var(--type-headline-line);font-weight:var(--type-headline-weight)}.challenge-card__status{font-size:var(--type-caption-size);font-weight:var(--font-weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-fill-secondary);color:var(--color-text-secondary);flex:none}.challenge-card__status--active{background:var(--color-primary-soft);color:var(--color-primary-tint)}.challenge-card__status--completed{background:var(--color-success-soft);color:var(--color-success)}.challenge-card__description{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);margin:0}.challenge-card--compact .challenge-card__description{display:none}.challenge-card__meta{font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-secondary)}.challenge-card__actions{align-items:center;gap:var(--space-2);margin-top:var(--space-1);display:flex}.dashboard__sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.dashboard__hero{margin-top:var(--space-2)}.dashboard__day,.dashboard__next,.dashboard__goal{margin-top:0}@media (width>=1024px){.dashboard-desktop{gap:var(--space-4);padding-inline:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;display:grid}.dashboard-desktop>.block{margin:0;padding-inline:0}.dashboard-desktop>.recent{padding-inline:0;padding-top:var(--space-4);grid-area:1/2/span 6}}.goal-new__question{margin:0 0 var(--space-1);font-size:var(--type-title-2-size);font-weight:var(--type-title-2-weight);line-height:1.2}.goal-new__question--center{font-size:var(--type-subhead-size);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);text-align:center}.goal-new__hint{margin:0 0 var(--space-4);font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary)}.goal-new__field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.goal-new__label{font-size:var(--type-footnote-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.goal-new__input{box-sizing:border-box;width:100%;min-height:var(--touch-target-min);padding:0 var(--space-4);border-radius:var(--radius-lg);background:var(--color-fill-secondary);color:var(--color-text);font:inherit;font-size:var(--type-body-size);border:0}.goal-new__input::placeholder{color:var(--color-text-tertiary)}.goal-new__input:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring);outline-offset:0}.goal-new__error{font-size:var(--type-footnote-size);color:var(--color-danger)}.goal-new__cta{margin-top:var(--space-2)}.goal-new__amount{align-items:center;gap:var(--space-1);padding-block:var(--space-2);flex-direction:column;display:flex}.goal-new__value{font-size:44px;line-height:1.1;font-weight:var(--font-weight-bold);font-variant-numeric:var(--font-numeric);letter-spacing:-.02em;color:var(--color-text)}.goal-new__value--empty{color:var(--color-text-tertiary)}.goal-new__currency{font-size:.6em;font-weight:var(--font-weight-semibold);vertical-align:.25em;color:var(--color-text-secondary);margin-right:2px}.goal-new__date{margin-bottom:var(--space-3);justify-content:center;display:flex;position:relative}.goal-new__date-button{align-items:center;gap:var(--space-1);min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-fill-secondary);color:var(--color-primary-tint);font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);display:inline-flex}.goal-new__date-button svg{width:18px;height:18px}.goal-new__date-input{opacity:0;cursor:pointer;appearance:none;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.goal-new__suggestion{min-height:calc(var(--type-footnote-line) * 2);margin:0 0 var(--space-3);text-align:center;font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-secondary);transition:opacity var(--motion-fast) var(--motion-ease-standard)}.goal-new__suggestion b{font-weight:var(--font-weight-semibold);color:var(--color-text);font-variant-numeric:var(--font-numeric)}.goal-new__suggestion--hidden{opacity:0}.goal-new__actions{gap:var(--space-1);margin-top:var(--space-3);flex-direction:column;display:flex}.goal-hero{align-items:center;gap:var(--space-2);padding-block:var(--space-3);text-align:center;flex-direction:column;display:flex}.goal-hero__percent{font-size:var(--type-title-1-size);line-height:var(--type-title-1-line);font-weight:var(--type-title-1-weight);font-variant-numeric:var(--font-numeric);letter-spacing:-.02em}.goal-hero__caption{font-size:var(--type-footnote-size);color:var(--color-text-secondary)}.goal-hero__headline{margin:var(--space-2) 0 0;font-size:var(--type-headline-size);line-height:var(--type-headline-line);color:var(--color-text-secondary)}.goal-hero__headline b,.goal-hero__remaining b{font-weight:var(--font-weight-semibold);color:var(--color-text);font-variant-numeric:var(--font-numeric)}.goal-hero__remaining{font-size:var(--type-subhead-size);color:var(--color-text-secondary);margin:0}.goal-hero__motive{max-width:32ch;font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-tertiary);margin:0}.goal-hero--celebrate .goal-hero__ring{animation:goal-hero-pulse var(--motion-celebration) var(--motion-ease-bounce) 1}.goal-hero--completed .goal-hero__ring{box-shadow:0 0 0 8px var(--color-success-soft);border-radius:50%}@keyframes goal-hero-pulse{0%{transform:scale(.92)}55%{transform:scale(1.06)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.goal-hero--celebrate .goal-hero__ring{animation:none}}.goal-page__skeleton{align-items:center;gap:var(--space-3);padding-block:var(--space-4);flex-direction:column;display:flex}.goal-page__done{margin:var(--space-2) 0 0;text-align:center;font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary)}.goal-page__empty{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);margin:0}.goal-page__amount{font-weight:var(--font-weight-semibold);font-variant-numeric:var(--font-numeric);color:var(--color-success)}.goal-page__amount--out{color:var(--color-text)}.enroll{gap:var(--space-3);flex-direction:column;display:flex}.enroll__title{font-size:var(--type-title-3-size);line-height:var(--type-title-3-line);font-weight:var(--type-title-3-weight)}.enroll__text{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);margin:0}.enroll__field{gap:var(--space-1);flex-direction:column;display:flex}.enroll__label{font-size:var(--type-footnote-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.enroll__input{box-sizing:border-box;width:100%;min-height:var(--touch-target-min);padding:0 var(--space-4);border-radius:var(--radius-lg);background:var(--color-fill-secondary);color:var(--color-text);font:inherit;font-size:var(--type-body-size);border:0}.enroll__input:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring);outline-offset:0}.challenges__group{gap:var(--space-3);flex-direction:column;display:flex}.review__skeleton,.review__body,.review__result{gap:var(--space-2);flex-direction:column;display:flex}.review__result{text-align:center;padding-block:var(--space-3);align-items:center}.review__result--milestone .review__hero{animation:review-pop var(--motion-celebration) var(--motion-ease-bounce) 1}@keyframes review-pop{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.06)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.review__result--milestone .review__hero{animation:none}}.review__progress{align-items:center;gap:var(--space-1);margin-bottom:var(--space-1);display:flex}.review__dot{background:var(--color-fill-secondary);width:8px;height:8px;transition:background var(--motion-fast) var(--motion-ease-standard);border-radius:50%}.review__dot--done{background:var(--color-primary)}.review__step{margin-left:var(--space-1);font-size:var(--type-footnote-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.review__eyebrow,.review__label{font-size:var(--type-footnote-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.review__title{font-size:var(--type-title-3-size);line-height:var(--type-title-3-line);font-weight:var(--type-title-3-weight);margin:0}.review__hero{font-size:var(--type-title-1-size);line-height:var(--type-title-1-line);font-weight:var(--type-title-1-weight);font-variant-numeric:var(--font-numeric);letter-spacing:-.02em}.review__hero small{font-size:var(--type-headline-size);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.review__text{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);margin:0}.review__text b{font-weight:var(--font-weight-semibold);color:var(--color-text);font-variant-numeric:var(--font-numeric)}.review__up{color:var(--color-danger)!important}.review__down{color:var(--color-success)!important}.review__meta{font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-tertiary)}.review__actions,.review__nav{gap:var(--space-1);margin-top:var(--space-2);flex-direction:column;display:flex}.review__next{margin-top:var(--space-3)}.review__options{gap:var(--space-2);margin-top:var(--space-1);flex-direction:column;display:flex}.review__option{min-height:var(--touch-target-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);background:var(--color-fill-secondary);color:var(--color-text);font:inherit;font-size:var(--type-body-size);font-weight:var(--font-weight-semibold);text-align:left;transition:border-color var(--motion-fast) var(--motion-ease-standard);border:2px solid #0000;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.review__option small{font-size:var(--type-footnote-size);font-weight:var(--font-weight-regular);color:var(--color-text-tertiary)}.review__option--selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.review__option:disabled{opacity:var(--feedback-disabled-opacity)}.review__summary{padding-left:var(--space-4);font-size:var(--type-body-size);line-height:var(--type-body-line);margin:0}.option-card{align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-target-min);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;box-shadow:var(--shadow-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--motion-fast) var(--motion-ease-standard), background-color var(--motion-fast) var(--motion-ease-standard), transform var(--feedback-release-duration) var(--motion-ease-spring);border:1.5px solid #0000;display:flex}.option-card:active{transform:scale(var(--feedback-press-scale));transition-duration:var(--feedback-press-duration)}.option-card--selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.option-card:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}.option-card__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.option-card__title{font-size:var(--type-body-size);line-height:var(--type-body-line);font-weight:var(--font-weight-semibold)}.option-card__description{font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-secondary)}.option-card__check{border:1.5px solid var(--color-border-control);width:22px;height:22px;transition:all var(--motion-fast) var(--motion-ease-standard);border-radius:50%;flex:none;position:relative}.option-card--selected .option-card__check{border-color:var(--color-primary);background:var(--color-primary)}.option-card--selected .option-card__check:after{content:"";border:solid var(--color-on-primary);border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:3px;left:7px;transform:rotate(45deg)}.step-progress{gap:var(--space-1);padding:var(--space-2) var(--space-4) 0;display:flex}.step-progress__segment{border-radius:var(--radius-pill);background:var(--color-fill);height:4px;transition:background-color var(--motion-normal) var(--motion-ease-standard);flex:1}.step-progress__segment--done{background:var(--color-primary)}.onboarding-step{gap:var(--space-4);padding:var(--space-4);flex-direction:column;max-width:560px;margin-inline:auto;display:flex}.onboarding-step__header{gap:var(--space-2);flex-direction:column;display:flex}.onboarding-step__title{font-size:var(--type-title-1-size);line-height:var(--type-title-1-line);font-weight:var(--type-title-1-weight);letter-spacing:-.01em;text-wrap:balance;margin:0}.onboarding-step__lead,.onboarding-step__hint{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);margin:0}.onboarding-step__hint{text-align:center}.onboarding-step__options{gap:var(--space-2);flex-direction:column;display:flex}.onboarding-step__actions{gap:var(--space-1);padding-top:var(--space-2);flex-direction:column;margin-top:auto;display:flex}.onboarding-step__segmented{align-self:center;width:100%;max-width:400px}.onboarding-amount{padding-block:var(--space-2);justify-content:center;display:flex}.onboarding-amount__value{font-size:44px;line-height:1.1;font-weight:var(--font-weight-bold);font-variant-numeric:var(--font-numeric);letter-spacing:-.02em;color:var(--color-text)}.onboarding-amount__value--empty{color:var(--color-text-tertiary)}.onboarding-amount__currency{font-size:.6em;font-weight:var(--font-weight-semibold);vertical-align:.25em;color:var(--color-text-secondary);margin-right:2px}.onboarding-date{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.onboarding-date__label{font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold)}.onboarding-date__control{flex:none;display:inline-grid;position:relative}.onboarding-date__button{align-items:center;gap:var(--space-1);min-height:var(--touch-target-min);padding:0 var(--space-3);border-radius:var(--radius-lg);background:var(--color-fill-secondary);color:var(--color-primary-tint);font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);white-space:nowrap;display:inline-flex}.onboarding-date__button svg{width:18px;height:18px}.onboarding-date__input{opacity:0;cursor:pointer;appearance:none;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.onboarding-date__control:focus-within .onboarding-date__button{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring)}.commitment-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.commitment-chip{width:auto;min-height:var(--touch-target-min);padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--color-fill-secondary);color:var(--color-text);font:inherit;font-size:var(--type-subhead-size);font-weight:var(--font-weight-medium);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--motion-fast) var(--motion-ease-standard), color var(--motion-fast) var(--motion-ease-standard);border:0;align-items:center;display:inline-flex}.commitment-chip--on{background:var(--color-primary);color:var(--color-on-primary);font-weight:var(--font-weight-semibold)}.commitment-chip:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring)}.commitment-fields{gap:var(--space-2);flex-direction:column;display:flex}.commitment-field{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.commitment-field__label{font-size:var(--type-body-size)}.commitment-field__input-wrap{align-items:center;gap:var(--space-1);width:160px;min-height:var(--touch-target-min);padding:0 var(--space-3);border-radius:var(--radius-lg);background:var(--color-fill-secondary);display:inline-flex}.commitment-field__currency{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.commitment-field__input{min-width:0;color:var(--color-text);font:inherit;font-size:var(--type-body-size);font-variant-numeric:var(--font-numeric);text-align:right;background:0 0;border:0;flex:1}.commitment-field__input::placeholder{color:var(--color-text-tertiary)}.commitment-field__input:focus-visible{outline:none}.commitment-field__input-wrap:focus-within{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring)}.first-expense{gap:var(--space-3);flex-direction:column;display:flex}.first-expense__title{font-size:var(--type-title-3-size);line-height:var(--type-title-3-line);font-weight:var(--type-title-3-weight)}.first-expense__text{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);margin:0}.onboarding-activation__badge{background:var(--color-primary);border-radius:50%;width:56px;height:56px;position:relative}.onboarding-activation__badge:after{content:"";border:solid var(--color-on-primary);border-width:0 3px 3px 0;width:12px;height:24px;position:absolute;top:12px;left:20px;transform:rotate(45deg)}.onboarding-activation__card{gap:var(--space-1);flex-direction:column;display:flex}.onboarding-activation__label,.onboarding-activation__hint{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary)}.onboarding-activation__title{font-size:var(--type-headline-size);font-weight:var(--type-headline-weight)}.onboarding-activation__value{font-size:var(--type-large-title-size);line-height:var(--type-large-title-line);font-weight:var(--type-large-title-weight);font-variant-numeric:var(--font-numeric);letter-spacing:-.02em}.onboarding{flex-direction:column;min-height:100%;display:flex}.plan-preview{gap:var(--space-1);flex-direction:column;display:flex}.plan-preview__label{font-size:var(--type-footnote-size);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.plan-preview__value{font-size:var(--type-title-3-size);line-height:var(--type-title-3-line);font-weight:var(--type-title-3-weight);font-variant-numeric:var(--font-numeric)}.plan-preview__value--muted{color:var(--color-text-secondary)}.plan-preview__hint{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary)}.plan-quality{margin-top:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--type-caption-1-size);font-weight:var(--font-weight-semibold);background:var(--color-fill-secondary);color:var(--color-text-secondary);align-self:flex-start;align-items:center;display:inline-flex}.plan-quality--estimated{background:var(--color-warning-soft);color:var(--color-warning)}.plan-quality--complete{background:var(--color-primary-soft);color:var(--color-primary-tint)}.plan-cycle{gap:var(--space-2);flex-direction:column;display:flex}.plan-cycle__label{font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold)}.plan-cycle__hint{font-size:var(--type-footnote-size);color:var(--color-text-secondary)}.plan-legend__title{margin:0 0 var(--space-2);font-size:var(--type-headline-size);font-weight:var(--type-headline-weight)}.plan-legend{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-legend__item{gap:var(--space-1);flex-direction:column;display:flex}.plan-legend__item .plan-quality{margin-top:0}.plan-legend__text{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary)}.settings__version{margin:var(--space-6) 0 var(--space-8);text-align:center;color:var(--color-text-tertiary);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line)}.coach-composer{align-items:center;gap:var(--space-2);margin:var(--space-3) var(--space-4) 0;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-5);border-radius:var(--radius-group);background:var(--color-surface);min-height:56px;box-shadow:inset 0 0 0 .5px var(--color-separator);display:flex}.coach-composer__input{min-width:0;color:var(--color-text);font:inherit;font-size:var(--type-body-size);background:0 0;border:0;outline:none;flex:1}.coach-composer__input::placeholder{color:var(--color-text-tertiary)}.coach-composer__send{background:var(--color-fill)}.coach-composer__send svg{width:20px;height:20px}.coach-composer:last-child{margin-bottom:var(--space-3)}.coach-composer__send--ready{background:var(--color-primary);color:var(--color-on-primary)}.coach-composer__input:disabled{color:var(--color-text-tertiary)}.coach-history__group{padding:var(--space-2) 0}.coach-history__label{padding:0 var(--space-4) var(--space-2);font-size:var(--type-subhead-size);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);margin:0}.coach-history__list{margin:0;padding:0;list-style:none}.coach-history__item{width:100%;padding:var(--space-3) var(--space-5);color:var(--color-text);font:inherit;font-size:var(--type-body-size);line-height:var(--type-body-line);text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--motion-fast) var(--motion-ease-standard);background:0 0;border:0;display:block;overflow:hidden}.coach-history__item:active{background-color:var(--color-fill-secondary)}.coach-history__item--active{background-color:var(--color-fill-secondary);font-weight:var(--font-weight-semibold)}.coach-history__empty{padding:var(--space-4) var(--space-5);font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);margin:0}.coach-unavailable{margin:var(--space-3) var(--space-4)}.coach-unavailable__body{gap:var(--space-2);flex-direction:column;display:flex}.coach-unavailable__title{font-size:var(--type-title-3-size);line-height:var(--type-title-3-line);font-weight:var(--type-title-3-weight)}.coach-unavailable__text{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);margin:0}.coach-unavailable__links{gap:var(--space-1);margin:var(--space-1) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.coach-unavailable__link{width:100%;min-height:var(--touch-target-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--color-fill-secondary);color:var(--color-primary-tint);font:inherit;font-size:var(--type-body-size);font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer;border:0}.coach-suggestions{align-items:flex-start;gap:var(--space-2);padding:0 var(--space-4);flex-direction:column;margin:0;list-style:none;display:flex}.coach-suggestions__item{max-width:100%;padding:var(--space-3) var(--space-5);border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--type-body-size);line-height:var(--type-body-line);text-align:left;cursor:pointer;transition:transform var(--feedback-release-duration) var(--motion-ease-spring), opacity var(--motion-fast) var(--motion-ease-standard);border:0}.coach-suggestions__item:active{transform:scale(var(--feedback-press-scale));opacity:var(--feedback-press-opacity);transition-duration:var(--feedback-press-duration)}.coach-thread{gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-2);flex-direction:column;display:flex}.coach-thread__day{gap:var(--space-2);flex-direction:column;display:flex}.coach-thread__day-label{margin:var(--space-2) 0 var(--space-1);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-tertiary);align-self:center}.coach-bubble{max-width:84%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);font-size:var(--type-body-size);line-height:var(--type-body-line);position:relative}.coach-bubble--assistant{background:var(--color-surface);color:var(--color-text);border-bottom-left-radius:var(--radius-sm);align-self:flex-start}.coach-bubble--user{background:var(--color-primary);color:var(--color-on-primary);border-bottom-right-radius:var(--radius-sm);align-self:flex-end}.coach-bubble--error{box-shadow:inset 0 0 0 1px var(--color-danger)}.coach-bubble__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.coach-answer__caveats{margin:var(--space-2) 0 0;padding-left:var(--space-4);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-secondary)}.coach-answer__facts{margin-top:var(--space-2);border-top:1px solid var(--color-separator);padding-top:var(--space-1)}.coach-answer__toggle{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch-target-min);color:var(--color-text-secondary);font:inherit;font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.coach-answer__chevron{transition:transform var(--motion-fast) var(--motion-ease-standard);flex:none}.coach-answer__toggle[aria-expanded=true] .coach-answer__chevron{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.coach-answer__chevron{transition:none}}.coach-answer__list{gap:var(--space-2);margin:0 0 var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.coach-answer__fact{gap:0 var(--space-2);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);grid-template-columns:1fr auto;display:grid}.coach-answer__fact-label{color:var(--color-text-secondary)}.coach-answer__fact-value{color:var(--color-text);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.coach-answer__fact-period{color:var(--color-text-tertiary);grid-column:1/-1}.coach-answer__next{align-items:flex-start;gap:var(--space-1);margin-top:var(--space-2);flex-direction:column;display:flex}.coach-answer__next-label{font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-tertiary)}.coach-bubble__time{margin-top:var(--space-1);font-size:var(--type-caption-size,11px);opacity:.7;text-align:right;line-height:1.2;display:block}.coach-bubble__retry{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);display:flex}.coach-bubble--user .coach-bubble__retry{color:var(--color-on-primary)}.coach-bubble--typing{align-items:center;gap:5px;min-height:40px;display:inline-flex}.coach-typing__dot{background:var(--color-text-tertiary);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite coach-typing}.coach-typing__dot:nth-child(2){animation-delay:.15s}.coach-typing__dot:nth-child(3){animation-delay:.3s}@keyframes coach-typing{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.coach-typing__dot{opacity:.7;animation:none}}.coach-thread__end{height:1px}.coach-page .page-content{flex-direction:column;display:flex}.coach-page__thread{flex:auto}.coach-page__dock{padding-bottom:var(--space-2);flex:none}.coach-page__disclaimer{margin:var(--space-2) var(--space-4) 0;font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-tertiary);text-align:center}.plan-section{gap:var(--space-4);flex-direction:column;display:flex}.plan-section__title{font-size:var(--type-title-3-size);line-height:var(--type-title-3-line);font-weight:var(--type-title-3-weight)}.plan-section__text{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);margin:0}.plan-section__row{gap:var(--space-1);flex-direction:column;display:flex}.plan-section__head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.plan-section__label{font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold)}.plan-section__figure{font-size:var(--type-footnote-size);font-variant-numeric:var(--font-numeric);color:var(--color-text-secondary);text-align:right}.plan-section__hint{font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-tertiary)}.spend-breakdown{gap:var(--space-3);flex-direction:column;display:flex}.spend-breakdown__row{gap:var(--space-1);flex-direction:column;display:flex}.spend-breakdown__head{align-items:center;gap:var(--space-2);display:flex}.spend-breakdown__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--type-body-size);font-weight:var(--font-weight-semibold);flex:1;overflow:hidden}.spend-breakdown__amount{font-size:var(--type-body-size);font-weight:var(--font-weight-semibold);font-variant-numeric:var(--font-numeric);flex:none}.spend-breakdown__link{min-height:var(--touch-target-min);color:var(--color-primary-tint);font:inherit;font-size:var(--type-footnote-size);font-weight:var(--font-weight-semibold);font-variant-numeric:var(--font-numeric);text-align:left;background:0 0;border:0;align-self:flex-start;padding:0}.spend-breakdown__link:active{opacity:var(--feedback-text-pressed-opacity)}.spend-breakdown__empty{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);margin:0}.week-compare{gap:var(--space-2);flex-direction:column;display:flex}.week-compare__eyebrow{font-size:var(--type-footnote-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.week-compare__value{font-size:var(--type-title-2-size);line-height:var(--type-title-2-line);font-weight:var(--type-title-2-weight);font-variant-numeric:var(--font-numeric);letter-spacing:-.02em}.week-compare__text{font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary);margin:0}.week-compare__text b{font-weight:var(--font-weight-semibold);color:var(--color-text);font-variant-numeric:var(--font-numeric)}.week-compare__up{color:var(--color-danger)!important}.week-compare__down{color:var(--color-success)!important}.week-compare__meta{font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);color:var(--color-text-tertiary)}.progress__cta{gap:var(--space-2);flex-direction:column;display:flex}.progress__cta-title{font-size:var(--type-title-3-size);line-height:var(--type-title-3-line);font-weight:var(--type-title-3-weight)}.progress__cta-text{margin:0 0 var(--space-1);font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary)}.progress__error{gap:var(--space-2);flex-direction:column;display:flex}.progress__habits{gap:var(--space-3);flex-direction:column;display:flex}.progress__challenge{cursor:pointer;border-radius:var(--radius-group)}.review-return{align-items:center;gap:var(--space-2);width:calc(100% - var(--space-8));min-height:var(--touch-target-min);margin:var(--space-2) var(--space-4) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-group);background:var(--color-primary-soft);color:var(--color-primary-tint);font:inherit;font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer;transition:opacity var(--motion-fast) var(--motion-ease-standard);border:0;display:flex}.review-return:active{opacity:var(--feedback-press-opacity)}.review-return__text{flex:1;min-width:0}.review-return__count{font-weight:var(--font-weight-regular)}.review-return__chevron{flex:none;width:16px;height:16px}.tx-filters{gap:var(--space-2);padding:var(--space-2) var(--space-4) 0;scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.tx-filters::-webkit-scrollbar{display:none}.tx-filter{width:auto;min-height:var(--touch-target-min);padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--color-fill-secondary);color:var(--color-text);font:inherit;font-size:var(--type-subhead-size);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--motion-fast) var(--motion-ease-standard), color var(--motion-fast) var(--motion-ease-standard);border:0;flex:none}.tx-filter--selected{background:var(--color-text);color:var(--color-surface-canvas);font-weight:var(--font-weight-semibold)}.tx-filter:focus-visible{outline:var(--feedback-focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}.tx-list{gap:var(--space-5);padding:var(--space-2) var(--space-4) var(--space-6);flex-direction:column;display:flex}.tx-group{gap:var(--space-2);flex-direction:column;display:flex}.tx-group__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-inline:var(--space-1);display:flex}.tx-group__label{font-size:var(--type-headline-size);line-height:var(--type-headline-line);font-weight:var(--type-headline-weight);text-transform:capitalize;margin:0}.tx-group__net{font-size:var(--type-subhead-size);font-weight:var(--font-weight-semibold);font-variant-numeric:var(--font-numeric);color:var(--color-text-secondary)}.tx-group__net--up{color:var(--color-success)}.tx-group__card{background:var(--color-surface);border-radius:var(--radius-group);flex-direction:column;display:flex;overflow:hidden}.tx-group__card>.tx-row+.tx-row{position:relative}.tx-group__card>.tx-row+.tx-row:before{content:"";top:0;left:calc(var(--space-4) + 40px + var(--space-3));background:var(--color-separator);height:.5px;position:absolute;right:0}.tx-list__sentinel{height:1px}.tx-list__more{padding:var(--space-3);place-items:center;display:grid}.tx-list__more-error{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-danger-soft);color:var(--color-danger);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);font-weight:var(--font-weight-semibold);text-align:center;flex-direction:column;display:flex}.tx-list__more-error .app-button{width:auto;min-width:0;margin:0}.tx-empty{gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.tx-empty__title{font-size:var(--type-title-3-size);line-height:var(--type-title-3-line);font-weight:var(--type-title-3-weight)}.tx-empty__text{margin:0 0 var(--space-2);font-size:var(--type-subhead-size);line-height:var(--type-subhead-line);color:var(--color-text-secondary)}.tx-empty__title{margin:0}.tx-categories-error{justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-3) var(--space-4) 0;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);border-radius:var(--radius-lg);background:var(--color-danger-soft);color:var(--color-danger);font-size:var(--type-footnote-size);line-height:var(--type-footnote-line);font-weight:var(--font-weight-semibold);display:flex}.tx-categories-error .app-button{flex:none;width:auto;min-width:0;margin:0}
