:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--ink:#17241f;--muted:#68756f;--forest:#13352f;--forest-2:#1d4b42;--sage:#dfe9df;--cream:#f4f2e9;--paper:#fffef9;--clay:#c77b57;--clay-pale:#f2dfd4;--gold:#d4a445;--line:#dde1db;--danger:#a8473d;--shadow:0 18px 55px #19302814;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#edf4ef;--muted:#aab8b1;--forest:#102e29;--forest-2:#79b29d;--sage:#263d35;--cream:#101713;--paper:#18221d;--clay:#df9874;--clay-pale:#4a3026;--gold:#e0b45c;--line:#334139;--danger:#f09a91;--shadow:0 18px 55px #0000003d}*{box-sizing:border-box}html{background:var(--cream);min-width:320px}body{min-width:320px;min-height:100vh;color:var(--ink);background:var(--cream);margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #c77b5759}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{letter-spacing:-.02em}h1{margin-bottom:.55rem;font-size:clamp(1.8rem,3vw,2.45rem);line-height:1.06}h2{margin-bottom:.25rem;font-size:1.05rem}p{line-height:1.55}.muted{color:var(--muted)}.fine-print{color:var(--muted);font-size:.76rem;line-height:1.5}.eyebrow{color:var(--clay);text-transform:uppercase;letter-spacing:.14em;margin-bottom:.45rem;font-size:.69rem;font-weight:800}.eyebrow--light{color:#efbd9f}.brand{letter-spacing:-.03em;align-items:center;gap:.65rem;font-size:1.05rem;font-weight:800;display:inline-flex}.brand-mark{width:34px;height:34px;color:var(--paper);background:var(--clay);border-radius:10px 10px 13px 13px;place-items:center;display:grid;box-shadow:inset 0 -3px #00000014}.brand--light{color:var(--paper)}.brand--mobile{margin-bottom:2.5rem;display:none}.button{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.72rem 1rem;font-size:.86rem;font-weight:750;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{color:#fff;background:var(--forest)}.button--primary:hover:not(:disabled){background:var(--forest-2)}.button--secondary{background:var(--paper);border-color:var(--line)}.button--wide{width:100%}.text-button,.text-link{color:var(--forest-2);cursor:pointer;background:0 0;border:0;padding:.4rem 0;font-weight:750}.text-link{align-items:center;gap:.25rem;display:inline-flex}.icon-button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:12px;place-items:center;width:42px;height:42px;padding:0;display:inline-grid}.button--google{border-color:var(--line);background:var(--paper);margin-top:1.5rem}.google-mark{border:1px solid var(--line);color:#4285f4;background:#fff;border-radius:50%;place-items:center;width:23px;height:23px;font-weight:900;display:grid}label{color:#34413c;gap:.45rem;font-size:.8rem;font-weight:700;display:grid}input,select{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #d4d9d2;border-radius:11px;padding:.7rem .8rem;font-size:16px}input::placeholder{color:#9aa49f}fieldset{border:0;margin:0;padding:0}legend{color:#34413c;margin-bottom:.7rem;font-size:.8rem;font-weight:750}.stack{gap:1rem;display:grid}.auth-page{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);min-height:100vh;display:grid}.auth-hero{color:#eaf2ec;background:radial-gradient(circle at 85% 15%,#c77b572e,#0000 30%),linear-gradient(145deg,#102e29,#1b493f);flex-direction:column;padding:clamp(2rem,5vw,4.5rem);display:flex}.auth-hero__copy{max-width:660px;margin:auto 0;padding:4rem 0}.auth-hero h1{letter-spacing:-.055em;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.9rem,6vw,5.8rem);font-weight:500;line-height:.95}.auth-hero__copy>p:last-child{color:#c7d6d0;max-width:560px;font-size:1.03rem}.auth-assurances{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.auth-assurances>div{color:#b9cbc4;align-items:flex-start;gap:.65rem;font-size:.72rem;line-height:1.4;display:flex}.auth-assurances strong{color:#fff;font-size:.79rem;display:block}.auth-panel{background:var(--cream);place-items:center;padding:2rem;display:grid}.auth-card{width:min(100%,430px)}.auth-card__top{justify-content:flex-end;align-items:center;min-height:44px;display:flex}.auth-card__top .theme-button{margin-left:auto}.auth-card h2{font-family:Georgia,Times New Roman,serif;font-size:2.4rem;font-weight:500}.auth-form{margin-top:1.5rem}.divider{color:#89938e;align-items:center;gap:.8rem;margin:1.5rem 0;font-size:.72rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.notice{color:var(--forest);background:var(--sage);border-radius:11px;align-items:flex-start;gap:.55rem;margin:1rem 0 0;padding:.8rem .9rem;font-size:.8rem;display:flex}.notice--warning{color:#744927;background:#f5e9d2}.notice--error{color:var(--danger);background:#f7e4e1}.auth-card .fine-print{text-align:center;margin-top:1rem}.onboarding-page{background:radial-gradient(circle at 20% 0, #e3e9dc, transparent 35%), var(--cream);min-height:100vh;padding:clamp(1.25rem,4vw,3rem)}.onboarding-header{justify-content:space-between;align-items:center;max-width:960px;margin:0 auto 2.5rem;display:flex}.onboarding-actions{align-items:center;gap:.75rem;display:flex}.onboarding-card{border:1px solid var(--line);background:var(--paper);max-width:720px;box-shadow:var(--shadow);border-radius:24px;gap:1.4rem;margin:0 auto;padding:clamp(1.4rem,4vw,3rem);display:grid}.onboarding-card h1{font-family:Georgia,Times New Roman,serif;font-size:2.6rem;font-weight:500}.goal-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;display:grid}.goal-choice{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:.65rem;min-height:70px;padding:.85rem;display:flex}.goal-choice.is-selected{border-color:var(--forest);color:var(--forest);background:var(--sage);box-shadow:inset 0 0 0 1px var(--forest)}.app-shell{grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{height:100vh;padding:1.35rem 1rem max(1.35rem, env(safe-area-inset-bottom));color:#dbe7e1;background:var(--forest);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.brand--sidebar{color:#fff;padding:0 .5rem 1.25rem}.workspace-switcher{color:#fff;text-align:left;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:13px;grid-template-columns:34px 1fr auto;align-items:center;gap:.55rem;width:100%;padding:.7rem;display:grid}.workspace-switcher strong,.workspace-switcher small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workspace-switcher strong{font-size:.78rem}.workspace-switcher small{color:#9db5ab;margin-top:.15rem;font-size:.64rem}.workspace-avatar{width:32px;height:32px;color:var(--forest);background:#e9d7b4;border-radius:10px;place-items:center;font-weight:800;display:grid}.sidebar-nav{gap:.22rem;margin-top:1.2rem;display:grid}.sidebar-nav a{color:#a9c0b6;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;grid-template-columns:23px 1fr auto;align-items:center;gap:.5rem;min-height:43px;padding:.65rem .75rem;text-decoration:none;display:grid}.sidebar-nav a span{font-size:.8rem;font-weight:700}.sidebar-nav a small{color:#95bda7}.sidebar-nav a.is-active{color:#fff;background:#ffffff1c}.sidebar-bottom{gap:.25rem;margin-top:auto;padding-top:1rem;display:grid}.sync-card{background:#ffffff12;border-radius:12px;align-items:center;gap:.55rem;margin-bottom:.55rem;padding:.7rem;display:flex}.sync-card>span{color:#a8d2bb;background:#ffffff14;border-radius:9px;place-items:center;width:28px;height:28px;display:grid}.sync-card strong,.sync-card small{display:block}.sync-card strong{color:#fff;font-size:.7rem}.sync-card small{color:#9db5ab;margin-top:.1rem;font-size:.59rem}.sync-card--syncing svg{animation:1.2s linear infinite spin}.sidebar-action{color:#a9c0b6;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:.6rem;min-height:40px;padding:.55rem .7rem;font-size:.75rem;display:flex}.sidebar-action:hover{color:#fff;background:#ffffff12}.app-main{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;background:#f4f2e9e0;justify-content:space-between;align-items:center;height:70px;padding:0 clamp(1rem,3vw,2.2rem);display:flex;position:sticky;top:0}.topbar p,.topbar strong{margin:0;display:block}.topbar p{color:var(--muted);font-size:.66rem}.topbar strong{margin-top:.1rem;font-size:.83rem}.topbar-actions{align-items:center;gap:.65rem;display:flex}.sync-pill{min-height:34px;color:var(--forest);background:var(--sage);border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .7rem;font-size:.68rem;font-weight:800;display:inline-flex}.sync-pill--offline,.sync-pill--error{color:#744927;background:#f2e2c5}.content{width:min(100%,1480px);padding:clamp(1.1rem,3vw,2.4rem);padding-bottom:calc(2.4rem + env(safe-area-inset-bottom));margin:0 auto}.error-banner{color:#783a35;background:#f8e2df;border-radius:12px;justify-content:space-between;gap:1rem;margin:1rem 2rem 0;padding:.75rem 1rem;font-size:.78rem;display:flex}.error-banner button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:800}.mobile-nav{display:none}.view-stack{gap:1rem;display:grid}.welcome-row,.view-header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.3rem;display:flex}.view-header{align-items:center}.view-header>div{max-width:720px}.welcome-row p,.view-header p{margin-bottom:0}.view-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:.65rem;display:flex;max-width:none!important}.plaid-connect{justify-items:end;gap:.35rem;display:grid}.plaid-connect__message{max-width:320px;color:var(--muted);text-align:right;font-size:.66rem;line-height:1.35}.spin{animation:1.1s linear infinite spin}.cycle-pill{border:1px solid var(--line);color:var(--muted);background:var(--paper);border-radius:12px;align-items:center;gap:.45rem;padding:.65rem .85rem;font-size:.72rem;font-weight:700;display:inline-flex}.card{border:1px solid var(--line);background:var(--paper);border-radius:17px;padding:1.15rem;box-shadow:0 8px 26px #22383009}.card-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card-heading p{color:var(--muted);margin-bottom:.1rem;font-size:.73rem}.round-icon{width:39px;height:39px;color:var(--forest);background:var(--sage);border-radius:13px;place-items:center;display:grid}.round-icon--clay{color:#8f4d33;background:var(--clay-pale)}.subtle-chip,.protected-chip{color:var(--forest);background:var(--sage);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.4rem .55rem;font-size:.63rem;font-weight:800;display:inline-flex}.hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:1rem;display:grid}.allocation-card{color:#fff;background:radial-gradient(circle at 85% 20%, #f4cf9629, transparent 28%), linear-gradient(135deg, var(--forest), #205247);box-shadow:var(--shadow);border-radius:19px;padding:clamp(1.3rem,3vw,2rem)}.allocation-card__top{justify-content:space-between;align-items:flex-start;display:flex}.allocation-card__top p{color:#bcd0c8;margin-bottom:.25rem;font-size:.76rem}.allocation-card__top strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.25rem,5vw,4rem);font-weight:500}.allocation-icon{color:#efbd9f;background:#ffffff17;border-radius:15px;place-items:center;width:48px;height:48px;display:grid}.allocation-copy{color:#bcd0c8;max-width:590px;margin:.7rem 0 1.3rem;font-size:.78rem}.allocation-row{color:#c5d6cf;border-top:1px solid #ffffff1f;justify-content:space-between;padding-top:.7rem;font-size:.73rem;display:flex}.allocation-row+.allocation-row{margin-top:.55rem}.allocation-row strong{color:#fff}.next-action-card{flex-direction:column;display:flex}.next-action-card .muted{font-size:.75rem}.next-amount{margin:auto 0 .75rem;font-family:Georgia,Times New Roman,serif;font-size:2.1rem}.stats-grid{grid-template-columns:repeat(4,1fr);gap:.8rem;display:grid}.stat-card{border:1px solid var(--line);background:var(--paper);border-radius:15px;grid-template-columns:37px 1fr;align-items:flex-start;gap:.7rem;min-width:0;padding:1rem;display:grid}.stat-card__icon{width:36px;height:36px;color:var(--forest);background:#eef1eb;border-radius:11px;place-items:center;display:grid}.stat-card--positive .stat-card__icon{background:var(--sage)}.stat-card--warm .stat-card__icon{color:#8f4d33;background:var(--clay-pale)}.stat-card p,.stat-card small,.stat-card strong{text-overflow:ellipsis;display:block;overflow:hidden}.stat-card p{color:var(--muted);margin-bottom:.25rem;font-size:.66rem}.stat-card strong{white-space:nowrap;font-size:1.14rem}.stat-card small{color:#89938e;white-space:nowrap;margin-top:.23rem;font-size:.59rem}.dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:1rem;display:grid}.checklist{margin-top:.8rem;display:grid}.check-row{border-top:1px solid #edf0eb;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:54px;font-size:.74rem;display:grid}.check-row:first-child{border-top:0}.check-row strong,.check-row small{display:block}.check-row small{color:var(--muted);text-transform:capitalize;margin-top:.13rem}.check-dot{color:#fff;border:1px solid #ccd3ce;border-radius:7px;place-items:center;width:21px;height:21px;display:grid}.check-dot.is-done{border-color:var(--forest-2);background:var(--forest-2)}.goal-percent{margin:1.1rem 0 .4rem;font-family:Georgia,Times New Roman,serif;font-size:2.7rem}.progress-track{background:#e7e9e4;border-radius:999px;height:8px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--forest-2);height:100%;display:block}.progress-fill--clay{background:var(--clay)}.progress-fill--gold{background:var(--gold)}.goal-split{grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem;display:grid}.goal-split>div{background:#f4f4ef;border-radius:12px;padding:.75rem}.goal-split span,.goal-split strong{display:block}.goal-split span{color:var(--muted);font-size:.62rem}.goal-split strong{margin-top:.2rem;font-size:.83rem}.summary-strip{border:1px solid var(--line);background:var(--paper);border-radius:16px;grid-template-columns:repeat(4,1fr);padding:.9rem 1rem;display:grid}.summary-strip>div{border-left:1px solid var(--line);padding:.2rem 1rem}.summary-strip>div:first-child{border-left:0;padding-left:0}.summary-strip span,.summary-strip strong{display:block}.summary-strip span{color:var(--muted);font-size:.64rem}.summary-strip strong{margin-top:.25rem;font-size:1rem}.table-card{padding:0;overflow:hidden}.table-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem;display:flex}.table-heading h2,.table-heading p{margin-bottom:0}.table-heading p{color:var(--muted);font-size:.7rem}.table-row{border-bottom:1px solid #eaede8;grid-template-columns:minmax(190px,1.7fr) 1fr .8fr .8fr 1fr 42px;align-items:center;gap:.8rem;min-height:60px;padding:.7rem 1rem;font-size:.72rem;display:grid}.table-row:last-child{border-bottom:0}.table-row--header{min-height:40px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#f6f6f1;font-size:.62rem;font-weight:800}.table-row>span:first-child{grid-template-columns:9px 1fr;align-items:center;column-gap:.5rem;display:grid}.table-row>span:first-child small{color:var(--muted);text-transform:capitalize;grid-column:2}.category-dot{background:#a8b2ad;border-radius:50%;width:8px;height:8px}.category-dot--income,.category-dot--savings{background:#5b8b75}.category-dot--debt{background:var(--clay)}.category-dot--bill{background:var(--gold)}.status{color:var(--muted);text-transform:capitalize;white-space:nowrap;background:#ecefe9;border-radius:999px;padding:.3rem .48rem;font-size:.58rem;font-weight:800;display:inline-block}.status--reconciled{color:#2b604d;background:#deebe2}.status--needs_review{color:#8b542d;background:#f3e5c9}.inline-form{background:#fbfcf7;border-color:#cad4cd;padding:1rem}.inline-form__header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.inline-form__header h2{margin-bottom:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.span-2{grid-column:span 2}.inline-form__actions{justify-content:flex-end;margin-top:1rem;display:flex}.check-label{align-items:center;gap:.55rem;min-height:46px;display:flex}.check-label input{width:18px;min-height:18px}.account-summary,.debt-hero,.mortgage-total,.health-score{color:#fff;background:linear-gradient(135deg, var(--forest), #26594d);border-radius:18px;justify-content:space-between;align-items:center;padding:clamp(1.2rem,3vw,1.7rem);display:flex}.account-summary p,.account-summary small,.debt-hero p,.debt-hero small,.mortgage-total p,.mortgage-total small,.health-score p,.health-score small{color:#bdd0c8;margin:0}.account-summary strong,.debt-hero strong,.mortgage-total strong,.health-score strong{margin:.2rem 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:500;display:block}.section-label{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.section-label h2{margin-bottom:0}.section-label>span{color:var(--muted);font-size:.67rem}.account-list{display:grid}.account-row{border-top:1px solid #eaede8;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:.7rem;min-height:66px;display:grid}.account-row:first-child{border-top:0}.account-icon{width:38px;height:38px;color:var(--forest);background:var(--sage);border-radius:12px;place-items:center;display:grid}.account-row strong,.account-row small{display:block}.account-row small{color:var(--muted);margin-top:.1rem;font-size:.64rem}.account-balance{text-align:right;min-width:120px}.bank-feed{padding-top:1rem}.bank-feed__heading{gap:1rem}.bank-feed__heading>div{min-width:0}.bank-feed__heading h2,.bank-feed__heading p{margin:0}.bank-feed__heading p,.activity-section-label p{color:var(--muted);margin-top:.15rem;font-size:.67rem}.connection-list{border:1px solid var(--line);background:color-mix(in srgb, var(--sage) 35%, var(--paper));border-radius:12px;margin:.8rem 0 .2rem;padding:.25rem .7rem}.connection-row{border-top:1px solid var(--line);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:52px;display:grid}.connection-row:first-child{border-top:0}.connection-row strong,.connection-row small{display:block}.connection-row strong{font-size:.75rem}.connection-row small{color:var(--muted);margin-top:.12rem;font-size:.62rem}.connection-dot{background:#5b8b75;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #5b8b7524}.connection-dot--needs_attention{background:var(--gold);box-shadow:0 0 0 3px #d4a44529}.connection-dot--disconnected{background:var(--muted);box-shadow:none}.sandbox-chip{color:#7d5321;background:#f3e5c9;border-radius:999px;padding:.28rem .46rem;font-size:.57rem;font-weight:800}.debt-hero{grid-template-columns:1fr 1fr;display:grid}.debt-hero>div:last-child{border-left:1px solid #ffffff26;padding-left:2rem}.debt-hero>div:last-child>span{color:#bdd0c8;font-size:.67rem}.debt-hero>div:last-child strong{font-family:inherit;font-size:1.05rem}.debt-list{gap:.75rem;display:grid}.debt-card{grid-template-columns:38px 1fr;gap:.8rem;display:grid}.debt-rank{color:#8e5036;background:var(--clay-pale);border-radius:11px;place-items:center;width:35px;height:35px;font-weight:850;display:grid}.debt-main{min-width:0}.debt-main .progress-track{margin:.9rem 0}.debt-meta{color:var(--muted);flex-wrap:wrap;gap:1.2rem;font-size:.66rem;display:flex}.debt-meta strong{color:var(--ink);margin-left:.25rem}.mortgage-layout{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:start;gap:1rem;display:grid}.mortgage-form-card{padding:1.25rem}.mortgage-form-card .fine-print{align-items:flex-start;gap:.35rem;margin:1rem 0 0;display:flex}.input-suffix{display:block;position:relative}.input-suffix input{padding-right:3.5rem}.input-suffix small{color:var(--muted);position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.mortgage-total{display:block}.mortgage-total strong{font-size:2.5rem}.cost-breakdown h2{margin-bottom:.6rem}.breakdown-row{min-height:39px;color:var(--muted);border-top:1px solid #edf0eb;justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.breakdown-row strong{color:var(--ink)}.cash-needed .progress-track{margin-top:1rem}.timeline-card{padding:.4rem 1rem}.activity-section-label{border-bottom:1px solid var(--line);min-height:56px;margin:0}.activity-section-label h2,.activity-section-label p{margin-bottom:0}.money-in{color:#3c7b61}.timeline-row{border-top:1px solid #eaede8;grid-template-columns:37px minmax(0,1fr) auto auto;align-items:center;gap:.75rem;min-height:68px;font-size:.73rem;display:grid}.timeline-row:first-child{border-top:0}.timeline-row strong,.timeline-row small{display:block}.timeline-row small{color:var(--muted);margin-top:.12rem}.timeline-icon{width:34px;height:34px;color:var(--forest);background:var(--sage);border-radius:11px;place-items:center;display:grid}.timeline-icon.is-warning{color:#86532e;background:#f3e5c9}.timeline-date{color:var(--muted)}.health-score{justify-content:flex-start;gap:1rem}.health-score>span{background:#ffffff1a;border-radius:16px;place-items:center;width:52px;height:52px;display:grid}.health-score strong{font-family:inherit;font-size:1.25rem}.health-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;display:grid}.health-card{grid-template-columns:26px 30px 1fr;align-items:center;gap:.65rem;display:grid}.health-card strong,.health-card p{margin:0}.health-card p{color:var(--muted);margin-top:.15rem;font-size:.68rem}.health-ok{color:#3c7b61}.health-warning{color:#a56632}.security-card{color:#41514a;background:#eef2e9;align-items:flex-start;gap:.8rem;display:flex}.security-card h2{margin-bottom:.25rem}.security-card p{margin:0;font-size:.74rem}.empty-state{text-align:center;color:var(--muted);padding:2.3rem 1rem}.empty-state>span{width:44px;height:44px;color:var(--forest);background:var(--sage);border-radius:14px;place-items:center;margin:0 auto .7rem;display:grid}.empty-state h3{color:var(--ink);margin-bottom:.25rem;font-size:.95rem}.empty-state p{max-width:430px;margin:0 auto;font-size:.73rem}.loading-screen{background:var(--cream);place-content:center;justify-items:center;gap:1rem;min-height:100vh;display:grid}.loading-screen p{color:var(--muted);font-size:.78rem}.page-loading{place-content:center;justify-items:center;gap:.8rem;min-height:45vh;display:grid}.page-loading p{color:var(--muted);font-size:.75rem}.loading-spinner{border:3px solid #d4dad5;border-top-color:var(--forest);border-radius:50%;width:28px;height:28px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}:root[data-theme=dark] label,:root[data-theme=dark] legend{color:#d9e4de}:root[data-theme=dark] input,:root[data-theme=dark] select{border-color:var(--line);color:var(--ink);background:#111a16}:root[data-theme=dark] .goal-choice,:root[data-theme=dark] .inline-form{background:var(--paper)}:root[data-theme=dark] .topbar{background:#101713e6}:root[data-theme=dark] .stat-card__icon,:root[data-theme=dark] .goal-split>div,:root[data-theme=dark] .table-row--header{background:#202c26}:root[data-theme=dark] .check-row,:root[data-theme=dark] .account-row,:root[data-theme=dark] .timeline-row,:root[data-theme=dark] .table-row,:root[data-theme=dark] .breakdown-row{border-color:var(--line)}:root[data-theme=dark] .status{background:#26332d}:root[data-theme=dark] .security-card{color:var(--ink);background:#213129}@media (width<=1080px){.stats-grid{grid-template-columns:repeat(2,1fr)}.auth-assurances{grid-template-columns:1fr}.auth-assurances>div{max-width:300px}}@media (width<=860px){.app-shell{display:block}.sidebar{display:none}.topbar{height:62px;padding-top:env(safe-area-inset-top)}.content{padding-bottom:calc(6.2rem + env(safe-area-inset-bottom))}.mobile-nav{left:.65rem;right:.65rem;bottom:max(.65rem, env(safe-area-inset-bottom));z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#13352ff5;border:1px solid #ffffff1a;border-radius:18px;grid-template-columns:repeat(5,1fr);min-height:64px;padding:.45rem;display:grid;position:fixed;box-shadow:0 15px 40px #13352f40}.mobile-nav a{color:#a9c0b6;background:0 0;border:0;border-radius:11px;align-content:center;place-items:center;gap:.2rem;min-height:48px;font-size:.57rem;text-decoration:none;display:grid}.mobile-nav a.is-active{color:#fff;background:#ffffff1a}.hero-grid,.dashboard-grid,.mortgage-layout{grid-template-columns:1fr}.next-action-card{min-height:220px}.auth-page{grid-template-columns:1fr}.auth-hero{display:none}.auth-panel{min-height:100vh;padding:max(1.3rem, env(safe-area-inset-top)) 1.3rem max(1.3rem, env(safe-area-inset-bottom))}.brand--mobile{display:inline-flex}.responsive-table .table-row--header{display:none}.responsive-table{gap:.55rem;padding:.5rem;display:grid}.table-row{border:1px solid var(--line);border-radius:13px;grid-template-columns:1fr 1fr;gap:.6rem;padding:.85rem}.table-row>span{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.table-row>span:before{content:attr(data-label);color:var(--muted);font-size:.61rem;font-weight:700}.table-row>span:first-child{grid-column:span 2;justify-content:start;display:grid}.table-row>span:first-child:before{display:none}.table-row>span:last-child{justify-content:flex-end}}@media (width<=620px){.content{padding:1rem;padding-bottom:calc(6.1rem + env(safe-area-inset-bottom))}.topbar .sync-pill{padding:.45rem;font-size:0}.welcome-row,.view-header{flex-direction:column;align-items:flex-start}.view-header .button{width:100%}.view-actions,.plaid-connect{justify-items:stretch;width:100%}.plaid-connect__message{text-align:left;max-width:none}.cycle-pill{justify-content:center;width:100%}.stats-grid{grid-template-columns:1fr 1fr;gap:.55rem}.stat-card{grid-template-columns:1fr;padding:.75rem}.stat-card__icon{width:32px;height:32px}.summary-strip{grid-template-columns:1fr 1fr;gap:.8rem 0}.summary-strip>div:nth-child(3){border-left:0;padding-left:0}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.goal-grid{grid-template-columns:1fr}.onboarding-card h1{font-size:2rem}.account-row{grid-template-columns:38px 1fr auto}.account-row .protected-chip{grid-column:2;justify-self:start}.account-balance{grid-area:1/3/span 2;min-width:90px}.bank-feed__heading{flex-direction:column;align-items:flex-start}.bank-feed__heading .button{width:100%}.debt-hero{grid-template-columns:1fr;gap:1rem}.debt-hero>div:last-child{border-top:1px solid #ffffff26;border-left:0;padding:1rem 0 0}.timeline-row{grid-template-columns:34px 1fr auto}.timeline-date{display:none}.health-grid{grid-template-columns:1fr}.table-heading{align-items:flex-start}.table-heading .subtle-chip{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.legal-page{background:var(--bg);min-height:100vh;color:var(--text);padding:24px}.legal-header{justify-content:space-between;align-items:center;width:min(820px,100%);margin:0 auto 18px;display:flex}.legal-header .brand{color:inherit;text-decoration:none}.legal-card{border:1px solid var(--border);background:var(--surface);width:min(820px,100%);box-shadow:var(--shadow);border-radius:24px;margin:0 auto;padding:clamp(24px,5vw,48px)}.legal-card h1{margin:8px 0 4px}.legal-card h2{margin:28px 0 8px;font-size:1.05rem}.legal-card p{line-height:1.7}.legal-card .eyebrow{align-items:center;gap:8px;display:flex}.legal-back{width:fit-content;margin-top:28px;text-decoration:none}@media (width<=600px){.legal-page{padding:16px}.legal-card{border-radius:18px;padding:24px 20px}}
