:root{--palette-light-background-primary:#f5f7f6;--palette-light-background-secondary:#edf2ef;--palette-light-surface-primary:#ffffff;--palette-light-surface-secondary:#f0f4f1;--palette-light-surface-hover:#e7efe9;--palette-light-surface-active:#dde9df;--palette-light-text-primary:#192a22;--palette-light-text-secondary:#465e51;--palette-light-text-muted:#576b60;--palette-light-border-default:#d5dfd9;--palette-light-border-strong:#73857a;--palette-light-accent-primary:#346c16;--palette-light-accent-hover:#2b5b11;--palette-light-accent-active:#224a0d;--palette-light-status-success:#197144;--palette-light-status-success-surface:#e8f5ed;--palette-light-status-warning:#855500;--palette-light-status-warning-surface:#fff2d8;--palette-light-status-error:#b3293b;--palette-light-status-error-surface:#fdebed;--palette-light-status-info:#146a82;--palette-light-status-info-surface:#e7f3f8;--palette-light-selected-background:#e3efdd;--palette-light-selected-text:#285713;--palette-light-chart-inactive:#e1e8e3;--palette-light-overlay-backdrop:#14251c66;--palette-light-selection-background:#cfe5c2;--palette-light-shadow-default:0 4px 16px #14251c0f;--palette-light-shadow-elevated:0 12px 32px #14251c24;--palette-light-shadow-modal:0 24px 64px #14251c33;--palette-light-gradient-brand:linear-gradient(135deg,#1d5949,#a7d338);--palette-light-gradient-selected:linear-gradient(90deg,#e3efdd,#e3efdd);--palette-light-canvas-ambient:none;--palette-dark-background-primary:#111416;--palette-dark-background-secondary:#151a1c;--palette-dark-surface-primary:#1a2022;--palette-dark-surface-secondary:#20272a;--palette-dark-surface-elevated:#283034;--palette-dark-surface-hover:#303b36;--palette-dark-surface-active:#3a493f;--palette-dark-text-primary:#e7ede9;--palette-dark-text-secondary:#b6c1ba;--palette-dark-text-muted:#a0ada5;--palette-dark-text-on-accent:#10150a;--palette-dark-border-default:#35413c;--palette-dark-border-strong:#81948b;--palette-dark-accent-primary:#b5db52;--palette-dark-accent-hover:#c5e871;--palette-dark-accent-active:#a4c840;--palette-dark-status-success:#6acb9b;--palette-dark-status-success-surface:#20382c;--palette-dark-status-warning:#e5bb6d;--palette-dark-status-warning-surface:#383021;--palette-dark-status-error:#f28c93;--palette-dark-status-error-surface:#3b252b;--palette-dark-status-info:#81c6dd;--palette-dark-status-info-surface:#20333a;--palette-dark-selected-background:#32432a;--palette-dark-selected-text:#d0e8ae;--palette-dark-overlay-backdrop:#000000ad;--palette-dark-selection-background:#43532d;--palette-dark-shadow-default:0 10px 30px #00000033;--palette-dark-shadow-elevated:0 18px 48px #00000066;--palette-dark-shadow-modal:0 28px 80px #00000085;--palette-dark-gradient-selected:linear-gradient(90deg,#32432a,#32432a);--ui-brand-foreground:#0a110d}:root,:root[data-theme=light]{color-scheme:light;--ui-background-primary:var(--palette-light-background-primary);--ui-background-secondary:var(--palette-light-background-secondary);--ui-surface-primary:var(--palette-light-surface-primary);--ui-surface-secondary:var(--palette-light-surface-secondary);--ui-surface-elevated:var(--palette-light-surface-primary);--ui-surface-control:var(--palette-light-surface-primary);--ui-surface-hover:var(--palette-light-surface-hover);--ui-surface-active:var(--palette-light-surface-active);--ui-text-primary:var(--palette-light-text-primary);--ui-text-secondary:var(--palette-light-text-secondary);--ui-text-muted:var(--palette-light-text-muted);--ui-text-on-accent:var(--palette-light-surface-primary);--ui-border-default:var(--palette-light-border-default);--ui-border-strong:var(--palette-light-border-strong);--ui-border-hover:var(--palette-light-text-secondary);--ui-accent-primary:var(--palette-light-accent-primary);--ui-accent-hover:var(--palette-light-accent-hover);--ui-accent-active:var(--palette-light-accent-active);--ui-button-primary:var(--palette-light-accent-primary);--ui-button-secondary:var(--palette-light-surface-secondary);--ui-status-success:var(--palette-light-status-success);--ui-status-success-surface:var(--palette-light-status-success-surface);--ui-status-warning:var(--palette-light-status-warning);--ui-status-warning-surface:var(--palette-light-status-warning-surface);--ui-status-error:var(--palette-light-status-error);--ui-status-error-surface:var(--palette-light-status-error-surface);--ui-status-info:var(--palette-light-status-info);--ui-status-info-surface:var(--palette-light-status-info-surface);--ui-focus-ring:var(--palette-light-accent-primary);--ui-focus-on-accent:var(--palette-light-text-primary);--ui-focus-gap:var(--palette-light-background-primary);--ui-selected-background:var(--palette-light-selected-background);--ui-selected-text:var(--palette-light-selected-text);--ui-selected-indicator:var(--palette-light-accent-primary);--ui-chart-debt:var(--palette-light-accent-primary);--ui-chart-baseline:var(--palette-light-text-muted);--ui-chart-income:var(--palette-light-status-success);--ui-chart-expense:var(--palette-light-status-error);--ui-chart-extra:var(--palette-light-status-info);--ui-chart-grid:var(--palette-light-border-default);--ui-chart-label:var(--palette-light-text-secondary);--ui-chart-tooltip:var(--palette-light-surface-primary);--ui-chart-inactive:var(--palette-light-chart-inactive);--ui-overlay-backdrop:var(--palette-light-overlay-backdrop);--ui-selection-background:var(--palette-light-selection-background);--ui-skeleton-base:var(--palette-light-chart-inactive);--ui-skeleton-shine:var(--palette-light-surface-secondary);--ui-shadow-default:var(--palette-light-shadow-default);--ui-shadow-elevated:var(--palette-light-shadow-elevated);--ui-shadow-modal:var(--palette-light-shadow-modal);--ui-gradient-brand:var(--palette-light-gradient-brand);--ui-gradient-selected:var(--palette-light-gradient-selected);--ui-canvas-ambient:var(--palette-light-canvas-ambient)}:root[data-theme=dark]{color-scheme:dark;--ui-background-primary:var(--palette-dark-background-primary);--ui-background-secondary:var(--palette-dark-background-secondary);--ui-surface-primary:var(--palette-dark-surface-primary);--ui-surface-secondary:var(--palette-dark-surface-secondary);--ui-surface-elevated:var(--palette-dark-surface-elevated);--ui-surface-control:var(--palette-dark-surface-secondary);--ui-surface-hover:var(--palette-dark-surface-hover);--ui-surface-active:var(--palette-dark-surface-active);--ui-text-primary:var(--palette-dark-text-primary);--ui-text-secondary:var(--palette-dark-text-secondary);--ui-text-muted:var(--palette-dark-text-muted);--ui-text-on-accent:var(--palette-dark-text-on-accent);--ui-border-default:var(--palette-dark-border-default);--ui-border-strong:var(--palette-dark-border-strong);--ui-border-hover:var(--palette-dark-text-secondary);--ui-accent-primary:var(--palette-dark-accent-primary);--ui-accent-hover:var(--palette-dark-accent-hover);--ui-accent-active:var(--palette-dark-accent-active);--ui-button-primary:var(--palette-dark-accent-primary);--ui-button-secondary:var(--palette-dark-surface-secondary);--ui-status-success:var(--palette-dark-status-success);--ui-status-success-surface:var(--palette-dark-status-success-surface);--ui-status-warning:var(--palette-dark-status-warning);--ui-status-warning-surface:var(--palette-dark-status-warning-surface);--ui-status-error:var(--palette-dark-status-error);--ui-status-error-surface:var(--palette-dark-status-error-surface);--ui-status-info:var(--palette-dark-status-info);--ui-status-info-surface:var(--palette-dark-status-info-surface);--ui-focus-ring:var(--palette-dark-accent-primary);--ui-focus-on-accent:var(--palette-dark-text-primary);--ui-focus-gap:var(--palette-dark-background-primary);--ui-selected-background:var(--palette-dark-selected-background);--ui-selected-text:var(--palette-dark-selected-text);--ui-selected-indicator:var(--palette-dark-accent-primary);--ui-chart-debt:var(--palette-dark-accent-primary);--ui-chart-baseline:var(--palette-dark-text-secondary);--ui-chart-income:var(--palette-dark-status-success);--ui-chart-expense:var(--palette-dark-status-error);--ui-chart-extra:var(--palette-dark-status-info);--ui-chart-grid:var(--palette-dark-border-default);--ui-chart-label:var(--palette-dark-text-secondary);--ui-chart-tooltip:var(--palette-dark-surface-elevated);--ui-chart-inactive:var(--palette-dark-border-default);--ui-overlay-backdrop:var(--palette-dark-overlay-backdrop);--ui-selection-background:var(--palette-dark-selection-background);--ui-skeleton-base:var(--palette-dark-surface-secondary);--ui-skeleton-shine:var(--palette-dark-surface-hover);--ui-shadow-default:var(--palette-dark-shadow-default);--ui-shadow-elevated:var(--palette-dark-shadow-elevated);--ui-shadow-modal:var(--palette-dark-shadow-modal);--ui-gradient-brand:var(--palette-light-gradient-brand);--ui-gradient-selected:var(--palette-dark-gradient-selected);--ui-canvas-ambient:var(--palette-light-canvas-ambient)}:root{--color-bg-canvas:var(--ui-background-primary);--color-bg-sidebar:var(--ui-background-secondary);--color-bg-surface:var(--ui-surface-primary);--color-bg-elevated:var(--ui-surface-elevated);--color-bg-control:var(--ui-surface-control);--color-bg-hover:var(--ui-surface-hover);--color-bg-chart-inactive:var(--ui-chart-inactive);--color-bg-overlay:var(--ui-surface-elevated);--color-bg-skeleton:var(--ui-skeleton-base);--color-bg-skeleton-shine:var(--ui-skeleton-shine);--color-overlay:var(--ui-overlay-backdrop);--color-selection:var(--ui-selection-background);--color-canvas-ambient:var(--ui-canvas-ambient);--color-surface-auth:var(--ui-surface-primary);--color-border-subtle:var(--ui-border-default);--color-border-default:var(--ui-border-default);--color-border-hairline:var(--ui-border-default);--color-border-control:var(--ui-border-strong);--color-border-strong:var(--ui-border-strong);--color-border-danger:var(--ui-status-error);--color-border-focus:var(--ui-focus-ring);--color-text-primary:var(--ui-text-primary);--color-text-secondary:var(--ui-text-secondary);--color-text-muted:var(--ui-text-muted);--color-text-faint:var(--ui-text-muted);--color-text-disabled:var(--ui-text-muted);--color-text-on-accent:var(--ui-text-on-accent);--color-text-on-selected:var(--ui-selected-text);--color-accent-lime:var(--ui-accent-primary);--color-accent-lime-hover:var(--ui-accent-hover);--color-accent-green:var(--ui-status-success);--color-accent-emerald:var(--ui-status-success);--color-accent-cyan:var(--ui-status-info);--gradient-selected:var(--ui-gradient-selected);--gradient-brand:var(--ui-gradient-brand);--color-selected-indicator:var(--ui-selected-indicator);--color-focus-ring:var(--ui-focus-ring);--color-focus-gap:var(--ui-focus-gap);--chart-line:var(--ui-chart-debt);--chart-green:var(--ui-chart-income);--chart-emerald:var(--ui-chart-baseline);--chart-cyan:var(--ui-chart-extra);--chart-coral:var(--ui-chart-expense);--chart-inactive:var(--ui-chart-inactive);--chart-grid:var(--ui-chart-grid);--chart-label:var(--ui-chart-label);--chart-tooltip-bg:var(--ui-chart-tooltip);--shadow-card:var(--ui-shadow-default);--shadow-elevated:var(--ui-shadow-elevated);--shadow-modal:var(--ui-shadow-modal);--color-status-success:var(--ui-status-success);--color-status-success-surface:var(--ui-status-success-surface);--color-status-danger:var(--ui-status-error);--color-status-danger-surface:var(--ui-status-error-surface);--color-status-warning:var(--ui-status-warning);--color-status-warning-surface:var(--ui-status-warning-surface);--color-status-info:var(--ui-status-info);--color-status-info-surface:var(--ui-status-info-surface);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"SFMono-Regular","Cascadia Code","Roboto Mono",monospace;--weight-regular:400;--weight-book:400;--weight-medium:500;--weight-semibold:600;--weight-bold:600;--weight-heavy:600;--text-2xs:0.6875rem;--text-xs:0.75rem;--text-sm:0.8125rem;--text-ui:0.875rem;--text-body:1rem;--text-lg:1.25rem;--text-2xl:2rem;--text-h1:1.75rem;--text-metric-m:2.5rem;--text-metric-xl:3rem;--text-display:clamp(2.875rem,5vw,4.875rem);--leading-none:1.03;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.55;--tracking-display:-0.055em;--tracking-h1:-0.035em;--tracking-h2:-0.03em;--tracking-metric:-0.05em;--tracking-card:-0.008em;--tracking-caps:0.13em;--tracking-label:0.01em;--space-0:0;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:28px;--space-9:32px;--space-10:40px;--space-11:48px;--space-12:64px;--space-13:80px;--radius-xs:4px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-pill:999px;--duration-instant:80ms;--duration-fast:140ms;--duration-base:160ms;--duration-slow:160ms;--duration-chart:0ms;--duration-spinner:800ms;--ease-out:cubic-bezier(0.2,0.8,0.2,1);--ease-premium:cubic-bezier(0.22,1,0.36,1);--control-height:44px;--button-height:40px;--tap-min:44px;--card-padding:var(--space-7);--card-radius:var(--radius-lg);--field-gap:var(--space-3);--section-gap:var(--space-9);--shell-sidebar:248px;--shell-sidebar-collapsed:76px;--shell-topbar:72px;--shell-topbar-tablet:64px;--shell-topbar-mobile:56px;--shell-bottomnav:64px;--content-max:1600px;--grid-gap:16px;--grid-gap-mobile:12px;--content-pad-x:24px;--content-pad-top:28px;--content-pad-bottom:40px;--z-sidebar:10;--z-topbar:20;--z-overlay:100;--z-toast:110}@media (prefers-reduced-motion:reduce){:root{--duration-instant:1ms;--duration-fast:1ms;--duration-base:1ms;--duration-slow:1ms;--duration-chart:1ms}}:root{--size-brand:36px;--size-icon-sm:16px;--size-icon:20px;--size-icon-display:32px;--size-icon-mobile:22px;--size-dialog:560px;--size-dialog-wide:920px;--size-hero:360px;--size-chart:180px;--size-empty:400px;--size-day:44px;--size-calendar-label:140px;--size-form:860px;--size-auth:560px;--size-prose:72ch;--size-compact:154px;--size-toast:360px;--size-picker:320px;--size-table-actions:192px;--size-table-control:160px;--table-text-min:9rem;--table-number-min:6.5rem;--table-value-max:32ch;--size-page-action:224px;--shell-bottomnav:max(64px,calc(3rem + 16px));--control-height-sm:max(36px,2.25rem);--control-height-md:max(var(--control-height),2.75rem);--control-height-lg:max(48px,3rem);--button-height:var(--control-height-md);--control-padding-x:var(--space-4);--control-padding-y:var(--space-3);--control-icon-gap:var(--space-3);--control-trailing-space:calc(var(--control-padding-x) + var(--size-icon-sm) + var(--control-icon-gap));--control-font-size:var(--text-ui);--control-radius:var(--radius-md);--form-gap:var(--space-6);--dialog-padding:var(--space-8);--dialog-viewport-gap:var(--space-5);--table-row-height:52px;--table-cell-padding:var(--space-4);--border-width:1px;--focus-width:2px;--focus-offset:2px;--opacity-disabled:1;--color-border-control-hover:var(--ui-border-hover);--color-button-danger-bg:color-mix(in srgb,var(--color-status-danger) 12%,var(--color-bg-surface));--color-button-danger-hover:color-mix(in srgb,var(--color-status-danger) 16%,var(--color-bg-surface));--color-bg-active:var(--ui-surface-active);--color-accent-lime-active:var(--ui-accent-active);--text-h1-mobile:1.5rem}@media (max-width:767px){:root{--content-pad-x:16px;--card-padding:var(--space-6);--dialog-padding:var(--space-6);--dialog-viewport-gap:var(--space-3);--control-font-size:var(--text-body)}}@media (min-width:768px) and (max-width:1023px){:root{--content-pad-x:20px}}@media (pointer:coarse){:root{--size-day:56px;--control-height-sm:var(--tap-min);--control-font-size:var(--text-body)}}@layer reset,base,components,patterns,utilities;@layer reset{*{box-sizing:border-box}body,figure,h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none}a,button{color:inherit}img,svg{max-width:100%}}@layer base{html{background:var(--color-bg-canvas)}body{background:var(--color-canvas-ambient),var(--color-bg-canvas);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-ui);line-height:var(--leading-normal);font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums;min-width:320px}h1{font-size:var(--text-h1);font-weight:var(--weight-book);letter-spacing:var(--tracking-h1);line-height:var(--leading-tight)}h2{font-size:var(--text-lg);font-weight:var(--weight-medium)}h2,h3{line-height:var(--leading-snug)}h3{font-size:var(--text-body);font-weight:var(--weight-semibold)}p{color:var(--color-text-secondary)}p+p{margin-top:var(--space-5)}.help,small{font-size:var(--text-xs);color:var(--color-text-secondary)}b,strong{font-weight:var(--weight-semibold)}:focus-visible{outline:var(--focus-width) solid var(--color-focus-ring);outline-offset:var(--focus-offset)}::selection{background:var(--color-selection)}button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}summary{cursor:pointer;min-height:var(--tap-min);display:flex;align-items:center;gap:var(--space-3);font-weight:var(--weight-medium);list-style:none;border-radius:var(--radius-sm)}summary::-webkit-details-marker{display:none}summary:before{content:"";width:var(--size-icon-sm);height:var(--size-icon-sm);flex:none;background:currentColor;-webkit-mask:url(/chevron-down.svg) center/contain no-repeat;mask:url(/chevron-down.svg) center/contain no-repeat;transform:rotate(-90deg);transition:transform var(--duration-fast) var(--ease-out);color:var(--color-text-secondary)}details[open]>summary:before{transform:rotate(0deg)}summary:hover{color:var(--color-text-primary)}details[open]>summary{margin-bottom:var(--space-5)}label{display:flex;flex-direction:column;gap:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium)}a:hover{color:var(--color-text-primary)}progress{width:100%;height:var(--space-2);border:0;border-radius:var(--radius-pill);overflow:hidden;background:var(--chart-inactive)}progress::-webkit-progress-bar{background:var(--chart-inactive)}progress::-webkit-progress-value{background:var(--color-accent-emerald)}progress::-moz-progress-bar{background:var(--color-accent-emerald)}body:has(dialog[open]){overflow:hidden}html{scrollbar-gutter:stable}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}}@layer components{.icon{width:var(--size-icon);height:var(--size-icon);flex:none;fill:none}.control,.file-input{display:block;width:100%;min-width:0;height:var(--control-height-md);border:var(--border-width) solid var(--color-border-control);border-radius:var(--control-radius);background:var(--color-bg-control);color:var(--color-text-primary);padding:var(--control-padding-y) var(--control-padding-x);font-family:var(--font-sans);font-size:var(--control-font-size);font-weight:var(--weight-regular);line-height:var(--leading-normal);letter-spacing:normal;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.control::placeholder{color:var(--color-text-muted);opacity:1}.control:hover:not(:disabled):not([aria-invalid=true]),.file-input:hover:not(:disabled){border-color:var(--color-border-control-hover)}.control:focus,.file-input:focus{border-color:var(--color-border-focus)}.control[aria-invalid=true]{border-color:var(--color-status-danger)}.control:disabled,.file-input:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.control-sm{height:var(--control-height-sm);padding-block:var(--space-2)}.control-lg{height:var(--control-height-lg)}textarea.control{height:auto;min-height:calc(var(--control-height-md) * 2);resize:vertical}.control::-webkit-date-and-time-value{text-align:left}.control::-webkit-datetime-edit{padding:0}.control::-webkit-calendar-picker-indicator{width:var(--size-icon-sm);height:var(--size-icon-sm);padding:0;margin:0 0 0 var(--control-icon-gap);cursor:pointer}.select-control{position:relative;display:grid;min-width:0;width:100%;color:var(--color-text-secondary)}.select-trigger{appearance:none;padding-right:var(--control-trailing-space);text-align:left;cursor:pointer}.select-value{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.select-option-label,.select-value-with-icon{display:flex;align-items:center;gap:var(--space-4);min-width:0}.select-value-with-icon .select-text{overflow:hidden;text-overflow:ellipsis}.select-menu-with-icons{font-weight:var(--weight-regular)}.select-menu{position:fixed;inset:auto;box-sizing:border-box;margin:0;padding:var(--space-2);overflow:auto;overscroll-behavior:contain;border:var(--border-width) solid var(--color-border-control);border-radius:var(--control-radius);background:var(--color-bg-elevated);color:var(--color-text-primary);box-shadow:var(--shadow-elevated);font-family:var(--font-sans);font-size:var(--control-font-size);line-height:var(--leading-normal)}.select-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--control-height-md);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);cursor:pointer}.select-option.is-active{background:var(--color-bg-hover);box-shadow:inset 0 0 0 var(--border-width) var(--color-border-control-hover)}.select-option[aria-selected=true]{color:var(--color-accent-lime)}.select-option[aria-disabled=true]{opacity:var(--opacity-disabled);cursor:not-allowed}.select-check{flex:none}.select-control>.icon{position:absolute;right:var(--control-padding-x);top:50%;transform:translateY(-50%);width:var(--size-icon-sm);height:var(--size-icon-sm);pointer-events:none}.select-control:has(:disabled)>.icon{opacity:var(--opacity-disabled)}.file-input{height:auto;min-height:var(--control-height-md);overflow:hidden;padding:var(--space-2);font-size:var(--text-ui)}.file-input::file-selector-button{min-height:var(--control-height-sm);margin-right:var(--space-4);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-elevated);color:var(--color-text-primary);font:inherit;cursor:pointer}.file-input:hover::file-selector-button{background:var(--color-bg-hover)}.brand{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-body);font-weight:var(--weight-bold)}.brand-mark{display:grid;place-items:center;flex:none;width:var(--size-brand);height:var(--size-brand);border-radius:var(--radius-md);background:var(--gradient-brand);color:var(--ui-brand-foreground);font-weight:var(--weight-heavy)}.brand small{display:block;font-size:var(--text-2xs);font-weight:var(--weight-regular);margin-top:var(--space-2)}.button,.icon-button{gap:var(--space-3);position:relative;min-height:var(--button-size,var(--button-height));max-width:100%;border-radius:var(--control-radius);border:var(--border-width) solid var(--color-border-default);padding:var(--button-padding-y,var(--control-padding-y)) var(--button-padding-x,var(--space-5));font-size:var(--text-ui);font-weight:var(--weight-semibold);background:var(--color-bg-elevated);color:var(--color-text-primary);transition:background var(--duration-fast) var(--ease-out);text-align:center;line-height:var(--leading-normal);overflow-wrap:anywhere}.button,.button-label,.icon-button{display:inline-flex;justify-content:center;align-items:center;min-width:0}.button-label{gap:var(--control-icon-gap)}.button-sm{--button-size:var(--control-height-sm);--button-padding-x:var(--space-4);--button-padding-y:var(--space-2)}.button-lg{--button-size:var(--control-height-lg)}.button[aria-busy=true]{opacity:1;cursor:progress}.button[aria-busy=true] .button-label{opacity:0}.spinner{position:absolute;width:var(--size-icon-sm);height:var(--size-icon-sm);border-right-color:currentcolor;border:var(--focus-width) solid;border-right:var(--focus-width) solid transparent;border-radius:var(--radius-pill);animation:spin var(--duration-spinner) linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.button:hover:not(:disabled),.icon-button:hover:not(:disabled){background:var(--color-bg-hover)}.button.primary{background:var(--color-accent-lime);color:var(--color-text-on-accent);border-color:transparent}.button.primary:hover:not(:disabled){background:var(--color-accent-lime-hover)}.button.primary:focus-visible{outline-color:var(--color-text-primary)}.button.danger{background:var(--color-button-danger-bg);color:var(--color-status-danger);border-color:var(--color-border-danger)}.button:active:not(:disabled),.icon-button:active:not(:disabled){background:var(--color-bg-active)}.button.primary:active:not(:disabled){background:var(--color-accent-lime-active)}.button.danger:hover:not(:disabled){border-color:var(--color-status-danger);background:var(--color-button-danger-hover)}.icon-button{width:var(--tap-min);height:var(--tap-min);min-width:var(--tap-min);border-color:transparent;flex:none}.icon-button,.text-button{padding:var(--space-3);background:transparent}.text-button{border:0;color:var(--color-text-primary);text-decoration:underline;text-underline-offset:var(--space-2);min-height:var(--tap-min);border-radius:var(--control-radius);font-size:var(--text-ui);font-weight:var(--weight-medium);line-height:var(--leading-normal)}.text-button:hover:not(:disabled){background:var(--color-bg-hover)}.card{overflow-wrap:anywhere;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--card-padding);box-shadow:none;min-width:0}.card>h2,.card>p{margin-bottom:var(--space-5)}.card>h3{margin:var(--space-7) 0 var(--space-5)}.card>form+form{margin-top:var(--space-7);padding-top:var(--space-7);border-top:var(--border-width) solid var(--color-border-default)}.card>:where(form,.actions,.table-area)+:where(.notice,.help){margin-top:var(--space-5);margin-bottom:0}.card>.notice+.notice{margin-top:var(--space-4)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-6)}.section-head>div{min-width:0}.page-head>.button,.section-head>.button{flex:none}.section-head p{margin-top:var(--space-2)}.eyebrow{color:var(--color-accent-green);font-size:var(--text-2xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.badge{display:inline-flex;gap:var(--space-2);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-status-info);background:var(--color-status-info-surface)}.badge,.notice{align-items:center}.notice{display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--ui-status-info-surface);color:var(--ui-text-primary);min-width:0;align-items:flex-start}.notice>:where(div,span){min-width:0;flex:1 1;overflow-wrap:anywhere}.notice .icon{color:var(--ui-status-info)}.notice.error{background:var(--color-status-danger-surface);color:var(--color-text-primary)}.notice.error .icon{color:var(--color-status-danger)}.notice.warning{background:var(--ui-status-warning-surface)}.notice.warning>.icon{color:var(--ui-status-warning)}.notice.success{background:var(--ui-status-success-surface)}.notice.success>.icon{color:var(--ui-status-success)}.notice-content{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--space-3)}.notice-content>span{flex:1 1;min-width:0}.notice-content>p{color:inherit}.notice-content .icon-button{margin-top:calc(-1 * var(--space-3))}.field-help{display:flex;flex-direction:column;gap:var(--space-3)}.field-error{color:var(--ui-status-error);font-size:var(--text-sm);line-height:20px}.error-summary{width:100%}.error-summary ul{margin:var(--space-3) 0 0;padding-left:var(--space-6)}.error-summary a{text-decoration:underline;text-underline-offset:3px}.form-group{border-top:1px solid var(--ui-border-default);padding-top:var(--space-6)}.form-group>summary{margin-bottom:var(--space-5)}.theme-picker{width:200px;max-width:100%;display:flex;flex-direction:column;gap:var(--space-1)}.theme-picker>label{display:flex;flex-direction:row;align-items:center;gap:var(--space-4);min-height:var(--tap-min);padding:0 var(--space-4);font-family:var(--font-sans);line-height:var(--leading-normal)}.theme-picker .select-trigger,.theme-picker>label{font-size:var(--text-ui);font-weight:var(--weight-regular)}.theme-picker .select-trigger{padding-left:calc(var(--space-4) - var(--border-width))}.theme-picker small:empty{display:none}.theme-picker small{line-height:18px}.sidebar-theme{padding:0}.sidebar-theme .theme-picker{width:100%}.menu-button{display:none}.tooltip-anchor{display:block;position:relative}.nav-tooltip{display:none}.button:disabled,.control:disabled,.icon-button:disabled,.select-option[aria-disabled=true]{background:var(--ui-surface-secondary);color:var(--ui-text-muted);border-color:var(--ui-border-default);opacity:1}.select-option{overflow-wrap:anywhere}.data-table tbody tr:hover{color:var(--ui-text-primary)}@media (max-width:1023px){.sidebar-theme{display:none}.menu-button{display:inline-flex}.mobile-menu{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5);padding:var(--space-5) var(--content-pad-x);background:var(--ui-surface-elevated)}.mobile-menu a{display:inline-flex;min-height:var(--tap-min);align-items:center;gap:var(--space-3)}.mobile-menu .theme-picker{flex-basis:100%;width:100%}}@media (min-width:768px) and (max-width:1023px){.nav-tooltip{display:block;position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);z-index:var(--z-toast);padding:8px 12px;border-radius:8px;white-space:nowrap;font-size:12px;line-height:18px;color:var(--ui-text-primary);background:var(--ui-surface-elevated);box-shadow:var(--ui-shadow-elevated)}}@media (max-width:767px){.page-head h1{font-size:var(--text-h1-mobile);line-height:1.333333}.hero-metric{font-size:36px;line-height:40px}}.notice>span{flex:1 1}.stack{display:flex;flex-direction:column;gap:var(--space-6)}.stack>:where(p,h3){margin:0}.actions{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.form{min-width:0;width:100%;max-width:var(--size-form)}.form-grid{display:flex;flex-direction:column;gap:var(--form-gap)}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto;column-gap:var(--form-gap);row-gap:var(--field-gap)}.form-row:not(:has(.field-help)){grid-template-rows:auto auto}.form-row:not(:has(.field-help))>.field{grid-row:span 2}.form-row-1{grid-template-columns:minmax(0,1fr)}.field{display:grid;grid-template-rows:subgrid;grid-row:span 3;min-width:0}.field>label{align-self:end}.field>.field-help{align-self:start}.form-actions{justify-content:flex-end}.auth-card .form-actions>.button{width:100%}.toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:var(--space-5)}.toolbar>label{min-width:var(--size-calendar-label);flex:1 1}.tabs{display:flex;flex-wrap:wrap;background:var(--color-bg-control);border-radius:var(--radius-md)}.auth-tabs,.tabs{gap:var(--space-2);padding:var(--space-2)}.auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.auth-tabs>button{min-width:0;width:100%;text-align:center}.tabs button{background:transparent;border:0;min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-ui);font-weight:var(--weight-medium);line-height:var(--leading-normal)}.tabs button:hover:not(:disabled){background:var(--color-bg-elevated)}.tabs button[aria-pressed=true]{background:var(--color-bg-hover);color:var(--color-text-primary)}.table-area{container:table-layout/inline-size;min-width:0;max-width:100%}.table-tools{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-xs)}.table-tools .actions{flex:none}.table-scroll{overscroll-behavior-x:contain;scrollbar-gutter:stable;overflow-x:auto;max-width:100%;min-width:0}.data-table{border-collapse:collapse;width:100%;text-align:left}.data-table td,.data-table th{min-width:var(--table-text-min);overflow-wrap:normal;word-break:normal}.data-table th{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);height:var(--control-height-md);border-bottom:var(--border-width) solid var(--color-border-default)}.data-table td,.data-table th{padding:var(--space-3) var(--table-cell-padding)}.data-table td{height:var(--table-row-height);border-bottom:1px solid var(--color-border-hairline);vertical-align:middle;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-table td:first-child,.data-table th:first-child{padding-left:0}.data-table td:last-child,.data-table th:last-child{padding-right:0}.data-table tbody tr:hover{background:var(--color-bg-hover)}.table-value{min-width:0;overflow-wrap:anywhere}.textual .table-value{max-width:var(--table-value-max)}.data-table .numeric{min-width:var(--table-number-min);text-align:right}.data-table td.nowrap .table-value,.data-table td.numeric .table-value{white-space:nowrap;overflow-wrap:normal}.data-table th.numeric{white-space:normal}.data-table .button{--button-size:var(--control-height-sm);--button-padding-x:var(--space-4);--button-padding-y:var(--space-2)}.data-table .text-button{padding-inline:0}.data-table td:has(.actions){min-width:var(--size-table-actions)}.data-table .stack{white-space:normal}.data-table .form-row{grid-template-columns:minmax(0,1fr)}.data-table .field{display:flex;flex-direction:column;gap:var(--field-gap)}.data-table .select-control{min-width:var(--size-table-control)}@container table-layout (max-width: 40rem){.data-table,.data-table tbody,.data-table td,.data-table tr{display:block;width:100%}.data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.data-table tr{padding:var(--space-5) 0;border-bottom:var(--border-width) solid var(--color-border-default)}.data-table td,.data-table td:first-child,.data-table td:last-child{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:baseline;gap:var(--space-4);min-width:0;padding:var(--space-3) 0;border:0;height:auto;text-align:right}.data-table td:before{content:attr(data-label);font-size:var(--text-xs);color:var(--color-text-secondary);text-align:left;overflow-wrap:normal}.data-table td:has(.actions),.data-table td:has(.stack){grid-template-columns:minmax(0,1fr);min-width:0}.data-table .table-value{max-width:none}.data-table td .actions{justify-content:flex-end}.table-scroll{overflow:visible}}@container table-layout (max-width: 26rem){.data-table td,.data-table td:first-child,.data-table td:last-child{grid-template-columns:minmax(0,1fr);gap:var(--space-2);text-align:left}.data-table td.numeric{text-align:right}.data-table td.numeric .table-value{white-space:normal;overflow-wrap:anywhere}}.empty-small{padding:var(--space-6);color:var(--color-text-secondary)}.dialog{width:min(var(--dialog-width,var(--size-dialog)),calc(100% - var(--dialog-viewport-gap) * 2));max-width:none;max-height:calc(100dvh - var(--dialog-viewport-gap) * 2);margin:auto;border:var(--border-width) solid var(--color-border-default);border-radius:var(--radius-xl);padding:0;background:var(--color-bg-elevated);color:var(--color-text-primary);box-shadow:var(--shadow-modal);overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:var(--shell-topbar)}.dialog-wide{--dialog-width:var(--size-dialog-wide)}.dialog::backdrop{background:var(--color-overlay)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-5) var(--dialog-padding);border-bottom:var(--border-width) solid var(--color-border-default);background:var(--color-bg-elevated);position:sticky;top:0;z-index:1}.dialog-head h2{overflow-wrap:anywhere}.dialog-body{padding:var(--dialog-padding)}.day-dialog{position:fixed;inset:auto;left:var(--anchor-x,var(--dialog-viewport-gap));top:var(--anchor-y,var(--dialog-viewport-gap));margin:0;max-height:min(70dvh,calc(100dvh - var(--dialog-viewport-gap) * 2))}.kpi{min-height:var(--size-compact);display:flex;flex-direction:column;gap:var(--space-4)}.kpi p{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.kpi strong{overflow-wrap:anywhere;font-size:var(--text-2xl);line-height:var(--leading-tight);font-weight:var(--weight-book);letter-spacing:var(--tracking-h2)}.kpi span{font-size:var(--text-xs);color:var(--color-text-secondary)}.stat-line{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-5);margin:var(--space-4) 0}.stat-line>span{flex:1 1 12ch;color:var(--color-text-secondary);font-size:var(--text-sm)}.stat-line>strong{margin-left:auto;min-width:min-content;overflow-wrap:anywhere}.divider{height:1px;background:var(--color-border-default);margin:var(--space-5) 0}.skeleton{background:var(--color-bg-skeleton);min-height:var(--size-hero);border-radius:var(--radius-lg)}}@layer patterns{.app-shell{display:flex;min-height:100dvh}.sidebar{overflow-y:auto;width:var(--shell-sidebar);padding:var(--space-6) var(--space-5);position:fixed;inset:0 auto 0 0;background:var(--color-bg-sidebar);border-right:1px solid var(--color-border-subtle);display:flex;flex-direction:column;z-index:var(--z-sidebar)}.sidebar .brand{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-11)}.sidebar-caption{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);color:var(--color-text-muted);font-size:var(--text-2xs);letter-spacing:var(--tracking-caps)}.nav-item{min-height:var(--tap-min);display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-2);border-radius:var(--radius-md);color:var(--color-text-secondary);position:relative}.nav-item:hover{background:var(--color-bg-hover)}.nav-item.active{background:var(--gradient-selected);color:var(--color-text-on-selected)}.nav-item.active:before{content:"";position:absolute;left:0;top:var(--space-4);bottom:var(--space-4);width:var(--space-1);background:var(--color-selected-indicator);border-radius:var(--radius-pill)}.sidebar-bottom{margin-top:auto;padding-top:var(--space-7)}@media (min-width:1024px){.sidebar .brand{margin-bottom:var(--space-5)}.sidebar-caption{padding-block:var(--space-2)}.sidebar-bottom{padding-top:var(--space-4)}}.account-block{display:flex;flex-direction:column;gap:var(--space-7);border-top:1px solid var(--color-border-default);margin-top:var(--space-7);padding-block:var(--space-7)}.sidebar-save{width:100%;padding-inline:calc(var(--space-4) - var(--border-width));text-align:left}.sidebar-save .button-label{width:100%;display:grid;grid-template-columns:var(--size-icon) auto;justify-content:start;gap:var(--space-4);align-items:center;line-height:20px;white-space:nowrap}.sidebar-save .button-label>.icon{width:var(--size-icon);height:var(--size-icon)}.account-label{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-4);padding-inline:var(--space-4)}.account-label small{display:block;margin-top:var(--space-2)}.workspace{margin-left:var(--shell-sidebar);width:calc(100% - var(--shell-sidebar));min-width:0}.topbar{height:auto;flex-shrink:0;min-height:var(--shell-topbar);display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) max(var(--content-pad-x),calc((100% - var(--content-max)) / 2 + var(--content-pad-x)));gap:var(--space-5);border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg-canvas);position:relative;z-index:var(--z-topbar)}.topbar>.page-head{flex:1 1;min-width:0}.topbar .page-head>div{min-width:0}.topbar .page-head p{max-width:none;white-space:nowrap}.page-description-compact{display:none}@media (max-width:1279px){.page-description-full{display:none}.page-description-compact{display:inline}.topbar .page-head p{font-size:12px}}.topbar>.actions{flex:none;align-items:center}.page-primary-action{width:var(--size-page-action);flex:none}.topbar .page-primary-action{margin-left:auto}.content{max-width:var(--content-max);margin:0 auto;padding:var(--content-pad-top) var(--content-pad-x) var(--content-pad-bottom);display:flex;flex-direction:column;gap:var(--space-7);min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6)}.page-head p{max-width:var(--size-prose)}.page-head h1{line-height:1.285714;font-weight:var(--weight-medium);scroll-margin-top:var(--space-6)}.page-head h1:focus{outline:none}.page-head h1+p{margin-top:var(--space-3)}.plan-picker,.scenario-picker{display:flex;flex-direction:row;align-items:center;gap:var(--space-4);flex-wrap:wrap}.plan-picker>.select-control,.scenario-picker>.select-control{width:min(100%,var(--size-picker))}.scenario-picker>span{color:var(--color-text-secondary)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--grid-gap)}.hero-card{min-height:var(--size-hero);display:flex;flex-direction:column}.hero-metric{font-size:var(--text-metric-xl);letter-spacing:var(--tracking-metric);font-weight:var(--weight-book);line-height:var(--leading-tight);color:var(--color-accent-lime);margin-bottom:var(--space-3);overflow-wrap:anywhere}.hero-card>p{font-size:var(--text-xs)}.debt-chart{margin-top:var(--space-6);flex:1 1}.debt-chart svg{width:100%;height:var(--size-chart);overflow:visible}.chart-grid{stroke:var(--chart-grid);stroke-width:1;fill:none}.chart-line{stroke:var(--chart-line);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.debt-chart figcaption{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary)}.debt-chart details{margin-top:var(--space-3);font-size:var(--text-xs)}.hero-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);padding-top:var(--space-5);margin-top:var(--space-5);border-top:1px solid var(--color-border-default)}.hero-bottom span{display:block;color:var(--color-text-secondary);font-size:var(--text-xs);margin-bottom:var(--space-3)}.hero-bottom>div{min-width:0}.hero-bottom strong{min-width:0;font-weight:var(--weight-medium);overflow-wrap:anywhere}.next-card{display:flex;flex-direction:column;gap:var(--space-5)}.next-card>:where(h2,p,.stat-line,.divider){margin:0}.next-card>.divider{flex:none}.next-amount{font-size:var(--text-metric-m);font-weight:var(--weight-book);letter-spacing:var(--tracking-metric)}.next-card .button{margin-top:auto}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.loan-grid,.metrics-grid{display:grid;gap:var(--grid-gap)}.loan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-card{overflow-wrap:anywhere;display:block;text-align:left;border-radius:var(--radius-lg);border:1px solid var(--color-border-default);background:var(--color-bg-surface);padding:var(--card-padding);min-width:0;box-shadow:none}.loan-card:hover{background:var(--color-bg-elevated)}.loan-card .section-head>span{min-width:0;max-width:100%;display:flex;gap:var(--space-3);align-items:center;font-weight:var(--weight-medium)}.loan-card .section-head{margin-bottom:var(--space-2)}.loan-card>p{font-size:var(--text-xs);margin-bottom:var(--space-6)}.loan-card>strong{font-size:var(--text-2xl);font-weight:var(--weight-book);letter-spacing:var(--tracking-metric)}.loan-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:var(--space-5);margin:var(--space-7) 0}.loan-fields b,.loan-fields span{display:block}.loan-fields span{font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.loan-fields b{font-weight:var(--weight-medium)}.loan-card>.help{display:block;margin-top:var(--space-4)}.next-step{display:flex;align-items:center;justify-content:space-between;gap:var(--space-7)}.next-step h2{margin:var(--space-3) 0 var(--space-4)}.next-step p{max-width:var(--size-prose)}.next-step>.button{flex:none}.empty{min-height:var(--size-empty);padding:var(--space-12) var(--space-7);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-6)}.empty>:where(h2,p){margin:0}.empty>p{max-width:var(--size-auth)}.empty-icon{width:var(--space-12);height:var(--space-12);display:grid;place-items:center;background:var(--color-bg-elevated);border-radius:var(--radius-lg);color:var(--color-accent-green)}.empty-icon .icon{width:var(--size-icon-display);height:var(--size-icon-display)}.file-label{margin-top:var(--space-5);max-width:100%;text-align:left}.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}.scenario-grid .card{display:flex;flex-direction:column;gap:var(--space-4)}.scenario-grid h2{font-size:var(--text-body);margin:0}.scenario-grid .stat-line{margin:0;flex-wrap:wrap}.scenario-grid .button{margin-top:auto}.scenario-value{font-size:var(--text-2xl);font-weight:var(--weight-book);letter-spacing:var(--tracking-metric)}.scenario-actions{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-5);flex-wrap:wrap}.scenario-actions>span{min-width:0;overflow-wrap:anywhere;flex:1 1 14rem}.prose{max-width:var(--size-prose);font-size:var(--text-body);line-height:var(--leading-relaxed)}.prose h3{margin:var(--space-7) 0 var(--space-4)}.auth-card{max-width:var(--size-auth);width:100%}.account-entry-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-7);align-items:stretch}.account-entry-layout>.card{max-width:none;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.account-entry-layout>.card>*{width:100%;max-width:var(--size-auth)}.account-entry-layout .invitation-card{grid-column:2;grid-row:1}.account-entry-layout .access-context,.account-entry-layout>.notice{grid-column:1/-1}.account-entry-layout .actions,.account-entry-layout .notice,.account-entry-layout .tabs{justify-content:center}.account-entry-layout .control{text-align:center}.account-entry-layout .form-actions>.button{width:100%}@media (max-width:767px){.account-entry-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,1fr) auto}.account-entry-layout .invitation-card{grid-column:1;grid-row:2}.account-entry-layout .access-context{grid-row:3}}.calendar-desktop.card,.calendar-history.card{padding:var(--space-7);overflow:hidden}.calendar-scroll{position:relative;scroll-snap-type:x mandatory;scroll-padding-left:var(--calendar-left,140px);scroll-padding-right:var(--calendar-right,140px);overscroll-behavior-x:contain;overflow-x:auto;overflow-y:hidden;padding-bottom:var(--space-7);max-width:100%}.calendar-grid{border-collapse:separate;border-spacing:0;font-size:var(--text-xs)}.calendar-grid caption{text-align:left;font-size:var(--text-ui);margin-bottom:var(--space-5)}.calendar-grid th{height:var(--tap-min);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.calendar-grid th:first-child{position:sticky;left:0;background:var(--color-bg-surface);z-index:1;min-width:var(--size-calendar-label);text-align:left}.calendar-grid td{padding:2px}.calendar-grid td:not(.calendar-payments){min-width:var(--calendar-step,calc(var(--size-day) + 4px));width:var(--calendar-step,calc(var(--size-day) + 4px));scroll-snap-align:start}.calendar-grid .day,.calendar-grid .invalid-day{width:calc(var(--calendar-step, calc(var(--size-day) + 4px)) - 4px)}.calendar-grid .calendar-year th{position:static;padding:var(--space-7) 0 var(--space-4);height:auto;color:var(--color-text-primary);font-size:var(--text-ui);font-weight:var(--weight-semibold)}.calendar-grid tbody:first-of-type .calendar-year th{padding-top:var(--space-3)}.calendar-year span{position:sticky;left:0;display:inline-block}.calendar-history>summary{cursor:pointer;font-weight:var(--weight-medium)}.calendar-history[open]>summary{margin-bottom:var(--space-6)}.calendar-history-year{max-width:var(--size-calendar-label)}.calendar-grid .calendar-payments{position:sticky;right:0;z-index:1;background:var(--ui-surface-primary);border-left:1px solid var(--ui-border-default);width:max(140px,calc(14ch + 2 * var(--space-4)));min-width:max(140px,calc(14ch + 2 * var(--space-4)));white-space:nowrap;overflow-wrap:normal;word-break:normal;text-align:right;font-size:inherit;font-feature-settings:tabular-nums lining-nums;font-variant-numeric:tabular-nums lining-nums;padding:var(--space-3) var(--space-4)}.day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);width:var(--size-day);height:var(--size-day);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background:var(--color-bg-control);font-size:var(--text-xs)}.day.has-events{background:var(--color-status-info-surface);color:var(--color-status-info)}.day:hover{color:var(--ui-text-primary);border-color:var(--color-border-control-hover);background:var(--color-bg-hover)}.day.today{border-color:var(--ui-selected-indicator);box-shadow:inset 0 0 0 var(--border-width) var(--ui-selected-indicator)}.day:focus-visible{outline:var(--focus-width) solid var(--color-focus-ring)}.series-actions{padding-top:var(--space-5);border-top:var(--border-width) solid var(--color-border-default)}.day small{display:none;font-size:var(--text-2xs);line-height:var(--leading-tight);white-space:nowrap;color:inherit}.day .icon{width:var(--size-icon-sm);height:var(--size-icon-sm)}.invalid-day{display:grid;place-items:center;width:var(--size-day);height:var(--size-day);color:var(--color-text-disabled)}.bottom-nav,.calendar-mobile,.mobile-menu,.mobile-only{display:none}.boot{max-width:var(--size-form);margin:var(--space-12) auto;padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-7)}@media (max-width:1279px){.hero-bottom{grid-template-columns:1fr}.hero-bottom>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-5)}.hero-bottom span{margin:0}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scenario-grid{grid-template-columns:1fr}.next-step{align-items:flex-start;flex-direction:column}}@media (min-width:768px) and (max-width:1023px){.sidebar{width:var(--shell-sidebar-collapsed);padding:var(--space-6) var(--space-4)}.sidebar .brand{padding:0;justify-content:center}.nav-label,.sidebar-caption,.sidebar-save{display:none}.account-label,.nav-item{justify-content:center;padding:var(--space-4)}.workspace{margin-left:var(--shell-sidebar-collapsed);width:calc(100% - var(--shell-sidebar-collapsed))}.topbar{min-height:var(--shell-topbar-tablet)}.content{padding:var(--space-7) var(--content-pad-x)}.dashboard-grid{grid-template-columns:minmax(0,5fr) minmax(0,3fr)}.hero-metric{font-size:var(--text-metric-m)}.next-amount{font-size:var(--text-2xl)}}@media (max-width:767px){body{font-size:var(--text-ui)}.sidebar{display:none}.workspace{margin:0;width:100%}.topbar{height:auto;min-height:var(--shell-topbar-mobile);padding:var(--space-6) var(--content-pad-x);gap:var(--space-5);flex-wrap:wrap}.topbar>.page-head{flex-basis:100%}.topbar>.actions{width:100%;flex-wrap:nowrap;flex:none}.content{padding:var(--space-6) var(--space-5) calc(var(--shell-bottomnav) + var(--space-10) + env(safe-area-inset-bottom));gap:var(--space-6)}.page-head{align-items:flex-start;flex-wrap:wrap}.page-head>div{flex-basis:100%}.page-head>.page-primary-action{margin-left:auto}.dashboard-grid,.loan-grid,.metrics-grid,.scenario-grid{grid-template-columns:minmax(0,1fr)}.hero-card{min-height:0}.hero-metric,.next-amount{font-size:var(--text-metric-m)}.kpi{min-height:0}.hero-bottom{grid-template-columns:1fr}.hero-bottom strong{font-size:var(--text-sm)}.hero-bottom span{font-size:var(--text-xs)}.notice{align-items:flex-start;flex-wrap:wrap}.notice>div,.notice>span{flex:1 1;min-width:0}.section-head{align-items:flex-start;flex-wrap:wrap}.section-head label{width:100%}.empty{padding:var(--space-10) var(--space-6)}.empty .actions{justify-content:center}.form-row{gap:var(--form-gap)}.field,.form-row{display:flex;flex-direction:column}.field{gap:var(--field-gap)}.field>label{align-self:stretch}.form-actions>.button{width:100%}.day-dialog{inset:auto 0 0;margin:0;width:100%;max-height:85dvh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.day-dialog .dialog-body{padding-bottom:calc(var(--dialog-padding) + env(safe-area-inset-bottom))}.calendar-desktop{display:none}.calendar-mobile{display:block}.calendar-mobile .actions{justify-content:space-between}.calendar-mobile .actions strong{font-size:var(--text-xs)}.calendar-mobile .button{padding:var(--space-3)}.week{display:grid;grid-template-columns:repeat(7,minmax(var(--size-day),1fr));overflow-x:auto;padding:var(--space-2);gap:var(--space-2);margin-top:var(--space-6)}.week .day{width:100%;min-height:var(--tap-min);height:var(--size-day)}.week .day small{display:none}.calendar-mobile.card{padding:var(--space-4)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:calc(var(--shell-bottomnav) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--color-border-default);background:var(--color-bg-sidebar);z-index:var(--z-topbar)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-2xs);color:var(--color-text-secondary);min-height:var(--tap-min);min-width:0;padding-inline:var(--space-2);text-align:center}.bottom-nav a span{max-width:100%;overflow-wrap:anywhere}.bottom-nav .icon{width:var(--size-icon-mobile);height:var(--size-icon-mobile)}.bottom-nav a[aria-current=page]{color:var(--color-accent-lime)}.mobile-only{display:inline-flex}.desktop-only{display:none}.mobile-menu{justify-content:space-around;background:var(--color-bg-elevated);padding:var(--space-4);flex-wrap:wrap}.mobile-menu,.mobile-menu a{display:flex;gap:var(--space-3)}.mobile-menu a{align-items:center;min-height:var(--tap-min)}.scenario-picker{align-items:flex-start;flex-direction:column}.scenario-picker>.select-control{width:100%}.prose{font-size:var(--text-body)}.stat-line{flex-wrap:wrap}.notice .button{margin-top:var(--space-3)}}}@layer utilities{.skip-link{position:fixed;top:var(--space-3);left:var(--space-3);transform:translateY(-200%);background:var(--color-accent-lime);color:var(--color-text-on-accent);padding:var(--space-4);z-index:var(--z-toast)}.skip-link:not(:focus){width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link:focus{transform:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@layer patterns{.button:active:not(:disabled){transition-duration:var(--duration-instant)}.chart-label{fill:var(--ui-chart-label);font-size:12px}.chart-point{fill:var(--ui-chart-debt)}.chart-inspector{display:grid;gap:var(--space-2);margin-block:var(--space-3);font-size:var(--text-xs)}.chart-inspector input{width:100%;min-height:var(--tap-min);accent-color:var(--ui-chart-debt)}.chart-inspector output{color:var(--ui-text-primary)}.debt-chart .data-table{font-size:var(--text-xs)}.calendar-scroll-tools{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);color:var(--ui-text-secondary)}.calendar-summary-desktop{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-summary-mobile{display:none}@media (min-width:768px) and (max-width:1023px){.mobile-menu{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--content-pad-x);background:var(--ui-surface-elevated)}}@media (max-width:767px){.calendar-history.card{padding:var(--space-4)}.calendar-history .calendar-grid th:first-child{min-width:112px}.calendar-history .calendar-payments{position:static}.calendar-summary-desktop{display:none}.calendar-summary-mobile{display:block;padding:var(--space-4) var(--space-5)}.calendar-summary-mobile dl{margin:0;display:grid;gap:var(--space-3)}.calendar-summary-mobile dl>div{display:flex;gap:var(--space-4);justify-content:space-between}.calendar-summary-mobile dt{color:var(--ui-text-secondary)}.calendar-summary-mobile dd{margin:0;flex:none;font-weight:var(--weight-medium)}.calendar-summary-mobile details,.calendar-summary-mobile details p{margin-top:var(--space-3)}.calendar-panel>.toolbar{gap:var(--space-3)}.calendar-panel>.toolbar>label{flex:1 1;min-width:120px}.calendar-mobile .day{width:100%;min-width:0}.hero-metric{font-size:36px;line-height:40px}.chart-inspector output{min-height:36px}}@media (pointer:coarse){.day small{display:block}}}.analytics-consent{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.analytics-consent p{margin:4px 0 0}.analytics-consent .actions{flex-shrink:0}@media (max-width:700px){.analytics-consent{flex-direction:column;align-items:flex-start}}