@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/20aee433927f7d4b-s.2u46yrlpkdxrh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/256e1f7f180674ba-s.444m1fhac1z6e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/be3bf58b83159894-s.1298pfel08g2l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/753b6407f468151f-s.1wcle8r8k1a_g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/292081311a6a8abc-s.3irbj1um1c5rd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.42000xkkqj0am.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/20aee433927f7d4b-s.2u46yrlpkdxrh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/256e1f7f180674ba-s.444m1fhac1z6e.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/be3bf58b83159894-s.1298pfel08g2l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/753b6407f468151f-s.1wcle8r8k1a_g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/292081311a6a8abc-s.3irbj1um1c5rd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.42000xkkqj0am.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_a4e44386-module__u-mrZG__className{font-family:"Source Serif 4","Source Serif 4 Fallback";font-style:normal}.source_serif_4_a4e44386-module__u-mrZG__variable{--font-serif:"Source Serif 4", "Source Serif 4 Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c8d29d3-module__7io_WG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c8d29d3-module__7io_WG__variable{--font-sans:"Inter", "Inter Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ink:#14181d;--ink-secondary:#454d57;--muted:#616b76;--paper:#f3f5f7;--card:#fff;--raised:#fff;--sunken:#eef1f4;--line:#e0e5ea;--line-strong:#c3cbd4;--green:#1b3a63;--green-strong:#142c4b;--green-soft:#e8edf4;--green-border:#c6d3e4;--gold:#8a6420;--gold-soft:#f4eee1;--warn:#8a5a00;--warn-soft:#fbf1dc;--warn-mark:#d09324;--danger:#a13328;--danger-soft:#fbe8e5;--danger-mark:#c2453a;--family-essentiels:#00785e;--family-quotidien:#4477d8;--family-plaisirs:#bd800c;--family-argent:#6d33a0;--family-sante:#dd6089;--family-autre:#7a8794;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.75 6 6.25 11 1.75' fill='none' stroke='%234a5058' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--tabbar:calc(52px + env(safe-area-inset-bottom));--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:36px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-pill:999px;--invert-bg:#1c1f24;--invert-ink:#fff;--panel-bg:#1b2a3f;--panel-ink:#fff;--panel-muted:#b3bfd0;--panel-border:#33455e;--shadow-sm:0 1px 2px #1c1f240d;--shadow-md:0 1px 2px #1c1f240a, 0 6px 16px -10px #1c1f2429;--shadow-lg:0 2px 4px #1c1f240d, 0 14px 32px -18px #1c1f2433;--sans:var(--font-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--serif:var(--font-serif), Georgia, "Times New Roman", serif;font-family:var(--sans);font-feature-settings:"cv11", "ss01"}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--ink:#e9e7e2;--ink-secondary:#b8b4ac;--muted:#918d85;--paper:#16181c;--card:#1e2126;--raised:#23272d;--sunken:#1a1c21;--line:#2c2f35;--line-strong:#414449;--green:#7fa6dc;--green-strong:#9dbce8;--green-soft:#16202e;--green-border:#253449;--gold:#c99f5c;--gold-soft:#2a2314;--warn:#e0ac52;--warn-soft:#2a2114;--warn-mark:#d09324;--danger:#f0958a;--danger-soft:#2c1a17;--danger-mark:#c2453a;--family-essentiels:#1f9179;--family-quotidien:#5e8fe4;--family-plaisirs:#c08722;--family-argent:#8b57c4;--family-sante:#d66d90;--family-autre:#93a0ac;--invert-bg:#e9e7e2;--invert-ink:#16181c;--panel-bg:#202b3b;--panel-ink:#e9e7e2;--panel-muted:#a3aebd;--panel-border:#33415a;--shadow-sm:0 1px 2px #0006;--shadow-md:0 1px 2px #00000059, 0 8px 20px -12px #0009;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.75 6 6.25 11 1.75' fill='none' stroke='%23b8b4ac' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--shadow-lg:0 2px 4px #00000059, 0 18px 40px -20px #000000b3}}:root[data-theme=dark]{--ink:#e9e7e2;--ink-secondary:#b8b4ac;--muted:#918d85;--paper:#16181c;--card:#1e2126;--raised:#23272d;--sunken:#1a1c21;--line:#2c2f35;--line-strong:#414449;--green:#7fa6dc;--green-strong:#9dbce8;--green-soft:#16202e;--green-border:#253449;--gold:#c99f5c;--gold-soft:#2a2314;--warn:#e0ac52;--warn-soft:#2a2114;--warn-mark:#d09324;--danger:#f0958a;--danger-soft:#2c1a17;--danger-mark:#c2453a;--family-essentiels:#1f9179;--family-quotidien:#5e8fe4;--family-plaisirs:#c08722;--family-argent:#8b57c4;--family-sante:#d66d90;--family-autre:#93a0ac;--invert-bg:#e9e7e2;--invert-ink:#16181c;--panel-bg:#202b3b;--panel-ink:#e9e7e2;--panel-muted:#a3aebd;--panel-border:#33415a;--shadow-sm:0 1px 2px #0006;--shadow-md:0 1px 2px #00000059, 0 8px 20px -12px #0009;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.75 6 6.25 11 1.75' fill='none' stroke='%23b8b4ac' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--shadow-lg:0 2px 4px #00000059, 0 18px 40px -20px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);margin:0}.value,strong,.balance-total strong{font-variant-numeric:tabular-nums}button,select,input{font:inherit}.shell{width:min(1120px,100%);padding-top:calc(24px + env(safe-area-inset-top));padding-right:calc(18px + env(safe-area-inset-right));padding-bottom:56px;padding-left:calc(18px + env(safe-area-inset-left));margin:0 auto}.header{justify-content:space-between;align-items:center;gap:var(--s5);padding-bottom:var(--s3);margin-bottom:var(--s5);border-bottom:1px solid var(--line);display:flex}.header-account{align-items:center;gap:var(--s3);min-width:0;display:flex}.header-account .user-email{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.user-initial{display:none}.theme-toggle{background:var(--sunken);border:1px solid var(--line);border-radius:var(--r-pill);gap:2px;padding:2px;display:inline-flex}.theme-option{cursor:pointer;color:var(--muted);border-radius:var(--r-pill);background:0 0;border:none;padding:4px 9px;font-size:.84rem;line-height:1;transition:background-color .15s,color .15s,transform .1s}.theme-option:hover{color:var(--ink);background:var(--card)}.theme-option:active{transform:scale(.94)}.theme-option[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:var(--shadow-sm)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.welcome-shell{min-height:100svh;padding:calc(var(--s5) + env(safe-area-inset-top)) var(--s4) calc(var(--s5) + env(safe-area-inset-bottom));align-content:safe center;justify-items:center;display:grid}.welcome-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);width:min(560px,100%);box-shadow:var(--shadow-md);padding:clamp(var(--s5), 5vw, 40px)}.welcome-brand{font-family:var(--serif);letter-spacing:-.015em;margin:0 0 var(--s5);color:var(--green);font-size:1.3rem;font-weight:600}.welcome-card h1{margin-bottom:var(--s2)}.welcome-lead{color:var(--ink-secondary);margin:0 0 var(--s5);font-size:.92rem;line-height:1.5}.welcome-form{gap:var(--s4);display:grid}.welcome-row{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.field-hint{color:var(--muted);font-size:.74rem;line-height:1.4}.welcome-form .primary{justify-self:stretch}.welcome-account{color:var(--muted);margin:var(--s4) 0 0;text-align:center;font-size:.76rem}.card .welcome-form{gap:var(--s3);margin-top:var(--s3)}.card .welcome-form .primary{justify-self:start}.account-hint{margin-top:4px}.account-actions{gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.appearance-row{justify-content:space-between;align-items:center;gap:var(--s3);margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line);display:flex}.appearance-label{margin:0}@media (max-width:520px){.welcome-row{grid-template-columns:1fr}}.main-nav{align-items:center;gap:2px;display:flex}.main-nav a{color:var(--ink-secondary);border-radius:var(--r-pill);white-space:nowrap;padding:7px 12px;font-size:.84rem;font-weight:600;text-decoration:none}.main-nav a:hover{background:var(--sunken);color:var(--ink)}.nav-short{display:none}.main-nav a[aria-current=page]{background:var(--green);color:var(--invert-ink);font-weight:650}.main-nav a[aria-current=page]:hover{background:var(--green-strong);color:var(--invert-ink)}.brand{font-family:var(--serif);letter-spacing:-.015em;font-size:1.4rem;font-weight:600}.brand-link{color:inherit;text-decoration:none}.badge{background:var(--green-soft);color:var(--green);border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:650}h1{letter-spacing:-.032em;margin:0 0 var(--s1);font-size:clamp(1.55rem,3.6vw,2.05rem);font-weight:700;line-height:1.14}.page-greeting{letter-spacing:0;color:var(--muted);margin:0 0 var(--s4);font-size:.92rem;font-weight:600}.intro{color:var(--muted);margin:0 0 var(--s5);font-size:.86rem}.filters{align-items:end;gap:var(--s3) var(--s2);margin-bottom:var(--s4);flex-wrap:wrap;display:flex}.field{flex:170px;gap:5px;min-width:0;display:grid}.field>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:650}.filters>input,.filters>select,.filters>.field{flex:170px}.filters .filter-button{flex:none}.filters[data-auto-submit=on] .filter-button{display:none}select,input:not([type=checkbox]):not([type=radio]),textarea{width:100%;min-width:0;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;transition:border-color .15s,box-shadow .15s,background-color .15s}select{appearance:none;cursor:pointer;background-image:var(--select-arrow);text-overflow:ellipsis;background-position:right 12px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:36px}select:hover:not(:disabled),input:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--line-strong)}select:disabled,input:disabled{opacity:.55;cursor:not-allowed}.field-with-hint{gap:4px;min-width:0;display:grid}.select-shell{width:100%;min-width:0;position:relative}.select-button{justify-content:space-between;align-items:center;gap:var(--s2);width:100%;min-width:0;min-height:42px;font:inherit;text-align:left;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;background-image:var(--select-arrow);background-position:right 12px center;background-repeat:no-repeat;background-size:12px 8px;padding:10px 36px 10px 12px;display:flex}.select-button:hover:not(:disabled){border-color:var(--line-strong)}.select-button:disabled{opacity:.55;cursor:not-allowed}.select-open .select-button{border-color:var(--green)}.select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-list{z-index:40;background:var(--raised);border:1px solid var(--line-strong);border-radius:var(--r-md);max-height:280px;box-shadow:var(--shadow-lg);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.select-list li{border-radius:var(--r-sm);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;padding:10px 12px;font-size:.92rem;overflow:hidden}.select-list li[data-actif=true]{background:var(--sunken)}.select-list li[aria-selected=true]{font-weight:650}.select-list li[aria-selected=true]:after{content:" ✓";color:var(--green)}@media (prefers-reduced-motion:no-preference){.select-button{transition:border-color .15s,box-shadow .15s}.select-list li{transition:background-color .1s}}select:focus-visible,input:focus-visible,button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:var(--r-sm)}select:focus,input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 14%, transparent);outline:none}select:active:not(:disabled){background-color:var(--sunken)}select option{background:var(--card);color:var(--ink)}.grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:14px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4);box-shadow:var(--shadow-sm)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong)}.metric{grid-column:span 4}.full{grid-column:1/-1}.balance-row{border-top:1px solid var(--line);grid-template-columns:1fr auto auto auto;align-items:baseline;gap:18px;padding:11px 0;font-size:.88rem;display:grid}.balance-row:first-of-type{border-top:none}.balance-row .balance-name{font-weight:620}.balance-row .balance-secondary{color:var(--muted);font-size:.8rem}.balance-total{justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:6px;display:flex}.trend{gap:var(--s2);display:grid}.trend-bars{gap:var(--s2);grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;min-height:150px;display:grid}.trend-bar{grid-template-rows:auto 1fr auto;justify-items:center;gap:6px;min-width:0;display:grid}.trend-value{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.72rem}.trend-column{background:color-mix(in srgb, var(--line) 32%, transparent);border-radius:var(--r-sm);align-items:flex-end;width:100%;max-width:54px;height:100px;display:flex;position:relative;overflow:hidden}.trend-column span{border-radius:inherit;background:linear-gradient(180deg, color-mix(in srgb, var(--green) 60%, transparent), color-mix(in srgb, var(--green) 34%, transparent));width:100%;display:block}.trend-bar-current .trend-column span{background:linear-gradient(180deg, var(--green), color-mix(in srgb, var(--green) 72%, transparent))}.trend-column:after{content:"";left:0;right:0;bottom:calc(var(--average,0) * 1%);border-top:1px dashed var(--ink-secondary);opacity:.45;pointer-events:none;position:absolute}.trend-bar:hover .trend-column span{background:linear-gradient(180deg, var(--green), color-mix(in srgb, var(--green) 62%, transparent))}.trend-bar:hover .trend-value{color:var(--ink)}.trend-bar-current .trend-value{color:var(--ink);font-weight:680}.trend-bar-current .trend-month{color:var(--green);font-weight:650}.trend-month{color:var(--muted);text-transform:capitalize;font-size:.72rem}.trend-caption{color:var(--muted);margin:0;font-size:.76rem}.chart-figure{margin:4px 0 0}.balance-chart{width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:2 4}.chart-zero{stroke:var(--line-strong);stroke-width:1.5px}.chart-area{stroke:none}.chart-fill-top{stop-color:var(--green);stop-opacity:.26}.chart-fill-bottom{stop-color:var(--green);stop-opacity:0}.chart-line{fill:none;stroke:var(--green);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-line-estimated{stroke-dasharray:1.5 3;stroke-linecap:round}.chart-endpoint{fill:var(--green);stroke:var(--card);stroke-width:2px}.chart-endpoint-halo{fill:var(--green);opacity:.16}.chart-axis{fill:var(--muted);font-size:10px}.chart-frame{position:relative}.balance-chart{touch-action:pan-y;-webkit-tap-highlight-color:transparent}.balance-chart:focus{outline:none}.balance-chart:focus-visible:not(:active){outline:2px solid var(--green);outline-offset:3px;border-radius:var(--r-md)}.chart-crosshair{stroke:var(--green);stroke-width:1px;stroke-dasharray:3 3;opacity:.5}.chart-focus{fill:var(--green);stroke:var(--card);stroke-width:2px}.chart-axis-tag{background:var(--invert-bg);color:var(--invert-ink);font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap;border-radius:3px;padding:2px 5px;font-size:.62rem;font-weight:650;position:absolute;left:0;transform:translateY(-50%)}.chart-tooltip{background:var(--invert-bg);color:var(--invert-ink);border-radius:var(--r-sm);pointer-events:none;white-space:nowrap;gap:1px;padding:7px 10px;display:grid;position:absolute;top:0;transform:translate(-50%);box-shadow:0 6px 18px #17211b2e}.chart-tooltip strong{letter-spacing:-.02em;font-size:.9rem;font-weight:700}.chart-tooltip span{color:var(--muted);font-size:.7rem}.chart-caption{color:var(--muted);margin:8px 0 0;font-size:.76rem;line-height:1.45}.caption-short{display:none}@media (max-width:560px){.caption-short{display:inline}}.chart-band{fill:var(--green);opacity:.12;stroke:none}.chart-line-projected{stroke-dasharray:9 6;opacity:.8}.chart-today{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:2 3}.flow-figures{gap:var(--s3);margin:var(--s3) 0 0;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));display:grid}.flow-figure{min-width:0;padding:var(--s3) 0 0;border-top:1px solid var(--line);gap:2px;display:grid}.flow-figure strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.32rem;font-weight:680}.flow-net{border-top-color:var(--line-strong)}.flow-in{color:var(--green)}.flow-out{color:var(--danger)}.upcoming-list{margin:var(--s3) 0 0;padding:0;list-style:none}.upcoming-row{align-items:baseline;gap:var(--s3);border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;padding:10px 0;font-size:.88rem;display:grid}.upcoming-row strong{font-variant-numeric:tabular-nums}.upcoming-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flow-bar{background:var(--sunken);height:8px;margin:var(--s4) 0 var(--s3);border-radius:999px;overflow:hidden}.flow-bar span{background:var(--green);border-radius:999px;height:100%;display:block}.flow-bar-over span{background:var(--danger-mark)}.top-merchant{align-items:baseline;gap:var(--s3);margin:var(--s3) 0;grid-template-columns:1fr auto;font-size:.84rem;display:grid}.top-merchant strong{font-variant-numeric:tabular-nums}.balance-total strong{letter-spacing:-.045em;font-size:1.75rem;font-weight:730}.wide{grid-column:span 7}.side{grid-column:span 5}.label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--s2);font-size:.74rem;font-weight:600}.value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:680}.metric:first-of-type{background:var(--raised);border-color:var(--green-border)}.metric:first-of-type .value{letter-spacing:-.045em;color:var(--ink);font-size:2.35rem;font-weight:720}.metric:first-of-type .label{color:var(--green);font-weight:650}.trend{margin-top:var(--s2);color:var(--muted);font-size:.78rem}.positive{color:var(--green)}.bar-row{align-items:center;gap:var(--s3);margin:var(--s3) 0;grid-template-columns:110px 1fr auto;font-size:.84rem;display:grid}.bar-row strong{font-variant-numeric:tabular-nums}.bar{border-radius:var(--r-pill);background:var(--sunken);height:7px;overflow:hidden}.bar span{border-radius:inherit;background:var(--green);height:100%;display:block}.pagination{justify-content:center;align-items:center;gap:var(--s3);margin-top:var(--s4);display:flex}.subscriptions{display:grid}.subscription-row{gap:2px var(--s3);border-top:1px solid var(--line);grid-template-columns:1fr auto;padding:11px 0;font-size:.88rem;display:grid}.subscription-row .balance-secondary{grid-column:1}.subscription-row strong{text-align:right;font-variant-numeric:tabular-nums;grid-area:span 2/2;align-self:center}.subscription-name{font-weight:620}.subscription-change{color:var(--warn);margin-top:2px;font-size:.74rem;font-style:normal;display:block}.transaction-days{gap:var(--s4);display:grid}.transaction-day{justify-content:space-between;align-items:baseline;gap:var(--s3);margin-top:var(--s4);border-bottom:1px solid var(--line-strong);color:var(--ink-secondary);letter-spacing:.06em;text-transform:uppercase;padding-bottom:7px;font-size:.72rem;font-weight:700;display:flex}.transaction-days>section:first-child .transaction-day{margin-top:0}.transaction-day-total{font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0;color:var(--muted);font-weight:600}.amount-credit{color:var(--green)}.transactions{margin:0;padding:0;list-style:none}.transaction{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:4px 16px;padding:13px 0;display:grid}.transaction:last-child,.transaction-days section:last-child .transaction:last-child{border-bottom:0}.merchant{font-weight:650}.meta{color:var(--muted);align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.category-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.amount{font-variant-numeric:tabular-nums;text-align:right;grid-area:span 2/2;align-self:center;font-weight:650}.transaction-item{list-style:none}.transaction-details>summary{cursor:pointer;list-style:none}.transaction-details>summary::-webkit-details-marker{display:none}.transaction-details>summary::marker{content:""}.transaction-details>summary:hover{background:var(--sunken)}.transaction-details>summary:after{content:"";right:var(--s4);background:var(--select-arrow) no-repeat center / 10px 7px;opacity:.5;width:10px;height:10px;margin-top:-5px;transition:transform .18s,opacity .18s;position:absolute;top:50%}.transaction-details>summary:hover:after{opacity:1}.transaction-details[open]>summary:after{transform:rotate(180deg)}.transaction-details[open]>summary{background:var(--sunken);border-bottom-color:#0000}.transaction-details>summary,.transaction-item>.transaction{margin:0 calc(var(--s4) * -1);padding-left:var(--s4);padding-right:var(--s4);border-radius:var(--r-sm);transition:background-color .14s;position:relative}.transaction-details>summary{padding-right:calc(var(--s4) + 18px)}.transaction-panel{gap:var(--s3);margin:0 calc(var(--s4) * -1);padding:var(--s4);background:var(--sunken);border-radius:0 0 var(--r-sm) var(--r-sm);display:grid}.transaction-facts{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0;display:grid}.transaction-facts dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:650}.transaction-facts dd{margin:3px 0 0;font-size:.86rem}.transaction-raw{grid-column:1/-1}.transaction-raw dd{font-family:var(--mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--ink-secondary);word-break:break-word;font-size:.78rem}.reclassify{gap:var(--s2);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.transaction-hint{color:var(--muted);margin:0;font-size:.76rem}.transaction-day{z-index:2;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0}@media (max-width:640px){.reclassify{grid-template-columns:1fr}}.empty{color:var(--muted)}.chat{gap:var(--s3);display:grid}.chat-thread{gap:var(--s3);min-height:320px;max-height:58vh;padding:var(--s4);background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);align-content:start;display:grid;overflow-y:auto}.chat-message{max-width:78%;padding:11px var(--s3);border-radius:var(--r-md);white-space:pre-wrap;font-size:.9rem;line-height:1.5}.chat-user{background:var(--invert-bg);color:var(--invert-ink);border-bottom-right-radius:var(--s1);justify-self:end}.chat-assistant{background:var(--sunken);color:var(--ink);border-bottom-left-radius:var(--s1);justify-self:start}.chat-pending{color:var(--muted);font-style:italic}.chat-caret{vertical-align:text-bottom;background:var(--green);width:2px;height:1em;margin-left:2px;display:inline-block}@media (prefers-reduced-motion:no-preference){.chat-caret{animation:1s steps(2,start) infinite chat-blink}@keyframes chat-blink{50%{opacity:0}}}.chat-empty{gap:var(--s3);color:var(--muted);font-size:.86rem;display:grid}.chat-suggestions{gap:var(--s2);flex-wrap:wrap;display:flex}.chat-suggestion{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:var(--r-pill);cursor:pointer;padding:8px 13px;font-size:.82rem}.chat-suggestion:hover:not(:disabled){border-color:var(--green);color:var(--green)}.chat-suggestion:disabled{opacity:.5;cursor:default}.chat-form{gap:var(--s2);grid-template-columns:1fr auto;display:grid}.chat-form input{border:1px solid var(--line);background:var(--card);border-radius:var(--r-md);padding:12px var(--s3);color:var(--ink);min-width:0}.chat-note{color:var(--muted);margin:0;font-size:.74rem;line-height:1.5}.chat-shown{gap:var(--s3);padding:var(--s4);background:var(--sunken);border-radius:var(--r-md);display:grid}.chat-shown-title{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.68rem;font-weight:650}.chat-shown ul{margin:0;padding:0;list-style:none}.chat-shown li{border-top:1px solid var(--line)}.chat-shown li:first-child{border-top:0}.chat-shown a{align-items:baseline;gap:var(--s3);color:var(--ink);grid-template-columns:52px minmax(0,1fr) auto;padding:10px 0;font-size:.88rem;text-decoration:none;display:grid}.chat-shown a:hover .chat-shown-merchant{text-decoration:underline}.chat-shown-date{color:var(--muted);white-space:nowrap;font-size:.76rem}.chat-shown-merchant em{color:var(--muted);font-style:normal;font-weight:500}.chat-shown-merchant{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.chat-shown-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.chat-shown-hint{color:var(--muted);margin:0;font-size:.76rem;line-height:1.5}.chat-shown .small-button{white-space:nowrap;justify-self:start}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skeleton{background:var(--sunken);border-radius:var(--r-sm)}.skeleton-brand{width:92px;height:26px}.skeleton-nav{width:168px;height:20px}.skeleton-title{width:min(320px,60%);height:26px;margin-bottom:var(--s5)}.skeleton-panel{border-radius:var(--r-lg);height:86px;margin-bottom:var(--s4)}.skeleton-label{width:44%;height:11px;margin-bottom:var(--s3)}.skeleton-value{width:62%;height:30px}.skeleton-chart{height:168px}.skeleton-row{height:15px;margin:var(--s3) 0}.skeleton-row:nth-child(3){width:88%}.skeleton-row:nth-child(4){width:71%}.skeleton-row:nth-child(5){width:80%}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.4s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}}.amount-origin{color:var(--muted);text-align:right;margin-top:1px;font-size:.72rem;font-weight:500;display:block}.user-email{color:var(--muted);font-size:.72rem}.primary,.filter-button,.secondary-button,.small-button,.danger-button,.primary-link,.chat-suggestion{justify-content:center;align-items:center;gap:var(--s2);border-radius:var(--r-md);cursor:pointer;border:1px solid #0000;font-weight:650;line-height:1;text-decoration:none;display:inline-flex}@media (prefers-reduced-motion:no-preference){.primary,.filter-button,.secondary-button,.small-button,.danger-button,.primary-link,.chat-suggestion,.secondary-plain,.provider-button,.landing-cta,.text-link{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform 80ms}.primary:hover:not(:disabled),.small-button:hover:not(:disabled),.landing-cta:hover,.provider-button:hover:not(:disabled),.secondary-plain:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.card:hover{box-shadow:var(--shadow-md)}}.primary:active,.filter-button:active,.secondary-button:active,.small-button:active,.danger-button:active,.chat-suggestion:active,.secondary-plain:active,.provider-button:active,.landing-cta:active{box-shadow:var(--shadow-sm);transform:translateY(1px)}.primary,.filter-button,.primary-link{background:var(--green);color:var(--invert-ink);padding:12px var(--s4);min-height:44px}.primary:hover:not(:disabled),.filter-button:hover:not(:disabled),.primary-link:hover{background:var(--green-strong);color:var(--invert-ink)}.primary-link{margin-top:var(--s3)}.panel-button{border-color:var(--panel-border);color:var(--panel-ink);padding:11px var(--s3);background:0 0;min-height:44px;font-size:.82rem}.panel-button:hover{border-color:var(--panel-ink);background:color-mix(in srgb, var(--panel-ink) 10%, transparent)}.small-button{background:var(--card);color:var(--ink);border:1px solid var(--line-strong);padding:9px var(--s3);min-height:38px;font-size:.82rem}.small-button:hover:not(:disabled){background:var(--sunken);border-color:var(--ink-secondary);color:var(--ink)}.danger-button{background:var(--danger-soft);color:var(--danger);padding:9px var(--s3);border:1px solid #0000;min-height:38px;font-size:.82rem}.danger-button:hover:not(:disabled){border-color:var(--danger)}.primary:disabled,.filter-button:disabled,.small-button:disabled,.danger-button:disabled,.chat-suggestion:disabled{opacity:.5;cursor:not-allowed;transform:none}.primary:disabled{cursor:wait}.text-button{color:var(--ink-secondary);cursor:pointer;padding:var(--s2) 0;background:0 0;border:0;font-weight:600}.text-button:hover{color:var(--danger)}.auth-shell{place-items:center;min-height:100dvh;padding:20px;display:grid}.auth-card,.empty-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);width:min(440px,100%);box-shadow:var(--shadow-md);padding:clamp(24px,8vw,42px)}.auth-card h1,.empty-card h1{letter-spacing:-.032em;margin-top:32px;font-size:2rem;font-weight:700;line-height:1.14}.auth-card>p,.empty-card>p{color:var(--muted);line-height:1.55}.auth-form{gap:var(--s3);margin-top:26px;display:grid}.auth-form label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:-7px;font-size:.72rem;font-weight:650}.provider-group{margin-top:28px}.provider-form{gap:10px;display:grid}.provider-button{width:100%;min-height:46px;padding:12px var(--s4);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--card);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:10px;font-size:.9rem;font-weight:600;display:flex}.provider-button:hover:not(:disabled){background:var(--sunken);border-color:var(--ink-secondary)}.provider-button:disabled{opacity:.55;cursor:progress}.provider-mark{flex:none;width:18px;height:18px}.provider-divider{align-items:center;gap:var(--s3);margin:var(--s5) 0 0;color:var(--muted);font-size:.76rem;display:flex}.provider-divider:before,.provider-divider:after{content:"";background:var(--line);flex:1;height:1px}.detail-list{margin:var(--s3) 0 0;gap:14px;display:grid}.detail-list>div{gap:2px;display:grid}.detail-list dt{color:var(--muted);font-size:.76rem}.detail-list dd{margin:0;font-weight:600}.hint{color:var(--muted);margin:var(--s4) 0 0;font-size:.78rem;line-height:1.5}.locale-form{gap:var(--s2);margin-top:var(--s3);align-items:center;display:flex}.locale-form[data-auto-submit] .small-button{display:none}.danger-zone{border-color:var(--danger-mark)}.danger-zone>p{max-width:68ch;color:var(--ink-secondary);font-size:.88rem;line-height:1.6}.label-danger{color:var(--danger)}.delete-form{margin-top:var(--s4);gap:10px;max-width:420px;display:grid}.delete-form label{color:var(--muted);font-size:.82rem}.delete-form label strong{color:var(--ink);font-weight:600}.delete-form input{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--card);color:var(--ink);min-width:0;padding:12px}.delete-actions{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.delete-actions .danger-button:disabled{opacity:.5;cursor:not-allowed}.header .user-email{text-decoration:none}.header .user-email:hover{color:var(--ink)}.header .user-email[aria-current=page]{color:var(--green)}.auth-switch{justify-content:space-between;gap:var(--s3);margin-top:var(--s2);flex-wrap:wrap;display:flex}.text-link{color:var(--green);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:8px 0;font-size:.82rem;font-weight:600;text-decoration:underline}.text-link:hover{color:var(--green-strong)}.password-form{margin-top:var(--s3);max-width:380px}.card>.small-button{margin-top:var(--s4)}.form-error{color:var(--danger);font-size:.84rem}.form-success{color:var(--green);font-size:.84rem}.form-warning{color:var(--warn);padding:var(--s3);background:var(--warn-soft);border-left:3px solid var(--warn-mark);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:.84rem;line-height:1.5}.empty-card{text-align:center}.empty-card .primary{width:100%;margin:14px 0}.empty-icon{background:var(--green-soft);width:56px;height:56px;color:var(--green);border-radius:50%;place-items:center;margin:32px auto 0;font-size:1.5rem;display:grid}.privacy-note{font-size:.78rem}.centered-card{margin:32px auto}.banking-card{background:var(--panel-bg);color:var(--panel-ink);border-radius:var(--r-lg);padding:var(--s4) var(--s5);margin-bottom:var(--s4);box-shadow:var(--shadow-md)}.banking-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.banking-head>div{align-items:center;gap:10px;display:flex}.banking-head h2{letter-spacing:-.018em;margin:0;font-size:1rem;font-weight:650}.banking-card>p,.banking-card small{color:var(--panel-muted);font-size:.82rem}.banking-card>p{margin:var(--s3) 0 0}.sandbox-badge{background:var(--green-soft);color:var(--green);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:4px 7px;font-size:.65rem;font-weight:800}.bank-list{margin:var(--s3) 0 0;gap:2px;padding:0;list-style:none;display:grid}.bank-row{border-top:1px solid color-mix(in srgb, var(--panel-ink) 14%, transparent);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.bank-identity{gap:3px;min-width:0;display:grid}.bank-identity strong{font-size:.92rem}.bank-identity small{display:block}.bank-row-actions{flex-shrink:0;gap:9px;display:flex}.bank-row-actions form{display:flex}.sync-control{text-align:center;gap:5px;display:grid}.sync-control small{max-width:220px;color:var(--panel-muted);font-size:.72rem}.panel-button{border:1px solid var(--panel-border);border-radius:var(--r-md);padding:11px var(--s3);color:var(--panel-ink);cursor:pointer;background:0 0;align-items:center;font-size:.82rem;font-weight:650;text-decoration:none;display:inline-flex}.secondary-button,.secondary-plain{justify-content:center;align-items:center;gap:var(--s2);border:1px solid var(--line-strong);background:var(--card);color:var(--ink);border-radius:var(--r-md);padding:11px var(--s4);cursor:pointer;min-height:44px;font-size:.84rem;font-weight:650;text-decoration:none;display:inline-flex}.secondary-button:hover,.secondary-plain:hover{border-color:var(--ink-secondary);background:var(--sunken)}.bank-error{color:var(--danger)!important}.card-heading a,.empty a{color:var(--green);font-size:.84rem;font-weight:650;text-decoration:none}.card-heading{justify-content:space-between;align-items:center;display:flex}.budget-list{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.add-budget-card{gap:var(--s5);background:var(--green-soft);border:1px solid var(--green-border);border-radius:var(--r-lg);padding:var(--s5);margin-bottom:var(--s4);grid-template-columns:minmax(180px,.75fr) 2fr;display:grid}.add-budget-card h2{margin:3px 0 5px;font-size:1.25rem}.add-budget-card p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.45}.add-budget-form{grid-template-columns:1.3fr .65fr 1fr auto;align-items:end;gap:10px;display:grid}.add-budget-form .field{gap:5px;display:grid}.add-budget-form label{color:var(--muted);gap:5px;font-size:.75rem;display:grid}.budget-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4);box-shadow:var(--shadow-sm)}.budget-head,.budget-stats,.budget-actions,.budget-actions form,.budget-summary,.budget-summary div{justify-content:space-between;align-items:center;gap:10px;display:flex}.budget-head div{gap:4px;display:grid}.budget-head span,.budget-stats,.budget-summary small{color:var(--muted);font-size:.78rem}.budget-progress{background:var(--sunken);border-radius:var(--r-pill);height:7px;margin:var(--s4) 0;overflow:hidden}.budget-progress span{background:var(--green);border-radius:inherit;height:100%;display:block}.budget-stats span{gap:3px;display:grid}.budget-stats span:last-child{text-align:right}.budget-stats strong{color:var(--ink);font-size:.92rem}.budget-actions{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.budget-actions form:first-child{flex:1}.budget-actions input{border:1px solid var(--line);border-radius:var(--r-md);width:100%;min-width:0;padding:9px}.budget-summary{border-bottom:1px solid var(--line);padding:11px 0}.budget-summary:last-child{border-bottom:0}.budget-summary div{flex-direction:column;align-items:flex-end;gap:2px}.budget-warning .budget-progress span{background:var(--warn-mark)}.budget-warning .budget-head b,.budget-summary.budget-warning strong{color:var(--warn)}.budget-over{border-color:var(--danger-mark)}.budget-over .budget-progress span{background:var(--danger-mark)}.budget-over .budget-head b,.budget-summary.budget-over strong{color:var(--danger)}.alerts{gap:8px;margin-bottom:18px;display:grid}.alert{border:1px solid var(--danger-mark);border-radius:var(--r-md);background:var(--danger-soft);color:var(--ink);align-items:center;gap:12px;padding:12px 14px;font-size:.86rem;text-decoration:none;display:flex}.alert-mark{background:var(--danger-mark);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.78rem;font-weight:700;line-height:1;display:grid}.alert-text{gap:2px;min-width:0;display:grid}.alert-text strong{letter-spacing:.02em;font-size:.8rem}.alert-text span{color:var(--muted)}.alert-go{color:var(--muted);flex:none;margin-left:auto}.alert:hover .alert-go{color:var(--ink)}.budget-habit{color:var(--muted);margin:6px 0 0;font-size:.76rem;line-height:1.45}@media (max-width:720px){.shell{padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(var(--tabbar) + var(--s4))}.header{gap:var(--s2);padding-bottom:var(--s2);margin-bottom:var(--s4)}.header-account{gap:var(--s2)}.header-account .user-email,.header-signout{display:none}.user-initial{background:var(--green-soft);width:36px;height:36px;color:var(--green);border-radius:50%;flex:none;place-items:center;font-size:.82rem;font-weight:700;text-decoration:none;transition:background-color .15s;display:grid}.user-initial:hover,.user-initial[aria-current=page]{background:var(--green-border)}.brand{font-size:1.25rem}.card-heading{gap:var(--s1) var(--s3);flex-wrap:wrap}.chart-axis{font-size:19px}.chart-line{stroke-width:3.5px}.chart-grid,.chart-crosshair{stroke-width:1.8px}.chart-grid{stroke-dasharray:3 6}.chart-axis-tag{font-size:.68rem}.chart-zero{stroke-width:2.5px}.chart-line-estimated{stroke-dasharray:2.5 5}.chart-line-projected{stroke-dasharray:14 9}.chart-today{stroke-width:2px;stroke-dasharray:4 5}.metric{padding:var(--s3) var(--s4)}.metric .value{font-size:1.7rem}.metric:first-of-type .value{font-size:2rem}.theme-option{place-items:center;min-width:44px;min-height:40px;font-size:.95rem;display:grid}.theme-toggle{padding:3px}.header .theme-toggle{display:none}.user-initial{width:42px;height:42px;font-size:.9rem}.small-button,.danger-button{min-height:44px;padding:11px var(--s4)}.brand{padding:var(--s1) 0}.card-heading a{align-items:center;min-height:40px;display:inline-flex}.delete-form{max-width:100%}.delete-actions{flex-wrap:wrap}.delete-actions>*{flex:auto}.transaction-panel{z-index:1;position:relative}.header{gap:var(--s3)}.main-nav{z-index:20;background:var(--card);border-top:1px solid var(--line);padding:var(--s1) var(--s2) calc(var(--s1) + env(safe-area-inset-bottom));min-height:var(--tabbar);justify-content:space-around;gap:0;position:fixed;inset:auto 0 0;box-shadow:0 -2px 14px -8px #17211b4d}.main-nav a{min-height:44px;padding:0 var(--s2);border-radius:var(--r-sm);align-items:center;font-size:.74rem;display:flex}.main-nav .nav-long{display:none}.main-nav .nav-short{display:inline}.main-nav a[aria-current=page],.main-nav a[aria-current=page]:hover{background:var(--green-soft);color:var(--green)}.balance-row{gap:var(--s1) var(--s3);grid-template-columns:1fr auto}.balance-row .balance-name{grid-column:1}.balance-row strong{grid-area:1/2}.balance-row .balance-secondary{grid-column:1/-1}.balance-row .balance-secondary:empty{display:none}.chat-thread{max-height:52vh;padding:var(--s3)}.chat-message{max-width:88%}.chat-suggestion{align-items:center;min-height:44px;display:inline-flex}.chat-form input{padding:13px var(--s3)}.trend-bars{gap:var(--s1);min-height:130px}.trend-column{height:84px}.trend-value{font-size:.64rem}.filter-button{grid-column:1/-1}.budget-list{grid-template-columns:1fr}.add-budget-card{grid-template-columns:1fr;gap:16px}.add-budget-form{grid-template-columns:1fr 1fr}.add-budget-form label:first-child,.add-budget-form .primary{grid-column:1/-1}.header{gap:var(--s3);flex-wrap:wrap}.main-nav{scrollbar-width:none;order:3;width:100%;padding-bottom:2px;overflow-x:auto}.main-nav::-webkit-scrollbar{display:none}.header-account{margin-left:auto}.header-account .user-email{max-width:130px}.banking-head{flex-direction:column;align-items:stretch;gap:12px}.banking-head .primary,.banking-head .panel-button{justify-content:center;width:100%}.bank-row{flex-direction:column;align-items:stretch;gap:10px}.bank-row-actions .primary,.bank-row-actions .panel-button,.bank-row-actions button{justify-content:center;width:100%}.secondary-button{justify-content:center}.metric,.wide,.side{grid-column:1/-1}.metric{grid-column:span 6}.metric:first-of-type{grid-column:1/-1}.bar-row{grid-template-columns:92px 1fr auto}}.landing{background:var(--paper);min-height:100dvh;color:var(--ink);flex-direction:column;display:flex}.landing main{flex:1;width:100%}.landing-bar-inner,.landing-hero,.landing-banks,.landing-section,.landing-security-inner,.landing-final-inner,.landing-footer-inner{width:min(1120px,100%);padding-inline:var(--s5);margin-inline:auto}.landing-bar{z-index:30;background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.landing-bar-inner{align-items:center;gap:clamp(16px,3vw,40px);padding-block:11px;display:flex}.landing-nav{gap:clamp(14px,2.4vw,28px);margin-right:auto;display:flex}.landing-nav a{color:var(--ink-secondary);border-bottom:1.5px solid #0000;padding:5px 0;font-size:.88rem;font-weight:550;text-decoration:none}.landing-nav a:hover{color:var(--ink);border-bottom-color:var(--line-strong)}.landing-nav a[aria-current=true]{color:var(--ink);border-bottom-color:var(--green);font-weight:650}.landing [id]{scroll-margin-top:76px}:root[data-landing-scrolled=true] .landing-bar{box-shadow:0 1px 12px -4px #0000002e}@media (prefers-reduced-motion:no-preference){html:has(.landing){scroll-behavior:smooth}.landing-nav a,.landing-bar{transition:color .18s,border-color .18s,box-shadow .2s}.landing-why-clair{transition:border-color .18s,box-shadow .18s}.landing-ask-more li{transition:border-color .18s,color .18s}.landing-faq-list summary:after{transition:transform .22s}}.landing-bar-actions{align-items:center;gap:var(--s3);display:flex}.landing-signin{color:var(--ink-secondary);border:1px solid var(--line-strong);border-radius:var(--r-sm);white-space:nowrap;padding:9px 18px;font-size:.88rem;font-weight:600;text-decoration:none}.landing-signin:hover{border-color:var(--ink);color:var(--ink)}.landing-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);align-items:center;gap:clamp(28px,4vw,56px);padding-block:clamp(40px,6vw,84px) clamp(32px,5vw,56px);display:grid}.landing-hero-copy{min-width:0}.landing-hero-actions{align-items:center;gap:var(--s5);margin-top:var(--s5);flex-wrap:wrap;display:flex}.landing-hero-actions .landing-cta{margin-top:0}.landing-cta-ghost{color:var(--ink-secondary);border-bottom:1px solid var(--line-strong);align-items:center;padding:13px 2px;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.landing-cta-ghost:hover{color:var(--ink);border-bottom-color:var(--ink)}.landing-eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;margin:0 0 var(--s4);font-size:.76rem;font-weight:700}.landing-hero h1{letter-spacing:-.038em;text-wrap:balance;max-width:15ch;margin:0;font-size:clamp(2.1rem,5vw,3.2rem);font-weight:700;line-height:1.05}.landing-lead{max-width:54ch;color:var(--ink-secondary);margin:var(--s5) 0 0;font-size:clamp(1.02rem,2.2vw,1.18rem);line-height:1.62}.landing-cta{margin-top:var(--s5);padding:15px var(--s6);border-radius:var(--r-sm);background:var(--green);color:var(--invert-ink);justify-content:center;align-items:center;font-size:.96rem;font-weight:650;text-decoration:none;display:inline-flex}.landing-cta:hover{background:var(--green-strong)}.landing-cta-small{white-space:nowrap;margin-top:0;padding:9px 17px;font-size:.88rem}.landing-note{color:var(--muted);margin:var(--s4) 0 0;max-width:52ch;font-size:.82rem;line-height:1.55}.landing-trust{gap:var(--s3) clamp(20px, 3vw, 38px);padding:var(--s5) 0 0;border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;margin:clamp(32px,5vw,48px) 0 0;list-style:none;display:flex}.landing-trust li{color:var(--ink-secondary);align-items:center;gap:9px;font-size:.86rem;font-weight:550;display:flex}.landing-trust li:before{content:"";background:var(--green);flex:none;width:7px;height:7px}.landing-section{border-top:1px solid var(--line);padding-block:clamp(44px,6vw,76px)}.landing-section h2{letter-spacing:-.03em;margin:0 0 var(--s6);text-wrap:balance;font-size:clamp(1.45rem,3.4vw,1.95rem);font-weight:700}.landing-section h2:has(+.landing-section-lead){margin-bottom:var(--s3)}.landing-section-lead{max-width:60ch;color:var(--ink-secondary);margin:0 0 var(--s6);font-size:1.02rem;line-height:1.62}.landing-why h2{margin-bottom:var(--s2);max-width:24ch}.landing-why-answer{letter-spacing:-.03em;color:var(--green);margin:0 0 var(--s6);text-wrap:balance;max-width:24ch;font-size:clamp(1.4rem,3.2vw,1.9rem);font-weight:700}.landing-why-panels{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(290px,1fr));align-items:start;display:grid}.landing-why-raw,.landing-why-clair{gap:var(--s3);border:1px solid var(--line);border-radius:var(--r-md);align-content:start;padding:clamp(16px,2.4vw,22px);display:grid}.landing-why-raw{background:var(--sunken)}.landing-why-clair{background:var(--card);border-color:var(--green-border);box-shadow:var(--shadow-md)}.landing-panel-label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.68rem;font-weight:650}.landing-why-raw ul{margin:0;padding:0;list-style:none}.landing-why-raw li{justify-content:space-between;gap:var(--s3);border-top:1px solid var(--line);color:var(--ink-secondary);font-variant-numeric:tabular-nums;padding:9px 0;font-size:.84rem;display:flex}.landing-why-raw li:first-child{border-top:0}.landing-why-raw li span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.landing-why-headline{justify-content:space-between;align-items:baseline;gap:var(--s3);margin:0;display:flex}.landing-why-headline strong{font-size:1.05rem;font-weight:650}.landing-why-headline em{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-style:normal;font-weight:700}.landing-why-period{color:var(--muted);margin-top:-8px;font-size:.76rem}.landing-why-clair ul{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.landing-why-clair li{padding-left:var(--s4);color:var(--ink-secondary);font-size:.9rem;line-height:1.5;position:relative}.landing-why-clair li:before{content:"";background:var(--green);width:6px;height:6px;position:absolute;top:.55em;left:0}.landing-groups{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:clamp(24px,3vw,44px);display:grid}.landing-group{gap:var(--s3);align-content:start;display:grid}.landing-group-eyebrow{color:var(--green);letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;font-weight:700}.landing-group h3{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:1.1rem;font-weight:650}.landing-group ul{margin:var(--s2) 0 0;gap:var(--s4);padding:0;list-style:none;display:grid}.landing-group li{padding-top:var(--s3);border-top:1px solid var(--line);gap:3px;display:grid}.landing-group li strong{font-size:.95rem;font-weight:650}.landing-group li span{color:var(--ink-secondary);font-size:.88rem;line-height:1.55}.landing-ask{gap:var(--s3);margin-top:var(--s2);padding:var(--s4);background:var(--sunken);border-radius:var(--r-md);display:grid}.landing-ask-question{border-radius:var(--r-md);border-bottom-right-radius:var(--s1);background:var(--invert-bg);max-width:92%;color:var(--invert-ink);justify-self:end;margin:0;padding:9px 12px;font-size:.88rem;line-height:1.45}.landing-ask-answer{border:1px solid var(--line);border-radius:var(--r-md);border-bottom-left-radius:var(--s1);background:var(--card);color:var(--ink);justify-self:start;margin:0;padding:10px 12px;font-size:.88rem;line-height:1.52}.landing-ask-more{gap:var(--s2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.landing-ask-more li{border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--ink-secondary);padding:6px 10px;font-size:.78rem}.landing-ask .landing-note{margin-top:0}.landing-price h2{margin-bottom:var(--s5)}.landing-price-amount{letter-spacing:-.04em;color:var(--green);margin:0;font-size:clamp(2.3rem,5.5vw,3.2rem);font-weight:700;line-height:1}.landing-price-body{color:var(--ink);margin:var(--s4) 0 0;max-width:48ch;font-size:1.04rem}.landing-price-detail{color:var(--ink-secondary);margin:var(--s4) 0 0;max-width:66ch;font-size:.92rem;line-height:1.62}.landing-icon{border:1px solid var(--line-strong);border-radius:var(--r-sm);width:34px;height:34px;color:var(--green);flex:none;place-items:center;display:grid}.landing-security{background:var(--panel-bg);color:var(--panel-ink)}.landing-security-inner{padding-block:clamp(52px,7vw,92px)}.landing-security h2{letter-spacing:-.03em;color:var(--panel-ink);margin:0 0 var(--s3);text-wrap:balance;font-size:clamp(1.45rem,3.4vw,1.95rem);font-weight:700}.landing-security .landing-section-lead{color:var(--panel-muted);margin-bottom:0}.landing-security .landing-icon{border-color:var(--panel-border);color:var(--panel-ink)}.landing-security-list{margin:var(--s6) 0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3.5vw,40px) clamp(28px,4vw,56px);padding:0;list-style:none;display:grid}.landing-security-list li{gap:var(--s4);grid-template-columns:34px minmax(0,1fr);align-items:start;display:grid}.landing-security-list h3{color:var(--panel-ink);margin:6px 0 5px;font-size:.98rem;font-weight:650}.landing-security-list p{color:var(--panel-muted);margin:0;font-size:.9rem;line-height:1.58}.landing-security-link{color:var(--panel-ink);border-bottom:1px solid var(--panel-border);margin-top:clamp(24px,4vw,40px);padding:7px 0 4px;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-block}.landing-security-link:hover{border-bottom-color:var(--panel-ink)}.landing-steps{gap:var(--s6);margin:0;padding:0;list-style:none;display:grid}.landing-steps li{gap:var(--s4);grid-template-columns:44px minmax(0,1fr);align-items:start;display:grid}.landing-step-index{border-radius:var(--r-sm);background:var(--green);width:36px;height:36px;color:var(--invert-ink);place-items:center;font-size:1.05rem;font-weight:600;display:grid}.landing-steps h3{margin:5px 0 var(--s2);font-size:1.04rem;font-weight:650}.landing-steps p{color:var(--ink-secondary);max-width:62ch;margin:0;line-height:1.62}.landing-faq-list{border-top:1px solid var(--line);display:grid}.landing-faq-list details{border-bottom:1px solid var(--line)}.landing-faq-list summary{justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s5) 0;cursor:pointer;font-size:1rem;font-weight:600;list-style:none;display:flex}.landing-faq-list summary::-webkit-details-marker{display:none}.landing-faq-list summary:hover{color:var(--green)}.landing-faq-list summary:after{content:"";border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);flex:none;width:10px;height:10px;margin-right:4px;transform:translateY(-3px)rotate(45deg)}.landing-faq-list details[open] summary:after{transform:translateY(2px)rotate(225deg)}.landing-faq-list p{color:var(--ink-secondary);margin:0 0 var(--s5);max-width:74ch;line-height:1.68}@supports selector(::details-content){@media (prefers-reduced-motion:no-preference){:root{interpolate-size:allow-keywords}.landing-faq-list details::details-content{block-size:0;transition:block-size .26s ease, content-visibility .26s allow-discrete;overflow:hidden}.landing-faq-list details[open]::details-content{block-size:auto}}}.landing-final{border-top:1px solid var(--line);background:var(--sunken)}.landing-final-inner{text-align:center;padding-block:clamp(52px,7vw,92px)}.landing-final h2{letter-spacing:-.03em;margin:0 0 var(--s3);text-wrap:balance;font-size:clamp(1.55rem,3.6vw,2.1rem);font-weight:700}.landing-final p{color:var(--ink-secondary);max-width:46ch;margin:0 auto;line-height:1.6}.landing-footer{border-top:1px solid var(--line)}.landing-footer-inner{grid-template-columns:minmax(0,1.1fr) minmax(0,2fr);gap:clamp(28px,5vw,64px);padding-block:clamp(36px,5vw,56px);display:grid}.landing-footer-brand p{color:var(--ink-secondary);max-width:34ch;margin:var(--s3) 0 0;font-size:.88rem;line-height:1.55}.landing-footer-brand .landing-footer-note{color:var(--muted);font-size:.8rem}.landing-footer-columns{gap:var(--s5) var(--s6);grid-template-columns:repeat(auto-fit,minmax(148px,1fr));display:grid}.landing-footer-columns>div{align-content:start;gap:10px;display:grid}.landing-footer-columns h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 2px;font-size:.72rem;font-weight:700}.landing-footer-columns a{color:var(--ink-secondary);overflow-wrap:anywhere;font-size:.88rem;text-decoration:none}.landing-footer-columns a:hover{color:var(--ink);text-decoration:underline}.landing-footer-columns .landing-footer-note{color:var(--muted);margin:0;font-size:.8rem;line-height:1.5}@media (max-width:940px){.landing-bar-inner{flex-wrap:wrap}.landing-nav{order:3;justify-content:space-between;gap:8px;width:100%;display:flex}.landing-nav a{align-items:center;min-height:44px;font-size:.8rem;display:inline-flex}.landing [id]{scroll-margin-top:140px}.landing-hero{gap:var(--s6);grid-template-columns:minmax(0,1fr)}.landing-footer-inner{grid-template-columns:minmax(0,1fr)}}@media (max-width:620px){.landing-steps li{gap:var(--s3);grid-template-columns:1fr}.landing-groups,.landing-security-list,.landing-why-panels{grid-template-columns:minmax(0,1fr)}.landing-hero-actions{gap:var(--s4)}.landing-hero .landing-cta,.landing-final .landing-cta{width:100%}.landing-cta-ghost{justify-content:center;width:100%}.landing-bar-actions{flex-wrap:wrap;min-width:0}.landing-signin{padding:9px 13px}.landing-cta-small{padding:9px 14px}.landing-faq-list summary{font-size:.94rem}.landing-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-footer-columns>div:last-child{grid-column:1/-1}.landing-footer-columns>div{gap:var(--s3)}.landing-footer-columns a{padding-block:4px}}.landing-banks-missing{margin-top:var(--s5);color:var(--green);border-bottom:1px solid var(--green-border);padding:7px 0 4px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.landing-banks-missing:hover{border-bottom-color:var(--green)}.marquee{margin:0 calc(-1 * var(--s5));gap:clamp(32px,5vw,64px);display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 3% 97%,#0000);mask-image:linear-gradient(90deg,#0000,#000 3% 97%,#0000)}.marquee-track{padding:0 0 0 var(--s5);flex:none;align-items:center;gap:clamp(32px,5vw,64px);margin:0;list-style:none;display:flex}.marquee-track li{color:var(--ink-secondary);letter-spacing:-.01em;white-space:nowrap;flex:none;font-size:.95rem;font-weight:600}.landing-banks-note{max-width:64ch}@media (prefers-reduced-motion:no-preference){.marquee-track{animation:42s linear infinite marquee}.marquee:hover .marquee-track{animation-play-state:paused}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(calc(-100% - clamp(32px,5vw,64px)))}}.landing-preview{gap:var(--s3);min-width:0;margin:0;display:grid}.landing-preview-caption{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.72rem;font-weight:650}.landing-preview .landing-note{margin-top:0}.preview-frame{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);gap:var(--s4);box-shadow:var(--shadow-md);padding:clamp(16px,3vw,26px);display:grid}.preview-metrics{gap:var(--s3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.preview-metric{padding:var(--s4);background:var(--sunken);border-radius:var(--r-sm);gap:3px;display:grid}.preview-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:650}.preview-metric strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:700}.preview-sub{color:var(--muted);font-size:.74rem;line-height:1.4}.preview-balance{gap:var(--s3)}.preview-balance-head{justify-content:space-between;align-items:baseline;gap:var(--s3);display:flex}.preview-balance-head strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700}.preview-curve{width:100%;height:auto;display:block;overflow:visible}.preview-curve .chart-line{stroke-width:2.6px}.preview-charts{gap:var(--s4);grid-template-columns:1.25fr 1fr;display:grid}.preview-card{border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s4);gap:var(--s3);align-content:start;display:grid}.preview-bars{gap:9px;margin:0;padding:0;list-style:none;display:grid}.preview-bars li{align-items:center;gap:var(--s3);grid-template-columns:84px minmax(0,1fr) auto;font-size:.8rem;display:grid}.preview-bar-name{color:var(--ink-secondary)}.preview-bar{background:var(--sunken);border-radius:4px;height:8px;overflow:hidden}.preview-bar i{border-radius:4px;height:100%;display:block}.preview-bar-value{font-variant-numeric:tabular-nums;font-weight:600}.preview-months{align-items:flex-end;gap:6px;height:116px;display:flex}.preview-month{text-align:center;flex:1;align-content:end;gap:6px;display:grid}.preview-column{align-items:flex-end;height:92px;display:flex}.preview-column i{background:linear-gradient(180deg, color-mix(in srgb, var(--green) 45%, transparent), color-mix(in srgb, var(--green) 22%, transparent));border-radius:4px 4px 0 0;width:100%;display:block}.preview-month-current .preview-column i{background:linear-gradient(180deg, var(--green), color-mix(in srgb, var(--green) 70%, transparent))}.preview-month-label{color:var(--muted);font-size:.7rem}@media (max-width:720px){.preview-charts,.preview-metrics{grid-template-columns:1fr}.preview-bars li{grid-template-columns:72px minmax(0,1fr) auto}}main.guide{width:min(760px,100%);padding:clamp(32px, 5vw, 64px) var(--s5) 0;margin:0 auto}.guide h1{letter-spacing:-.035em;margin:0 0 var(--s4);text-wrap:balance;font-size:clamp(1.9rem,4.4vw,2.6rem);font-weight:700;line-height:1.08}.guide-lead{color:var(--ink-secondary);margin:0 0 var(--s6);font-size:clamp(1.02rem,2.2vw,1.16rem);line-height:1.62}.guide-crumb{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-right:auto;font-size:.82rem;font-weight:650}.guide section{padding-top:var(--s5);border-top:1px solid var(--line);margin-top:clamp(32px,4vw,48px)}.guide h2{letter-spacing:-.025em;margin:0 0 var(--s4);text-wrap:balance;font-size:clamp(1.25rem,2.8vw,1.5rem);font-weight:700}.guide h3{margin:0 0 var(--s2);font-size:1.02rem;font-weight:650}.guide p{color:var(--ink-secondary);margin:0 0 var(--s4);line-height:1.7}.guide p:last-child{margin-bottom:0}.guide strong{color:var(--ink);font-weight:650}.guide em{font-style:italic}.guide p a,.guide-bullets a,.guide-others a{color:var(--green)}.guide-bullets{margin:0 0 var(--s4);gap:var(--s3);padding:0;list-style:none;display:grid}.guide-bullets li{padding-left:var(--s5);color:var(--ink-secondary);line-height:1.65;position:relative}.guide-bullets li:before{content:"";background:var(--green);width:7px;height:7px;position:absolute;top:.62em;left:0}.guide-steps{margin:0 0 var(--s4);gap:var(--s5);counter-reset:guide-step;padding:0;list-style:none;display:grid}.guide-steps li{counter-increment:guide-step;padding-left:46px;position:relative}.guide-steps li:before{content:counter(guide-step);border-radius:var(--r-sm);background:var(--green);width:30px;height:30px;color:var(--invert-ink);place-items:center;font-size:.92rem;font-weight:650;display:grid;position:absolute;top:0;left:0}.guide-steps h3{margin-top:4px}.guide-banks{margin:0 0 var(--s4);gap:var(--s2) var(--s4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:0;list-style:none;display:grid}.guide-banks li{border-top:1px solid var(--line);padding:9px 0;font-size:.94rem;font-weight:600}.guide-callout{background:var(--green-soft);border-left:3px solid var(--green);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:var(--s4);color:var(--ink-secondary)}.guide-cta{text-align:center}.guide-cta p{max-width:46ch;margin-inline:auto}.guide-others ul{gap:var(--s4);margin:0;padding:0;list-style:none;display:grid}.guide-others li{padding-top:var(--s4);border-top:1px solid var(--line);gap:3px;display:grid}.guide-others a{font-size:1rem;font-weight:650;text-decoration:none}.guide-others a:hover{text-decoration:underline}.guide-others span{color:var(--ink-secondary);font-size:.9rem;line-height:1.55}.guide+.landing-footer{margin-top:clamp(48px,6vw,80px)}.legal{width:min(760px,100%);padding:calc(clamp(28px, 5vw, 56px) + env(safe-area-inset-top)) var(--s5) 96px;color:var(--ink);margin:0 auto}.legal-back{color:var(--muted);margin-bottom:var(--s5);font-size:.88rem;text-decoration:none;display:inline-block}.legal-back:hover{color:var(--ink)}.legal h1{letter-spacing:-.032em;margin:0 0 var(--s3);font-size:clamp(1.7rem,4vw,2.3rem);font-weight:700}.legal-updated{color:var(--muted);margin:0 0 var(--s6);font-size:.84rem}.legal section{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--line)}.legal h2{letter-spacing:-.02em;margin:0 0 var(--s4);font-size:1.18rem;font-weight:650}.legal p{color:var(--ink-secondary);margin:0 0 var(--s4);max-width:68ch;line-height:1.68}.legal p:last-child{margin-bottom:0}.legal strong{color:var(--ink);font-weight:650}.legal a{color:var(--green)}.legal-bullets{margin:0 0 var(--s4);padding-left:var(--s5);color:var(--ink-secondary);max-width:68ch;line-height:1.68}.legal-bullets li{margin-bottom:var(--s3)}.legal-list{gap:var(--s3);margin:0;display:grid}.legal-list>div{gap:var(--s4);grid-template-columns:minmax(0,200px) minmax(0,1fr);display:grid}.legal-list dt{color:var(--muted);font-size:.88rem}.legal-list dd{margin:0}.legal-pending{background:var(--warn-soft);border-left:3px solid var(--warn-mark);padding:var(--s4);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--ink-secondary)}.legal-table-scroll{margin:0 0 var(--s4);overflow-x:auto}.legal-table{border-collapse:collapse;width:100%;min-width:640px;font-size:.88rem}.legal-table th{text-align:left;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line-strong);padding:0 var(--s4) var(--s2) 0;font-size:.74rem;font-weight:650}.legal-table td{border-bottom:1px solid var(--line);padding:var(--s3) var(--s4) var(--s3) 0;vertical-align:top;color:var(--ink-secondary);line-height:1.5}.legal-table td:first-child{color:var(--ink);white-space:nowrap;font-weight:600}:root[data-tour-step] .shell [data-tour],:root[data-tour-step] .shell>h1,:root[data-tour-step] .shell>.intro,:root[data-tour-step] .shell>.filters,:root[data-tour-step] .shell>.alerts{opacity:.3;filter:saturate(.35);transition:opacity .45s,filter .45s,box-shadow .45s}:root[data-tour-step=metrics] .shell [data-tour=metrics],:root[data-tour-step=balances] .shell [data-tour=balances],:root[data-tour-step=flows] .shell [data-tour=flows],:root[data-tour-step=categories] .shell [data-tour=categories],:root[data-tour-step=budgets] .shell [data-tour=budgets],:root[data-tour-step=subscriptions] .shell [data-tour=subscriptions],:root[data-tour-step=nav] .shell [data-tour=nav],:root[data-tour-step=bank] .shell [data-tour=bank]{opacity:1;filter:none;box-shadow:0 0 0 2px var(--green), 0 0 0 7px color-mix(in srgb, var(--green) 16%, transparent);border-radius:var(--r-md);z-index:45;position:relative}.tour{z-index:50;padding:var(--s4);pointer-events:none;place-items:center;display:grid;position:fixed;inset:auto 0 0}@media (max-width:720px){.tour{bottom:var(--tabbar);padding-bottom:var(--s2)}.tour-card{max-height:calc(100svh - var(--tabbar) - var(--s5));overflow-y:auto}}.tour-card{pointer-events:auto;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--r-lg);width:min(560px,100%);box-shadow:var(--shadow-lg);padding:var(--s5);gap:var(--s3);display:grid}.tour-progress{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:650}.tour-card h2{letter-spacing:-.028em;margin:0;font-size:1.25rem;font-weight:700}.tour-body{color:var(--ink-secondary);margin:0;line-height:1.6}.tour-actions{justify-content:space-between;align-items:center;gap:var(--s3);margin-top:var(--s2);flex-wrap:wrap;display:flex}.tour-nav{gap:var(--s2);margin-left:auto;display:flex}.tour-dots{justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tour-dots li{background:var(--line-strong);border-radius:50%;width:6px;height:6px;transition:width .3s,background .3s}.tour-dots li.is-current{background:var(--green);border-radius:3px;width:18px}.demo-banner{align-items:center;gap:var(--s3);margin-bottom:var(--s4);padding:11px var(--s4);border:1px dashed var(--warn-mark);background:var(--warn-soft);color:var(--warn);border-radius:var(--r-sm);font-size:.84rem;display:flex}:root[data-tour-step] .demo-banner{opacity:1!important;filter:none!important}@media (prefers-reduced-motion:reduce){:root[data-tour-step] .shell>*,:root[data-tour-step] [data-tour],.tour-dots li{transition:none}}@media (max-width:620px){.tour-card{padding:var(--s4)}.tour-actions{flex-direction:column-reverse;align-items:stretch}.tour-nav{margin-left:0}.tour-nav button{flex:1}.tour{bottom:76px}}@media (max-width:560px){.grid{column-gap:var(--s2);row-gap:0}.grid>.metric{margin-bottom:var(--s3)}.grid>[data-tour=balances]{margin-bottom:var(--s2)}.grid>.card:not(.metric):not([data-tour=balances]){box-shadow:none;padding:var(--s5) 0 0;border:0;border-top:1px solid var(--line);margin-top:var(--s5);background:0 0;border-radius:0}.grid>.card:not(.metric):not([data-tour=balances])>.label,.grid>.card:not(.metric):not([data-tour=balances])>.card-heading .label{letter-spacing:.09em;color:var(--ink-secondary);font-size:.68rem;font-weight:700}.grid>.card:not(.metric):not([data-tour=balances])>.label,.grid>.card:not(.metric):not([data-tour=balances])>.card-heading{margin-bottom:var(--s3)}.grid>.card:not(.metric):not([data-tour=balances]):hover{box-shadow:none;border-color:var(--line)}.metric{padding:var(--s3) var(--s2);justify-content:space-between;align-self:stretch;gap:var(--s2);flex-direction:column;grid-column:span 4;display:flex}.metric .label{letter-spacing:.05em;align-content:start;min-height:2.3em;font-size:.62rem}.metric .value{letter-spacing:-.03em;min-width:0;font-size:1.15rem}.metric:first-of-type{grid-column:span 4}.metric:first-of-type .value{font-size:1.25rem}.metric .trend{display:none}.bar-row,.top-merchant{margin:7px 0;font-size:.82rem}.balance-row,.subscription-row{padding:8px 0}.upcoming-row{padding:7px 0}.budget-summary{padding:8px 0}.transaction{padding:9px 0}.grid .transaction-day{background:var(--paper)}.flow-figure strong{font-size:1.05rem}.trend-bars{min-height:104px}.trend-column{height:68px}.chart-caption{font-size:.72rem}.caption-long{display:none}.banking-card{padding:var(--s3) var(--s4);margin-bottom:var(--s3)}.banking-head{align-items:center;gap:var(--s3);flex-direction:row}.banking-head h2{font-size:.92rem}.banking-head .nav-long,.sync-control .nav-long{display:none}.banking-head .nav-short,.sync-control .nav-short{display:inline}.banking-head .panel-button{width:auto;padding:8px var(--s2);text-underline-offset:3px;border:0;min-height:40px;font-size:.8rem;text-decoration:underline}.bank-row{align-items:center;gap:var(--s3);flex-direction:row;padding:9px 0}.bank-row-actions button,.bank-row-actions .panel-button{width:auto;padding:9px var(--s3);min-height:40px;font-size:.78rem}.bank-row .bank-reconnect{width:100%}.bank-row:has(.bank-reconnect){flex-direction:column;align-items:stretch}}.filter-toggle{display:none}@media (max-width:560px){.filters .filter-toggle{align-items:baseline;gap:var(--s2);min-height:44px;padding:10px var(--s3);background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);font:inherit;cursor:pointer;text-align:left;flex:auto;font-size:.84rem;transition:border-color .15s,background-color .15s;display:inline-flex}.filters .filter-toggle:hover{border-color:var(--line-strong)}.filter-toggle-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:.72rem;font-weight:650}.filter-toggle-value{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-weight:600;overflow:hidden}.filter-toggle:after{content:"";background:var(--select-arrow) no-repeat center / 12px 8px;flex:none;width:12px;height:8px;margin-left:auto;transition:transform .18s}.filter-toggle[aria-expanded=true]:after{transform:rotate(180deg)}.filter-toggle-count{border-radius:var(--r-pill);background:var(--green);min-width:20px;height:20px;color:var(--invert-ink);flex:none;place-items:center;padding:0 6px;font-size:.7rem;font-weight:700;display:grid}.filters[data-collapsed=on] .field,.filters[data-collapsed=on] .filter-button{display:none}.balance-total{padding-bottom:var(--s2);gap:2px;display:grid}.balance-total strong{font-size:1.6rem}.card-heading .balance-secondary{font-size:.72rem}.field{flex-basis:100%}.filters .filter-button{width:100%}.field input[type=month],.field input[type=date]{justify-self:start;width:min(270px,100%)}}.auth-footer{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px 16px;margin-top:24px;padding-top:16px;display:flex}.auth-footer a{min-height:44px;color:var(--ink-secondary);align-items:center;font-size:.85rem;display:inline-flex}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--ink);outline-offset:4px}.workspace-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;margin:20px 0;display:grid}.workspace-summary article{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);gap:8px;min-width:0;padding:20px;display:grid}.workspace-summary span,.workspace-summary small{color:var(--muted);font-size:.84rem}.workspace-summary strong{overflow-wrap:anywhere;font-size:clamp(1.25rem,3vw,1.8rem)}.workspace-shortcuts{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.workspace-shortcuts a,.budget-detail-link{min-height:44px;color:var(--green);align-items:center;font-size:.88rem;display:inline-flex}.budget-edit summary{cursor:pointer;min-height:44px;padding:12px 0}.budget-inline-form{align-items:end;gap:12px;margin-top:12px;display:flex}.budget-inline-form input{width:100%;min-width:0}.budget-inline-form .field{flex:1;min-width:0}.budget-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.budget-head,.budget-stats{overflow-wrap:anywhere;flex-wrap:wrap}.add-budget-form{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto}.transaction-day-total{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.subscription-name{color:var(--ink);text-underline-offset:3px}@media (max-width:620px){.budget-list{grid-template-columns:minmax(0,1fr)}.budget-actions{flex-wrap:wrap}.budget-actions form{flex-wrap:wrap;min-width:0}.budget-actions form:first-child{flex-basis:100%}.budget-actions button{min-height:44px}.add-budget-form{grid-template-columns:minmax(0,1fr)}.budget-inline-form{flex-wrap:wrap}.budget-inline-form button{min-height:44px}}.reclassify{flex-wrap:wrap}.reclassify-scope{min-width:0;color:var(--muted);gap:6px;font-size:.8rem;display:grid}.reclassify .select-shell{min-width:0;max-width:100%}@media (max-width:620px){.reclassify>.field,.reclassify-scope{flex-basis:100%;width:100%}}.subscription-totals{gap:6px;display:grid}@media (max-width:620px){.workspace-summary{border:1px solid var(--line);border-radius:var(--r-lg);gap:0;overflow:hidden}.workspace-summary article{border:0;border-bottom:1px solid var(--line);border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:14px}.workspace-summary article:last-child{border-bottom:0}.workspace-summary strong{font-size:1.05rem}.workspace-summary small{grid-column:1/-1}}.transaction-filters{align-items:flex-end}.transaction-filters input,.transaction-filters select,.transaction-filters button{height:44px}.transaction-filters .field{flex:160px;min-width:0}.reclassify{grid-template-columns:minmax(0,1fr);align-items:stretch}.classification-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.classification-picker .field{min-width:0}.classification-picker select,.reclassify-scope select{width:100%;min-height:44px}.reclassify>button{justify-self:start;min-height:44px}.assistant-tools{flex-wrap:wrap;align-items:flex-end;gap:16px;margin:24px 0;display:flex}.assistant-tools>a{align-items:center;min-height:44px;display:inline-flex}.assistant-tools form{flex:1;align-items:flex-end;gap:10px;min-width:min(100%,260px);display:flex}.assistant-tools .field{flex:1;min-width:0}.assistant-tools select{width:100%;min-width:0;min-height:44px}.assistant-tools button{min-height:44px}.profile-optional{border-top:1px solid var(--line);padding-top:8px}.profile-optional summary{cursor:pointer;min-height:44px;padding-block:12px;font-size:.9rem}.profile-optional .welcome-row,.profile-optional>.field{margin-top:16px}.welcome-step{color:var(--green);margin-top:20px;font-size:.8rem}.welcome-next{color:var(--ink-secondary);margin-bottom:24px;padding-left:20px;font-size:.87rem;line-height:1.6}.welcome-next li{margin-bottom:6px}.welcome-exit{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;display:flex}.welcome-exit a,.welcome-exit button{align-items:center;min-height:44px;display:inline-flex}.account-grid h2{margin:0 0 14px;font-size:1.2rem}.account-banks{padding:0;list-style:none}.account-banks li{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 0;font-size:.88rem;display:flex}.account-grid .detail-list dd{overflow-wrap:anywhere;min-width:0}.danger-zone summary{cursor:pointer;min-height:44px;padding-block:12px}@media (max-width:620px){.classification-picker{grid-template-columns:minmax(0,1fr)}.assistant-tools{align-items:stretch;gap:12px}.assistant-tools form{flex-basis:100%}.reclassify>button{width:100%}.welcome-card{padding:22px 18px}.welcome-shell{align-content:start}.account-grid .account-actions>a,.account-grid .account-actions form{flex:100%}.account-grid .account-actions button{width:100%}.dashboard-upcoming .upcoming-row{grid-template-columns:auto minmax(0,1fr)}.dashboard-upcoming .upcoming-row strong{grid-column:2}}.assistant-proposal{border:1px solid var(--green-border);background:var(--green-soft);border-radius:var(--r-lg);margin:16px 0;padding:20px}.assistant-proposal p{color:var(--ink-secondary);line-height:1.5}
