dialog{color:#000;background:#fff;border:solid;width:-webkit-fit-content;width:fit-content;height:-webkit-fit-content;height:fit-content;margin:auto;padding:1em;display:block;position:absolute;left:0;right:0}dialog:not([open]){display:none}dialog+.backdrop{background:#0000001a;position:fixed;top:0;bottom:0;left:0;right:0}._dialog_overlay{position:fixed;top:0;bottom:0;left:0;right:0}dialog.fixed{position:fixed;top:50%;transform:translateY(-50%)}:root{--color-paper:#f5f6fa;--color-paper-2:#eceef5;--color-paper-3:#d9dce7;--color-ink:#11112f;--color-ink-2:#242346;--color-muted:#77798a;--color-rule:#e2e4ec;--color-rule-2:#c8cad5;--color-accent:#6236e8;--color-accent-soft:#eee9ff;--color-accent-ink:#32169c;--color-positive:#218a55;--color-negative:#cf3346;--color-focus:#6236e8;--color-shadow:#1b19481f;--font-display:"Manrope", sans-serif;--font-body:"Manrope", sans-serif;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--text-xs:.78rem;--text-sm:.9rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.563rem;--text-2xl:1.953rem;--text-display:clamp(2.65rem, 12vw, 5.75rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur-base:.24s;--rule-hairline:1px;--radius-sm:.375rem;--radius-md:.75rem;--radius-round:999px}*{box-sizing:border-box}html,body,#root{min-height:100%}html,body{background:var(--color-paper);min-width:320px;color:var(--color-ink);margin:0;overflow-x:clip}body,button,input,select{font-family:var(--font-body)}button,input,select{font-size:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.42}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-display);overflow-wrap:anywhere;min-width:0;font-style:normal;font-weight:500}h1{font-size:var(--text-2xl);line-height:1.1}h2{font-size:max(1.75rem,min(3vw,2.7rem));line-height:1.05}button{white-space:nowrap}svg{flex:none}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.boot-screen{min-height:100vh;place-content:center;justify-items:center;gap:var(--space-md);text-align:center;min-height:100dvh;display:grid}.boot-screen .auth-mark{color:var(--color-accent);background:var(--color-ink)}.spinner{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-shell{isolation:isolate;min-height:100vh;background:var(--color-ink);width:100vw;min-height:100dvh;padding:0;display:grid;position:relative;overflow:hidden}.language-switcher{border:var(--rule-hairline) solid var(--color-rule-2);background:var(--color-paper);border-radius:.8rem;grid-template-columns:repeat(2,44px);gap:2px;padding:2px;display:inline-grid}.language-switcher button{min-width:44px;min-height:44px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:.6rem;font-size:.72rem;font-weight:700}.language-switcher button.active{background:var(--color-ink);color:var(--color-paper)}.language-switcher button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.auth-shell>.language-switcher{z-index:2;inset:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) auto auto;position:absolute}.dashboard-language{justify-content:flex-end;margin-top:.5rem;display:flex}.auth-shell:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 12% 8%,color(display-p3 .709745 .570704 .324501/.16),#0000 34rem),linear-gradient(115deg,#0000 0,#0000 48%,color(display-p3 .25103 .224213 .190125/.22) 48%,color(display-p3 .25103 .224213 .190125/.22) 48.08%,#0000 48.08%);background:radial-gradient(circle at 12% 8%,lab(62.9048% 11.3311 44.5909/.16),#0000 34rem),linear-gradient(115deg,#0000 0,#0000 48%,lab(24.5969% 2.55409 7.40808/.22) 48%,lab(24.5969% 2.55409 7.40808/.22) 48.08%,#0000 48.08%);position:absolute;top:0;bottom:0;left:0;right:0}.auth-story{justify-content:space-between;gap:var(--space-xl);min-height:17rem;padding:var(--space-xl) var(--space-xl) var(--space-lg);color:var(--color-paper);flex-direction:column;display:flex}.auth-mark{border:var(--rule-hairline) solid var(--color-ink-2);width:48px;height:48px;color:var(--color-accent);font-family:var(--font-display);font-size:var(--text-xl);border-radius:10px;place-items:center;text-decoration:none;display:grid;overflow:hidden}.auth-mark img,.wordmark img{width:100%;height:100%;display:block}img.auth-mark{object-fit:cover}.auth-story .eyebrow,.auth-story>span{color:var(--color-paper-3)}.auth-story h1{max-width:12ch;margin-block:var(--space-sm);text-wrap:balance;font-size:max(2.5rem,min(7vw,5.8rem))}.auth-story div>p:last-child{max-width:50ch;color:var(--color-paper-3)}.auth-story>span{font-size:var(--text-sm)}.auth-form-wrap{padding:var(--space-sm) var(--space-md) var(--space-xl);place-items:start center;display:grid}.auth-form{background:var(--color-paper);width:min(100%,30rem);padding:max(1.5rem,min(6vw,3rem));box-shadow:0 24px 80px color(display-p3 .0174455 .0119189 .00655642/.28);box-shadow:0 24px 80px lab(.901543% .332251 .73292/.28)}.auth-form h2{margin-top:var(--space-xs)}.form-intro{color:var(--color-muted);margin-top:var(--space-sm)}.auth-form>label,.transaction-form>label,.form-grid>label{gap:var(--space-xs);margin-block:var(--space-lg);font-size:var(--text-sm);display:grid}.auth-form input,.transaction-form input,.transaction-form select,.transaction-form textarea{width:100%;min-height:48px;padding-inline:var(--space-sm);border:var(--rule-hairline) solid var(--color-rule-2);outline-offset:1px;background:var(--color-paper);color:var(--color-ink);outline:2px solid #0000;font-size:1rem}.transaction-form textarea{min-height:6rem;padding-block:var(--space-sm);resize:vertical}.auth-form input::placeholder,.transaction-form input::placeholder,.transaction-form textarea::placeholder{color:var(--color-muted)}.auth-form input:hover,.transaction-form input:hover,.transaction-form select:hover,.transaction-form textarea:hover{background:var(--color-paper-2)}.auth-form input:invalid:not(:placeholder-shown),.transaction-form input:invalid:not(:placeholder-shown){border-color:var(--color-negative)}.auth-form input:valid:not(:placeholder-shown),.transaction-form input:valid:not(:placeholder-shown){border-color:var(--color-positive)}.password-field{position:relative}.password-field input:not(:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi)){padding-right:3.5rem}.password-field input:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi){padding-left:3.5rem}.password-field button{background:var(--color-paper);cursor:pointer;border:0;width:44px;position:absolute;top:2px;bottom:2px}.password-field button:not(:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi)){right:2px}.password-field button:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi){left:2px}.auth-form .submit{margin-top:var(--space-lg)}.form-error{padding:var(--space-sm);border:var(--rule-hairline) solid var(--color-negative);color:var(--color-negative);font-size:var(--text-sm)}.offline-banner{justify-content:space-between;align-items:center;gap:var(--space-sm);border:1px solid color-mix(in oklch, var(--color-accent), transparent 55%);background:color-mix(in oklch, var(--color-accent-soft), white 35%);color:var(--color-accent-ink);border-radius:.9rem;margin-top:1rem;padding:.75rem 1rem;font-size:.82rem;display:flex}.offline-banner button{background:var(--color-accent);color:#fff;cursor:pointer;border:0;border-radius:.6rem;align-items:center;gap:.35rem;min-height:36px;padding-left:.7rem;padding-right:.7rem;font-weight:700;display:inline-flex}.offline-banner svg{width:15px;height:15px}.auth-note{justify-content:center;align-items:center;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-xs);margin-top:var(--space-md);display:flex}.auth-note svg{width:16px}.app-shell{min-height:100vh;min-height:100dvh}.install-notice{border:1px solid color-mix(in oklch, var(--color-rule), transparent 12%);background:var(--color-paper-2);color:var(--color-ink);animation:install-in .32s var(--ease-out) both;border-radius:1.2rem;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:.8rem;margin-top:1rem;padding:.85rem 3rem .85rem .85rem;display:grid;position:relative;box-shadow:inset 0 1px #ffffffbf}.install-notice>img{border-radius:.9rem;width:56px;height:56px;box-shadow:0 7px 18px #11112f29}.install-copy{min-width:0}.install-copy .eyebrow{margin-bottom:.2rem}.install-copy h2{letter-spacing:-.025em;font-size:.95rem}.install-copy>p:last-child{color:var(--color-muted);margin-top:.25rem;font-size:.72rem;line-height:1.4}.install-copy>p svg{vertical-align:-.18em;width:14px;height:14px;color:var(--color-accent)}.install-button{background:var(--color-accent);color:#fff;cursor:pointer;border:0;border-radius:.75rem;grid-column:1/-1;justify-content:center;align-items:center;gap:.35rem;min-height:44px;padding-left:.9rem;padding-right:.9rem;font-weight:700;display:inline-flex}.install-button svg{width:17px;height:17px}.install-button:disabled{opacity:.65;cursor:wait}.install-dismiss{width:36px;height:36px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:.35rem;bottom:auto;left:auto;right:.35rem}.install-dismiss svg{width:17px;height:17px}@keyframes install-in{0%{opacity:0;transform:translateY(14px)}}.rail{display:none}.topbar{gap:var(--space-lg);border-bottom:var(--rule-hairline) solid var(--color-rule);flex-direction:column;padding-bottom:var(--space-xl);display:flex}.eyebrow{color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}.eyebrow span{background:var(--color-paper-2);color:var(--color-ink-2);border:var(--rule-hairline) solid var(--color-rule);border-radius:var(--radius-sm);letter-spacing:.04em;padding:.18rem .4rem;display:inline-block}.eyebrow span:not(:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi)){margin-left:var(--space-xs)}.eyebrow span:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi){margin-right:var(--space-xs)}.topbar h1{margin-top:var(--space-xs)}.top-actions{gap:var(--space-sm);flex-direction:column;display:flex}.month-switcher{border:var(--rule-hairline) solid var(--color-rule);grid-template-columns:44px minmax(7.5rem,1fr) 44px 44px;align-items:center;width:100%;display:grid}.month-switcher button{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid}.month-switcher .month-refresh:not(:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi)){border-left:var(--rule-hairline) solid var(--color-rule)}.month-switcher .month-refresh:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi){border-right:var(--rule-hairline) solid var(--color-rule)}.month-switcher span{text-align:center;font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.primary,.secondary{justify-content:center;align-items:center;gap:var(--space-xs);border:var(--rule-hairline) solid var(--color-ink);min-height:44px;padding-inline:var(--space-md);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);display:inline-flex}.primary{background:var(--color-ink);color:var(--color-paper)}.top-actions>.primary{width:100%}.secondary{color:var(--color-ink);background:0 0}.hero-ledger{gap:var(--space-xl);padding-block:var(--space-2xl);border-bottom:var(--rule-hairline) solid var(--color-rule);display:grid}.hero-copy{flex-direction:column;align-items:flex-start;display:flex}.hero-copy>p{color:var(--color-muted)}.hero-copy>strong{font-family:var(--font-display);font-size:var(--text-display);letter-spacing:-.045em;margin-block:var(--space-xs) var(--space-sm);font-weight:500;line-height:1}.hero-copy>span{align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);display:inline-flex}.positive{color:var(--color-positive)!important}.negative{color:var(--color-negative)!important}.flow-visual{place-items:center;min-width:0;display:grid}.ring{aspect-ratio:1;text-align:center;background:conic-gradient(var(--color-accent) var(--income), var(--color-paper-3) 0);border-radius:50%;place-content:center;width:min(64vw,220px);height:min(64vw,220px);display:grid;position:relative}.ring:after{content:"";background:var(--color-paper);border-radius:50%;position:absolute;top:15%;bottom:15%;left:15%;right:15%}.ring span,.ring strong{z-index:1}.ring span{color:var(--color-muted);font-size:var(--text-xs)}.ring strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.summary{border-block:var(--rule-hairline) solid var(--color-rule);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.summary div{min-width:0;padding:var(--space-md) var(--space-sm)}.summary div:not(:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi)){border-right:var(--rule-hairline) solid var(--color-rule)}.summary div:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi){border-left:var(--rule-hairline) solid var(--color-rule)}.summary div:last-child{border:0}.summary dt,.summary small{color:var(--color-muted);font-size:var(--text-xs)}.summary dd{margin:var(--space-2xs) 0;font-family:var(--font-display);font-size:var(--text-lg);white-space:nowrap}.summary small{display:none}.content-grid{gap:var(--space-xl);padding-block:var(--space-2xl);display:grid}.ledger-panel,.focus-panel{min-width:0}.panel-head{gap:var(--space-md);border-bottom:var(--rule-hairline) solid var(--color-rule);flex-direction:column;padding-bottom:var(--space-md);display:flex}.panel-head h2{font-size:var(--text-2xl)}.panel-head p,.focus-panel>p{color:var(--color-muted);margin-top:var(--space-2xs)}.filters{gap:var(--space-2xs);display:flex}.filters button{min-height:36px;padding-inline:var(--space-sm);border:var(--rule-hairline) solid transparent;text-transform:capitalize;cursor:pointer;background:0 0}.filters button.selected{border-color:var(--color-rule-2);background:var(--color-paper-2)}.transaction{gap:var(--space-sm);width:100%;padding:var(--space-md) 0;border:0;border-bottom:var(--rule-hairline) solid var(--color-rule);color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;display:grid}.transaction:focus-visible{z-index:1;outline:2px solid var(--color-focus);outline-offset:3px;border-radius:.5rem;position:relative}.transaction-icon{background:var(--color-paper-2);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.transaction-copy{min-width:0}.transaction-title{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.transaction-meta{color:var(--color-muted);font-size:var(--text-xs);margin-top:var(--space-2xs);display:block}.transaction>strong{font-variant-numeric:tabular-nums;font-weight:500}.text-action{gap:var(--space-xs);min-height:44px;border:0;border-bottom:var(--rule-hairline) solid var(--color-ink);cursor:pointer;background:0 0;align-items:center;margin-top:var(--space-md);padding:0;display:inline-flex}.error-banner{gap:var(--space-sm);padding:var(--space-md);border:var(--rule-hairline) solid var(--color-negative);color:var(--color-negative);flex-direction:column;margin-top:var(--space-md);display:flex}.error-banner button{justify-content:center;align-items:center;gap:var(--space-xs);border:var(--rule-hairline) solid var(--color-negative);min-height:44px;color:inherit;cursor:pointer;background:0 0;display:inline-flex}.loading-page{place-content:center;justify-items:center;gap:var(--space-md);min-height:55dvh;color:var(--color-muted);display:grid}.focus-panel{padding:var(--space-xl);background:var(--color-ink);color:var(--color-paper);align-self:start}.focus-panel .eyebrow,.focus-panel>p{color:var(--color-paper-3)}.focus-panel h2{margin-block:var(--space-sm) var(--space-md)}.goal{margin-block:var(--space-xl)}.goal-row{justify-content:space-between;gap:var(--space-sm);font-size:var(--text-sm);display:flex}.goal-row.muted{color:var(--color-paper-3)}.goal-track{background:var(--color-ink-2);height:5px;margin-block:var(--space-sm)}.goal-track span{background:var(--color-accent);height:100%;display:block}.focus-panel .secondary{color:var(--color-paper);border-color:var(--color-paper-3)}.assets-section{padding-block:var(--space-2xl);border-top:var(--rule-hairline) solid var(--color-rule)}.section-heading{gap:var(--space-lg);margin-bottom:var(--space-xl);display:grid}.section-heading>div:last-child{align-self:end}.section-heading>div:last-child span{color:var(--color-muted);font-size:var(--text-sm);display:block}.section-heading>div:last-child strong{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;display:block}.asset-layout{gap:var(--space-xl);display:grid}.asset-bars article{padding-block:var(--space-md);border-bottom:var(--rule-hairline) solid var(--color-rule)}.asset-bars article>div:first-child{justify-content:space-between;gap:var(--space-md);display:flex}.asset-bars h3,.asset-bars span{font-size:var(--text-sm);font-weight:500}.asset-bars p{color:var(--color-muted);font-size:var(--text-xs);margin-top:var(--space-xs)}.bar{background:var(--color-paper-3);height:3px;margin-top:var(--space-sm)}.bar span{background:var(--color-accent);height:100%;display:block}.net-card{padding:var(--space-xl);border:var(--rule-hairline) solid var(--color-rule-2)}.net-card>p{color:var(--color-muted);font-size:var(--text-xs);margin-top:var(--space-lg)}.net-card>strong{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;display:block}.net-card hr{border:0;border-top:var(--rule-hairline) solid var(--color-rule);margin-block:var(--space-lg)}.net-card>span{color:var(--color-positive);font-size:var(--text-sm);margin-top:var(--space-lg);display:block}.accounts-grid{border-top:var(--rule-hairline) solid var(--color-rule)}.account-row{align-items:center;gap:var(--space-sm);padding-block:var(--space-md);border-bottom:var(--rule-hairline) solid var(--color-rule);grid-template-columns:42px minmax(0,1fr) auto;display:grid}.account-row h3{font-size:var(--text-md);font-weight:500}.account-row p{color:var(--color-muted);font-size:var(--text-xs);text-transform:capitalize;margin-top:var(--space-2xs)}.account-row>strong{font-family:var(--font-display);font-size:var(--text-lg);white-space:nowrap;font-weight:500}.account-actions{grid-column:2/-1;justify-content:flex-end;gap:.25rem;display:flex}.account-actions .icon-button{cursor:pointer;background:0 0;border:0;width:40px;height:40px}.checkbox-field{grid-template-columns:auto 1fr;align-items:center;gap:.6rem!important;display:flex!important}.checkbox-field input{width:20px;min-height:20px;accent-color:var(--color-accent)}.account-dialog{overflow-y:auto}.account-dialog form{max-height:inherit;overflow-y:auto}.empty-ledger{place-content:center;justify-items:center;gap:var(--space-sm);text-align:center;min-height:19rem;color:var(--color-muted);display:grid}.empty-ledger h3{color:var(--color-ink)}footer{gap:var(--space-xs);padding-block:var(--space-lg);border-top:var(--rule-hairline) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-xs);flex-direction:column;display:flex}.mobile-nav{z-index:10;padding:var(--space-xs) max(var(--space-xs),env(safe-area-inset-right)) max(var(--space-xs),env(safe-area-inset-bottom)) max(var(--space-xs),env(safe-area-inset-left));background:var(--color-ink);color:var(--color-paper-3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;top:auto;bottom:0;left:0;right:0}.mobile-nav button{place-items:center;gap:var(--space-2xs);min-width:0;min-height:54px;color:inherit;cursor:pointer;background:0 0;border:0;font-size:.66rem;display:grid}.mobile-nav button.active{color:var(--color-accent)}.mobile-nav .mobile-add{border:1px solid var(--color-accent);background:var(--color-accent);width:54px;height:54px;min-height:54px;color:var(--color-ink);box-shadow:0 10px 24px var(--color-shadow);border-radius:50%;justify-self:center;transform:translateY(-15px)}.page-enter{animation:page-in .36s var(--ease-out) both}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}}.page-intro{gap:var(--space-xl);padding-block:var(--space-2xl);border-bottom:var(--rule-hairline) solid var(--color-rule);display:grid}.page-intro>div:first-child>p:last-child{max-width:35rem;color:var(--color-muted);margin-top:var(--space-md);line-height:1.65}.flow-bars{align-content:end;gap:var(--space-md);display:grid}.flow-bars>div{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);grid-template-columns:5rem minmax(5rem,1fr) auto;display:grid}.flow-bars i{background:var(--color-paper-3);height:8px;overflow:hidden}.flow-bars b{transform-origin:0;background:var(--color-positive);width:100%;height:100%;display:block}.flow-bars .expense-bar{background:var(--color-negative)}.flow-bars strong{font-variant-numeric:tabular-nums}.activity-ledger{padding-block:var(--space-2xl)}.panel-head .eyebrow{align-items:center;gap:var(--space-xs);display:flex}.panel-head .text-action{border:0}.focus-panel>svg{width:32px;height:32px;color:var(--color-accent);margin-bottom:var(--space-2xl)}.focus-panel .secondary{min-height:48px;border:1px solid var(--color-ink-2);padding-inline:var(--space-md);margin-top:var(--space-xl)}.accounts-intro{align-items:end}.net-figure:not(:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi)){border-left:4px solid var(--color-accent);padding-left:var(--space-lg)}.net-figure:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi){border-right:4px solid var(--color-accent);padding-right:var(--space-lg)}.net-figure span,.net-figure small{color:var(--color-muted);display:block}.net-figure strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:max(2.25rem,min(8vw,4.6rem));font-weight:500;line-height:1.1;display:block}.account-index{color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.goals-hero{gap:var(--space-xl);padding-block:var(--space-3xl);border-bottom:var(--rule-hairline) solid var(--color-rule);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.goals-hero p:last-child{max-width:38rem;color:var(--color-muted);margin-top:var(--space-md);line-height:1.65}.goals-hero>svg{stroke-width:.8px;width:max(4rem,min(15vw,10rem));height:auto;color:var(--color-accent)}.goal-sheet{margin-block:var(--space-2xl);background:var(--color-ink);color:var(--color-paper);padding:max(1.25rem,min(4vw,3rem))}.goal-sheet header{justify-content:space-between;gap:var(--space-md);align-items:start;display:flex}.goal-kicker{color:var(--color-accent);font-size:var(--text-sm)}.goal-sheet header>strong{font-family:var(--font-display);font-size:var(--text-2xl)}.goal-line{height:8px;margin-block:var(--space-xl);background:var(--color-ink-2);overflow:hidden}.goal-line span{transform-origin:0;background:var(--color-accent);width:100%;height:100%;display:block}.goal-numbers{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.goal-numbers div{padding-block:var(--space-md);border-top:1px solid var(--color-ink-2)}.goal-numbers span,.goal-sheet>p{color:var(--color-paper-3);font-size:var(--text-sm)}.goal-numbers strong{font-size:var(--text-lg);margin-top:var(--space-xs);display:block}.goal-sheet>p{max-width:38rem;margin-top:var(--space-xl);line-height:1.6}.goal-prompt{gap:var(--space-md);max-width:46rem;padding-block:var(--space-xl);border-block:var(--rule-hairline) solid var(--color-rule);grid-template-columns:44px 1fr;display:grid}.goal-prompt p{color:var(--color-muted);margin-top:var(--space-xs);line-height:1.6}dialog{top:0;bottom:0;left:0;right:0;width:min(100% - 2rem,30rem);height:-webkit-fit-content;height:fit-content;max-height:min(88vh,42rem);border:var(--rule-hairline) solid var(--color-rule-2);background:var(--color-paper);max-height:min(88dvh,42rem);color:var(--color-ink);box-shadow:0 24px 70px var(--color-shadow);margin:auto;padding:0;position:fixed;top:0;bottom:0;left:0;right:0;max-width:100vw!important;max-width:100dvw!important}dialog+.backdrop{background:#22211fa3;background:oklch(14% .01 70/.64)}dialog::backdrop{background:#22211fa3;background:oklch(14% .01 70/.64)}dialog header{justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-xl);display:flex}.icon-button{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid}.icon-button:disabled{opacity:.35;cursor:not-allowed}dialog label{gap:var(--space-xs);margin-block:var(--space-md);font-size:var(--text-sm);display:grid}dialog input,dialog select{width:100%;height:48px;padding-inline:var(--space-sm);border:var(--rule-hairline) solid var(--color-rule-2);outline-offset:1px;background:var(--color-paper);color:var(--color-ink);outline:2px solid #0000}dialog input::placeholder{color:var(--color-muted)}dialog input:hover,dialog select:hover{background:var(--color-paper-2)}dialog input:focus-visible{outline-color:var(--color-focus)}dialog select:focus-visible{outline-color:var(--color-focus)}dialog input:invalid:not(:placeholder-shown){border-color:var(--color-negative)}dialog input:valid:not(:placeholder-shown){border-color:var(--color-positive)}dialog input:disabled,dialog select:disabled{opacity:.55;cursor:not-allowed;color:var(--color-muted)}.submit{width:100%;margin-top:var(--space-md)}.transaction-form{max-height:100vh;overscroll-behavior:contain;max-height:100dvh;overflow-y:auto}.transaction-form header .eyebrow{align-items:center;gap:var(--space-2xs);display:flex}.transaction-form header .eyebrow svg{width:14px;height:14px;color:var(--color-accent)}.smart-composer{border:var(--rule-hairline) solid var(--color-rule-2);background:var(--color-paper);transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);border-radius:1rem;margin-bottom:var(--space-md);overflow:hidden}.smart-composer:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.smart-composer.is-processing{background:var(--color-paper-2)}.smart-composer>textarea{width:100%;min-height:76px;padding:var(--space-md) var(--space-md) var(--space-xs);resize:vertical;color:var(--color-ink);font:inherit;background:0 0;border:0;outline:0;line-height:1.5}.smart-composer>textarea::placeholder{color:var(--color-muted)}.smart-actions{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:52px;padding:var(--space-xs);display:flex}.smart-actions>div{gap:var(--space-2xs);display:flex}.smart-action,.smart-send,.smart-preview button{width:44px;height:44px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:.75rem;place-items:center;display:grid}.smart-action svg,.smart-send svg,.smart-preview button svg{width:19px;height:19px}.smart-action.recording{background:var(--color-negative);color:#fff}.smart-send{background:var(--color-ink);color:var(--color-paper)}.smart-action:disabled,.smart-send:disabled{opacity:.4;cursor:not-allowed}.smart-preview{margin:var(--space-sm) var(--space-sm) 0;width:88px;height:88px;position:relative}.smart-preview img{object-fit:cover;border:var(--rule-hairline) solid var(--color-rule);border-radius:.8rem;width:100%;height:100%;display:block}.smart-preview button{background:var(--color-ink);width:32px;height:32px;color:var(--color-paper);border-radius:50%;position:absolute;top:-8px;bottom:auto;left:auto;right:-8px}.smart-preview button svg{width:15px;height:15px}.smart-hint{padding:0 var(--space-md) var(--space-sm);color:var(--color-muted);font-size:var(--text-xs);line-height:1.45}.smart-status,.smart-result{align-items:center;gap:var(--space-xs);margin:0 0 var(--space-md);padding:var(--space-sm);background:var(--color-accent-soft);color:var(--color-accent-ink);font-size:var(--text-xs);border-radius:.75rem;line-height:1.45;display:flex}.smart-status svg,.smart-result svg{flex:none;width:16px;height:16px}.recording-status{background:color-mix(in oklch, var(--color-negative), transparent 90%);color:var(--color-negative)}.recording-status>span{background:currentColor;border-radius:50%;flex:none;width:9px;height:9px;animation:1.1s ease-in-out infinite recording-pulse}@keyframes recording-pulse{50%{opacity:.25;transform:scale(.72)}}.type-picker{gap:var(--space-xs);margin:0 0 var(--space-lg);border:0;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;display:grid}.type-picker legend{font-size:var(--text-sm);margin-bottom:var(--space-xs)}.type-picker label{place-items:center;gap:var(--space-2xs);min-width:0;min-height:66px;padding:var(--space-xs);border:var(--rule-hairline) solid var(--color-rule);cursor:pointer;font-size:var(--text-xs);display:grid}.type-picker input{opacity:0;width:1px;height:1px;position:absolute}.form-grid{gap:0 var(--space-md);display:grid}.field-help{min-height:1lh;color:var(--color-muted);font-size:var(--text-xs);text-align:center;margin-top:var(--space-xs)}.transaction-detail-dialog{width:100%;height:auto;max-height:90vh;max-height:min(90dvh,calc(100dvh - env(safe-area-inset-top)));border-radius:1.5rem 1.5rem 0 0;margin:0;top:auto;bottom:0;left:0;right:0;overflow:hidden}.transaction-detail-shell{max-height:inherit;overscroll-behavior:contain;padding:max(1.25rem,env(safe-area-inset-top)) max(1.125rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1.125rem,env(safe-area-inset-left));overflow-y:auto}.transaction-detail-shell>header{z-index:2;top:calc(-1 * max(1.25rem,env(safe-area-inset-top)));margin:calc(-1 * max(1.25rem,env(safe-area-inset-top))) calc(-1 * max(1.125rem,env(safe-area-inset-right))) var(--space-lg) calc(-1 * max(1.125rem,env(safe-area-inset-left)));padding:max(1.25rem,env(safe-area-inset-top)) max(1.125rem,env(safe-area-inset-right)) var(--space-sm) max(1.125rem,env(safe-area-inset-left));background:var(--color-paper);border-bottom:var(--rule-hairline) solid var(--color-rule);position:-webkit-sticky;position:sticky}.transaction-detail-shell header h2{max-width:22ch;text-wrap:balance;margin-top:var(--space-2xs)}.detail-loading{align-content:center;place-items:center;gap:var(--space-sm);min-height:18rem;color:var(--color-muted);display:grid}.detail-error{gap:var(--space-sm);min-height:18rem;padding:var(--space-md);text-align:center;align-content:center;display:grid}.detail-error small{color:var(--color-muted);overflow-wrap:anywhere}.detail-error>div{justify-content:center;gap:var(--space-xs);display:flex}.detail-error button{min-width:7rem}.transaction-detail-body{gap:var(--space-xl);display:grid}.detail-hero{align-items:center;gap:var(--space-md);border-bottom:var(--rule-hairline) solid var(--color-rule);grid-template-columns:48px minmax(0,1fr);padding-bottom:var(--space-lg);display:grid}.detail-hero .transaction-icon{width:48px;height:48px}.detail-hero strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:max(2rem,min(10vw,3rem));line-height:1;display:block}.detail-hero small{color:var(--color-muted);margin-top:var(--space-xs);font-weight:600;display:block}.detail-hero p{color:var(--color-muted);margin-top:var(--space-xs)}.detail-grid{gap:var(--space-lg) var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.detail-grid div{min-width:0}.detail-grid dt,.detail-section h3{color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-xs);font-weight:600}.detail-grid dd{overflow-wrap:anywhere;font-weight:600}.detail-section{border-top:var(--rule-hairline) solid var(--color-rule);padding-top:var(--space-lg)}.detail-section>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.detail-attachments{gap:var(--space-sm);display:grid}.detail-attachment{align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:var(--rule-hairline) solid var(--color-rule);border-radius:1rem;grid-template-columns:72px minmax(0,1fr);display:grid}.detail-attachment:not(:has(.attachment-thumbnail)){grid-template-columns:1fr}.attachment-thumbnail{background:var(--color-paper-2);cursor:zoom-in;border:0;border-radius:.65rem;width:72px;height:72px;padding:0;overflow:hidden}.detail-attachment img{object-fit:cover;border-radius:.65rem;width:72px;height:72px;display:block}.detail-attachment>div{gap:var(--space-2xs);min-width:0;display:grid}.detail-attachment strong,.detail-attachment small{overflow-wrap:anywhere}.detail-attachment small{color:var(--color-muted);font-size:var(--text-xs)}.detail-attachment>div a,.attachment-action{align-items:center;gap:var(--space-2xs);width:-webkit-fit-content;width:fit-content;color:var(--color-accent);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;display:inline-flex}.detail-attachment>div a svg,.attachment-action svg{width:14px;height:14px}.media-viewer{width:min(100% - 2rem,64rem);height:calc(100vh - 2rem);background:var(--color-ink);max-width:none;height:min(100dvh - 2rem,52rem);max-height:52rem;color:var(--color-paper);box-shadow:0 28px 90px var(--color-shadow);border:0;border-radius:1.25rem;margin:auto;padding:0;top:0;bottom:0;left:0;right:0;overflow:hidden}.media-viewer+.backdrop{background:#161424d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(12% .02 280/.82)}.media-viewer::backdrop{background:#161424d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(12% .02 280/.82)}.media-viewer-shell{grid-template-rows:auto minmax(0,1fr);height:100%;display:grid}.media-viewer-shell>header{justify-content:space-between;align-items:center;gap:var(--space-md);min-width:0;padding:var(--space-sm) var(--space-md);border-bottom:1px solid color(display-p3 1 1 1/.12);border-bottom:1px solid lab(100% 0 0/.12);display:flex}.media-viewer-shell>header h3{min-width:0;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.media-viewer-shell>header .icon-button{color:var(--color-paper);flex:none}.media-viewer-content{min-height:0;padding:var(--space-md);place-items:center;display:grid;overflow:auto}.media-viewer-content img,.media-viewer-content video{object-fit:contain;max-width:100%;max-height:100%}.media-viewer-content audio{width:min(100%,36rem)}.signout{border:var(--rule-hairline) solid var(--color-rule)}@media (hover:hover) and (pointer:fine){.primary:hover{background:var(--color-ink-2);transform:translateY(-1px)}.secondary:hover,.month-switcher button:hover,.filters button:hover,.nav-btn:hover{background:var(--color-paper-2)}.focus-panel .secondary:hover{background:var(--color-ink-2)}.text-action:hover{color:var(--color-positive)}.smart-action:hover{background:var(--color-paper-2);color:var(--color-ink)}.transaction:hover{background:var(--color-paper-2)}}.primary:active,.secondary:active,.nav-btn:active,.mobile-nav button:active{transform:translateY(1px)}@media (min-width:40rem){.install-notice{grid-template-columns:56px minmax(0,1fr) auto;padding:1rem 3.25rem 1rem 1rem}.install-button{grid-column:auto}.auth-form-wrap{padding:var(--space-lg) var(--space-2xl) var(--space-2xl)}main{padding-inline:var(--space-xl)}.topbar{flex-direction:row;justify-content:space-between;align-items:end}.top-actions{flex-direction:row;justify-content:flex-end}.month-switcher,.top-actions>.primary{width:auto}.hero-ledger{grid-template-columns:minmax(0,1.3fr) minmax(180px,.7fr);align-items:center}.summary{grid-column:1/-1}.summary small{display:block}.panel-head{flex-direction:row;justify-content:space-between;align-items:end}.section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.error-banner{flex-direction:row;justify-content:space-between;align-items:center}.asset-layout{grid-template-columns:minmax(0,1.55fr) minmax(240px,.65fr)}footer{flex-direction:row;justify-content:space-between}.page-intro{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)}.accounts-intro{grid-template-columns:minmax(0,1fr) auto}}@media (min-width:60rem){.auth-shell{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-story{min-height:100vh;min-height:100dvh;padding:max(2rem,min(5vw,5rem))}.auth-form-wrap{align-items:center;padding:max(2rem,min(5vw,5rem))}.app-shell{grid-template-columns:88px minmax(0,1fr);display:grid}.rail{height:100vh;height:100dvh;padding-block:var(--space-lg);background:var(--color-ink);color:var(--color-paper);flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:-webkit-sticky;position:sticky;top:0}.wordmark{width:48px;height:48px;color:var(--color-accent);font-family:var(--font-display);font-size:var(--text-xl);border:var(--rule-hairline) solid var(--color-ink-2);place-items:center;text-decoration:none;display:grid}.rail nav{gap:var(--space-xs);display:grid}.nav-btn{place-items:center;gap:var(--space-2xs);width:64px;min-height:58px;color:var(--color-paper-3);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border:0;font-size:.65rem;display:grid}.nav-btn.active{color:var(--color-accent)}.nav-btn.active:not(:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi)){border-left:2px solid var(--color-accent)}.nav-btn.active:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi){border-right:2px solid var(--color-accent)}.avatar{border:var(--rule-hairline) solid var(--color-rule-2);width:44px;height:44px;color:var(--color-paper);cursor:pointer;background:0 0;border-radius:50%}main{width:min(100%,92rem);padding:var(--space-xl) clamp(2rem,5vw,5rem) var(--space-2xl);margin-left:auto;margin-right:auto}.hero-ledger{grid-template-columns:minmax(0,1.15fr) minmax(200px,.55fr) minmax(300px,.8fr);min-height:25rem}.summary{grid-column:auto}.content-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr)}.mobile-nav,.top-actions .signout{display:none}}body{background-image:radial-gradient(circle at 12% -8%,color(display-p3 1 1 1/.78),#0000 30rem);background-image:radial-gradient(circle at 12% -8%,lab(100% 0 0/.78),#0000 30rem);font-size:1rem;line-height:1.55}body:after{content:"";z-index:100;pointer-events:none;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");position:fixed;top:0;bottom:0;left:0;right:0}h1,h2{letter-spacing:-.035em;text-wrap:balance}h3,p{text-wrap:pretty}main{padding:max(1.25rem, env(safe-area-inset-top)) 1.125rem 8rem}.topbar{gap:var(--space-md);border-color:color-mix(in oklch, var(--color-rule), transparent 35%);padding-bottom:var(--space-lg)}.topbar h1{font-size:1.8rem}.topbar .eyebrow{text-transform:none;letter-spacing:0;font-size:.78rem}.top-actions{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) 44px;display:grid}.month-switcher{background:var(--color-paper-2);border:0;border-radius:1rem;box-shadow:inset 0 1px color(display-p3 1 1 1/.75);box-shadow:inset 0 1px lab(100% 0 0/.75)}.month-switcher span{font-weight:600}.desktop-add{display:none}.signout{background:var(--color-paper-2);border:0;border-radius:1rem}.hero-ledger{isolation:isolate;gap:var(--space-lg);background:var(--color-ink);color:var(--color-paper);box-shadow:0 20px 45px color-mix(in oklch, var(--color-shadow), transparent 24%), inset 0 1px 0 color(display-p3 1 1 1/.1);border:1px solid color(display-p3 1 1 1/.08);border:1px solid lab(100% 0 0/.08);border-radius:1.5rem;margin-top:var(--space-lg);padding:1.5rem;position:relative;overflow:hidden}@supports (color:lab(0% 0 0)){.hero-ledger{box-shadow:0 20px 45px color-mix(in oklch, var(--color-shadow), transparent 24%), inset 0 1px 0 lab(100% 0 0/.1)}}.hero-ledger:before{content:"";z-index:-1;aspect-ratio:1;border:1px solid color(display-p3 1 1 1/.08);border:1px solid lab(100% 0 0/.08);border-radius:50%;width:12rem;height:12rem;position:absolute;top:-7rem;bottom:auto;left:auto;right:-5rem;box-shadow:0 0 0 2.5rem color(display-p3 1 1 1/.025),0 0 0 5rem color(display-p3 1 1 1/.015);box-shadow:0 0 0 2.5rem lab(100% 0 0/.025),0 0 0 5rem lab(100% 0 0/.015)}.hero-copy>strong{max-width:100%;color:var(--color-paper);letter-spacing:-.06em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:max(2.55rem,min(12vw,4.8rem))}.hero-copy>span{border-radius:var(--radius-round);background:color(display-p3 1 1 1/.08);background:lab(100% 0 0/.08);padding:.4rem .65rem;color:var(--color-paper-3)!important}.flow-visual{opacity:.9;position:absolute;top:1.5rem;bottom:auto;left:auto;right:1.5rem}.ring{background:conic-gradient(var(--color-accent) var(--income), color(display-p3 1 1 1/.09) 0);width:68px;height:68px}@supports (color:lab(0% 0 0)){.ring{background:conic-gradient(var(--color-accent) var(--income), lab(100% 0 0/.09) 0)}}.ring:after{background:var(--color-ink-2);top:12%;bottom:12%;left:12%;right:12%}.ring span{display:none}.ring strong{color:var(--color-paper);font-size:1rem}.summary{border-color:color(display-p3 1 1 1/.13);border-color:lab(100% 0 0/.13);grid-template-columns:repeat(2,minmax(0,1fr))}.summary div{border-color:color(display-p3 1 1 1/.13);border-color:lab(100% 0 0/.13);padding:1rem .75rem}.summary div:last-child{border-top:1px solid color(display-p3 1 1 1/.13);border-top:1px solid lab(100% 0 0/.13);grid-column:1/-1}.summary dt,.summary small{color:var(--color-paper-3)}.summary dd{color:var(--color-paper);font-variant-numeric:tabular-nums;font-size:1.08rem}.content-grid,.page-intro,.assets-section,.activity-ledger{padding-top:2.25rem;padding-bottom:2.25rem}.panel-head h2,.section-heading h2{font-size:max(1.8rem,min(8vw,2.7rem))}.focus-panel,.goal-sheet{background:var(--color-ink);border-radius:1.25rem;box-shadow:inset 0 1px color(display-p3 1 1 1/.09);box-shadow:inset 0 1px lab(100% 0 0/.09)}.transaction{grid-template-columns:44px minmax(0,1fr) auto;gap:.8rem;min-height:76px}.transaction-icon{background:var(--color-paper-2);border-radius:1rem;width:44px;height:44px;box-shadow:inset 0 1px color(display-p3 1 1 1/.7);box-shadow:inset 0 1px lab(100% 0 0/.7)}.transaction-icon svg{width:19px}.transaction-title{font-size:.98rem}.transaction-meta{text-overflow:ellipsis;white-space:nowrap;max-width:25ch;overflow:hidden}.transaction>strong{font-size:.9rem}.filters{scrollbar-width:none;width:100%;padding-bottom:.2rem;overflow-x:auto}.filters button{border-radius:var(--radius-round);min-height:44px}.filters button.selected{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.account-feature{grid-template-columns:44px minmax(0,1fr) auto}.account-index{display:none}.account-row>strong{font-family:var(--font-body);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.net-figure{background:var(--color-paper-2);border:0;border-radius:1.25rem;padding:1.25rem}.net-figure strong{font-size:max(2.2rem,min(9vw,4.2rem))}.goal-sheet{padding:1.5rem}.goal-sheet h2{font-size:max(1.75rem,min(8vw,2.7rem))}.goal-prompt{background:var(--color-paper-2);border:0;border-radius:1.25rem;padding:1.25rem}.primary,.secondary{border-radius:.9rem;min-height:48px;font-weight:600}dialog{width:100%;height:100vh;height:100dvh;max-height:none;box-shadow:none;border:0;border-radius:0;margin:0;top:0;bottom:0;left:0;right:0}dialog form{padding:max(1.25rem, env(safe-area-inset-top)) 1.125rem max(1.5rem, env(safe-area-inset-bottom))}dialog input,dialog select,.auth-form input,.transaction-form textarea{border-radius:.8rem;min-height:52px;font-size:1rem}.type-picker label{border-radius:1rem;min-height:74px}.mobile-nav{inset:auto .75rem max(.75rem, env(safe-area-inset-bottom));border:1px solid color-mix(in oklch, var(--color-rule), transparent 18%);color:var(--color-muted);box-shadow:0 16px 42px var(--color-shadow), inset 0 1px 0 color(display-p3 1 1 1/.85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color(display-p3 .971121 .95902 .940503/.92);background:lab(96.5339% .690222 2.95945/.92);border-radius:1.4rem;padding:.3rem}@supports (color:lab(0% 0 0)){.mobile-nav{box-shadow:0 16px 42px var(--color-shadow), inset 0 1px 0 lab(100% 0 0/.85)}}.mobile-nav button{border-radius:1rem;min-height:58px;font-size:.64rem;font-weight:600}.mobile-nav .mobile-add{background:var(--color-ink);width:54px;height:54px;color:var(--color-accent);border:0;transform:none;box-shadow:inset 0 1px color(display-p3 1 1 1/.13);box-shadow:inset 0 1px lab(100% 0 0/.13)}.mobile-nav .mobile-add:active{transform:scale(.96)}.auth-story{background:var(--color-ink)}.auth-form{border-radius:1.5rem}@media (min-width:40rem){main{padding-inline:var(--space-xl)}.top-actions{display:flex}.desktop-add{display:inline-flex}.hero-ledger{padding:2rem}.flow-visual{opacity:1;position:static}.ring{width:min(26vw,190px)}.ring span{display:block}.ring strong{font-size:var(--text-xl)}.summary{grid-template-columns:repeat(3,minmax(0,1fr))}.summary div:last-child{border-top:0;grid-column:auto}dialog{width:min(100% - 2rem,36rem);height:-webkit-fit-content;height:fit-content;max-height:min(92dvh,56rem);box-shadow:0 24px 70px var(--color-shadow);border-radius:1.5rem;margin:auto;top:0;bottom:0;left:0;right:0}.transaction-detail-dialog{width:min(100% - 2rem,36rem);max-height:min(92dvh,56rem)}.transaction-detail-shell{padding:var(--space-xl)}.transaction-detail-shell>header{top:calc(-1 * var(--space-xl));margin:calc(-1 * var(--space-xl)) calc(-1 * var(--space-xl)) var(--space-lg);padding:var(--space-xl) var(--space-xl) var(--space-sm)}.transaction-form{max-height:min(92dvh,56rem)}}@media (min-width:60rem){.hero-ledger{padding:2.5rem}.mobile-nav{display:none}}body{background:var(--color-paper);color:#15151d}body:after{display:none}h1,h2{letter-spacing:-.045em}main{padding-left:1rem;padding-right:1rem}.topbar{border:0;flex-direction:row;justify-content:space-between;align-items:center;min-height:58px;padding-bottom:1rem}.topbar>div:first-child .eyebrow{display:none}.topbar h1{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.05rem;overflow:hidden}.top-actions{width:auto;display:flex}.month-switcher{width:auto;box-shadow:0 8px 26px var(--color-shadow);background:#fff;border-radius:1.1rem;grid-template-columns:40px minmax(6.8rem,1fr) 40px 46px;overflow:hidden}.month-switcher button{width:40px;height:44px}.month-switcher span{font-size:.78rem}.signout{display:none}.hero-ledger{color:#15151d;background:#fff;border:0;border-radius:1.35rem;gap:1.25rem;margin-top:.25rem;margin-bottom:0;padding:1.5rem 1rem 1rem;display:grid;box-shadow:0 18px 50px #23215317}.hero-ledger:before{display:none}.hero-copy{text-align:center;align-items:center}.hero-copy>p{color:var(--color-muted);font-size:.82rem}.hero-copy>strong{color:#111118;letter-spacing:-.055em;margin-top:.25rem;margin-bottom:.4rem;font-size:max(2.25rem,min(11vw,4.75rem))}.hero-copy>span{background:0 0;padding:0;font-size:.78rem;color:var(--color-muted)!important}.summary{border-top:0;border-bottom:0;order:2;grid-template-columns:repeat(2,minmax(0,1fr))}.summary div{border-color:var(--color-rule);padding:.6rem 1rem}.summary div:last-child{display:none}.summary dt{color:#30303b;font-size:.72rem}.summary dt em{color:var(--color-positive);font-style:normal}.summary dt em:not(:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi)){margin-left:.25rem}.summary dt em:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi){margin-right:.25rem}.summary dd{color:#13131c;font-family:var(--font-body);font-size:1.05rem;font-weight:700}.cashflow-chart{border-top:1px solid var(--color-rule);order:3;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:end;gap:.65rem;height:154px;padding-top:.5rem;display:grid}.chart-day{justify-items:center;gap:.45rem;min-width:0;display:grid}.chart-day i{background:#f0f1f6;border-radius:.45rem;flex-direction:column;justify-content:end;width:min(100%,20px);height:112px;display:flex;overflow:hidden}.chart-day span{transform-origin:bottom;width:100%;height:50%;display:block}.chart-income{background:var(--color-positive)}.chart-expense{background:var(--color-negative)}.chart-day small{color:var(--color-muted);font-size:.58rem}.chart-report{border:0;border-top:1px solid var(--color-rule);min-height:44px;color:var(--color-accent);cursor:pointer;background:0 0;order:4;justify-content:center;align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.chart-report svg{width:16px}.content-grid{padding-top:1.5rem;padding-bottom:1.5rem}.panel-head{border:0}.panel-head h2,.section-heading h2{letter-spacing:-.035em;font-size:1.45rem}.focus-panel{display:none}.transaction{border-color:var(--color-rule);min-height:66px;padding-top:.7rem;padding-bottom:.7rem}.transaction-icon{background:var(--color-accent-soft);width:38px;height:38px;color:var(--color-accent);box-shadow:none;border-radius:50%}.transaction-title{font-size:.85rem;font-weight:700}.transaction-meta{font-size:.68rem}.transaction>.transaction-amount{justify-items:end;display:grid}.transaction-amount strong{font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.transaction-amount small{color:#a0a1ae;font-size:.58rem}.transaction-amount .transaction-converted{color:var(--color-muted);font-size:.65rem;font-weight:600}.page-intro{background:#fff;border:0;border-radius:1.2rem;margin-top:.25rem;margin-bottom:1rem;padding:1rem;box-shadow:0 12px 35px #23215312}.page-intro h2{font-size:1.8rem}.flow-bars{gap:.65rem}.flow-bars>div{grid-template-columns:4.3rem minmax(4rem,1fr) auto;font-size:.72rem}.flow-bars i{border-radius:1rem;height:6px}.activity-ledger{padding-top:.5rem;padding-bottom:2rem}.filters{gap:.35rem}.filters button{background:#fff;flex:none;min-height:40px;padding-left:1rem;padding-right:1rem}.filters button.selected{border-color:var(--color-accent);color:var(--color-accent);box-shadow:inset 0 -2px 0 var(--color-accent);background:#fff}.activity-filters{background:#fff;border-radius:1.2rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.25rem;margin-bottom:1rem;padding:1rem;display:grid;box-shadow:0 12px 35px #23215312}.filter-field{min-width:0;color:var(--color-muted);gap:.3rem;font-size:.68rem;font-weight:700;display:grid}.filter-field>span{white-space:nowrap}.filter-field>span:not(:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi)){padding-left:.15rem}.filter-field>span:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi){padding-right:.15rem}.filter-field input,.filter-field select{border:1px solid var(--color-rule);background:var(--color-paper-2);color:#15151d;width:100%;min-height:44px;font:inherit;white-space:nowrap;border-radius:.8rem;padding-left:.7rem;padding-right:.7rem;font-size:.82rem;font-weight:500}.filter-field input:hover,.filter-field select:hover{background:var(--color-paper-3)}.filter-reset{background:var(--color-accent-soft);min-height:44px;color:var(--color-accent);white-space:nowrap;cursor:pointer;border:0;border-radius:.8rem;grid-column:1/-1;justify-content:center;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;display:inline-flex}.filter-reset svg{width:15px}.transaction-groups{gap:.85rem;display:grid}.transaction-group{background:#fff;border-radius:1.15rem;padding:.2rem 1rem .1rem;box-shadow:0 10px 32px #23215312}.transaction-group>header{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:center;min-height:58px;display:flex}.transaction-group>header>div{align-items:center;gap:.5rem;display:flex}.transaction-group>header strong{font-size:1.55rem}.transaction-group>header span{font-size:.72rem;font-weight:700;display:grid}.transaction-group>header small{color:var(--color-muted);font-size:.62rem;font-weight:400}.transaction-group>header b{font-size:.78rem}.accounts-grid{border:0;gap:.75rem;display:grid}.account-feature{background:#fff;border:0;border-radius:1.15rem;min-height:76px;padding:.75rem 1rem;box-shadow:0 10px 28px #2321530f}.goal-sheet{color:#15151d;background:#fff;box-shadow:0 14px 38px #23215314}.goal-kicker,.goal-sheet>p,.goal-numbers span{color:var(--color-muted)}.goal-line,.goal-numbers div{border-color:var(--color-rule);background:var(--color-paper-2)}.goal-numbers div{border-top:1px solid var(--color-rule)}.mobile-nav{padding:.45rem max(.45rem,env(safe-area-inset-right)) max(.45rem,env(safe-area-inset-bottom)) max(.45rem,env(safe-area-inset-left));background:var(--color-ink);color:#85859c;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:1.5rem 1.5rem 0 0;top:auto;bottom:0;left:0;right:0;box-shadow:0 -12px 35px #11112f2e}.mobile-nav button{border-radius:.9rem}.mobile-nav button.active{color:#fff;background:0 0}.mobile-nav .mobile-add{background:var(--color-accent);color:#fff;width:52px;height:52px;box-shadow:0 7px 18px #6236e859}.primary{border-color:var(--color-accent);background:var(--color-accent);color:#fff}dialog{background:var(--color-paper)}.type-picker label.chosen{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-ink)}@media (max-width:30rem){.month-switcher{grid-template-columns:36px minmax(5rem,8rem) 36px 44px}.month-switcher button{width:36px}}@media (max-width:22rem){.month-switcher{grid-template-columns:32px minmax(4rem,5.5rem) 32px 40px}.month-switcher button{width:32px}}@media (min-width:40rem){.hero-ledger{padding:2rem}.summary{grid-template-columns:repeat(3,minmax(0,1fr))}.summary div:last-child{display:block}.cashflow-chart{height:190px}.chart-day i{height:145px}.focus-panel{display:block}}@media (min-width:60rem){.hero-ledger{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end}.hero-copy,.summary{grid-column:1}.cashflow-chart{grid-area:1/2/span 2}.chart-report{grid-column:2}.topbar>div:first-child .eyebrow{display:block}.topbar{align-items:end}.topbar h1{font-size:var(--text-2xl)}}.transaction-chat-dialog{width:min(100% - 1rem,34rem);height:min(90vh,46rem);height:min(90dvh,46rem);max-height:90vh;max-height:90dvh;overflow:hidden}.transaction-chat-shell{height:100%;min-height:0;padding:var(--space-lg) var(--space-lg) max(var(--space-lg),env(safe-area-inset-bottom));grid-template-rows:auto minmax(8rem,1fr) auto auto auto;display:grid}.transaction-chat-shell>header{margin-bottom:var(--space-sm)}.transaction-chat-shell header .eyebrow{align-items:center;gap:var(--space-2xs);display:flex}.transaction-chat-shell header .eyebrow svg{width:14px;color:var(--color-accent)}.chat-message-list{align-content:start;gap:var(--space-sm);overscroll-behavior:contain;min-height:0;padding:var(--space-sm) var(--space-2xs) var(--space-lg);display:grid;overflow-y:auto}.chat-system{padding:var(--space-xs);justify-content:center;display:flex}.chat-system p{max-width:34ch;color:var(--color-muted);font-size:var(--text-xs);text-align:center;line-height:1.55}.chat-row{min-width:0;display:flex}.chat-row.user{justify-content:flex-end}.chat-bubble{overflow-wrap:anywhere;border-radius:1rem;max-width:82%;padding:.7rem .85rem}.user-bubble{background:var(--color-ink);color:var(--color-paper)}.user-bubble:not(:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi)){border-bottom-right-radius:.25rem}.user-bubble:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi){border-bottom-left-radius:.25rem}.user-bubble img{width:min(100%,16rem);max-height:14rem;object-fit:cover;border-radius:.75rem;margin-bottom:var(--space-xs);display:block}.user-bubble>svg{width:17px;vertical-align:middle}.user-bubble>svg:not(:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi)){margin-right:var(--space-xs)}.user-bubble>svg:lang(ae,ar,arc,bcc,bqi,ckb,dv,fa,glk,he,ku,mzn,nqo,pnb,ps,sd,ug,ur,yi){margin-left:var(--space-xs)}.user-bubble p{white-space:pre-wrap;font-size:var(--text-sm)}.assistant-bubble{width:100%;min-width:0}.assistant-intro{margin:0 var(--space-xs) var(--space-xs);color:var(--color-muted);font-size:var(--text-xs)}.chat-processing{align-items:center;gap:var(--space-xs);background:var(--color-paper-2);width:-webkit-fit-content;width:fit-content;color:var(--color-muted);font-size:var(--text-sm);border-radius:1rem 1rem 1rem .25rem;padding:.7rem .85rem;display:flex}.chat-processing svg{width:16px}.chat-transaction-card{border:var(--rule-hairline) solid var(--color-rule-2);background:var(--color-paper);box-shadow:0 8px 24px var(--color-shadow);border-radius:1rem;padding:0;overflow:hidden}.transaction-card-summary{align-items:center;gap:var(--space-sm);min-width:0;padding:var(--space-sm);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.transaction-card-summary>div{min-width:0;display:grid}.transaction-card-summary strong,.transaction-card-summary small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transaction-card-summary small{color:var(--color-muted);font-size:var(--text-xs)}.transaction-card-icon{background:var(--color-accent-soft);width:36px;height:36px;color:var(--color-accent);border-radius:.65rem;place-items:center;display:grid}.transaction-card-icon svg,.card-toggle svg{width:18px}.transaction-card-icon.income{color:var(--color-positive)}.transaction-card-icon.expense{color:var(--color-negative)}.card-toggle{cursor:pointer;background:0 0;border:0;border-radius:.65rem;place-items:center;width:38px;height:38px;display:grid}.card-toggle:hover{background:var(--color-paper-2)}.saved-badge{align-items:center;gap:var(--space-2xs);background:color-mix(in oklch,var(--color-positive),transparent 88%);color:var(--color-positive);font-size:var(--text-xs);border-radius:2rem;padding:.3rem .55rem;font-weight:700;display:inline-flex}.saved-badge svg{width:13px}.confidence-row{background:var(--color-paper-2);height:4px;position:relative}.confidence-row>span{background:var(--color-accent);position:absolute;top:0;bottom:0;left:0;right:auto}.confidence-row small{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.transaction-card-fields{padding:var(--space-sm);border-top:var(--rule-hairline) solid var(--color-rule)}.transaction-card-fields label{margin-block:var(--space-sm)}.transaction-card-fields textarea{width:100%;min-height:70px;padding:var(--space-sm);border:var(--rule-hairline) solid var(--color-rule-2);background:var(--color-paper);color:var(--color-ink);font:inherit;resize:vertical}.transaction-card-fields textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.card-save{justify-content:center;align-items:center;gap:var(--space-xs);display:inline-flex}.card-save svg{width:16px}.manual-entry{margin-block:var(--space-xs);color:var(--color-accent);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;justify-self:center;padding:.4rem .7rem;font-weight:700}.chat-input-bar{border:var(--rule-hairline) solid var(--color-rule-2);background:var(--color-paper);border-radius:1rem;overflow:hidden}.chat-input-bar:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.chat-input-bar>textarea{width:100%;min-height:48px;max-height:132px;padding:var(--space-sm) var(--space-sm) 0;resize:none;color:var(--color-ink);font:inherit;background:0 0;border:0;outline:0;line-height:1.45}.chat-input-actions{padding:var(--space-2xs);justify-content:space-between;align-items:center;display:flex}.chat-input-actions>div{display:flex}.chat-input-actions button{width:42px;height:42px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:.7rem;place-items:center;display:grid}.chat-input-actions button svg{width:18px}.chat-input-actions button.recording{background:var(--color-negative);color:#fff}.chat-input-actions .chat-send{background:var(--color-ink);color:var(--color-paper)}.chat-input-actions button:disabled,.manual-entry:disabled{opacity:.4;cursor:not-allowed}.chat-input-bar .smart-hint{padding-bottom:var(--space-xs)}.composer-error{margin-block:var(--space-xs)}.card-error{margin:var(--space-xs) var(--space-sm) var(--space-sm)}@media (max-width:28rem){.transaction-chat-dialog{top:auto;bottom:0;left:0;right:0;width:100%;height:min(94vh,46rem);height:min(94dvh,46rem);max-height:94vh;border-radius:1.25rem 1.25rem 0 0;max-height:94dvh;margin:0;top:auto;bottom:0;left:0;right:0}.transaction-chat-shell{padding-inline:max(var(--space-sm),env(safe-area-inset-left))}.transaction-card-fields .type-picker label{min-height:58px}}.transactions{background:#fff;border-radius:1.15rem;padding:10px}.transaction-swipe{border-bottom:var(--rule-hairline) solid var(--color-rule);contain:paint;width:100%;position:relative;overflow:hidden}.transaction-actions{grid-template-columns:repeat(2,64px);width:128px;display:grid;position:absolute;top:0;bottom:0;left:auto;right:0}.transaction-action{min-width:64px;min-height:44px;padding:var(--space-xs);font:inherit;cursor:pointer;border:0;place-content:center;display:grid}.transaction-action svg{width:19px;height:19px}.transaction-action.edit{background:var(--color-accent-soft);color:var(--color-accent-ink)}.transaction-action.delete{background:var(--color-negative);color:#fff}.transaction-action:focus-visible{outline-offset:-4px;outline:2px solid}.transaction-foreground{width:100%;min-height:66px;transform:translate3d(var(--swipe-x),0,0);transition:transform var(--dur-base) var(--ease-out);touch-action:pan-y;background:#fff;grid-template-columns:minmax(0,1fr) 44px;display:grid;position:relative}.transaction-foreground.dragging{will-change:transform;transition:none}.transaction-swipe .transaction{border-bottom:0;min-width:0}.transaction-more{width:44px;min-height:44px;color:var(--color-muted);cursor:pointer;background:#fff;border:0;align-self:stretch;place-items:center;padding:0;display:grid}.transaction-more svg{width:20px}.transaction-more:focus-visible{z-index:2;outline:2px solid var(--color-focus);outline-offset:-3px}.transaction-edit-dialog{overflow:hidden}.transaction-edit-form{overscroll-behavior:contain;max-height:min(92dvh,56rem);overflow-y:auto}.transaction-edit-form textarea{width:100%;min-height:6rem;padding:var(--space-sm);border:var(--rule-hairline) solid var(--color-rule-2);background:var(--color-paper);color:var(--color-ink);font:inherit;resize:vertical;border-radius:.8rem;font-size:1rem}.transaction-edit-form textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.edit-transaction-type{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-paper-2);border-radius:.8rem;margin-bottom:var(--space-lg);display:flex}.edit-transaction-type span{color:var(--color-muted);font-size:var(--text-sm)}.edit-transaction-type strong{text-transform:capitalize}.dialog-actions{gap:var(--space-xs);flex-direction:column-reverse;margin-top:var(--space-xl);display:flex}.dialog-actions button{justify-content:center;align-items:center;gap:var(--space-xs);min-height:48px;display:inline-flex}.dialog-actions svg{width:18px}.transaction-delete-dialog{width:min(100% - 2rem,28rem);height:-webkit-fit-content;height:fit-content}.delete-dialog-shell{padding:var(--space-xl)}.delete-dialog-shell header{align-items:center;gap:var(--space-sm);grid-template-columns:44px minmax(0,1fr);display:grid}.delete-dialog-shell .eyebrow{color:var(--color-negative)}.delete-dialog-shell>p{color:var(--color-ink-2);line-height:1.65}.delete-warning{background:color-mix(in oklch,var(--color-negative),transparent 88%);width:44px;height:44px;color:var(--color-negative);border-radius:.8rem;place-items:center;display:grid}.delete-warning svg{width:21px}.danger-action{min-height:48px;padding-inline:var(--space-md);border:1px solid var(--color-negative);background:var(--color-negative);color:#fff;font:inherit;cursor:pointer;border-radius:.9rem;font-weight:700}.danger-action:disabled{cursor:wait;opacity:.55}@media (min-width:40rem){.dialog-actions{flex-direction:row;justify-content:flex-end}.dialog-actions button{min-width:8.5rem}.transaction-edit-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-skeleton{min-height:55dvh;padding-block:.25rem var(--space-2xl);pointer-events:none;-webkit-user-select:none;user-select:none}.skeleton-visual{gap:var(--space-md);display:grid}.skeleton-hero,.skeleton-ledger{background:#fff;border-radius:1.35rem;overflow:hidden;box-shadow:0 18px 50px #23215312}.skeleton-hero{gap:var(--space-xl);min-height:22rem;padding:1.5rem 1rem 1rem;display:grid}.skeleton-balance{justify-items:center;gap:var(--space-sm);padding-block:var(--space-md);align-content:center;display:grid}.skeleton-block{border-radius:var(--radius-round);background:linear-gradient(100deg,var(--color-paper-2) 20%,#fff 42%,var(--color-paper-2) 64%);animation:skeleton-shift 1.45s var(--ease-in-out) infinite;background-size:240% 100%;display:block}.skeleton-label{width:5.5rem;height:.7rem}.skeleton-total{width:min(68%,18rem);height:max(2.5rem,min(10vw,4.75rem))}.skeleton-caption{width:8rem;height:.65rem}.skeleton-chart{justify-content:space-between;align-items:end;gap:var(--space-sm);height:8rem;padding-inline:var(--space-xs);display:flex}.skeleton-chart i{width:8%;height:var(--skeleton-height);border-radius:.35rem .35rem 0 0}.skeleton-summary{background:var(--color-rule);border-radius:.8rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.skeleton-summary i{border-radius:0;height:4.5rem}.skeleton-ledger{padding:1rem}.skeleton-heading{gap:var(--space-xs);padding-block:var(--space-sm) var(--space-md);border-bottom:var(--rule-hairline) solid var(--color-rule);display:grid}.skeleton-title{width:11rem;height:1.65rem}.skeleton-row{align-items:center;gap:var(--space-sm);border-bottom:var(--rule-hairline) solid var(--color-rule);grid-template-columns:42px minmax(0,1fr) 4.5rem;min-height:72px;display:grid}.skeleton-row>i{width:40px;height:40px}.skeleton-row span{gap:var(--space-xs);display:grid}.skeleton-row span i:first-child{width:min(75%,13rem);height:.8rem}.skeleton-row span i:last-child{width:min(48%,8rem);height:.55rem}.skeleton-row strong{width:100%;height:.8rem}@keyframes skeleton-shift{0%{background-position:100% 0}to{background-position:-100% 0}}@media (min-width:60rem){.skeleton-hero{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end;min-height:20rem;padding:2.5rem}.skeleton-balance,.skeleton-summary{grid-column:1}.skeleton-chart{grid-area:1/2/span 2;height:12rem}.skeleton-balance{justify-items:start}.skeleton-total{width:min(90%,18rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}.skeleton-block{background:var(--color-paper-2)}.transaction-foreground{transition:none}}.recurring-page{padding-bottom:var(--space-xl)}.recurring-hero{gap:var(--space-lg);padding-block:var(--space-2xl);border-bottom:var(--rule-hairline) solid var(--color-rule);align-items:end;display:grid}.recurring-hero h2{max-width:16ch;font-size:max(2.15rem,min(9vw,4.5rem))}.recurring-hero p:last-child{max-width:40rem;color:var(--color-muted);margin-top:var(--space-sm);line-height:1.65}.recurring-page .eyebrow,.recurring-hero p:last-child,.recurring-summary-card span,.recurring-rule-copy p,.recurring-empty,.recurring-form label small,.delete-note{color:var(--color-ink-2)}.recurring-hero .primary{width:100%}.recurring-summary-grid{gap:var(--space-sm);margin-block:var(--space-xl) var(--space-2xl);display:grid}.recurring-summary-card{gap:var(--space-xs);min-width:0;min-height:7.5rem;padding:var(--space-lg);border:var(--rule-hairline) solid var(--color-rule);background:#fff;border-radius:1.25rem;align-content:center;display:grid;box-shadow:0 16px 38px #2321530d}.recurring-summary-card span{color:var(--color-muted);font-size:var(--text-sm)}.recurring-summary-card strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:max(1.65rem,min(7vw,2.65rem));font-weight:500}.recurring-summary-card.net{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.recurring-summary-card.net span{color:var(--color-paper-3)}.recurring-rules{min-width:0}.recurring-list{display:grid}.recurring-rule{gap:var(--space-sm);min-width:0;padding-block:var(--space-md);border-bottom:var(--rule-hairline) solid var(--color-rule);background:#fff;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;display:grid}.recurring-rule-icon{background:var(--color-paper-2);width:44px;height:44px;color:var(--color-negative);border-radius:1rem;place-items:center;display:grid}.recurring-rule-icon.income{color:var(--color-positive)}.recurring-rule-icon.income svg{transform:rotate(0)}.recurring-rule-icon.expense svg{transform:rotate(180deg)}.recurring-rule-icon svg{width:19px}.recurring-rule-copy{min-width:0}.recurring-rule-copy>div{gap:var(--space-xs);flex-wrap:wrap;align-items:center;display:flex}.recurring-rule-copy h3{overflow-wrap:anywhere;min-width:0;font-size:1rem}.recurring-rule-copy p{color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-2xs)}.recurring-rule-copy small{align-items:center;gap:var(--space-2xs);color:var(--color-ink-2);margin-top:var(--space-xs);display:inline-flex}.recurring-rule-copy small svg{width:15px}.recurring-rule>strong{font-variant-numeric:tabular-nums;white-space:nowrap;align-self:start;padding-top:.2rem;font-size:.92rem}.status-pill{border-radius:var(--radius-round);align-items:center;min-height:24px;padding-left:.55rem;padding-right:.55rem;font-size:.7rem;font-weight:700;display:inline-flex}.status-pill.active{background:color-mix(in oklch,var(--color-positive),transparent 88%);color:#12613a}.status-pill.paused{background:var(--color-paper-2);color:var(--color-muted)}.recurring-page .recurring-summary-card:not(.net) span,.recurring-page .recurring-rule-copy p,.recurring-page .status-pill.paused{color:var(--color-ink-2)}.recurring-page .recurring-rule>.positive{color:#12613a!important}.recurring-actions{justify-content:flex-end;gap:var(--space-xs);grid-column:2/-1;display:flex}.recurring-actions button{border:var(--rule-hairline) solid var(--color-rule);width:44px;height:44px;color:var(--color-ink-2);cursor:pointer;background:0 0;border-radius:.85rem;place-items:center;display:grid}.recurring-actions button.delete{color:var(--color-negative)}.recurring-actions button:disabled{opacity:.5;cursor:wait}.recurring-actions svg{width:18px}.recurring-empty{place-content:center;justify-items:center;gap:var(--space-sm);min-height:20rem;padding:var(--space-xl);text-align:center;color:var(--color-muted);display:grid}.recurring-page .recurring-empty{color:var(--color-ink-2)}.recurring-empty>svg{width:42px;height:42px;color:var(--color-accent)}.recurring-empty h3{color:var(--color-ink)}.recurring-empty p{max-width:32rem}.recurring-dialog{overflow:hidden}.recurring-form{overscroll-behavior:contain;max-height:min(92dvh,56rem);overflow-y:auto}.recurring-form .form-span{grid-column:1/-1}.recurring-form textarea{width:100%;min-height:5.5rem;padding:var(--space-sm);border:var(--rule-hairline) solid var(--color-rule-2);background:var(--color-paper);color:var(--color-ink);font:inherit;resize:vertical;border-radius:.8rem}.recurring-form label small{color:var(--color-muted);line-height:1.45}.check-row{min-height:52px;padding:var(--space-sm);background:var(--color-paper-2);cursor:pointer;border-radius:.8rem;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:var(--space-sm)!important;display:grid!important}.check-row input{width:20px;height:20px;accent-color:var(--color-ink);margin-top:2px}.check-row span{gap:var(--space-2xs);display:grid}.check-row small,.delete-note{color:var(--color-muted)}.recurring-skeleton{padding-block:var(--space-lg) var(--space-2xl);pointer-events:none}.recurring-list-skeleton{padding:var(--space-sm);background:#fff;border-radius:1.25rem}.recurring-rule-skeleton{gap:var(--space-sm);border-bottom:var(--rule-hairline) solid var(--color-rule);grid-template-columns:44px minmax(0,1fr) 5rem;align-items:center;min-height:88px;display:grid}.recurring-rule-skeleton>i{width:44px;height:44px}.recurring-rule-skeleton span{gap:var(--space-xs);display:grid}.recurring-rule-skeleton span i:first-child{width:min(70%,14rem);height:.8rem}.recurring-rule-skeleton span i:last-child{width:min(48%,9rem);height:.6rem}.recurring-rule-skeleton strong{width:100%;height:.8rem}@media (min-width:40rem){.recurring-hero{grid-template-columns:minmax(0,1fr) auto}.recurring-hero .primary{width:auto}.recurring-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recurring-rule{grid-template-columns:44px minmax(0,1fr) auto auto}.recurring-actions{grid-column:auto}}.transaction-icon img{object-fit:contain;border-radius:inherit;width:60%;height:60%}.account-icon-preview{align-items:center;gap:var(--space-sm);margin-top:var(--space-xs);display:inline-flex}.account-icon-preview img{object-fit:contain;width:32px;height:32px}.link-button{color:var(--color-accent);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:disabled{opacity:.5;cursor:default}.notification-bell{position:relative}.notification-badge{border-radius:var(--radius-round);background:var(--color-negative);color:#fff;place-items:center;min-width:17px;height:17px;padding-left:4px;padding-right:4px;font-size:.6rem;font-weight:700;line-height:1;display:grid;position:absolute;top:4px;bottom:auto;left:auto;right:4px}.notification-dialog{width:min(100% - 2rem,32rem);height:-webkit-fit-content;height:fit-content;max-height:min(88dvh,40rem);padding:0}.notification-shell{max-height:inherit;flex-direction:column;display:flex}.notification-shell>header{padding:var(--space-lg) var(--space-lg) var(--space-sm);border-bottom:var(--rule-hairline) solid var(--color-rule);align-items:center;margin:0}.notification-shell h2{font-size:var(--text-xl)}.notification-tools{align-items:center;gap:var(--space-2xs);display:flex}.notification-tools .link-button{white-space:nowrap;align-items:center;gap:.3rem;min-height:36px;padding-left:.5rem;padding-right:.5rem;text-decoration:none;display:inline-flex}.notification-tools .link-button svg{width:15px;height:15px}.notification-error{margin:var(--space-sm) var(--space-lg) 0;color:var(--color-negative);font-size:var(--text-xs)}.notification-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.notification-list{margin:0;padding:0;list-style:none}.notification-item{gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-bottom:var(--rule-hairline) solid var(--color-rule);grid-template-columns:40px minmax(0,1fr) auto;align-items:start;display:grid}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:color-mix(in oklch, var(--color-accent), transparent 94%)}.notification-icon{background:var(--color-paper-2);width:40px;height:40px;color:var(--color-accent);border-radius:50%;place-items:center;display:grid}.notification-icon svg{width:19px;height:19px}.notification-copy{gap:var(--space-2xs);min-width:0;display:grid}.notification-copy strong{font-size:var(--text-sm);overflow-wrap:anywhere;font-weight:700}.notification-copy p{color:var(--color-ink-2);font-size:var(--text-xs);overflow-wrap:anywhere;line-height:1.5}.notification-copy small{color:var(--color-muted);font-size:.66rem}.notification-action{color:var(--color-accent);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:.25rem;margin-top:.2rem;padding:0;font-weight:700;display:inline-flex}.notification-action svg{width:14px;height:14px}.notification-item-actions{gap:.1rem;display:flex}.notification-item-actions .icon-button{width:34px;height:34px;color:var(--color-muted)}.notification-item-actions .icon-button svg{width:16px;height:16px}.notification-state{place-content:center;justify-items:center;gap:var(--space-xs);min-height:12rem;padding:var(--space-xl);text-align:center;color:var(--color-muted);display:grid}.notification-state>svg{width:34px;height:34px;color:var(--color-accent)}.notification-state h3{color:var(--color-ink)}.notification-state p{max-width:30ch;font-size:var(--text-sm)}.notification-footer{padding:var(--space-sm) var(--space-lg) var(--space-lg);border-top:var(--rule-hairline) solid var(--color-rule)}.notification-footer-main{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.notification-footer a{color:var(--color-accent);font-size:var(--text-xs);align-items:center;gap:.3rem;font-weight:700;text-decoration:none;display:inline-flex}.notification-footer a svg{width:14px;height:14px}.notification-push-toggle{min-height:36px;color:var(--color-muted);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;font-weight:700;display:inline-flex}.notification-push-toggle svg{width:15px;height:15px}.notification-push-toggle:disabled{opacity:.55;cursor:wait}.notification-footer .notification-error{margin:var(--space-xs) 0 0}@media (hover:hover) and (pointer:fine){.notification-item-actions .icon-button:hover{background:var(--color-paper-2);color:var(--color-ink)}.notification-footer a:hover{text-decoration:underline}.notification-push-toggle:hover{color:var(--color-ink)}}@media (max-width:39.99rem){.notification-dialog{border:0;border-radius:0;width:100%;height:100dvh;max-height:100dvh;margin:0}.notification-shell{height:100%;max-height:100%;padding-top:max(0px, env(safe-area-inset-top))}.notification-footer{padding-bottom:max(var(--space-lg), env(safe-area-inset-bottom))}}
