@font-face{font-family:Urbanist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/urbanist-latin-ext-wght-normal-Bdxck5Au.woff2)format("woff2-variations");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:Urbanist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/urbanist-latin-wght-normal-D69JTELx.woff2)format("woff2-variations");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}:root{color:#17364a;font-synthesis:none;--navy:#255d7a;--navy-deep:#123f63;--blue:#4e8ea2;--teal:#6ea2b3;--coral:#ea6a47;--periwinkle:#7bbde8;--gold:#d4a72c;--bg:#eff7fb;--panel:#fff;--panel-soft:#e4f0f6;--text:#17364a;--muted:#637f91;--line:#c9dee9;--shadow:0 18px 55px #123f631c;--safe-bottom:env(safe-area-inset-bottom,0px);background:#eff7fb;font-family:Urbanist Variable,ui-sans-serif,system-ui,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d2b43;--panel:#153d57;--panel-soft:#1e4b66;--text:#eff7fb;--muted:#a7c3d3;--line:#315e78;--navy:#255d7a;--navy-deep:#0b2942;--shadow:0 22px 60px #00000040}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #7bbde87a}svg{flex:none}.launch-screen{background:var(--navy-deep);color:#fff;place-content:center;justify-items:center;gap:20px;min-height:100vh;display:grid}.launch-screen p{color:#bdd8e9;letter-spacing:.02em;margin:0}.brand-mark{isolation:isolate;color:#123f63;letter-spacing:-.06em;text-shadow:0 1px #ffffff59;background:linear-gradient(#4e8ea2 0 25%,#6ea2b3 25% 50%,#7bbde8 50% 75%,#bdd8e9 75%);border:1px solid #ffffff47;border-radius:24px;place-content:center;width:84px;height:84px;font-size:34px;font-weight:800;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 30px #06243d47,inset 0 1px #ffffff73}.brand-mark span{z-index:-1;border:1px solid #ffffff47;border-radius:17px;position:absolute;inset:9px;box-shadow:inset 0 -10px 20px #123f6314}.brand-mark--small{border-radius:13px;width:42px;height:42px;font-size:15px}.brand-mark--small span{border-radius:9px;inset:5px}.app-shell{min-height:100vh}.route-loading{min-height:55vh;color:var(--muted);place-content:center;justify-items:center;gap:12px;font-size:12px;display:grid}.route-loading span{border:3px solid var(--line);border-top-color:var(--teal);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite route-spin}@keyframes route-spin{to{transform:rotate(360deg)}}.sidebar{z-index:20;background:var(--navy-deep);color:#e4f0f6;flex-direction:column;width:238px;padding:28px 20px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{color:#fff;align-items:center;gap:12px;display:flex}.sidebar-brand>span:last-child{gap:2px;display:grid}.sidebar-brand strong{letter-spacing:-.01em;font-size:17px}.sidebar-brand small{color:#bdd8e9;letter-spacing:.04em;font-size:11px}.sidebar nav{gap:7px;margin-top:56px;display:grid}.sidebar nav a{color:#bdd8e9;border-radius:12px;align-items:center;gap:12px;height:46px;padding:0 14px;font-weight:640;transition:all .18s;display:flex}.sidebar nav a:hover{color:#fff;background:#ffffff0f}.sidebar nav a.active{color:#fff;box-shadow:inset 3px 0 0 var(--periwinkle);background:#7bbde82e}.sidebar nav a.active svg{color:#7bbde8}.sidebar-foot{background:#ffffff09;border:1px solid #ffffff14;border-radius:14px;align-items:flex-start;gap:10px;margin-top:auto;padding:16px;display:flex}.sidebar-foot svg{color:var(--teal)}.sidebar-foot span{gap:3px;display:grid}.sidebar-foot strong{font-size:12px}.sidebar-foot small{color:#bdd8e9;font-size:10px;line-height:1.4}.app-stage{min-height:100vh;margin-left:238px}.page-stage{width:min(1440px,100%);margin:0 auto;padding:36px 42px 80px}.bottom-nav,.quick-add-fab{display:none}.eyebrow{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:780}[data-theme=dark] .eyebrow{color:#7bbde8}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:30px;display:flex}.page-header h1{letter-spacing:-.045em;margin:0;font-size:clamp(28px,3vw,42px);font-weight:720;line-height:1.05}.page-header>div:first-child>p:last-child{color:var(--muted);margin:8px 0 0;font-size:14px}.page-actions{align-items:center;gap:10px;display:flex}.icon-button{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:12px;place-content:center;width:42px;height:42px;display:grid}.icon-button svg{width:18px}.theme-toggle{border-radius:50%}.primary-button,.secondary-button,.danger-button{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 17px;font-weight:720;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.primary-button{background:var(--navy);color:#fff;box-shadow:0 8px 20px #123f6333}.primary-button:hover,.secondary-button:hover,.danger-button:hover{transform:translateY(-1px)}.primary-button svg,.secondary-button svg,.danger-button svg{width:18px}.primary-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.secondary-button{border:1px solid var(--line);background:var(--panel);color:var(--text);box-shadow:none}.danger-button{color:#fff;background:#b74236}.compact{min-height:39px;padding:0 13px;font-size:13px}.balance-deck{color:#fff;background:linear-gradient(135deg,#123f63 0%,#255d7a 55%,#4e8ea2 100%);border-radius:28px;grid-template-columns:minmax(340px,1.3fr) minmax(190px,.6fr) minmax(260px,.9fr);min-height:230px;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 50px #123f6338}.balance-deck:after{content:"";pointer-events:none;border:72px solid #ffffff09;border-radius:50%;width:380px;height:380px;position:absolute;top:-210px;left:27%}.balance-main{flex-direction:column;justify-content:center;padding:34px 36px;display:flex}.balance-kicker{color:#bdd8e9;text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:7px;font-size:11px;font-weight:730;display:flex}.balance-kicker svg{width:15px}.balance-main p{color:#bdd8e9;margin:22px 0 3px;font-size:13px}.balance-main h2{letter-spacing:-.065em;margin:0;font:400 clamp(36px,4.5vw,59px)/1 IBM Plex Mono,monospace}.balance-foot{color:#bdd8e9;align-items:center;gap:8px;margin-top:22px;font-size:11px;display:flex}.balance-foot svg{width:15px;color:var(--teal)}.owed-panel{z-index:1;border-left:1px solid #ffffff1f;border-right:1px solid #ffffff1f;flex-direction:column;justify-content:center;margin:28px 0;padding:24px;display:flex}.owed-panel span{color:#bdd8e9;font-size:12px}.owed-panel strong{color:#ff9b80;margin:10px 0 6px;font:400 24px/1.2 IBM Plex Mono,monospace}.owed-panel small{color:#bdd8e9}.period-panel{z-index:1;background:#081c2e42;flex-direction:column;justify-content:center;gap:14px;padding:30px;display:flex}.period-segment{background:#00000024;border:1px solid #ffffff1f;border-radius:10px;grid-template-columns:repeat(3,1fr);padding:3px;display:grid}.period-segment button{color:#bdd8e9;cursor:pointer;background:0 0;border:0;border-radius:7px;height:34px;font-size:12px;font-weight:690}.period-segment button.active{color:var(--navy);background:#fff;box-shadow:0 3px 12px #00000026}.period-panel label{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;align-items:center;gap:8px;height:43px;padding:0 12px;display:flex}.period-panel label svg{width:16px;color:var(--teal)}.period-panel input{color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:0;outline:0;width:100%}.period-panel>span{color:#bdd8e9;font-size:11px}.account-rail{margin:30px 0}.section-heading,.panel-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.section-heading h2,.panel-heading h2{letter-spacing:-.025em;margin:0;font-size:20px}.section-heading a,.panel-heading a{color:var(--muted);align-items:center;font-size:12px;font-weight:690;display:flex}.section-heading a svg,.panel-heading a svg{width:15px}.account-scroll{scrollbar-width:thin;grid-auto-columns:minmax(210px,1fr);grid-auto-flow:column;gap:12px;margin-top:14px;padding-bottom:4px;display:grid;overflow-x:auto}.account-card{border:1px solid var(--line);background:var(--panel);border-radius:17px;grid-template-columns:38px 1fr;gap:10px;min-height:118px;padding:18px;display:grid;position:relative;overflow:hidden;box-shadow:0 5px 16px #19324d09}.account-card:before{content:"";background:var(--account);width:4px;position:absolute;inset:0 auto 0 0}.account-glyph{width:34px;height:34px;color:var(--account);background:color-mix(in srgb, var(--account) 13%, transparent);border-radius:10px;place-content:center;display:grid}.account-glyph svg{width:17px}.account-card>span:nth-child(2){flex-direction:column;font-weight:720;display:flex}.account-card small{color:var(--muted);text-transform:capitalize;margin-top:2px;font-size:10px}.account-card strong{letter-spacing:-.04em;grid-column:1/-1;align-self:end;font:400 20px IBM Plex Mono,monospace}.metric-strip{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.metric-strip article{border:1px solid var(--line);background:var(--panel);border-radius:16px;flex-direction:column;min-height:110px;padding:18px 20px;display:flex}.metric-strip span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.metric-strip strong{margin:8px 0 4px;font:400 clamp(18px,2vw,24px) IBM Plex Mono,monospace}.metric-strip small{color:var(--muted);align-items:center;gap:5px;font-size:10px;display:flex}.metric-strip small svg{width:13px}.positive{color:#3f7f91}.negative{color:var(--coral)}.metric-strip .surplus{border-top:3px solid var(--teal)}.metric-strip .deficit{border-top:3px solid var(--coral)}.metric-strip .surplus strong{color:var(--teal)}.metric-strip .deficit strong{color:var(--coral)}.dashboard-grid{grid-template-columns:1.05fr .95fr;align-items:start;gap:16px;margin-top:20px;display:grid}.panel{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:24px;box-shadow:0 8px 26px #19324d09}.panel-heading{margin-bottom:20px}.panel-heading>span{background:var(--panel-soft);color:var(--muted);text-transform:capitalize;border-radius:9px;padding:7px 10px;font-size:11px;font-weight:700}.spending-content{grid-template-columns:45% 1fr;align-items:center;gap:12px;display:grid}.donut-wrap{position:relative}.donut-wrap>div:last-child{text-align:center;pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}.donut-wrap strong{font:400 23px IBM Plex Mono,monospace}.donut-wrap span{color:var(--muted);font-size:10px}.spending-content ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.spending-content li{grid-template-columns:8px 1fr auto;align-items:center;gap:9px;font-size:12px;display:grid}.spending-content li i{border-radius:3px;width:8px;height:8px}.spending-content li strong{font:400 11px IBM Plex Mono,monospace}.chart-legend{color:var(--muted);justify-content:center;gap:22px;font-size:11px;display:flex}.chart-legend span{align-items:center;gap:7px;display:flex}.chart-legend i{border-radius:3px;width:9px;height:9px}.chart-legend .income{background:var(--teal)}.chart-legend .expense{background:var(--coral)}.goal-panel{grid-column:1}.goal-card{border:1px solid color-mix(in srgb, var(--goal) 23%, var(--line));background:color-mix(in srgb, var(--goal) 4%, var(--panel));border-radius:16px;padding:18px}.goal-card+.goal-card{margin-top:12px}.goal-top{grid-template-columns:38px 1fr auto;align-items:center;gap:10px;display:grid}.goal-icon{width:36px;height:36px;color:var(--goal);background:color-mix(in srgb, var(--goal) 13%, transparent);border-radius:11px;place-content:center;display:grid}.goal-icon svg{width:17px}.goal-top div{gap:2px;display:grid}.goal-top small,.goal-bottom{color:var(--muted);font-size:10px}.goal-top b{color:var(--goal);font:400 16px IBM Plex Mono,monospace}.progress{background:color-mix(in srgb, var(--goal) 12%, var(--panel-soft));border-radius:20px;height:7px;margin:16px 0 8px;overflow:hidden}.progress i{border-radius:inherit;background:var(--goal);height:100%;display:block}.goal-bottom{justify-content:space-between;display:flex}.recent-panel{grid-area:2/2/span 2}.transaction-row{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:40px 1fr auto auto;align-items:center;gap:11px;width:100%;padding:12px 0;display:grid}.transaction-row:last-child{border-bottom:0}.transaction-icon{border-radius:12px;place-content:center;width:38px;height:38px;display:grid}.transaction-icon svg{width:17px}.transaction-icon.expense{color:var(--coral);background:#ea6a471a}.transaction-icon.income{color:var(--teal);background:#20b8a51c}.transaction-icon.transfer{color:var(--periwinkle);background:#8e90ff1f}.transaction-copy,.transaction-amount{flex-direction:column;gap:2px;display:flex}.transaction-copy strong{font-size:13px}.transaction-copy small,.transaction-amount small{color:var(--muted);font-size:10px}.transaction-amount{text-align:right;font:400 12px IBM Plex Mono,monospace}.transaction-amount.expense{color:var(--coral)}.transaction-amount.income{color:var(--teal)}.row-arrow{width:14px;color:var(--muted)}.bills-panel{grid-column:1}.bill-list{gap:10px;display:grid}.bill-list>div{grid-template-columns:43px 1fr auto;align-items:center;gap:11px;display:grid}.bill-list>div>span:nth-child(2){flex-direction:column;gap:2px;display:flex}.bill-list small{color:var(--muted);font-size:10px}.bill-list>div>b{font:400 12px IBM Plex Mono,monospace}.due-badge{background:var(--panel-soft);width:41px;height:45px;color:var(--muted);text-transform:uppercase;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;font-size:9px;display:flex}.due-badge b{color:var(--text);font:400 15px IBM Plex Mono,monospace}.due-badge.overdue{color:var(--coral);background:#ea6a471f}.empty-state{text-align:center;min-height:180px;color:var(--muted);place-content:center;justify-items:center;gap:7px;display:grid}.empty-state svg{width:30px;color:var(--blue)}.empty-state strong{color:var(--text)}.empty-state span{font-size:12px}.empty-state a{color:var(--blue);font-size:12px;font-weight:700}.sheet-backdrop,.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05111d91;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.quick-sheet{background:var(--panel);border-radius:26px;width:min(560px,100%);max-height:calc(100vh - 40px);padding:10px 28px 28px;overflow-y:auto;box-shadow:0 30px 90px #0000004d}.sheet-handle{display:none}.quick-sheet header,.modal-card header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.quick-sheet h2,.modal-card h2{letter-spacing:-.035em;margin:0;font-size:25px}.type-segment{background:var(--panel-soft);border-radius:13px;grid-template-columns:repeat(3,1fr);margin:22px 0 18px;padding:4px;display:grid}.type-segment button{height:45px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.type-segment svg{width:16px}.type-segment button.active{background:var(--panel);box-shadow:0 4px 14px #19324d17}.type-segment button.expense{color:var(--coral)}.type-segment button.income{color:var(--teal)}.type-segment button.transfer{color:var(--periwinkle)}.amount-field{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:8px;min-height:98px;display:flex}.amount-field span{color:var(--muted);font:400 17px IBM Plex Mono,monospace}.amount-field input{width:min(280px,75%);color:var(--text);letter-spacing:-.06em;background:0 0;border:0;outline:0;font:400 45px IBM Plex Mono,monospace}.amount-field input::placeholder{color:color-mix(in srgb, var(--muted) 35%, transparent)}.category-pick{border:0;margin:22px 0;padding:0}.category-pick legend{margin-bottom:11px;font-size:12px;font-weight:730}.category-pick>div{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.category-pick button{border:1px solid var(--line);background:var(--panel);min-height:70px;color:var(--muted);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px 5px;font-size:9px;display:flex;position:relative}.category-pick button>span{background:color-mix(in srgb, var(--category) 15%, transparent);width:27px;height:27px;color:var(--category);border-radius:9px;place-content:center;font-weight:800;display:grid}.category-pick button.active{color:var(--text);border-color:var(--category);background:color-mix(in srgb, var(--category) 5%, var(--panel))}.category-pick button>svg{width:12px;color:var(--category);position:absolute;top:6px;right:6px}.account-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.account-row>label:only-child{grid-column:1/-1}.account-row label,.quick-details label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;gap:7px;font-size:10px;font-weight:700;display:grid}.installment-picker{border:1px solid color-mix(in srgb, var(--periwinkle) 32%, var(--line));background:color-mix(in srgb, var(--periwinkle) 6%, var(--panel));border-radius:13px;grid-template-columns:minmax(170px,.7fr) 1fr;align-items:end;gap:12px;margin-top:10px;padding:12px;display:grid}.installment-picker label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;gap:7px;font-size:10px;font-weight:700;display:grid}.installment-picker output{background:var(--panel-soft);border-radius:10px;align-content:center;gap:2px;min-height:45px;padding:8px 10px;display:grid}.installment-picker output strong{color:var(--text);font-size:11px}.installment-picker output span{color:var(--muted);font-size:9px;line-height:1.4}.select-wrap{position:relative}.select-wrap select{appearance:none;border:1px solid var(--line);background:var(--panel);width:100%;height:45px;color:var(--text);text-transform:none;letter-spacing:0;border-radius:11px;padding:0 38px 0 12px;font-size:13px}.select-wrap svg{pointer-events:none;width:15px;position:absolute;top:14px;right:12px}.details-toggle{width:100%;height:38px;color:var(--blue);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;margin:10px 0;font-size:11px;font-weight:700;display:flex}.details-toggle svg{width:14px;transition:transform .2s}.details-toggle .rotated{transform:rotate(180deg)}.quick-details{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.quick-details label:first-child{position:relative}.quick-details label svg{width:15px;color:var(--muted);position:absolute;bottom:12px;right:12px}.quick-details input,.form-grid input,.form-grid select{border:1px solid var(--line);background:var(--panel);width:100%;height:44px;color:var(--text);border-radius:10px;outline:0;padding:0 12px}.quick-save{width:100%;margin-top:4px}.form-error{color:var(--coral);background:#ea6a471a;border-radius:9px;padding:10px 12px;font-size:12px}.toast{z-index:120;background:var(--navy-deep);color:#fff;border-radius:14px;align-items:center;gap:9px;min-height:47px;padding:0 18px;font-size:13px;font-weight:700;animation:.25s both toast-in;display:flex;position:fixed;bottom:28px;left:calc(50% + 119px);transform:translate(-50%);box-shadow:0 16px 40px #00000038}.toast svg{color:var(--teal)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}.offline-banner{z-index:130;color:#fff;background:#9f7812;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:8px 18px;font-size:11px;font-weight:700;display:flex;position:fixed;inset:0 0 auto 238px}.offline-banner svg{width:16px}.update-prompt{z-index:125;border:1px solid var(--line);background:var(--panel);width:min(380px,100% - 32px);box-shadow:var(--shadow);border-radius:15px;grid-template-columns:35px 1fr auto 30px;align-items:center;gap:9px;padding:14px;display:grid;position:fixed;bottom:24px;right:24px}.update-prompt>svg{width:35px;height:35px;color:var(--teal);background:#20b8a51a;border-radius:10px;padding:8px}.update-prompt span{gap:2px;display:grid}.update-prompt small{color:var(--muted);font-size:9px}.update-prompt button{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:9px;height:34px;padding:0 10px;font-size:10px;font-weight:700}.update-prompt button:last-child{color:var(--muted);background:0 0;padding:0}.update-prompt button svg{width:14px}.auth-page{grid-template-columns:minmax(380px,.9fr) minmax(500px,1.1fr);min-height:100vh;display:grid}.auth-story{background:var(--navy-deep);color:#fff;flex-direction:column;padding:40px clamp(36px,6vw,90px);display:flex}.auth-copy{max-width:590px;margin:auto 0}.auth-copy .eyebrow{color:#7bbde8}.auth-copy h1{letter-spacing:-.055em;margin:12px 0 18px;font-size:clamp(40px,5vw,66px);line-height:.98}.auth-copy>p:not(.eyebrow){color:#bdd8e9;max-width:520px;line-height:1.65}.auth-copy ul{gap:20px;margin:38px 0 0;padding:0;list-style:none;display:grid}.auth-copy li{grid-template-columns:38px 1fr;align-items:start;gap:12px;display:grid}.auth-copy li>svg{width:38px;height:38px;color:var(--teal);background:#20b8a51f;border-radius:11px;padding:9px}.auth-copy li span{color:#bdd8e9;gap:3px;font-size:12px;display:grid}.auth-copy li strong{color:#fff;font-size:14px}.auth-footnote{color:#6ea2b3}.auth-form-panel{background:var(--bg);place-content:center;padding:36px;display:grid}.auth-card{border:1px solid var(--line);background:var(--panel);width:min(430px,100%);box-shadow:var(--shadow);border-radius:24px;padding:38px}.auth-icon,.settings-icon{width:47px;height:47px;color:var(--blue);background:var(--panel-soft);border-radius:15px;place-content:center;display:grid}.auth-icon svg{width:21px}.auth-card .eyebrow{margin-top:27px}.auth-card h2{letter-spacing:-.04em;margin:0;font-size:28px}.auth-card>p:not(.eyebrow){color:var(--muted);margin:10px 0 25px;font-size:13px;line-height:1.5}.auth-card label,.form-grid label{color:var(--muted);gap:7px;margin-bottom:15px;font-size:11px;font-weight:730;display:grid}.auth-card input{border:1px solid var(--line);background:var(--panel);width:100%;height:48px;color:var(--text);border-radius:11px;outline:0;padding:0 13px}.auth-card .primary-button{width:100%;margin-top:6px}.auth-card>small{text-align:center;color:var(--muted);margin-top:15px;font-size:9px;line-height:1.5;display:block}.standard-page{max-width:1280px}.filter-bar{border:1px solid var(--line);background:var(--panel);border-radius:15px;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(130px,.7fr)) auto;gap:8px;margin-bottom:22px;padding:12px;display:grid}.search-field,.filter-bar>label{border:1px solid var(--line);background:var(--bg);border-radius:10px;align-items:center;gap:8px;height:42px;padding:0 12px;display:flex}.search-field svg,.filter-bar label svg{width:17px;color:var(--muted)}.search-field input,.filter-bar select,.filter-bar input{width:100%;color:var(--text);background:0 0;border:0;outline:0}.transaction-ledger{border:1px solid var(--line);background:var(--panel);border-radius:20px;min-height:400px;padding:22px 26px}.transaction-day+.transaction-day{margin-top:22px}.date-divider{grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-bottom:2px;display:grid}.date-divider span{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:780}.date-divider i{background:var(--line);height:1px}.editable-row{position:relative}.editable-row .transaction-row{padding-right:75px}.row-tools{opacity:0;gap:2px;transition:opacity .15s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.editable-row:hover .row-tools{opacity:1}.row-tools button{background:var(--panel-soft);cursor:pointer;border:0;border-radius:9px;place-content:center;width:32px;height:32px;display:grid}.row-tools svg{width:14px}.row-tools button:last-child{color:var(--coral)}.empty-state.large{min-height:370px}.modal-card{background:var(--panel);border-radius:22px;width:min(520px,100%);max-height:calc(100vh - 48px);padding:26px;position:relative;overflow-y:auto;box-shadow:0 30px 90px #0000004d}.modal-card.wide{width:min(680px,100%)}.modal-body{color:var(--muted);margin-top:22px;font-size:13px;line-height:1.55}.modal-body strong{color:var(--text)}.modal-card footer{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:22px;padding-top:18px;display:flex}.delete-bill-button{margin-right:auto}.form-grid{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.form-grid label small{font-weight:500;line-height:1.4}.span-2{grid-column:1/-1}.warning{color:#9f7812;background:#d4a72c1a;border-radius:10px;gap:3px;padding:13px;font-size:11px;display:grid}.color-field{grid-template-columns:45px 1fr;gap:8px;display:grid}.color-field input[type=color]{padding:4px}.account-note{background:color-mix(in srgb, #bdd8e9 52%, var(--panel));color:#255d7a;border-radius:14px;align-items:center;gap:12px;margin-bottom:22px;padding:15px 18px;display:flex}[data-theme=dark] .account-note{color:#bdd8e9;background:#1e4b66}.account-note svg{width:20px}.account-note span{gap:2px;font-size:11px;display:grid}.account-note strong{font-size:12px}.accounts-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.manage-account-card{border:1px solid var(--line);background:var(--panel);border-radius:20px;min-height:250px;padding:22px;position:relative;overflow:hidden;box-shadow:0 8px 25px #19324d09}.manage-account-card:before{content:"";background:var(--account);height:4px;position:absolute;inset:0 0 auto}.manage-account-card header{grid-template-columns:40px 1fr auto;align-items:center;gap:10px;display:grid}.manage-account-card header>span{background:color-mix(in srgb, var(--account) 13%, transparent);width:38px;height:38px;color:var(--account);border-radius:12px;place-content:center;display:grid}.manage-account-card header>span svg{width:18px}.manage-account-card header>div{gap:2px;display:grid}.manage-account-card header small{color:var(--muted);text-transform:capitalize;font-size:10px}.manage-account-card>p{color:var(--muted);margin:27px 0 4px;font-size:11px}.manage-account-card>h2{letter-spacing:-.05em;margin:0;font:400 27px IBM Plex Mono,monospace}.manage-account-card.liability>h2{color:var(--coral)}.history-link{color:var(--blue);cursor:pointer;background:0 0;border:0;margin-top:9px;padding:0;font-size:10px;font-weight:700}.account-history{max-height:520px;overflow-y:auto}.opening-line{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-top:15px;padding-top:13px;font-size:10px;display:flex}.opening-line strong{color:var(--text);font:400 10px IBM Plex Mono,monospace}.paylater-cycle-summary{background:color-mix(in srgb, var(--account) 8%, var(--panel-soft));border-radius:11px;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0 2px;padding:11px;display:grid}.paylater-cycle-summary span{color:var(--muted);gap:3px;font-size:9px;display:grid}.paylater-cycle-summary strong{color:var(--text);font-size:9px;line-height:1.35}.paylater-cycle-summary button{color:var(--blue);cursor:pointer;background:0 0;border:0;grid-column:1/-1;padding:4px;font-weight:750}.paylater-cycle-setup{border:1px solid var(--line);background:var(--panel-soft);border-radius:13px;margin:3px 0 15px;padding:15px}.paylater-cycle-setup legend{color:var(--text);padding:0 6px;font-size:12px;font-weight:800}.paylater-cycle-setup>p{color:var(--muted);margin:0 0 13px;font-size:10px;line-height:1.5}.paylater-cycle-setup>div{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.paylater-cycle-setup label{margin-bottom:0}.paylater-cycle-setup output{border-top:1px solid var(--line);color:var(--muted);margin-top:12px;padding-top:11px;font-size:10px;line-height:1.55;display:block}.paylater-cycle-setup output strong{color:var(--text)}.manage-account-card footer{justify-content:space-between;margin-top:18px;display:flex}.manage-account-card footer button{background:var(--panel-soft);height:32px;color:var(--muted);cursor:pointer;border:0;border-radius:8px;align-items:center;gap:5px;padding:0 8px;font-size:10px;display:inline-flex}.manage-account-card footer button:disabled{opacity:.3}.manage-account-card footer svg{width:13px}.bills-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.bills-summary article{border:1px solid var(--line);background:var(--panel);border-radius:16px;align-items:center;gap:12px;min-height:90px;padding:18px;display:flex}.bills-summary article>svg{width:40px;height:40px;color:var(--blue);background:var(--panel-soft);border-radius:12px;padding:10px}.bills-summary span{gap:4px;display:grid}.bills-summary small{color:var(--muted)}.bills-summary strong{font:400 15px IBM Plex Mono,monospace}.bills-layout{grid-template-columns:1.12fr .88fr;align-items:start;gap:16px;display:grid}.occurrence-list,.bill-schedules{display:grid}.occurrence-list article{border-bottom:1px solid var(--line);grid-template-columns:44px 1fr auto auto;align-items:center;gap:12px;padding:13px 0;display:grid}.occurrence-list article:last-child,.bill-schedules article:last-child{border-bottom:0}.occurrence-list article>div,.bill-schedules article>div{gap:3px;display:grid}.occurrence-list small,.bill-schedules small{color:var(--muted);font-size:10px}.bill-schedules article>b{font:400 12px IBM Plex Mono,monospace}.occurrence-amount{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:5px;padding:6px;font:400 12px IBM Plex Mono,monospace;display:inline-flex}.occurrence-amount:hover,.occurrence-amount:focus-visible{background:var(--panel-soft);color:var(--blue)}.occurrence-amount svg{width:12px}.occurrence-amount.readonly{cursor:default}.occurrence-amount.readonly:hover{color:var(--text);background:0 0}.modal-field{color:var(--muted);gap:7px;margin-top:16px;font-size:11px;font-weight:730;display:grid}.modal-field select{border:1px solid var(--line);background:var(--panel);height:44px;color:var(--text);border-radius:10px;padding:0 12px}.bill-schedules article{border-bottom:1px solid var(--line);grid-template-columns:38px 1fr auto auto 38px;align-items:center;gap:8px;padding:14px 0;display:grid}.schedule-icon{width:36px;height:36px;color:var(--blue);background:var(--panel-soft);border-radius:11px;place-content:center;display:grid}.schedule-icon svg{width:16px}.schedule-icon.recurring{color:var(--periwinkle)}.status-pill{color:#3f7f91;text-transform:uppercase;background:#6ea2b324;border:0;border-radius:8px;align-items:center;gap:4px;padding:5px 8px;font-size:9px;font-weight:780;display:flex}.status-pill.paused{color:var(--muted);background:var(--panel-soft)}.status-pill.automatic{color:var(--periwinkle);background:color-mix(in srgb, var(--periwinkle) 12%, var(--panel));justify-content:center}.status-pill svg{width:11px}.schedule-choice{border:0;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 15px;padding:0;display:grid}.schedule-choice legend{color:var(--muted);grid-column:1/-1;margin-bottom:8px;font-size:11px;font-weight:730}.schedule-choice button{border:1px solid var(--line);background:var(--panel);color:var(--muted);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:14px;display:flex}.schedule-choice button.active{border-color:var(--blue);background:color-mix(in srgb, var(--blue) 6%, var(--panel));color:var(--blue)}.schedule-choice button svg{width:21px}.schedule-choice button span{gap:2px;display:grid}.schedule-choice button strong{color:var(--text);font-size:12px}.schedule-choice button small{font-size:9px}.goals-hero{color:#fff;background:linear-gradient(135deg,#123f63,#4e8ea2);border-radius:22px;grid-template-columns:1fr 1fr;align-items:center;gap:30px;margin-bottom:17px;padding:28px;display:grid}.goals-hero>div{gap:6px;display:grid}.goals-hero>div span{color:#bdd8e9;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:7px;font-size:11px;display:flex}.goals-hero svg{width:16px}.goals-hero strong{font:400 34px IBM Plex Mono,monospace}.goals-hero small{color:#bdd8e9}.goals-hero>p{color:#e4f0f6;background:#ffffff17;border-radius:14px;align-items:flex-start;gap:10px;margin:0;padding:17px;font-size:12px;line-height:1.5;display:flex}.goals-hero>p svg{color:var(--teal)}.goals-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.goal-detail-card{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:22px}.goal-detail-card header{grid-template-columns:40px 1fr auto;align-items:center;gap:10px;display:grid}.goal-detail-card header>span{width:39px;height:39px;color:var(--goal);background:color-mix(in srgb, var(--goal) 13%, transparent);border-radius:12px;place-content:center;display:grid}.goal-detail-card header svg{width:18px}.goal-detail-card header div{gap:2px;display:grid}.goal-detail-card header small{color:var(--muted);font-size:9px}.goal-detail-card header b{color:var(--goal);font:400 16px IBM Plex Mono,monospace}.goal-amount{grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 13px;display:grid}.goal-amount span{gap:5px;display:grid}.goal-amount small{color:var(--muted)}.goal-amount strong{font:400 15px IBM Plex Mono,monospace}.progress.large{height:9px;margin:0 0 13px}.goal-facts{min-height:42px;color:var(--muted);grid-template-columns:1fr 1fr;font-size:9px;display:grid}.goal-facts span{align-items:center;gap:4px;display:flex}.goal-facts svg{width:12px;color:var(--goal)}.goal-actions{grid-template-columns:1fr 105px;gap:7px;margin-top:14px;display:grid}.goal-actions select{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:11px;padding:0 8px;font-size:10px}.mini-segment{background:var(--panel-soft);border:0;border-radius:11px;grid-template-columns:1fr 1fr;margin:0 0 15px;padding:4px;display:grid}.mini-segment button{height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:11px;font-weight:700}.mini-segment button.active{background:var(--panel);color:var(--text);box-shadow:0 3px 12px #19324d14}.settings-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:15px;display:grid}.settings-card{border:1px solid var(--line);background:var(--panel);border-radius:20px;flex-direction:column;min-height:270px;padding:24px;display:flex}.settings-icon{margin-bottom:20px}.settings-card h2{letter-spacing:-.025em;margin:0 0 8px;font-size:20px}.settings-card>strong{margin-bottom:8px;font:400 13px IBM Plex Mono,monospace}.settings-card>p:not(.eyebrow){color:var(--muted);margin:0 0 18px;font-size:11px;line-height:1.55}.settings-card>button,.settings-card>.button-stack{margin-top:auto}.button-stack{gap:7px;display:grid}.install-card{color:#fff;background:linear-gradient(145deg,#123f63,#255d7a)}.install-card .eyebrow{color:#7bbde8}.install-card>p:not(.eyebrow){color:#bdd8e9}.install-card ol{gap:10px;margin:6px 0 15px;padding:0;list-style:none;display:grid}.install-card li{color:#e4f0f6;align-items:center;gap:8px;font-size:11px;display:flex}.install-card li b{width:22px;height:22px;color:var(--teal);background:#ffffff14;border-radius:7px;place-content:center;display:grid}.shortcut-card code{background:var(--panel-soft);color:var(--blue);border-radius:8px;padding:9px;font:400 9px IBM Plex Mono,monospace}.danger-zone{border-color:#ea6a4740}.category-manager{gap:22px;display:grid}.category-manager section>header{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.category-manager h3{color:var(--text);margin:0;font-size:13px}.category-manager section>header span{background:var(--panel-soft);border-radius:7px;padding:4px 7px;font:400 10px IBM Plex Mono,monospace}.category-manage-row{border-bottom:1px solid var(--line);grid-template-columns:10px 1fr auto;align-items:center;gap:10px;min-height:43px;display:grid}.category-manage-row>i{border-radius:3px;width:9px;height:9px}.category-manage-row strong{color:var(--text);font-size:11px}.category-manage-row>span{gap:2px;display:flex}.category-manage-row button{background:var(--panel-soft);width:29px;height:29px;color:var(--muted);cursor:pointer;border:0;border-radius:8px;place-content:center;display:grid}.category-manage-row button:disabled{opacity:.25}.category-manage-row button:last-child{color:var(--coral)}.category-manage-row svg{width:12px}.inline-editor{z-index:3;background:var(--panel);border-radius:20px;place-content:center;padding:24px;display:grid;position:absolute;inset:0}.inline-editor form{gap:12px;width:min(420px,80vw);display:grid}.inline-editor label{gap:6px;font-size:11px;font-weight:700;display:grid}.inline-editor input{border:1px solid var(--line);background:var(--panel);width:100%;height:44px;color:var(--text);border-radius:10px;padding:0 11px}.inline-editor form>div:last-child{justify-content:flex-end;gap:8px;display:flex}.file-drop{border:1px dashed var(--blue);background:color-mix(in srgb, var(--blue) 4%, var(--panel));text-align:center;cursor:pointer;border-radius:14px;place-content:center;justify-items:center;gap:5px;min-height:160px;display:grid;position:relative}.file-drop svg{color:var(--blue)}.file-drop span{color:var(--muted);font-size:10px}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.import-preview{margin-top:15px}.import-preview>div{color:var(--muted);gap:14px;font-size:11px;display:flex}.import-preview>div span:first-child{color:#178c7b}.import-preview svg{vertical-align:middle;width:13px}.import-preview table{border-collapse:collapse;width:100%;margin-top:10px;font-size:10px}.import-preview th,.import-preview td{border-bottom:1px solid var(--line);text-align:left;padding:8px}.import-note{color:var(--muted);align-items:flex-start;gap:7px;font-size:10px;display:flex}.import-note svg{width:14px}@media (width<=1120px){.page-stage{padding-inline:28px}.balance-deck{grid-template-columns:1.15fr .65fr}.period-panel{flex-direction:row;grid-column:1/-1;align-items:center;padding:18px 28px}.period-segment{width:280px}.period-panel label{width:190px}.metric-strip,.accounts-grid,.goals-grid,.settings-grid{grid-template-columns:repeat(2,1fr)}.bills-layout{grid-template-columns:1fr}}@media (width<=780px){.sidebar{display:none}.app-stage{margin-left:0}.page-stage{padding:calc(20px + env(safe-area-inset-top,0px)) 16px calc(112px + var(--safe-bottom))}.page-header{align-items:center;margin-bottom:22px}.page-header h1{font-size:29px}.page-header>div:first-child>p:last-child,.desktop-add{display:none}.bottom-nav{z-index:40;inset:auto 10px calc(10px + var(--safe-bottom));background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #dce5edcc;border-radius:21px;grid-template-columns:repeat(5,1fr);align-items:center;height:68px;padding:6px 5px;display:grid;position:fixed;box-shadow:0 18px 50px #10263d33}.bottom-nav a,.bottom-nav button{height:54px;color:var(--muted);background:0 0;border:0;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:9px;font-weight:700;display:flex}.bottom-nav svg{width:20px}.bottom-nav a.active{color:var(--blue)}.bottom-nav button{background:var(--navy);color:#fff;border-radius:18px;justify-self:center;width:54px;height:54px;transform:translateY(-16px);box-shadow:0 10px 24px #19324d47}.bottom-nav button svg{width:28px}.quick-add-fab{display:none}.toast{left:50%;bottom:calc(93px + var(--safe-bottom));justify-content:center;width:calc(100% - 32px)}.offline-banner{inset:env(safe-area-inset-top,0px) 0 auto}.update-prompt{right:16px;bottom:calc(95px + var(--safe-bottom));grid-template-columns:35px 1fr 30px}.update-prompt button:not(:last-child){grid-column:2/-1}.balance-deck{border-radius:22px;min-height:0;display:block}.balance-deck:after{left:30%}.balance-main{padding:27px 24px}.balance-main h2{font-size:39px}.balance-main p{margin-top:18px}.balance-foot{margin-top:17px}.owed-panel{border:0;border-top:1px solid #ffffff1f;grid-template-columns:1fr auto;margin:0 20px;padding:17px 4px;display:grid}.owed-panel strong{margin:0;font-size:19px}.owed-panel small{grid-column:1/-1}.period-panel{grid-template-columns:1fr;padding:18px 20px 22px;display:grid}.period-segment,.period-panel label{width:100%}.period-panel>span{display:none}.account-scroll{scrollbar-width:none;scroll-snap-type:x mandatory;grid-auto-columns:205px;margin-inline:-16px;padding-inline:16px}.account-card{scroll-snap-align:start}.metric-strip{grid-template-columns:1fr 1fr;gap:8px}.metric-strip article{min-height:102px;padding:15px}.metric-strip strong{font-size:17px}.dashboard-grid{grid-template-columns:1fr}.panel{border-radius:17px;padding:19px}.spending-panel,.flow-panel,.goal-panel,.recent-panel,.bills-panel{grid-area:auto/1}.spending-content{grid-template-columns:1fr}.spending-content ul{grid-template-columns:1fr 1fr}.recent-panel{max-height:none}.transaction-copy strong{text-overflow:ellipsis;white-space:nowrap;max-width:145px;overflow:hidden}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar .search-field{grid-column:1/-1}.transaction-ledger{padding:18px 14px}.editable-row .transaction-row{padding-right:0}.row-tools{display:none}.accounts-grid,.goals-grid,.settings-grid,.bills-summary{grid-template-columns:1fr}.bills-summary article{min-height:75px}.occurrence-list article{grid-template-columns:43px 1fr auto}.occurrence-list article .secondary-button{grid-column:2/-1}.goals-hero{grid-template-columns:1fr;gap:20px;padding:23px}.goals-grid{grid-template-columns:1fr}.settings-card{min-height:245px}.auth-page{grid-template-columns:1fr}.auth-story{min-height:200px;padding:26px 24px}.auth-copy{margin-top:65px}.auth-copy h1{font-size:39px}.auth-copy ul,.auth-footnote{display:none}.auth-form-panel{background:var(--navy-deep);padding:22px 16px 40px}.auth-card{padding:27px 23px}.sheet-backdrop{align-items:end;padding:0}.quick-sheet{width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0px) - 14px);padding:7px 18px calc(18px + var(--safe-bottom));border-radius:26px 26px 0 0;animation:.24s both sheet-up}.sheet-handle{background:var(--line);border-radius:6px;width:42px;height:5px;margin:2px auto 14px;display:block}.quick-sheet h2{font-size:23px}.type-segment{margin:16px 0 10px}.amount-field{min-height:78px}.amount-field input{font-size:38px}.category-pick{margin:14px 0}.category-pick button{min-height:62px}.modal-backdrop{align-items:end;padding:12px}.modal-card{max-height:calc(100dvh - 24px);padding:22px 18px calc(20px + var(--safe-bottom));border-radius:22px 22px 0 0}.form-grid,.installment-picker,.paylater-cycle-setup>div{grid-template-columns:1fr}.span-2{grid-column:1}.modal-card footer{background:var(--panel);position:sticky;bottom:0}@keyframes sheet-up{0%{opacity:.7;transform:translateY(40px)}}}@media (width<=430px){.page-actions{gap:6px}.page-header h1{font-size:27px}.metric-strip article{min-width:0}.metric-strip strong{font-size:15px}.category-pick>div{grid-template-columns:repeat(4,minmax(0,1fr))}.category-pick button{font-size:8px}.spending-content ul{grid-template-columns:1fr}.filter-bar{flex-wrap:wrap;display:flex}.filter-bar>*{flex:130px}.filter-bar .search-field{flex-basis:100%}.transaction-row{grid-template-columns:38px minmax(0,1fr) auto}.transaction-row .row-arrow{display:none}.transaction-copy strong{max-width:125px}.transaction-amount{font-size:10px}.schedule-choice{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
