:root{color-scheme:light;--color-background: #fafafa;--color-surface: #ffffff;--color-surface-glass: rgb(255 255 255 / 82%);--color-foreground: #111111;--color-foreground-secondary: #3a3a3a;--color-muted: #707070;--color-border: #e5e5e5;--color-accent: #111111;--color-accent-on: #ffffff;--color-accent-soft: #f5f5f5;--color-success: #168a46;--color-success-background: #f0fdf4;--color-warning: #b7791f;--color-warning-background: #fffbeb;--color-danger: #c53030;--color-danger-background: #fef2f2;--color-info: #3b82f6;--color-info-background: #eff6ff;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, sans-serif;--font-mono: "SF Mono", ui-monospace, Menlo, monospace;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: clamp(1.6rem, 3vw, 1.75rem);--text-3xl: clamp(2rem, 4vw, 2.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--shadow-sm: 0 1px 2px rgb(0 0 0 / 4%);--shadow-md: 0 4px 12px rgb(0 0 0 / 8%), 0 2px 4px rgb(0 0 0 / 4%);--shadow-lg: 0 12px 32px rgb(0 0 0 / 10%), 0 4px 8px rgb(0 0 0 / 6%);--motion-fast: .18s;--motion-base: .3s;--ease-out: cubic-bezier(.16, 1, .3, 1);--sidebar-width: 17.5rem;--content-max-width: 87.5rem}*{box-sizing:border-box}html{background:var(--color-background)}body{min-width:20rem;min-height:100vh;margin:0;color:var(--color-foreground);background:var(--color-background);font-family:var(--font-body);font-size:var(--text-base);font-variant-numeric:tabular-nums;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-info);outline-offset:3px}.skip-link{position:fixed;top:var(--space-3);left:var(--space-3);z-index:300;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--color-accent-on);background:var(--color-accent);transform:translateY(-160%);transition:transform var(--motion-fast) var(--ease-out)}.skip-link:focus{transform:translateY(0)}.app-shell{display:flex;min-height:100vh;animation:fade-in var(--motion-base) var(--ease-out)}.sidebar{position:fixed;z-index:200;display:flex;flex-direction:column;width:var(--sidebar-width);height:100vh;padding:var(--space-8);overflow-y:auto;border-right:1px solid var(--color-border);background:var(--color-surface-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:transform var(--motion-base) var(--ease-out)}.sidebar__header,.sidebar__brand{display:flex;align-items:center}.sidebar__header{justify-content:space-between;margin-bottom:var(--space-10)}.sidebar__brand{gap:var(--space-3);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em}.icon-button.sidebar__close{display:none}.sidebar__brand-icon{font-size:var(--text-2xl);animation:float 3s ease-in-out infinite}.sidebar__navigation{display:flex;flex:1;flex-direction:column;gap:var(--space-2)}.sidebar__link{position:relative;display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);overflow:hidden;border-radius:var(--radius-md);color:var(--color-muted);font-weight:500;text-decoration:none;transition:color var(--motion-fast) var(--ease-out),background var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.sidebar__link:hover{color:var(--color-foreground);background:var(--color-accent-soft);transform:translate(var(--space-1))}.sidebar__link.is-active{color:var(--color-foreground);background:var(--color-accent-soft);font-weight:600}.sidebar__link.is-active:before{position:absolute;top:50%;left:0;width:3px;height:var(--space-5);border-radius:0 2px 2px 0;background:var(--color-accent);content:"";transform:translateY(-50%)}.sidebar__icon{display:grid;width:var(--space-5);min-width:var(--space-5);place-items:center;font-size:var(--text-lg)}.sidebar__footer{margin:var(--space-8) 0 0;color:var(--color-muted);font-size:var(--text-xs)}.app-shell__content{width:100%;min-width:0;margin-left:var(--sidebar-width)}.main-content{width:min(100%,var(--content-max-width));padding:var(--space-8);animation:slide-up var(--motion-base) var(--ease-out)}.mobile-header,.navigation-backdrop{display:none}.auth-shell{display:grid;min-height:100vh;padding:var(--space-6);place-items:center}.auth-card{display:grid;width:min(100%,30rem);gap:var(--space-6);padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-lg)}.auth-brand{display:inline-flex;gap:var(--space-3);align-items:center;justify-self:start;font-size:var(--text-xl);font-weight:700;text-decoration:none}.auth-heading h1{margin:var(--space-2) 0;font-size:var(--text-2xl)}.auth-heading p:last-child{margin:0;color:var(--color-muted)}.auth-links{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);justify-content:space-between;color:var(--color-foreground-secondary);font-size:var(--text-sm);font-weight:600}.auth-loading{width:min(100% - var(--space-8),48rem);margin:var(--space-8) auto}.sidebar__account{display:grid;gap:var(--space-3);margin-top:var(--space-8);color:var(--color-muted);font-size:var(--text-xs);overflow-wrap:anywhere}.sidebar__account .button{justify-self:start}.mobile-header__sign-out{margin-left:auto}.account-feedback{padding:var(--space-4) var(--space-8) 0}.page{display:grid;gap:var(--space-8)}.page-header{display:flex;justify-content:space-between;align-items:flex-start}.page-header h1{margin:var(--space-1) 0 var(--space-2);font-size:var(--text-2xl);line-height:1.2;letter-spacing:-.03em}.page-header__description{max-width:42rem;margin:0;color:var(--color-muted)}.eyebrow{margin:0;color:var(--color-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.page-state{display:grid;min-height:20rem;padding:var(--space-12);place-items:center;align-content:center;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);text-align:center}.page-state__icon{display:grid;width:var(--space-12);height:var(--space-12);margin-bottom:var(--space-4);place-items:center;border-radius:50%;color:var(--color-muted);background:var(--color-accent-soft);font-family:var(--font-mono);font-weight:700}.page-state h2{margin:0 0 var(--space-2);font-size:var(--text-xl)}.page-state p{max-width:32rem;margin:0;color:var(--color-muted)}.page-state__action{margin-top:var(--space-6)}.page-state--error{border-color:var(--color-danger);background:var(--color-danger-background)}.page-state--success{border-color:var(--color-success);background:var(--color-success-background)}.page-state--loading .page-state__icon{animation:pulse 1.2s ease-in-out infinite}.icon-button{display:grid;width:var(--space-10);height:var(--space-10);padding:0;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-foreground);background:var(--color-surface);cursor:pointer}.button{display:inline-flex;gap:var(--space-2);align-items:center;justify-content:center;padding:var(--space-3) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:600;cursor:pointer}.button--primary{border-color:var(--color-accent);color:var(--color-accent-on);background:var(--color-accent)}.button--compact{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.button--danger{border-color:var(--color-danger);color:#fff;background:var(--color-danger)}.button:disabled{cursor:wait;opacity:.65}.data-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.data-management-card,.data-management-notes{padding:var(--space-6)}.data-management-card{display:grid;gap:var(--space-6);align-content:space-between}.data-management-card h2,.data-management-notes h2{margin:var(--space-2) 0}.data-management-card p:last-child,.data-management-notes p:last-child{margin:0;color:var(--color-muted)}.data-management-card .button{justify-self:start}.data-management-card--warning{border-color:var(--color-warning);background:var(--color-warning-background)}.data-management-card--migration{border-color:var(--color-success);background:var(--color-success-background)}.migration-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:var(--space-5) 0}.migration-preview div{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.migration-preview dt{color:var(--color-muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.migration-preview dd{margin:var(--space-2) 0 0;font-size:var(--text-xl);font-weight:700}.income-header,.record-page-header{gap:var(--space-5)}.income-metrics,.record-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.transactions-header{gap:var(--space-5)}.transaction-filters{display:flex;gap:var(--space-4);justify-content:space-between;align-items:end;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.transaction-search{display:grid;width:min(100%,32rem);gap:var(--space-2);color:var(--color-foreground-secondary);font-size:var(--text-sm);font-weight:700}.transaction-search input{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-foreground);background:var(--color-background)}.transaction-search input:focus{border-color:var(--color-info);outline:2px solid var(--color-info-background)}.transaction-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.transaction-value--positive{color:var(--color-success)}.transaction-value--negative{color:var(--color-danger)}.transaction-table{min-width:54rem}.record-tabs{display:inline-flex;width:fit-content;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.record-tab{padding:var(--space-2) var(--space-4);border:0;border-radius:calc(var(--radius-md) - var(--space-1));color:var(--color-muted);background:transparent;font-weight:600;cursor:pointer}.record-tab.is-active{color:var(--color-accent-on);background:var(--color-accent)}.inline-feedback{padding:var(--space-3) var(--space-4);border:1px solid;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600}.inline-feedback--success{border-color:var(--color-success);color:var(--color-success);background:var(--color-success-background)}.inline-feedback--error{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-background)}.record-card{padding:0;overflow:hidden}.record-card .dashboard-card__header{padding:var(--space-6);margin:0}.record-table th,.record-table td{vertical-align:middle}.record-table tbody th strong,.record-table tbody th small{display:block}.record-table tbody th small{margin-top:var(--space-1);color:var(--color-muted);font-weight:400}.record-table__amount{color:var(--color-success);font-weight:700}.record-table__amount--expense{color:var(--color-danger)}.record-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.budget-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4);padding:0 var(--space-6) var(--space-6)}.budget-card{display:grid;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.budget-card h3,.budget-card p{margin:0}.budget-card p{color:var(--color-foreground-secondary)}.budget-card__meter{height:10px;overflow:hidden;border-radius:999px;background:var(--color-surface-muted)}.budget-card__meter span{display:block;height:100%;border-radius:inherit;background:var(--color-success)}.budget-card--warning .budget-card__meter span{background:var(--color-warning)}.budget-card--over_budget .budget-card__meter span{background:var(--color-danger)}.budget-card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--color-foreground-secondary);font-size:var(--text-sm)}.record-section{padding:0;overflow:hidden}.record-section__header{display:flex;gap:var(--space-4);justify-content:space-between;align-items:center;padding:var(--space-6)}.record-section__header h2{margin:var(--space-1) 0 0}.record-section__empty{margin:0;padding:0 var(--space-6) var(--space-6);color:var(--color-muted)}.table-scroll{overflow-x:auto}.record-section .record-table{width:100%;min-width:46rem}.debt-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.goals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.goal-card{display:grid;gap:var(--space-5)}.goal-pacing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}.goal-pacing div{display:grid;gap:var(--space-1)}.goal-pacing dt{color:var(--color-muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.goal-pacing dd{margin:0;color:var(--color-foreground);font-weight:700}.status-pill--at_risk{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-warning-background)}.status-pill--behind{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-background)}.status-pill--completed,.status-pill--on_track{border-color:var(--color-success);color:var(--color-success);background:var(--color-success-background)}.debt-recommendation{display:flex;gap:var(--space-6);justify-content:space-between;align-items:center;border-color:var(--color-info);background:var(--color-info-background)}.debt-recommendation h2{margin-bottom:var(--space-2)}.debt-recommendation p:last-child{margin:0;color:var(--color-muted)}.debt-recommendation strong{color:var(--color-info);font-size:var(--text-3xl)}.debt-strategies{padding:0;overflow:hidden}.debt-strategies>header p:last-child{max-width:32rem;margin:0;color:var(--color-muted);font-size:var(--text-sm)}.debt-strategy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);padding:0 var(--space-6) var(--space-6)}.debt-strategy-card{display:grid;gap:var(--space-4);align-content:start;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}.debt-strategy-card.is-recommended{border-color:var(--color-info);background:var(--color-info-background)}.debt-strategy-card header{display:grid;gap:var(--space-3)}.debt-strategy-card h3{margin:0 0 var(--space-2);font-size:var(--text-lg);line-height:1.3}.debt-strategy-card p{margin:0;color:var(--color-muted);font-size:var(--text-sm)}.debt-strategy-card dl{display:grid;gap:var(--space-3);margin:0}.debt-strategy-card dl div{display:flex;gap:var(--space-3);justify-content:space-between;align-items:baseline;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.debt-strategy-card dt{color:var(--color-muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.debt-strategy-card dd{margin:0;color:var(--color-foreground);font-weight:700;text-align:right}.debt-list,.debt-card{display:grid;gap:var(--space-5)}.debt-card__header{display:flex;gap:var(--space-5);justify-content:space-between}.debt-card__header h2{margin-top:var(--space-3)}.debt-card__header p,.debt-card__notes,.debt-card__progress p{margin:0;color:var(--color-muted);font-size:var(--text-sm)}.debt-card__balance{display:grid;align-content:start;text-align:right}.debt-card__balance strong{font-size:var(--text-2xl)}.debt-card__balance span{color:var(--color-muted);font-size:var(--text-sm)}.debt-card__progress div{display:flex;justify-content:space-between}.debt-card__progress progress{width:100%;height:var(--space-2);margin:var(--space-2) 0;overflow:hidden;border:0;border-radius:999px;background:var(--color-accent-soft);accent-color:var(--color-accent)}.promotion-alert{display:grid;gap:var(--space-2);width:fit-content;max-width:100%;margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success);background:var(--color-success-background)}.promotion-alert p{margin:0;color:inherit;font-size:var(--text-sm)}.promotion-alert .status-pill{width:fit-content;border-color:currentColor;color:inherit;background:#ffffffad}.promotion-alert--warning{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-warning-background)}.promotion-alert--danger,.promotion-alert--expired{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-background)}.coach-header{align-items:center;gap:var(--space-5)}.coach-overview,.coach-grid{display:grid;gap:var(--space-6)}.coach-overview{grid-template-columns:1.1fr 1fr 1fr}.coach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-library{margin-top:var(--space-6)}.strategy-library__grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.strategy-card{border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-4);min-height:100%;padding:var(--space-4)}.strategy-card--active{border-color:var(--color-success);box-shadow:inset 0 0 0 1px var(--color-success)}.strategy-card h3{font-size:1rem;margin:0 0 var(--space-2)}.strategy-card p,.strategy-card ul{color:var(--color-muted);margin:0}.strategy-card ul{padding-left:var(--space-5)}.coach-health,.coach-strategy,.coach-insight,.coach-panel{display:grid;gap:var(--space-5)}.coach-health{grid-template-columns:auto 1fr;align-items:center}.coach-health h2{margin:0;font-size:var(--text-5xl);line-height:1}.coach-health ul{display:grid;gap:var(--space-2);margin:0;padding-left:var(--space-5);color:var(--color-muted)}.coach-health--strong,.coach-health--stable{border-color:var(--color-success);background:var(--color-success-background)}.coach-health--tight{border-color:var(--color-warning);background:var(--color-warning-background)}.coach-health--at_risk,.coach-health--critical{border-color:var(--color-danger);background:var(--color-danger-background)}.coach-strategy p,.coach-insight p,.coach-priority p{margin:0;color:var(--color-muted)}.coach-strategy .button{justify-self:start}.coach-insight--positive{border-color:var(--color-success);background:var(--color-success-background)}.coach-insight--warning{border-color:var(--color-warning);background:var(--color-warning-background)}.coach-insight--danger{border-color:var(--color-danger);background:var(--color-danger-background)}.coach-insight--info{border-color:var(--color-info);background:var(--color-info-background)}.coach-panel{padding:0;overflow:hidden}.coach-list{display:grid;gap:var(--space-3);margin:0;padding:0 var(--space-6) var(--space-6);list-style:none}.coach-list li{display:flex;gap:var(--space-4);justify-content:space-between;align-items:center;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}.coach-list li div,.coach-priority{display:grid;gap:var(--space-1)}.coach-list strong,.coach-priority strong{color:var(--color-foreground)}.coach-list span:not(.status-pill),.coach-priority span{color:var(--color-muted);font-size:var(--text-sm)}.coach-priority{margin:0 var(--space-6) var(--space-6);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}.coach-priority span{color:var(--color-foreground);font-size:var(--text-2xl);font-weight:700}.coach-panel__empty{margin:0;padding:0 var(--space-6) var(--space-6);color:var(--color-muted)}.coach-review{display:grid;gap:var(--space-6)}.coach-review__columns{display:grid;gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.coach-review__list{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}.coach-review__list h3,.coach-review__history h3{margin:0;font-size:var(--text-base)}.coach-review__list ul{display:grid;gap:var(--space-2);margin:0;padding-left:var(--space-5);color:var(--color-muted)}.coach-review__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;align-items:center}.coach-review__actions p{margin:0;color:var(--color-muted);font-weight:600}.coach-review__history{display:grid;gap:var(--space-4)}.coach-review__history .coach-list,.coach-review__history .coach-panel__empty{padding-right:0;padding-left:0}.coach-empty-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.status-pill--tight,.status-pill--warning{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-warning-background)}.status-pill--at_risk,.status-pill--critical,.status-pill--missed,.status-pill--over_budget{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-background)}.status-pill--strong,.status-pill--stable,.status-pill--safe{border-color:var(--color-success);color:var(--color-success);background:var(--color-success-background)}.status-pill--tight{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-warning-background)}.status-pill--at_risk,.status-pill--critical,.status-pill--missed{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-background)}.status-pill--paid{border-color:var(--color-success);color:var(--color-success);background:var(--color-success-background)}.status-pill--closed{border-color:var(--color-border);color:var(--color-muted);background:var(--color-accent-soft)}.status-pill--pending{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-warning-background)}.status-pill--cancelled{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-background)}.modal-backdrop{position:fixed;z-index:400;inset:0;display:grid;padding:var(--space-5);overflow-y:auto;place-items:center;background:#0000008c}.modal-card{width:min(100%,38rem);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-lg)}.modal-card--small{width:min(100%,30rem)}.modal-card__header{display:flex;gap:var(--space-4);justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6)}.modal-card h2{margin:var(--space-1) 0 0}.modal-card__description{color:var(--color-muted)}.modal-card__actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6)}.record-form,.form-field{display:grid;gap:var(--space-2)}.record-form{gap:var(--space-5)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.checkbox-row{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-foreground-secondary);font-size:var(--text-sm);font-weight:700}.checkbox-row input{width:1rem;height:1rem;accent-color:var(--color-foreground)}.form-field label{color:var(--color-foreground-secondary);font-size:var(--text-sm);font-weight:700}.form-field input,.form-field select,.form-field textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-foreground);background:var(--color-background)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-info);outline:2px solid var(--color-info-background)}.form-field__error{color:var(--color-danger);font-size:var(--text-xs)}.dashboard-header{gap:var(--space-4)}.period-badge,.status-pill{display:inline-flex;align-items:center;min-height:var(--space-8);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:999px;color:var(--color-foreground-secondary);background:var(--color-surface);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.status-pill{min-height:auto;border-color:var(--color-success);color:var(--color-success);background:var(--color-success-background);font-size:var(--text-xs)}.status-pill--warning{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-warning-background)}.status-pill--over_budget{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-background)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5)}.metric-card,.dashboard-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.metric-card--link,.dashboard-card--link{color:inherit;text-decoration:none}.dashboard-card--link{display:block;transition:border-color var(--motion-base) var(--ease-out),box-shadow var(--motion-base) var(--ease-out),transform var(--motion-base) var(--ease-out)}.metric-card{position:relative;display:block;padding:var(--space-6);overflow:hidden;transition:transform var(--motion-base) var(--ease-out),box-shadow var(--motion-base) var(--ease-out)}.metric-card:hover,.dashboard-card--link:hover{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border));box-shadow:var(--shadow-md);transform:translateY(-3px)}.metric-card--danger{border-color:var(--color-danger);background:var(--color-danger-background)}.metric-card header{display:flex;gap:var(--space-3);justify-content:space-between;align-items:flex-start;color:var(--color-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.metric-card__icon{font-size:var(--text-xl)}.metric-card strong{display:block;margin-top:var(--space-5);font-size:clamp(1.45rem,3vw,2rem);line-height:1.1;letter-spacing:-.03em}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.dashboard-grid:has(.dashboard-card--wide){grid-template-columns:minmax(0,2fr) minmax(17rem,1fr)}.dashboard-card{min-width:0;padding:var(--space-6)}.dashboard-card__header{display:flex;gap:var(--space-4);justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6)}.dashboard-card h2{margin:var(--space-1) 0 0;font-size:var(--text-xl);line-height:1.3}.summary-table-wrapper{overflow-x:auto}.summary-table{width:100%;border-collapse:collapse}.summary-table th,.summary-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);text-align:right;white-space:nowrap}.summary-table th:first-child{text-align:left}.summary-table thead th{color:var(--color-muted);background:var(--color-accent-soft);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.summary-table tbody th{color:var(--color-foreground-secondary);font-weight:500}.summary-table tbody tr:last-child th,.summary-table tbody tr:last-child td{border-bottom:0;color:var(--color-foreground);font-weight:700}.suggestion-card{display:flex;flex-direction:column;justify-content:center;color:var(--color-accent-on);background:var(--color-accent)}.suggestion-card .eyebrow{color:inherit;opacity:.65}.suggestion-card h2{margin-bottom:var(--space-8)}.suggestion-card strong{font-size:var(--text-3xl);line-height:1;letter-spacing:-.04em}.commitment-list{display:grid;gap:var(--space-4)}.commitment-item{display:grid;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}.commitment-item__header{display:flex;gap:var(--space-4);justify-content:space-between;align-items:flex-start}.commitment-item h3{margin:var(--space-2) 0 0;font-size:var(--text-lg);line-height:1.25}.commitment-item p{margin:0;color:var(--color-muted)}.commitment-item__header strong{font-size:var(--text-xl);white-space:nowrap}.commitment-item__description{color:var(--color-foreground-secondary)}.commitment-item__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin:0}.commitment-item__meta div{display:grid;gap:var(--space-1)}.commitment-item__meta dt{color:var(--color-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.commitment-item__meta dd{margin:0;color:var(--color-foreground-secondary);font-weight:600}.suggestion-card p:last-child{margin:var(--space-6) 0 0;opacity:.72;font-size:var(--text-sm)}.report-period{display:flex;gap:var(--space-4);justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.report-period div{display:grid;gap:var(--space-1)}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.report-allocation{display:grid;gap:var(--space-6)}.report-allocation__item div{display:flex;gap:var(--space-4);justify-content:space-between;color:var(--color-foreground-secondary);font-size:var(--text-sm)}.report-allocation__item span{color:var(--color-muted);text-align:right}.report-allocation__item progress{width:100%;height:var(--space-2);margin-top:var(--space-3);overflow:hidden;border:0;border-radius:999px;background:var(--color-accent-soft);accent-color:var(--color-accent)}.report-section-header{margin-bottom:var(--space-5)}.report-section-header h2{margin:var(--space-1) 0 0}.report-insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5)}.report-insights h3{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-lg);line-height:1.35}.report-insights p{margin:0;color:var(--color-muted);font-size:var(--text-sm)}.report-insight__icon{display:grid;width:var(--space-10);height:var(--space-10);border-radius:var(--radius-md);color:var(--color-accent-on);background:var(--color-accent);place-items:center;font-weight:800}.progress-list{display:grid;gap:var(--space-6)}.progress-item__header{display:flex;gap:var(--space-4);justify-content:space-between}.progress-item__header span{font-family:var(--font-mono);font-weight:700}.progress-item progress{width:100%;height:var(--space-2);margin:var(--space-3) 0 var(--space-2);overflow:hidden;border:0;border-radius:999px;background:var(--color-accent-soft);accent-color:var(--color-accent)}.progress-item progress::-webkit-progress-bar{border-radius:999px;background:var(--color-accent-soft)}.progress-item progress::-webkit-progress-value{border-radius:999px;background:var(--color-accent)}.progress-item p{margin:0;color:var(--color-muted);font-size:var(--text-sm)}.dashboard-empty{display:grid;min-height:10rem;place-items:center;align-content:center;color:var(--color-muted);text-align:center}.dashboard-empty span{font-family:var(--font-mono);font-size:var(--text-xl)}.dashboard-empty p{max-width:24rem;margin:var(--space-3) 0 0}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(var(--space-3))}}@keyframes float{50%{transform:translateY(-4px)}}@keyframes pulse{50%{opacity:.45}}@media(max-width:64rem){.sidebar{visibility:hidden;transform:translate(-100%)}.sidebar.is-open{visibility:visible;transform:translate(0)}.icon-button.sidebar__close{display:grid}.app-shell__content{margin-left:0}.mobile-header{position:sticky;top:0;z-index:100;display:flex;gap:var(--space-3);align-items:center;min-height:var(--space-16);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-surface-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.mobile-header__brand{font-weight:700}.navigation-backdrop{position:fixed;z-index:150;display:block;visibility:hidden;width:100%;height:100%;padding:0;border:0;opacity:0;background:#00000061;transition:opacity var(--motion-base) var(--ease-out),visibility var(--motion-base)}.navigation-backdrop.is-visible{visibility:visible;opacity:1}.main-content{padding:var(--space-6)}.account-feedback{padding-inline:var(--space-6)}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.income-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.transaction-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-grid:has(.dashboard-card--wide),.coach-overview,.coach-grid,.coach-review__columns,.strategy-library__grid,.debt-strategy-grid,.goals-grid,.report-grid{grid-template-columns:1fr}.report-insights{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:40rem){.auth-card{padding:var(--space-6)}.auth-links{display:grid}.sidebar{width:min(88vw,var(--sidebar-width));padding:var(--space-6)}.mobile-header{padding-inline:var(--space-4)}.main-content{padding:var(--space-5) var(--space-4)}.account-feedback{padding-inline:var(--space-4)}.page{gap:var(--space-6)}.page-state{min-height:18rem;padding:var(--space-8) var(--space-5)}.dashboard-header,.income-header,.record-page-header,.transactions-header{display:grid}.income-header .button,.record-page-header .button{justify-self:start}.income-metrics,.form-grid,.data-management-grid{grid-template-columns:1fr}.transaction-filters{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch}.transaction-search{width:auto;min-width:0}.transactions-header .record-tabs{width:100%}.transactions-header .record-tab{flex:1}.report-period,.report-allocation__item div{display:grid}.report-insights{grid-template-columns:1fr}.modal-card{padding:var(--space-5)}.modal-card__actions{display:grid}.period-badge{justify-self:start}.metric-grid{grid-template-columns:1fr}.metric-card,.dashboard-card{padding:var(--space-5)}.coach-panel{padding:0}.dashboard-card__header{display:grid}.status-pill{justify-self:start}.debt-recommendation,.debt-strategies>header,.debt-card__header,.coach-header,.coach-health,.commitment-item__header{display:grid}.coach-list li{display:grid;justify-content:stretch}.debt-card__balance{text-align:left}.goal-pacing,.commitment-item__meta{grid-template-columns:1fr}.record-section__header{display:grid}.record-actions{flex-wrap:wrap;justify-content:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
