*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--color-background);min-height:100%;color:var(--color-on-background)}body{font-family:var(--font-family);background:var(--color-background);color:var(--color-on-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer;background:0 0;border:none;transition:background-color .2s,box-shadow .2s,color .2s,filter .2s}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-interactive{transition:transform .2s cubic-bezier(.2,0,0,1),opacity .2s,filter .2s}.btn-interactive:active{opacity:.9;transform:scale(.96)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:8px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}input:focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:0 0 0 2px var(--color-focus);border-color:#0000;outline:none}input,textarea{caret-color:var(--color-accent)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent);color:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}a{color:inherit;text-decoration:none}.app-shell{background:var(--color-background);flex-direction:column;width:100%;min-height:100dvh;display:flex}.app-frame{width:100%;max-width:var(--app-max-width,1360px);min-height:100dvh;padding-left:max(1rem, var(--safe-left,0px));padding-right:max(1rem, var(--safe-right,0px));background:var(--color-background);color:var(--color-on-background);margin-inline:auto;position:relative}@media (width>=640px){.app-frame{padding-left:max(1.5rem, var(--safe-left,0px));padding-right:max(1.5rem, var(--safe-right,0px))}}@media (width>=1024px){.app-frame{padding-left:max(2rem, var(--safe-left,0px));padding-right:max(2rem, var(--safe-right,0px))}}.app-shell__main{padding-top:8px;padding-bottom:calc(10rem + var(--safe-bottom-pad,var(--safe-bottom,0px)))}@media (width>=400px){.app-shell__main{padding-top:12px}}@media (width>=768px){.app-shell__main{padding-bottom:3.5rem}}.tab-panel--animate-in{animation:tab-in var(--dur-slow,.5s) var(--ease-spring,cubic-bezier(.175, .885, .32, 1.1)) both}@keyframes tab-in{0%{opacity:0;transform:translateY(16px)scale(.992)}to{opacity:1;transform:translate(0,0)scale(1)}}.skip-link{z-index:300;background:var(--color-income);color:var(--color-on-income,#000);border-radius:10px;padding:10px 14px;font-size:.875rem;font-weight:700;text-decoration:none;transition:transform .16s;position:absolute;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{outline:2px solid var(--color-focus);outline-offset:2px;transform:translateY(0)}.settings-about-note{color:var(--color-on-surface-variant);margin:8px 4px 0;font-size:.75rem;line-height:1.4}.tabular-nums,.money,.money--body,.money--hero-display,.money--stat,.transaction-row__amount,.donut-center__value,.budget-bar__labels,.budget-bar__over,.txn-day-header__totals,.settings-row__sub,.field__input[inputmode=decimal],input[type=number]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1, "lnum" 1}.money--hero-display{letter-spacing:-.05em;color:var(--color-on-background);background:var(--hero-balance-gradient,none);-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:unset;filter:none;font-size:clamp(2.5rem,8vw,4rem);font-weight:900;line-height:1}.money--hero-display[style*=--hero-balance-gradient],.finance-summary-card__balance .money--hero-display{color:inherit}.app-header{min-height:3rem;padding:calc(.35rem + var(--safe-top,0px)) 0 .35rem;border-bottom:1px solid color-mix(in srgb, var(--color-outline) 70%, transparent);justify-content:space-between;align-items:center;gap:1rem;display:flex}.app-header__nav{--nav-item:40px;--nav-gap:2px;--nav-pad:3px;--nav-radius:999px;--nav-icon:20px;--nav-i:0;justify-content:center;align-items:center;gap:var(--nav-gap);width:auto;max-width:none;padding:var(--nav-pad);height:calc(var(--nav-item) + var(--nav-pad) * 2);box-sizing:border-box;background:color-mix(in srgb, var(--color-surface) 28%, transparent);border:1px solid color-mix(in srgb, var(--color-outline) 32%, transparent);min-width:0;box-shadow:inset 0 1px 0 #ffffff14, 0 1px 2px color-mix(in srgb, var(--color-on-background) 6%, transparent);-webkit-backdrop-filter:blur(24px)saturate(1.5);border-radius:999px;flex:none;margin-left:auto;display:inline-flex;position:relative}.app-header__nav-thumb{z-index:0;top:var(--nav-pad);left:var(--nav-pad);width:var(--nav-item);height:var(--nav-item);border-radius:var(--nav-radius);pointer-events:none;background:var(--color-income);box-shadow:0 1px 0 #ffffff47 inset, 0 4px 16px color-mix(in srgb, var(--color-income) 36%, transparent);transform:translateX(calc(var(--nav-i) * (var(--nav-item) + var(--nav-gap))));transition:transform var(--dur-base,.28s) var(--ease-spring,cubic-bezier(.22, 1, .36, 1)), background-color var(--dur-base,.2s) ease, box-shadow var(--dur-base,.2s) ease;position:absolute}@media (width>=768px){.app-header__nav{--nav-item:46px;--nav-gap:4px;--nav-pad:5px;--nav-icon:22px}.app-header{min-height:3.35rem}}@media (width>=1024px){.app-header__nav{--nav-item:52px;--nav-gap:5px;--nav-pad:5px;--nav-icon:24px}.app-header{gap:1.25rem;min-height:3.75rem;padding-bottom:.45rem}.app-header__logo-mark{width:32px!important;height:32px!important}}@media (width>=1280px){.app-header__nav{--nav-item:56px;--nav-gap:6px;--nav-pad:6px;--nav-icon:26px}}.app-header__nav-item{z-index:1;box-sizing:border-box;width:var(--nav-item);height:var(--nav-item);min-width:var(--nav-item);min-height:var(--nav-item);border-radius:var(--nav-radius);color:color-mix(in srgb, var(--color-on-surface) 48%, var(--color-on-surface-variant));cursor:pointer;background:0 0;border:none;flex-direction:row;flex:none;justify-content:center;align-items:center;gap:0;margin:0;padding:0;line-height:0;transition:color .18s,transform .14s;display:inline-flex;position:relative}.app-header__nav-icon,.app-header__nav-item svg{width:var(--nav-icon);height:var(--nav-icon);opacity:1;stroke-width:1.85px;transition:color .18s ease, stroke-width .18s ease, transform .18s var(--ease-spring,cubic-bezier(.22, 1, .36, 1));flex-shrink:0;display:block}.app-header__nav-item:hover{color:var(--color-on-background)}.app-header__nav-item:hover .app-header__nav-icon,.app-header__nav-item:hover svg{transform:scale(1.04)}.app-header__nav-item:active{transform:scale(.94)}.app-header__nav-item--active:active{transform:none}@media (width<=767px){.app-header__nav{--nav-item:44px}}.app-header__nav-item:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.app-header__nav-item--active{color:var(--color-on-income,#000);box-shadow:none;background:0 0}.app-header__nav-item--active .app-header__nav-icon,.app-header__nav-item--active svg{stroke-width:2.35px}.app-header__nav-item--active:hover{color:var(--color-on-income,#000);background:0 0}[data-theme=light] .app-header{border-bottom-color:var(--color-outline)}[data-theme=light] .app-header__nav{background:color-mix(in srgb, var(--color-surface) 42%, transparent);border-color:color-mix(in srgb, var(--color-outline) 45%, transparent);box-shadow:inset 0 1px 0 #ffffff8c, 0 1px 2px color-mix(in srgb, var(--color-on-background) 5%, transparent)}[data-theme=light] .app-header__nav-thumb{background:var(--color-income);box-shadow:0 1px 0 #fff6 inset, 0 4px 14px color-mix(in srgb, var(--color-income) 28%, transparent)}[data-theme=light] .app-header__nav-item{color:color-mix(in srgb, var(--color-on-surface) 58%, var(--color-on-surface-variant))}[data-theme=light] .app-header__nav-item--active{color:var(--color-on-income,#000);box-shadow:none;background:0 0}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:20px}::-webkit-scrollbar-thumb:hover{background:#ffffff1f}[data-theme=light] ::-webkit-scrollbar-thumb{background:#00000014}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00000026}.recurring-panel{background:var(--color-surface);color:var(--color-on-surface);border-radius:24px;width:min(640px,100vw - 32px);max-height:calc(100dvh - 32px);padding:24px;overflow-y:auto}.recurring-form{gap:12px;margin-block:16px;display:grid}.recurring-form label{gap:4px;display:grid}.recurring-form input,.recurring-form select{background:var(--color-surface-variant);width:100%;min-height:48px;color:var(--color-on-surface);border:1px solid var(--color-outline);border-radius:8px;padding:8px}.recurring-row{border-bottom:1px solid var(--color-outline);padding-block:16px}.recurring-panel button{min-height:48px;margin:4px}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.col-span-full{grid-column:1/-1}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.place-items-center{place-items:center}.inline-block{display:inline-block}.order-1{order:1}.order-2{order:2}.order-3{order:3}.min-h-screen{min-height:100dvh}.w-full{width:100%}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.mx-auto{margin-left:auto;margin-right:auto}.-mx-2{margin-left:-8px;margin-right:-8px}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.font-extrabold{font-weight:800}.font-black{font-weight:900}.tracking-wide{letter-spacing:-.02em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.text-\[10px\]{font-size:10px}.text-\[15px\]{font-size:15px}.text-\[0\.9375rem\]{font-size:.9375rem}.tracking-\[0\.2em\]{letter-spacing:.2em}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.px-0{padding-left:0;padding-right:0}.p-0{padding:0}.shrink-0{flex-shrink:0}.flex-1{flex:1}.ml-auto{margin-left:auto}.min-w-0{min-width:0}.leading-none{line-height:1}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.select-none{-webkit-user-select:none;user-select:none}.pointer-events-none{pointer-events:none}.transition-all{transition:all .2s}.transition-colors{transition:color .15s,background-color .15s,border-color .15s}.transition-transform{transition:transform .2s}.cursor-pointer{cursor:pointer}.outline-none{outline:none}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-65{opacity:.65}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.gap-0{gap:0}.gap-0\.5{gap:2px}.gap-1{gap:4px}.gap-1\.5{gap:6px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-3\.5{gap:14px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.gap-7{gap:28px}.gap-8{gap:32px}.gap-10{gap:40px}.gap-12{gap:48px}.hidden{display:none}.space-y-12>*+*{margin-top:48px}.space-y-4>*+*{margin-top:16px}.space-y-3>*+*{margin-top:12px}.items-baseline{align-items:baseline}.items-end{align-items:flex-end}.max-w-\[1200px\]{max-width:1200px}.max-w-md{max-width:28rem}.w-3\.5{width:14px}.h-3\.5{height:14px}.h-2\.5{height:10px}.w-4{width:16px}.h-4{height:16px}.h-\[2px\]{height:2px}.w-5{width:20px}.h-5{height:20px}.w-6{width:24px}.h-6{height:24px}.w-8{width:32px}.h-8{height:32px}.w-9{width:36px}.h-9{height:36px}.w-10{width:40px}.h-10{height:40px}.w-11{width:44px}.h-11{height:44px}.w-12{width:48px}.h-12{height:48px}.w-14{width:56px}.h-14{height:56px}.w-16{width:64px}.h-16{height:64px}.w-32{width:128px}.min-w-\[100px\]{min-width:100px}.max-w-xs{max-width:20rem}.max-w-2xl{max-width:42rem}.p-1{padding:4px}.p-1\.5{padding:6px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-5{padding:20px}.p-6{padding:24px}.p-7{padding:28px}.p-8{padding:32px}.p-10{padding:40px}.px-1{padding-left:4px;padding-right:4px}.px-2{padding-left:8px;padding-right:8px}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.px-5{padding-left:20px;padding-right:20px}.px-6{padding-left:24px;padding-right:24px}.px-8{padding-left:32px;padding-right:32px}.px-10{padding-left:40px;padding-right:40px}.py-1{padding-top:4px;padding-bottom:4px}.py-2\.5{padding-top:10px;padding-bottom:10px}.py-3{padding-top:12px;padding-bottom:12px}.py-3\.5{padding-top:14px;padding-bottom:14px}.py-4{padding-top:16px;padding-bottom:16px}.py-5{padding-top:20px;padding-bottom:20px}.py-8{padding-top:32px;padding-bottom:32px}.py-12{padding-top:48px;padding-bottom:48px}.p-2\.5{padding:10px}.pl-10{padding-left:40px}.pl-11{padding-left:44px}.pl-12{padding-left:48px}.pl-14{padding-left:56px}.pl-36{padding-left:144px}.pr-4{padding-right:16px}.pr-6{padding-right:24px}.pt-2{padding-top:8px}.pb-20{padding-bottom:80px}.pb-32{padding-bottom:128px}.pb-40{padding-bottom:160px}.py-1\.5{padding-top:6px;padding-bottom:6px}.py-6{padding-top:24px;padding-bottom:24px}.py-10{padding-top:40px;padding-bottom:40px}.mb-1\.5{margin-bottom:6px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-7{margin-top:28px}.mt-10{margin-top:40px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mb-10{margin-bottom:40px}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.\!text-5xl{font-size:3rem!important}.rounded-xl{border-radius:12px}.rounded-2xl{border-radius:16px}.rounded-3xl{border-radius:24px}.rounded-lg{border-radius:8px}.rounded-full{border-radius:9999px}.rounded-\[1\.5rem\]{border-radius:1.5rem}.rounded-\[2rem\]{border-radius:2rem}.\!p-0{padding:0!important}.placeholder\:text-zinc-500::placeholder,.placeholder\:text-zinc-600::placeholder{color:var(--color-placeholder,var(--color-on-surface-variant))}.placeholder\:text-transparent::placeholder{color:#0000}.tnum{font-variant-numeric:tabular-nums}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.bg-accent\/10{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.bg-accent\/15{background:color-mix(in srgb, var(--color-accent) 15%, transparent)}.bg-accent\/20{background:color-mix(in srgb, var(--color-accent) 20%, transparent)}.bg-accent\/30{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}.bg-expense\/5{background:color-mix(in srgb, var(--color-expense) 5%, transparent)}.bg-expense\/10{background:color-mix(in srgb, var(--color-expense) 10%, transparent)}.bg-expense\/20{background:color-mix(in srgb, var(--color-expense) 20%, transparent)}.bg-income\/10{background:color-mix(in srgb, var(--color-income) 10%, transparent)}.bg-income\/15{background:color-mix(in srgb, var(--color-income) 15%, transparent)}.bg-on-surface\/5{background:color-mix(in srgb, var(--color-on-surface) 5%, transparent)}.bg-accent{background:var(--color-accent)}.bg-expense{background:var(--color-expense)}.bg-income{background:var(--color-income)}.bg-\[\#0C0C0E\]{background:var(--color-background)}.bg-\[\#0C0C0E\]\/30{background:color-mix(in srgb, var(--color-background) 30%, transparent)}.bg-\[\#0C0C0E\]\/40{background:color-mix(in srgb, var(--color-background) 40%, transparent)}.bg-\[\#0C0C0E\]\/95{background:color-mix(in srgb, var(--color-background) 95%, transparent)}.bg-\[\#0A0A0B\]{background:var(--color-background)}.bg-\[\#0A0A0B\]\/95{background:color-mix(in srgb, var(--color-background) 95%, transparent)}.bg-\[\#121214\]{background:var(--color-surface)}.bg-\[\#121214\]\/50{background:color-mix(in srgb, var(--color-surface) 50%, transparent)}.bg-\[\#121214\]\/60{background:color-mix(in srgb, var(--color-surface) 60%, transparent)}.bg-\[\#121214\]\/80{background:color-mix(in srgb, var(--color-surface) 80%, transparent)}.bg-\[\#10B981\]{background:var(--color-income)}.bg-\[\#10B981\]\/10{background:color-mix(in srgb, var(--color-income) 10%, transparent)}.bg-\[\#10B981\]\/15{background:color-mix(in srgb, var(--color-income) 15%, transparent)}.bg-black{background:var(--color-background)}.bg-white\/\[0\.02\]{background:color-mix(in srgb, var(--color-on-surface) 2%, transparent)}.bg-white\/\[0\.03\]{background:color-mix(in srgb, var(--color-on-surface) 3%, transparent)}.bg-white\/\[0\.04\]{background:color-mix(in srgb, var(--color-on-surface) 4%, transparent)}.bg-white\/\[0\.08\]{background:color-mix(in srgb, var(--color-on-surface) 8%, transparent)}.bg-glass{background:var(--glass-bg)}.bg-glass-elevated{background:var(--glass-bg-elevated)}.bg-background{background:var(--color-background)}.bg-background\/30{background:color-mix(in srgb, var(--color-background) 30%, transparent)}.bg-background\/40{background:color-mix(in srgb, var(--color-background) 40%, transparent)}.bg-background\/80{background:color-mix(in srgb, var(--color-background) 80%, transparent)}.bg-surface{background:var(--color-surface)}.bg-surface\/50{background:color-mix(in srgb, var(--color-surface) 50%, transparent)}.bg-surface\/60{background:color-mix(in srgb, var(--color-surface) 60%, transparent)}.bg-transparent{background:0 0}.bg-white\/5{background:color-mix(in srgb, var(--color-on-surface) 5%, transparent)}.bg-white\/10{background:color-mix(in srgb, var(--color-on-surface) 10%, transparent)}.bg-white\/60{background:color-mix(in srgb, var(--color-on-surface) 60%, transparent)}.bg-\[\#1C1C20\],.bg-\[\#18181B\]{background:var(--color-surface-variant)}.bg-emerald-500{background:var(--color-income)}.bg-emerald-500\/10{background:color-mix(in srgb, var(--color-income) 10%, transparent)}.bg-emerald-500\/20{background:color-mix(in srgb, var(--color-income) 20%, transparent)}.bg-rose-500{background:var(--color-expense)}.bg-rose-500\/10{background:color-mix(in srgb, var(--color-expense) 10%, transparent)}.bg-rose-500\/20{background:color-mix(in srgb, var(--color-expense) 20%, transparent)}.hover\:bg-rose-600:hover{background:color-mix(in srgb, var(--color-expense) 90%, black)}.hover\:bg-\[\#18181B\]:hover{background:var(--color-surface-variant)}.hover\:bg-\[\#121214\]:hover{background:var(--color-surface)}.hover\:bg-\[\#0EA5E9\]:hover{filter:brightness(1.08);background:var(--color-income)}.hover\:bg-accent:hover{background:var(--color-accent)}.hover\:bg-white\/10:hover{background:color-mix(in srgb, var(--color-on-surface) 10%, transparent)}.hover\:border-white\/10:hover{border-color:color-mix(in srgb, var(--color-on-surface) 10%, transparent)}.hover\:border-white\/20:hover{border-color:color-mix(in srgb, var(--color-on-surface) 20%, transparent)}.hover\:border-accent\/30:hover{border-color:color-mix(in srgb, var(--color-accent) 30%, transparent)}.hover\:text-accent:hover{color:var(--color-accent)}.backdrop-blur-xl{-webkit-backdrop-filter:blur(24px)}.backdrop-blur-md{-webkit-backdrop-filter:blur(12px)}.backdrop-blur-2xl{-webkit-backdrop-filter:blur(40px)}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.rounded-\[10px\]{border-radius:10px}.gap-2\.5{gap:10px}.selection\:bg-rose-500\/20 ::selection{background:#f43f5e33}.border{border-style:solid;border-width:1px}.border-solid{border-style:solid}.divide-y>*+*{border-top-style:solid;border-top-width:1px}.divide-white\/\[0\.04\]>*+*{border-top-color:color-mix(in srgb, var(--color-on-surface) 4%, transparent)}.border-b{border-bottom-style:solid;border-bottom-width:1px}.border-t{border-top-style:solid;border-top-width:1px}.last\:border-b-0:last-child{border-bottom:none}.border-accent\/30{border-color:color-mix(in srgb, var(--color-accent) 30%, transparent)}.border-surface-border{border-color:var(--surface-border)}.border-hairline-divider{border-color:var(--hairline-divider)}.border-white\/5{border-color:color-mix(in srgb, var(--color-on-surface) 5%, transparent)}.border-white\/10{border-color:color-mix(in srgb, var(--color-on-surface) 10%, transparent)}.border-white\/20{border-color:color-mix(in srgb, var(--color-on-surface) 20%, transparent)}.border-white\/30{border-color:color-mix(in srgb, var(--color-on-surface) 30%, transparent)}.border-white\/\[0\.04\]{border-color:color-mix(in srgb, var(--color-on-surface) 4%, transparent)}.border-white\/\[0\.06\]{border-color:color-mix(in srgb, var(--color-on-surface) 6%, transparent)}.border-white\/\[0\.08\]{border-color:color-mix(in srgb, var(--color-on-surface) 8%, transparent)}.border-white\/\[0\.10\]{border-color:color-mix(in srgb, var(--color-on-surface) 10%, transparent)}.border-\[\#10B981\]{border-color:var(--color-income)}.border-emerald-500\/20{border-color:#10b98133}.border-t-white{border-top-color:#fff}.border-income{border-color:var(--color-income)}.border-income\/20{border-color:color-mix(in srgb, var(--color-income) 20%, transparent)}.border-income\/30{border-color:color-mix(in srgb, var(--color-income) 30%, transparent)}.border-expense\/20{border-color:color-mix(in srgb, var(--color-expense) 20%, transparent)}.text-accent{color:var(--color-accent)}.text-\[\#10B981\]{color:var(--color-income)}.text-\[\#0C0C0E\]{color:var(--color-on-income,#09090b)}.bg-zinc-700{background:var(--color-on-surface-variant)}.text-zinc-400,.text-zinc-500,.text-zinc-600{color:var(--color-on-surface-variant)}.text-zinc-700,.text-zinc-100,.text-zinc-200{color:var(--color-on-surface)}.text-zinc-300{color:color-mix(in srgb, var(--color-on-surface) 88%, transparent)}.text-emerald-400{color:var(--color-income)}.text-rose-500{color:var(--color-expense)}.text-white{color:var(--color-on-background)}.text-black{color:#000}.text-income{color:var(--color-income)}.text-expense{color:var(--color-expense)}.text-on-surface{color:var(--color-on-surface)}.text-on-surface-variant{color:var(--color-on-surface-variant)}.text-on-income{color:var(--color-on-income,#09090b)}.text-on-background{color:var(--color-on-background)}.shadow-sm{box-shadow:0 1px 2px #0000000f}.shadow-xl{box-shadow:0 20px 25px -5px #00000014,0 8px 10px -6px #0000000a}.shadow-none{box-shadow:none}.border-none{border:none}.shadow-accent\/20{box-shadow:0 4px 6px -1px color-mix(in srgb, var(--color-accent) 20%, transparent), 0 2px 4px -2px color-mix(in srgb, var(--color-accent) 15%, transparent)}.shadow-\[\#10B981\]\/20{box-shadow:0 1px 3px #10b98133}.shadow-\[0_0_15px_rgba\(16\,185\,129\,0\.15\)\]{box-shadow:0 0 15px #10b98126}.shadow-2xl-accent{box-shadow:0 12px 40px color-mix(in srgb, var(--color-accent) 25%, transparent)}.shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.shadow-2xl{box-shadow:0 25px 50px -12px #00000026}.shadow-inner{box-shadow:inset 0 2px 4px #0000000f}.shadow-\[0_0_12px_rgba\(16\,185\,129\,0\.15\)\]{box-shadow:0 0 12px #10b98126}.shadow-\[0_0_10px_rgba\(16\,185\,129\,0\.1\)\]{box-shadow:0 0 10px #10b9811a}.shadow-lg{box-shadow:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000a}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000000f}.hover\:bg-expense\/10:hover{background:color-mix(in srgb, var(--color-expense) 10%, transparent)}.hover\:bg-expense\/20:hover{background:color-mix(in srgb, var(--color-expense) 20%, transparent)}.hover\:bg-on-surface\/5:hover{background:color-mix(in srgb, var(--color-on-surface) 5%, transparent)}.hover\:bg-on-surface\/10:hover{background:color-mix(in srgb, var(--color-on-surface) 10%, transparent)}.hover\:bg-white\/5:hover{background:color-mix(in srgb, var(--color-on-surface) 5%, transparent)}.hover\:bg-white\/\[0\.02\]:hover{background:color-mix(in srgb, var(--color-on-surface) 2%, transparent)}.hover\:bg-white\/\[0\.04\]:hover{background:color-mix(in srgb, var(--color-on-surface) 4%, transparent)}.hover\:text-white:hover{color:var(--color-on-background)}.hover\:text-zinc-200:hover{color:var(--color-on-surface)}.hover\:text-zinc-300:hover{color:color-mix(in srgb, var(--color-on-surface) 88%, transparent)}.hover\:text-on-background:hover{color:var(--color-on-background)}.hover\:bg-expense\/90:hover{background:color-mix(in srgb, var(--color-expense) 90%, transparent)}.hover\:scale-105:hover{transform:scale(1.05)}.active\:scale-95:active{transform:scale(.95)}.active\:scale-90:active{transform:scale(.9)}.hover\:-translate-y-0\.5:hover{transform:translateY(-2px)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.focus\:bg-on-surface\/10:focus{background:color-mix(in srgb, var(--color-on-surface) 10%, transparent)}.focus\:ring-2:focus{box-shadow:0 0 0 2px var(--color-focus)}.focus\:ring-1:focus{box-shadow:0 0 0 1px var(--color-focus)}.focus\:ring-income:focus{box-shadow:0 0 0 1px var(--color-income)}.focus\:border-income:focus{border-color:var(--color-income)}.focus\:ring-\[\#10B981\]:focus{box-shadow:0 0 0 1px var(--color-income)}.focus\:ring-accent\/20:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--color-accent) 20%, transparent)}.focus\:border-transparent:focus{border-color:#0000}.focus\:border-\[\#10B981\]:focus{border-color:var(--color-income)}.focus\:border-\[\#10B981\]\/50:focus{border-color:color-mix(in srgb, var(--color-income) 50%, transparent)}.focus\:ring-\[\#10B981\]\/30:focus{box-shadow:0 0 0 1px color-mix(in srgb, var(--color-income) 30%, transparent)}.sticky{position:sticky}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.top-0{top:0}.bottom-0{bottom:0}.bottom-6{bottom:24px}.bottom-8{bottom:32px}.right-8{right:32px}.left-0{left:0}.left-4{left:16px}.left-6{left:24px}.left-1\/2{left:50%}.-translate-x-1\/2{transform:translate(-50%)}.-translate-y-1\/2{transform:translateY(-50%)}.top-1\/2{top:50%}.z-50{z-index:50}.z-\[100\]{z-index:100}.max-h-\[90vh\]{max-height:90dvh}.rounded-\[2\.5rem\]{border-radius:2.5rem}.text-\[11px\]{font-size:11px}.tracking-\[0\.15em\]{letter-spacing:.15em}.z-\[200\]{z-index:200}.group:hover .group-hover\:border-accent\/30{border-color:color-mix(in srgb, var(--color-accent) 30%, transparent)}.group:hover .group-hover\:text-accent{color:var(--color-accent)}.rotate-90{transform:rotate(90deg)}.scale-110{transform:scale(1.1)}.overflow-y-auto{overflow-y:auto}.max-h-\[95vh\]{max-height:95vh}.max-w-xl{max-width:36rem}.w-20{width:80px}.h-20{height:80px}.hover\:brightness-110:hover{filter:brightness(1.1)}.active\:scale-\[0\.98\]:active{transform:scale(.98)}@media (width>=640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:p-10{padding:40px}.sm\:px-8{padding-left:32px;padding-right:32px}.sm\:pt-4{padding-top:16px}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (width>=768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:sticky{position:sticky}.lg\:top-\[100px\]{top:100px}.lg\:grid-cols-\[minmax\(320px\,380px\)_1fr\]{grid-template-columns:minmax(320px,380px) 1fr}}@media (width>=1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.sidebar-layout{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}@media (width>=768px){.sidebar-layout{grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);gap:20px}}@media (width>=1024px){.sidebar-layout{grid-template-columns:minmax(300px,.4fr) minmax(0,1fr);gap:24px}}@media (width>=1280px){.sidebar-layout{grid-template-columns:minmax(320px,.38fr) minmax(0,1fr);gap:28px}}.sidebar-panel{flex-direction:column;gap:14px;width:100%;min-width:0;display:flex}@media (width>=768px){.sidebar-panel{top:var(--sidebar-sticky-top,calc(5.5rem + var(--safe-top,0px)));max-height:calc(100dvh - var(--sidebar-sticky-top,5.5rem) - 1.5rem);overscroll-behavior:contain;scrollbar-width:thin;align-self:start;gap:14px;position:sticky;overflow-y:auto}}@media (width>=1024px){.sidebar-panel{top:var(--sidebar-sticky-top,calc(6rem + var(--safe-top,0px)));max-height:calc(100dvh - var(--sidebar-sticky-top,6rem) - 2rem);gap:16px}}.sidebar-panel--insights .widget-stack{gap:14px}@media (width>=768px){.sidebar-panel--insights .widget-stack{gap:16px}}.content-col{flex-direction:column;gap:18px;min-width:0;padding-bottom:40px;display:flex}@media (width>=1024px){.content-col{gap:20px;padding-bottom:48px}}.widget-stack{flex-direction:column;gap:14px;display:flex}@media (width>=1024px){.widget-stack{gap:16px}}.page-title{margin-bottom:16px}.page-title__text{letter-spacing:-.02em;text-transform:lowercase;width:fit-content;max-width:100%;color:var(--color-on-background);align-items:center;gap:.55rem;margin:0;padding:0;font-size:1.875rem;font-weight:800;line-height:1.05;display:inline-flex}.page-title__icon{width:1.15em;height:1.15em;color:var(--color-income);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.page-title__icon svg{width:.72em;height:.72em;display:block}.page-title__text .signature-text{font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit}@media (width>=640px){.page-title__text{font-size:2.125rem}}@media (width>=768px){.page-title{margin-bottom:18px}.page-title__text{font-size:2.25rem}}@media (width>=1024px){.page-title{margin-bottom:20px}.page-title__text{font-size:2.375rem}}.txn-sections{flex-direction:column;gap:24px;display:flex}@media (width>=1024px){.txn-sections{gap:28px}}.txn-day-header{top:var(--record-sticky-offset,0px);z-index:20;background:color-mix(in srgb, var(--color-background) 88%, transparent);-webkit-backdrop-filter:blur(18px);border-bottom:.5px solid var(--hairline-divider);color:var(--color-on-surface-variant);letter-spacing:.14em;text-transform:uppercase;border-radius:1rem 1rem 0 0;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;padding:10px 14px;font-size:.6875rem;font-weight:700;display:flex;position:sticky}.txn-day-header__totals{letter-spacing:.02em;text-transform:none;white-space:nowrap;align-items:baseline;gap:10px;font-size:.75rem;font-weight:700;display:flex}.txn-day-header__total--income{color:var(--color-income)}.txn-day-header__total--expense{color:var(--color-expense)}@media (width>=1024px){.txn-day-header{margin-bottom:18px;padding:12px 20px;font-size:.75rem}}.settings-page{flex-direction:column;gap:24px;max-width:920px;display:flex}.settings-page__header{flex-direction:column;gap:6px;margin-bottom:4px;display:flex}.settings-page__header .page-title{margin-bottom:0}.settings-page__version{color:var(--color-on-surface-variant);margin:0;font-size:.875rem}.settings-layout{flex-direction:column;gap:24px;display:flex}.settings-account{flex-wrap:wrap;align-items:center;gap:16px;padding:18px 20px;display:flex}.settings-account__avatar{background:color-mix(in srgb, var(--color-income) 18%, transparent);width:52px;height:52px;color:var(--color-income);text-transform:uppercase;border-radius:9999px;flex-shrink:0;place-items:center;font-size:1.15rem;font-weight:800;display:grid}.settings-account__meta{flex:1;min-width:140px}.settings-account__name{color:var(--color-on-background);font-size:1.0625rem;font-weight:700;line-height:1.25}.settings-account__email{color:var(--color-on-surface-variant);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.875rem;overflow:hidden}.settings-account__badge{letter-spacing:.08em;text-transform:uppercase;color:var(--color-income);margin-top:6px;font-size:.6875rem;font-weight:800}.settings-account__actions{flex-direction:column;flex-shrink:0;align-items:stretch;gap:8px;margin-left:auto;display:flex}.settings-sync-error{border:1px solid color-mix(in srgb, var(--color-expense) 35%, transparent);background:color-mix(in srgb, var(--color-expense) 10%, transparent);border-radius:16px;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 16px;padding:14px 16px;display:flex}.settings-sync-error__text{min-width:12rem;color:var(--color-on-background);flex:1;margin:0;font-size:.875rem;line-height:1.4}.settings-sync-error__retry{border:1px solid color-mix(in srgb, var(--color-expense) 40%, transparent);min-height:40px;color:var(--color-expense);cursor:pointer;background:0 0;border-radius:9999px;padding:8px 14px;font-size:.8125rem;font-weight:700}.settings-deletion-pending{border:1px solid color-mix(in srgb, var(--color-expense) 35%, transparent);background:color-mix(in srgb, var(--color-expense) 10%, transparent);border-radius:16px;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 16px;padding:14px 16px;display:flex}.settings-deletion-pending__text{min-width:12rem;color:var(--color-on-background);flex:1;margin:0;font-size:.875rem;line-height:1.4}.settings-deletion-pending__actions{flex-wrap:wrap;gap:8px;display:flex}.settings-deletion-pending__action{border:1px solid color-mix(in srgb, var(--color-expense) 40%, transparent);min-height:40px;color:var(--color-expense);cursor:pointer;background:0 0;border-radius:9999px;padding:8px 14px;font-size:.8125rem;font-weight:700}.settings-deletion-pending__action:disabled{opacity:.5;cursor:not-allowed}.settings-replace-unresolved{border:1px solid color-mix(in srgb, var(--color-expense) 35%, transparent);background:color-mix(in srgb, var(--color-expense) 10%, transparent);border-radius:16px;flex-direction:column;gap:12px;margin:0 0 16px;padding:14px 16px;display:flex}.settings-replace-unresolved__text{color:var(--color-on-background);margin:0;font-size:.875rem;line-height:1.4}.settings-replace-unresolved__actions{flex-wrap:wrap;gap:8px;display:flex}.settings-replace-unresolved__action{border:1px solid color-mix(in srgb, var(--color-outline) 40%, transparent);min-height:40px;color:var(--color-on-background);cursor:pointer;background:0 0;border-radius:9999px;padding:8px 14px;font-size:.8125rem;font-weight:700}.settings-replace-unresolved__action--primary{border-color:color-mix(in srgb, var(--color-primary) 50%, transparent);color:var(--color-primary)}.settings-replace-unresolved__action--destructive{border-color:color-mix(in srgb, var(--color-expense) 40%, transparent);color:var(--color-expense)}.settings-replace-unresolved__action:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog__preflight{white-space:pre-line;color:var(--color-on-surface-variant);font-size:.875rem;line-height:1.5}.data-truncated-notice{border:1px solid color-mix(in srgb, var(--color-on-surface-variant,var(--color-on-background)) 22%, transparent);background:color-mix(in srgb, var(--color-on-surface-variant,var(--color-on-background)) 8%, transparent);color:var(--color-on-background);border-radius:16px;margin:0 0 16px;padding:12px 16px;font-size:.875rem;line-height:1.4}.settings-section{flex-direction:column;gap:10px;min-width:0;display:flex}.settings-section__title{text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant);margin:0;padding:0 4px;font-size:.6875rem;font-weight:800}.settings-group{background:color-mix(in srgb, var(--color-surface) 88%, transparent);border:1px solid color-mix(in srgb, var(--color-outline) 45%, transparent);border-radius:18px;flex-direction:column;gap:2px;padding:6px;display:flex}.settings-budget-edit{flex-direction:column;gap:12px;padding:12px;display:flex}.settings-budget-edit__actions{flex-wrap:wrap;gap:10px;display:flex}.settings-budget-edit__clear{color:var(--color-expense);border-color:color-mix(in srgb, var(--color-expense) 40%, transparent)}.settings-grid{flex-direction:column;gap:20px;display:flex}@media (width>=768px){.settings-page{gap:28px}.settings-grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px 24px;display:grid}.settings-grid>:last-child:nth-child(odd){grid-column:1/-1}}.overlay{z-index:200;background:var(--overlay-scrim,#000000b8);-webkit-backdrop-filter:blur(20px);padding:max(16px, var(--safe-top,0px)) max(16px, var(--safe-right,0px)) max(16px, var(--safe-bottom,0px)) max(16px, var(--safe-left,0px));box-sizing:border-box;justify-content:center;align-items:center;animation:.2s both overlay-fade-in;display:flex;position:fixed;inset:0}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.sheet{background:var(--color-surface-variant);border:1px solid var(--color-outline);box-shadow:var(--shadow-elevated,0 24px 48px #00000080);-webkit-backdrop-filter:blur(32px);border-radius:24px;width:100%;max-width:480px;max-height:90dvh;padding:28px;animation:.35s cubic-bezier(.22,1,.36,1) both sheet-up;overflow-y:auto}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)scale(.96)}to{opacity:1;transform:translate(0,0)scale(1)}}.sheet--settings{border-radius:24px}.sheet--settings__body{overscroll-behavior:contain;flex-direction:column;gap:8px;max-height:min(62vh,520px);padding-right:2px;display:flex;overflow-y:auto}.theme-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.theme-picker__option{border:1px solid color-mix(in srgb, var(--color-outline) 55%, transparent);background:color-mix(in srgb, var(--color-on-surface) 3.5%, transparent);min-width:0;color:var(--color-on-background);text-align:left;cursor:pointer;border-radius:16px;flex-direction:column;align-items:stretch;gap:10px;padding:10px;transition:background .15s,border-color .15s,box-shadow .15s,transform .12s;display:flex}.theme-picker__option:hover{background:color-mix(in srgb, var(--color-on-surface) 7%, transparent);border-color:color-mix(in srgb, var(--color-on-surface) 20%, transparent)}.theme-picker__option:active{transform:scale(.985)}.theme-picker__option:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.theme-picker__option--selected{border-color:color-mix(in srgb, var(--color-accent) 50%, transparent);background:color-mix(in srgb, var(--color-accent) 9%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-accent) 22%, transparent)}.theme-picker__meta{justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:0 2px;display:flex}.theme-picker__label{letter-spacing:-.01em;text-transform:lowercase;min-width:0;color:var(--color-on-background);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:650;overflow:hidden}.theme-picker__check{color:var(--color-accent);flex-shrink:0}.theme-swatch{width:100%;height:40px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-on-surface) 12%, transparent);border-radius:11px;flex-shrink:0;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.theme-swatch__band{background:var(--swatch-color);width:100%;height:100%;display:block}@media (width<=379px){.theme-picker{grid-template-columns:1fr}}.sheet--settings__header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.sheet--settings__title{letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:800}.sheet--settings__close{text-transform:lowercase;min-width:44px;min-height:44px;color:var(--color-on-surface-variant);background:color-mix(in srgb, var(--color-on-surface) 6%, transparent);border:1px solid color-mix(in srgb, var(--color-outline) 30%, transparent);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0 14px;font-size:.8125rem;font-weight:700;display:inline-flex}.sheet--settings__close:hover{color:var(--color-on-background);background:color-mix(in srgb, var(--color-on-surface) 10%, transparent)}.swipeable-row{width:100%;min-width:0;position:relative;overflow:hidden}.swipeable-row__content{z-index:1;background:var(--color-background);width:100%;transition:padding-right .15s;position:relative}.swipeable-row__content:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.swipeable-row__actions{z-index:2;gap:6px;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.swipeable-row:hover .swipeable-row__actions,.swipeable-row:focus-within .swipeable-row__actions{display:flex}@media (hover:hover) and (pointer:fine){.swipeable-row:hover .swipeable-row__content,.swipeable-row:focus-within .swipeable-row__content{padding-right:132px}}.swipeable-row__action{border:1px solid var(--color-outline);background:var(--color-surface);width:44px;height:44px;color:var(--color-on-surface-variant);cursor:pointer;border-radius:12px;place-items:center;display:grid}.swipeable-row__action--danger{color:var(--color-expense)}@media (pointer:coarse){.swipeable-row__actions{display:flex!important}.swipeable-row__action:not(.swipeable-row__action--danger){display:none}.swipeable-row__action{width:44px;height:44px}.swipeable-row__content{padding-right:60px}}.period-select{width:100%;position:relative}.period-select__trigger{box-sizing:border-box;background:color-mix(in srgb, var(--color-on-surface) 6%, transparent);border:1px solid color-mix(in srgb, var(--color-outline) 28%, transparent);width:100%;min-height:48px;color:var(--color-on-background);cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:0 14px;font-size:.875rem;font-weight:600;transition:border-color .25s,box-shadow .25s,background .25s,color .2s;display:flex}.period-select__trigger:hover{background:color-mix(in srgb, var(--color-on-surface) 8%, transparent);border-color:color-mix(in srgb, var(--color-outline) 42%, transparent)}.period-select__trigger:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.period-select__trigger--open,.period-select__trigger[aria-expanded=true]{border-color:color-mix(in srgb, var(--color-accent) 55%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 12%, transparent), inset 0 0 0 .5px color-mix(in srgb, var(--color-accent) 22%, transparent);background:color-mix(in srgb, var(--color-on-surface) 8%, transparent)}.period-select__leading{color:color-mix(in srgb, var(--color-on-surface) 62%, var(--color-on-surface-variant));flex-shrink:0;justify-content:center;align-items:center;transition:color .2s;display:inline-flex}.period-select__trigger--open .period-select__leading,.period-select__trigger[aria-expanded=true] .period-select__leading,.period-select__trigger:hover .period-select__leading{color:var(--color-accent)}.period-select__label{text-align:left;text-transform:lowercase;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.period-select__chevron{opacity:.45;color:var(--color-on-surface-variant);flex-shrink:0;transition:transform .2s,opacity .2s,color .2s}.period-select__trigger:hover .period-select__chevron,.period-select__trigger--open .period-select__chevron{opacity:.75}.period-select__chevron--open{transform:rotate(180deg)}.period-select__menu{z-index:50;overscroll-behavior:contain;border-radius:16px;flex-direction:column;gap:2px;max-height:min(50vh,320px);padding:8px;animation:.2s cubic-bezier(.22,1,.36,1) both period-menu-in;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}@keyframes period-menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translate(0,0)}}.period-select__option{width:100%;color:var(--color-on-surface-variant);text-transform:lowercase;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:.875rem;font-weight:600;transition:background .15s,color .15s;display:flex}.period-select__option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.period-select__option-check{color:var(--color-accent);flex-shrink:0}.period-select__option:hover{background:color-mix(in srgb, var(--color-on-surface) 5%, transparent);color:var(--color-on-surface)}.period-select__option--active{background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-on-background)}.overlay--confirm{z-index:220}.confirm-dialog{background:var(--glass-bg-elevated,var(--color-surface));border:1px solid var(--surface-border);width:min(100%,22rem);box-shadow:var(--shadow-elevated);color:var(--color-on-surface);border-radius:18px;outline:none;flex-direction:column;gap:.625rem;margin:auto;padding:1.25rem 1.25rem 1.125rem;animation:.28s cubic-bezier(.22,1,.36,1) both confirm-dialog-in;display:flex}@keyframes confirm-dialog-in{0%{opacity:0;transform:scale(.94)translateY(12px)}to{opacity:1;transform:scale(1)translate(0,0)}}@media (prefers-reduced-motion:reduce){.confirm-dialog{animation:none}}.confirm-dialog:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.confirm-dialog__title{letter-spacing:-.02em;text-transform:lowercase;color:var(--color-on-background);margin:0;font-size:1.0625rem;font-weight:800;line-height:1.25}.confirm-dialog--destructive .confirm-dialog__title{color:var(--color-expense)}.confirm-dialog__message{color:var(--color-on-surface-variant);margin:0;font-size:.9375rem;font-weight:500;line-height:1.5}.confirm-dialog__error{color:var(--color-expense);margin:0;padding:0 4px;font-size:.75rem;font-weight:650}.confirm-dialog__actions{justify-content:flex-end;align-items:stretch;gap:8px;margin-top:.75rem;display:flex}.confirm-dialog__btn{text-transform:lowercase;border-radius:12px;min-height:44px;padding:.625rem 1.125rem;font-size:.875rem;font-weight:700}@media (width<=379px){.confirm-dialog__actions{flex-direction:column-reverse}.confirm-dialog__btn{width:100%}}[data-theme=light] .confirm-dialog{background:var(--color-surface);box-shadow:0 2px 8px #0000000a,0 16px 40px #0000001a,0 0 0 1px #0000000d}[data-theme=light] .confirm-dialog__message{color:color-mix(in srgb, var(--color-on-surface) 68%, var(--color-on-surface-variant))}[data-theme=light] .confirm-dialog .btn-secondary{background:var(--color-surface-variant);color:var(--color-on-surface);border-color:var(--color-outline)}.segmented{background:color-mix(in srgb, var(--color-on-surface) 4.5%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-outline) 42%, transparent);width:100%;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-on-surface) 5%, transparent), 0 1px 2px color-mix(in srgb, var(--color-on-background) 8%, transparent);border-radius:14px;align-items:stretch;gap:2px;padding:3px;display:flex}.segmented__item{min-width:0;color:var(--color-on-surface-variant);letter-spacing:.03em;text-align:center;text-transform:lowercase;cursor:pointer;transition:background-color var(--dur-base,.2s) var(--ease-out,ease), color var(--dur-base,.2s) var(--ease-out,ease), box-shadow var(--dur-base,.2s) var(--ease-out,ease), transform var(--dur-fast,.15s) var(--ease-out,ease);background:0 0;border:none;border-radius:11px;flex:1;padding:9px 8px;font-size:.6875rem;font-weight:600}.segmented__item:hover:not(.segmented__item--active){color:var(--color-on-background);background:color-mix(in srgb, var(--color-on-surface) 6%, transparent)}.segmented__item:active:not(.segmented__item--active){transform:scale(.98)}.segmented__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.segmented__item--active{color:var(--color-on-income,#000);background:var(--color-income);box-shadow:0 1px 0 #ffffff47 inset, 0 4px 14px color-mix(in srgb, var(--color-income) 32%, transparent);font-weight:800}.segmented__item--active.segmented__item--expense{color:var(--color-on-expense,#09090b);background:var(--color-expense);box-shadow:0 1px 0 #ffffff29 inset, 0 4px 14px color-mix(in srgb, var(--color-expense) 34%, transparent)}.segmented__item--active.segmented__item--income{color:var(--color-on-income,#000);background:var(--color-income);box-shadow:0 1px 0 #ffffff47 inset, 0 4px 14px color-mix(in srgb, var(--color-income) 32%, transparent)}.segmented__item--active.segmented__item--transfer{color:var(--color-on-transfer,#fff);background:var(--color-transfer,#a1a1aa);box-shadow:0 1px 0 #ffffff38 inset, 0 4px 14px color-mix(in srgb, var(--color-transfer,#a1a1aa) 28%, transparent)}.segmented__item--active.segmented__item--default{color:var(--color-on-income,#000);background:var(--color-income)}.budget-bar__track{background:color-mix(in srgb, var(--color-on-surface) 8%, transparent);border-radius:9999px;width:100%;height:8px;overflow:hidden}.budget-bar__labels .budget-bar__spent{color:var(--color-on-surface-variant)}.budget-bar__labels .budget-bar__spent--over{color:var(--color-expense)}.budget-bar__fill{height:100%;width:var(--bar-width,0%);background:var(--bar-gradient,linear-gradient(90deg, var(--color-income), var(--color-income)));box-shadow:0 0 12px color-mix(in srgb, var(--bar-glow,var(--color-income)) 40%, transparent);border-radius:9999px;transition:width .6s cubic-bezier(.22,1,.36,1);position:relative}.budget-bar__fill:after{content:"";background:linear-gradient(#ffffff40 0%,#0000 100%);border-radius:9999px 9999px 0 0;height:50%;position:absolute;top:0;left:0;right:0}.budget-bar__over{color:var(--color-expense);margin-top:8px;font-size:.75rem;font-weight:700}.donut-wrap{width:var(--donut-size,140px);height:var(--donut-size,140px);justify-content:center;align-items:center;display:flex;position:relative}.donut{overflow:visible;transform:rotate(-90deg)}.donut__track{stroke-linecap:round}.donut__ring{filter:none}.donut__seg{transition:opacity var(--dur-base,.26s) var(--ease-out,ease), filter var(--dur-base,.26s) var(--ease-out,ease), stroke-width var(--dur-fast,.16s) var(--ease-out,ease);animation-name:donut-draw;animation-timing-function:linear;animation-fill-mode:both}@media (hover:hover) and (pointer:fine){.donut-wrap:hover .donut__seg:not(:hover){opacity:.38;filter:saturate(.85)}.donut__seg:hover{filter:brightness(1.12)saturate(1.12);stroke-width:17.5px}}@keyframes donut-draw{0%{stroke-dasharray:0 var(--seg-c)}to{stroke-dasharray:var(--seg-len) var(--seg-c)}}.donut-center{pointer-events:none;animation:donut-center-in var(--dur-base,.26s) var(--ease-spring,ease) both;flex-direction:column;justify-content:center;align-items:center;animation-delay:.34s;display:flex;position:absolute;inset:0}@keyframes donut-center-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.donut-center__label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-on-surface-variant);margin-bottom:4px;font-size:10px;font-weight:800}.donut-center__value{letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:var(--color-on-background);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:78%;text-shadow:0 1px 12px color-mix(in srgb, var(--color-background) 55%, transparent);font-size:clamp(.8rem,2.8vw,1.25rem);font-weight:900;line-height:1.15;overflow:hidden}@media (prefers-reduced-motion:reduce){.donut__seg,.donut-center{animation:none!important}}.insights-main{flex-direction:column;gap:24px;display:flex}.insights-breakdown{grid-template-columns:1fr;align-items:stretch;gap:16px;display:grid}@media (width>=1024px){.insights-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}.insights-category-card{background:var(--glass-bg-elevated);border:1px solid var(--surface-border);height:100%;min-height:0;box-shadow:none;flex-direction:column;gap:14px;display:flex;border-radius:1.25rem!important;padding:18px 18px 16px!important}.insights-category-card__title{text-transform:uppercase;letter-spacing:.12em;color:var(--card-accent,var(--color-on-surface));margin:0;font-size:.6875rem;font-weight:800}.insights-category-card__chart{justify-content:center;width:100%;padding:4px 0 2px;display:flex}.insights-category-card__list{background:color-mix(in srgb, var(--color-on-surface) 3.5%, transparent);border:1px solid color-mix(in srgb, var(--color-outline) 35%, transparent);border-radius:14px;flex-direction:column;flex:auto;min-height:0;margin:0;padding:4px 0;list-style:none;display:flex;overflow:hidden}.insights-category-card__row{background:0 0;border:none;border-radius:0;grid-template-columns:8px minmax(0,1fr) auto 2.75rem;align-items:center;gap:10px;min-width:0;padding:10px 12px;transition:background .15s;display:grid}.insights-category-card__row+.insights-category-card__row{border-top:1px solid var(--hairline-divider,#ffffff0f)}.insights-category-card__row:hover{background:color-mix(in srgb, var(--color-on-surface) 5%, transparent);transform:none}.insights-category-card__dot{background:var(--dot-color,var(--color-on-surface-variant));width:9px;height:9px;box-shadow:0 0 0 1.5px color-mix(in srgb, var(--color-on-surface) 14%, transparent);border-radius:999px;flex-shrink:0}.insights-category-card__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8125rem;font-weight:600;overflow:hidden}.insights-category-card__amount{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:.8125rem;font-weight:700}.insights-category-card__pct{font-variant-numeric:tabular-nums;color:var(--color-on-surface-variant);text-align:right;font-size:.75rem;font-weight:600}.insights-cashflow-card{background:var(--glass-bg-elevated);border:1px solid var(--surface-border);border-radius:1.5rem;padding:22px 22px 18px}.insights-cashflow-card__header{justify-content:space-between;align-items:flex-start;gap:1.25rem;margin-bottom:1.5rem;display:flex}.insights-cashflow-card__label{text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant);margin-bottom:.35rem;font-size:.625rem;font-weight:800}.insights-cashflow-card__subtitle{color:color-mix(in srgb, var(--color-on-background) 82%, transparent);font-size:.875rem;font-weight:700}.insights-metrics-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=640px){.insights-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}.insights-metric-card{background:var(--glass-bg-elevated);border:1px solid var(--surface-border);flex-direction:column;gap:14px;display:flex;border-radius:1.25rem!important;padding:18px 20px 16px!important}.insights-metric-card__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.insights-metric-card__title{text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant);font-size:.6875rem;font-weight:800}.insights-badge{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.6875rem;font-weight:700;line-height:1.2;display:inline-flex}.insights-badge--success{background:color-mix(in srgb, var(--color-income,#2e7d32) 16%, transparent);color:var(--color-income,#2e7d32)}.insights-badge--alert{background:color-mix(in srgb, var(--color-expense,#c62828) 16%, transparent);color:var(--color-expense,#c62828)}.insights-badge--neutral{background:color-mix(in srgb, var(--color-on-surface) 10%, transparent);color:var(--color-on-surface-variant)}.insights-metric-card__grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.insights-metric-card__stat{flex-direction:column;gap:4px;display:flex}.insights-metric-card__stat-label{color:var(--color-on-surface-variant);font-size:.75rem;font-weight:600}.insights-metric-card__stat-val{font-variant-numeric:tabular-nums;color:var(--color-on-background);font-size:1.125rem;font-weight:700}.insights-metric-card__stat-val--success{color:var(--color-income,#2e7d32)}.insights-metric-card__stat-val--alert{color:var(--color-expense,#c62828)}.insights-metric-card__stat-val--accent{color:var(--color-primary)}.insights-metric-card__progress{background:color-mix(in srgb, var(--color-on-surface) 10%, transparent);border-radius:999px;width:100%;height:6px;margin-top:2px;overflow:hidden}.insights-metric-card__bar{background:var(--color-primary);border-radius:999px;height:100%;transition:width .3s}.insights-metric-card__footnote{color:var(--color-on-surface-variant);font-size:.75rem;font-weight:600}.insights-metric-card__hint{color:var(--color-on-surface-variant);margin:0;font-size:.8125rem}.insights-movers-card{background:var(--glass-bg-elevated);border:1px solid var(--surface-border);flex-direction:column;gap:14px;display:flex;border-radius:1.25rem!important;padding:18px 20px 16px!important}.insights-movers-card__header{justify-content:space-between;align-items:center;display:flex}.insights-movers-card__title{text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant);font-size:.6875rem;font-weight:800;display:block}.insights-movers-card__subtitle{color:var(--color-on-surface-variant);margin-top:2px;font-size:.75rem;display:block}.insights-movers-card__list{background:color-mix(in srgb, var(--color-on-surface) 3.5%, transparent);border:1px solid color-mix(in srgb, var(--color-outline) 35%, transparent);border-radius:14px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.insights-movers-card__row{align-items:center;gap:12px;padding:10px 14px;display:flex}.insights-movers-card__row+.insights-movers-card__row{border-top:1px solid var(--hairline-divider,#ffffff0f)}.insights-movers-card__name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.8125rem;font-weight:600;overflow:hidden}.insights-movers-card__shift{color:var(--color-on-surface-variant);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem}.insights-averages-card{background:var(--glass-bg-elevated);border:1px solid var(--surface-border);flex-direction:column;gap:14px;display:flex;border-radius:1.25rem!important;padding:18px 20px 16px!important}.insights-averages-card__header{justify-content:space-between;align-items:center;display:flex}.insights-averages-card__title{text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant);font-size:.6875rem;font-weight:800}.insights-averages-card__grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width>=768px){.content-col{padding-bottom:88px}}.signature-text:first-letter{color:var(--color-income)}.modal-title,.sheet--settings__title{width:fit-content;max-width:calc(100% - 3rem);color:var(--color-on-background)}.modal-title .signature-text,.sheet--settings__title .signature-text{font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit}@media (width<=767px){.sheet{max-height:94dvh;padding-bottom:calc(28px + var(--safe-bottom-pad,var(--safe-bottom)));border-radius:24px 24px 0 0}}.loading-screen{background:var(--color-background);height:100dvh;color:var(--color-accent);place-items:center;display:grid}.error-screen{background:var(--color-background);min-height:100dvh;color:var(--color-on-background);place-items:center;padding:24px;display:grid}.error-screen__card{border:1px solid var(--surface-border);background:var(--color-surface);text-align:center;border-radius:18px;width:100%;max-width:420px;padding:24px}.error-screen__title{margin:0 0 8px;font-size:1.125rem;font-weight:700}.error-screen__message{color:var(--color-on-surface-variant);margin:0 0 20px;font-size:.875rem;line-height:1.5}.error-screen__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.error-screen__action{border-radius:12px;flex:140px;padding:12px 16px;font-size:.875rem;font-weight:600}.error-screen__details{color:var(--color-on-surface-variant);text-align:left;margin-top:20px;font-size:.75rem}.error-screen__stack{background:var(--color-surface-variant);color:var(--color-error);white-space:pre-wrap;word-break:break-word;border-radius:10px;margin:8px 0 0;padding:10px;font-size:.6875rem;overflow-x:auto}.btn__spinner{justify-content:center;align-items:center;gap:8px;display:flex}.spin-dot{background:currentColor;border-radius:50%;width:10px;height:10px;animation:1.4s ease-in-out infinite both spin-dot-bounce;display:inline-block}.spin-dot:first-child{animation-delay:0s}.spin-dot:nth-child(2){animation-delay:.16s}.spin-dot:nth-child(3){animation-delay:.32s}@keyframes spin-dot-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.tab-panel{transition:opacity .2s,visibility .2s}.tab-panel__loading{min-height:60vh}.tab-panel--active{opacity:1;visibility:visible}.tab-panel:not(.tab-panel--active){opacity:0;visibility:hidden;pointer-events:none;position:absolute;inset:0}.app-main,.record-search{position:relative}.record-search__icon{pointer-events:none;color:color-mix(in srgb, var(--color-on-surface) 62%, var(--color-on-surface-variant));opacity:1;transition:color .2s,opacity .2s;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.record-search input:focus~.record-search__icon,.record-search:focus-within .record-search__icon{color:var(--color-accent);opacity:1}.record-search__input{box-sizing:border-box;background:color-mix(in srgb, var(--color-on-surface) 6%, transparent);border:1px solid color-mix(in srgb, var(--color-outline) 28%, transparent);width:100%;height:48px;min-height:48px;color:var(--color-on-background);border-radius:14px;outline:none;padding:0 44px 0 46px;font-size:.875rem;font-weight:500;line-height:1.25;transition:border-color .25s,box-shadow .25s,background .25s}.record-search__input[type=search]{appearance:none}.record-search__input[type=search]::-webkit-search-decoration{appearance:none}.record-search__input[type=search]::-webkit-search-cancel-button{appearance:none}.record-search__input::placeholder{color:color-mix(in srgb, var(--color-on-surface) 55%, var(--color-on-surface-variant));opacity:1}.record-search__input:focus{border-color:color-mix(in srgb, var(--color-accent) 55%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 12%, transparent), inset 0 0 0 .5px color-mix(in srgb, var(--color-accent) 22%, transparent);background:color-mix(in srgb, var(--color-on-surface) 8%, transparent)}.record-search__clear{width:40px;height:40px;color:var(--color-on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.record-search__clear:hover{background:color-mix(in srgb, var(--color-on-surface) 16%, transparent);color:var(--color-on-background)}.record-search__clear:active{transform:translateY(-50%)scale(.9)}.record-filters__divider{border:none;border-top:.5px solid color-mix(in srgb, var(--color-outline) 10%, transparent);opacity:1;margin:0}.segmented.record-type-segmented{border-radius:16px;gap:2px;margin-top:0;padding:4px;display:flex}.record-type-segmented .segmented__item{flex:1 1 0;justify-content:center;align-items:center;min-width:0;min-height:44px;padding:8px;display:inline-flex}.record-type-segmented .segmented__item--icon{line-height:0}.record-type-segmented .segmented__item svg{flex-shrink:0;display:block}.record-category-filter{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:wrap;gap:6px;padding:2px 0;display:flex;overflow-x:auto}.record-category-filter::-webkit-scrollbar{display:none}.record-category-chip{border:1px solid color-mix(in srgb, var(--color-outline) 36%, transparent);background:color-mix(in srgb, var(--color-on-surface) 4%, var(--color-surface));max-width:100%;min-height:44px;color:var(--color-on-surface-variant);cursor:pointer;white-space:nowrap;border-radius:9999px;align-items:center;gap:6px;padding:6px 11px;font-size:.8125rem;font-weight:550;line-height:1.2;transition:all .15s;display:inline-flex}.record-category-chip:hover{background:color-mix(in srgb, var(--color-on-surface) 8%, var(--color-surface));color:var(--color-on-surface);border-color:color-mix(in srgb, var(--color-outline) 55%, transparent)}.record-category-chip:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.record-category-chip--active{background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface));color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 55%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-primary) 20%, transparent);font-weight:650}.record-category-chip__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.record-category-chip__name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.record-filters-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.record-filters-header__title{text-transform:uppercase;letter-spacing:.08em;color:var(--color-on-surface-variant);align-items:center;gap:8px;font-size:.8125rem;font-weight:700;display:flex}.record-filter-badge{background:var(--color-primary);min-width:20px;height:20px;color:var(--color-on-primary,#fff);border-radius:9999px;justify-content:center;align-items:center;padding:0 6px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.record-clear-btn{color:var(--color-primary);cursor:pointer;text-transform:capitalize;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:600;transition:opacity .15s,background .15s}.record-clear-btn:hover{background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.record-filter-section{flex-direction:column;gap:6px;display:flex}.record-filter-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-on-surface-variant);font-size:.75rem;font-weight:600}.record-amount-range{align-items:center;gap:8px;display:flex}.record-amount-field{flex:1;min-width:0}.record-amount-input{border:1px solid color-mix(in srgb, var(--color-outline) 36%, transparent);background:color-mix(in srgb, var(--color-on-surface) 4%, var(--color-surface));width:100%;min-height:40px;color:var(--color-on-surface);box-sizing:border-box;border-radius:10px;padding:6px 10px;font-size:.8125rem;transition:all .15s}.record-amount-input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:#0000}.record-amount-separator{color:var(--color-on-surface-variant);font-weight:600}.record-sort-select{border:1px solid color-mix(in srgb, var(--color-outline) 36%, transparent);background:color-mix(in srgb, var(--color-on-surface) 4%, var(--color-surface));width:100%;min-height:40px;color:var(--color-on-surface);cursor:pointer;box-sizing:border-box;border-radius:10px;padding:8px 12px;font-size:.8125rem;transition:all .15s}.record-sort-select:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:#0000}.transaction-list-divider{border:none;border-top:1px solid color-mix(in srgb, var(--color-outline) 28%, transparent);width:calc(100% - 100px);margin:0 24px 0 76px}.toast-host{bottom:calc(100px + var(--safe-bottom-pad,var(--safe-bottom)));z-index:190;background:var(--color-surface-variant);border:1px solid var(--color-outline);box-shadow:var(--shadow-elevated,0 8px 32px #00000080);-webkit-backdrop-filter:blur(24px);color:var(--color-on-surface);white-space:nowrap;border-radius:14px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:12px 20px;font-size:.875rem;font-weight:600;animation:.3s cubic-bezier(.22,1,.36,1) both toast-in;display:flex;position:fixed;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(12px)scale(.96)}to{opacity:1;transform:translate(-50%)translate(0,0)scale(1)}}.toast-host__action{text-transform:lowercase;background:var(--color-accent);color:var(--color-on-accent);white-space:nowrap;cursor:pointer;border-radius:10px;padding:6px 14px;font-size:.8125rem;font-weight:700;transition:filter .15s}.toast-host__action:hover{filter:brightness(1.1)}.toast-host__dismiss{width:44px;height:44px;color:var(--color-on-surface-variant);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;transition:all .15s;display:flex}.toast-host__dismiss:hover{color:var(--color-on-surface);background:color-mix(in srgb, var(--color-on-surface) 8%, transparent)}.transaction-row__meta{flex:1;min-width:0;padding-right:12px}.transaction-row__title{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;overflow:hidden}.transaction-row__sub{color:var(--color-on-surface-variant);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.8125rem;overflow:hidden}.transaction-row__amount{font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;margin-left:auto;font-size:1rem;font-weight:700}.transaction-row__amount--income{color:var(--color-income)}.transaction-row__amount--transfer{color:var(--color-transfer)}.transaction-row__amount--expense{color:var(--color-on-background)}.transaction-row__icon-fallback{background:color-mix(in srgb, var(--color-on-surface) 8%, transparent);border-radius:9999px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.transaction-row__icon-fallback-dot{background:color-mix(in srgb, var(--color-on-surface) 20%, transparent);border-radius:9999px;width:1.25rem;height:1.25rem}.transaction-row__type-badge{background:var(--color-background);width:20px;height:20px;box-shadow:0 0 0 2px var(--color-background);border-radius:999px;place-items:center;display:grid;position:absolute;bottom:-4px;right:-4px}.transaction-row__type-badge--income{color:var(--color-income);background:color-mix(in srgb, var(--color-income) 18%, var(--color-background))}.transaction-row__type-badge--expense{color:var(--color-expense);background:color-mix(in srgb, var(--color-expense) 18%, var(--color-background))}.transaction-row__type-badge--transfer{color:var(--color-transfer);background:color-mix(in srgb, var(--color-transfer) 18%, var(--color-background))}.category-icon-tile{width:var(--tile-size,36px);height:var(--tile-size,36px);color:var(--tile-color);background:color-mix(in srgb, var(--tile-color) 14%, transparent);border:1px solid color-mix(in srgb, var(--tile-color) 24%, transparent);box-shadow:0 4px 12px color-mix(in srgb, var(--tile-color) 8%, transparent);border-radius:50%;flex-shrink:0;place-items:center;transition:transform .2s;display:grid}.category-editor__icons{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;display:grid}.category-editor__icon{border:1px solid var(--surface-border);background:var(--glass-bg);height:44px;color:var(--color-on-surface-variant);cursor:pointer;border-radius:12px;place-items:center;transition:border-color .15s,color .15s,transform .1s;display:grid}.category-editor__icon:active{transform:scale(.94)}.category-editor__icon--selected{color:var(--editor-accent,var(--color-primary));border-width:1.5px;border-color:var(--editor-accent,var(--color-primary));background:color-mix(in srgb, currentColor 10%, transparent)}.category-editor__colors{flex-wrap:wrap;gap:10px;display:flex}.category-editor__swatch{cursor:pointer;color:#1c1c22;background:var(--swatch-color,var(--color-outline));border:2px solid #0000;border-radius:50%;place-items:center;width:34px;height:34px;transition:transform .1s,border-color .15s;display:grid}.category-editor__swatch:active{transform:scale(.92)}.category-editor__swatch--selected{border-color:var(--color-on-background)}.category-editor__preview{border:1px dashed var(--surface-border);border-radius:16px;align-items:center;gap:14px;padding:14px 16px;display:flex}.category-editor__preview-name{color:var(--color-on-background);font-size:.95rem;font-weight:600}.category-row-edit{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;padding:0}.category-row-edit:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:10px}.categories-empty{text-align:center;border:2px dashed var(--surface-border);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.categories-empty__icon{background:var(--glass-bg);border:1px solid var(--surface-border);width:48px;height:48px;color:var(--color-on-surface-variant);border-radius:16px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.categories-empty__text{color:var(--color-on-surface-variant);font-size:.875rem;font-weight:600}.category-grid-btn{position:relative}.category-grid-btn:after{content:"";background:var(--color-accent);opacity:0;border-radius:50%;width:8px;height:8px;transition:all .2s cubic-bezier(.22,1,.36,1);position:absolute;top:8px;right:8px;transform:scale(0)}.category-grid-btn.border-accent:after{opacity:1;transform:scale(1)}.cashflow-chart{-webkit-overflow-scrolling:touch;width:100%;position:relative;overflow-x:auto}.cashflow-tooltip{top:0;left:var(--tooltip-left,0%);transform:var(--tooltip-transform,translateX(-50%));pointer-events:none;background:var(--glass-bg-elevated);border:1px solid var(--surface-border);min-width:148px;box-shadow:var(--shadow-elevated,0 8px 28px #0003);z-index:5;border-radius:12px;padding:8px 10px;position:absolute}.cashflow-tooltip__label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-on-surface-variant);margin-bottom:5px;font-size:.6875rem;font-weight:800}.cashflow-tooltip__row{align-items:center;gap:7px;display:flex}.cashflow-tooltip__row+.cashflow-tooltip__row{margin-top:3px}.cashflow-tooltip__dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.cashflow-tooltip__dot--income{background:var(--color-income)}.cashflow-tooltip__dot--expense{background:var(--color-expense)}.cashflow-tooltip__name{color:var(--color-on-surface-variant);text-transform:lowercase;font-size:.75rem;font-weight:600}.cashflow-tooltip__value{color:var(--color-on-surface);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.75rem;font-weight:700}.cashflow-chart__svg{width:100%;min-width:320px;height:auto;display:block}.cashflow-legend{align-items:center;gap:16px;display:flex}.cashflow-legend__item{align-items:center;gap:8px;display:inline-flex}.cashflow-legend__label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-on-surface-variant);font-size:.6875rem;font-weight:700}.cashflow-legend__dot{border-radius:2px;flex-shrink:0;width:24px;height:4px}.cashflow-legend__dot--income{background:var(--color-income)}.cashflow-legend__dot--expense{background:var(--color-expense)}.period-picker{background:var(--glass-bg);border:1px solid var(--surface-border);cursor:pointer;border-radius:20px;align-items:center;gap:14px;width:100%;padding:16px 18px;transition:background .2s,border-color .2s,transform .15s;display:flex}.period-picker:hover{background:color-mix(in srgb, var(--color-on-surface) 5%, transparent);border-color:color-mix(in srgb, var(--color-accent) 25%, transparent)}.period-picker:active{transform:scale(.99)}.period-picker__icon{background:color-mix(in srgb, var(--color-accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 20%, transparent);width:42px;height:42px;color:var(--color-accent);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.period-picker__copy{text-align:left;flex:1;min-width:0}.period-picker__eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--color-on-surface-variant);margin-bottom:2px;font-size:10px;font-weight:900;display:block}.period-picker__value{color:var(--color-on-background);text-transform:none;font-size:.9375rem;font-weight:700;display:block}.period-picker__chevron{opacity:.5;color:var(--color-on-surface-variant);flex-shrink:0}.overlay--period{z-index:320;justify-content:center;align-items:flex-end;padding:12px}@media (width>=768px){.overlay--period{align-items:center;padding:24px}}.period-picker-sheet{background:color-mix(in srgb, var(--color-surface) 92%, transparent);border:1px solid color-mix(in srgb, var(--color-outline) 55%, transparent);width:min(100%,420px);max-height:min(78dvh,640px);box-shadow:0 -8px 40px color-mix(in srgb, var(--color-on-background) 28%, transparent), inset 0 1px 0 color-mix(in srgb, var(--color-on-surface) 6%, transparent);border-radius:24px 24px 18px 18px;flex-direction:column;padding:12px 16px 20px;display:flex;overflow:hidden}@media (width>=768px){.period-picker-sheet{border-radius:24px;max-height:min(72dvh,560px);padding:16px 18px 20px}}.period-picker-sheet__grab{background:color-mix(in srgb, var(--color-on-surface) 18%, transparent);border-radius:999px;width:36px;height:4px;margin:2px auto 12px}@media (width>=768px){.period-picker-sheet__grab{display:none}}.period-picker-sheet__header{align-items:flex-start;gap:12px;margin-bottom:14px;padding:0 4px;display:flex}.period-picker-sheet__heading{flex:1;min-width:0}.period-picker-sheet__header h2{letter-spacing:-.02em;color:var(--color-on-background);margin:0 0 4px;font-size:1.125rem;font-weight:800}.period-picker-sheet__header p{color:var(--color-on-surface-variant);margin:0;font-size:.8125rem;font-weight:500;line-height:1.4}.period-picker-sheet__close{width:44px;height:44px;color:var(--color-on-surface-variant);background:color-mix(in srgb, var(--color-on-surface) 6%, transparent);border:1px solid color-mix(in srgb, var(--color-outline) 30%, transparent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.period-picker-sheet__close:hover{color:var(--color-on-background);background:color-mix(in srgb, var(--color-on-surface) 10%, transparent)}.period-picker-sheet__body{overscroll-behavior:contain;flex-direction:column;gap:14px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.period-picker-sheet__section{flex-direction:column;gap:8px;display:flex}.period-picker-sheet__section-title{text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant);padding:0 6px;font-size:10px;font-weight:800}.period-picker-sheet__months{flex-direction:column;gap:4px;display:flex}.period-picker-option{width:100%;color:var(--color-on-surface-variant);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:12px;padding:12px;font-size:.9375rem;font-weight:600;transition:background .15s,color .15s,border-color .15s,transform .15s;display:flex}.period-picker-option:hover{background:color-mix(in srgb, var(--color-on-surface) 6%, transparent);color:var(--color-on-background)}.period-picker-option:active{transform:scale(.985)}.period-picker-option--active{background:color-mix(in srgb, var(--color-income) 14%, transparent);color:var(--color-on-background);border-color:color-mix(in srgb, var(--color-income) 28%, transparent)}.period-picker-option--prominent{border-color:color-mix(in srgb, var(--color-outline) 40%, transparent);background:color-mix(in srgb, var(--color-on-surface) 3.5%, transparent);border-radius:16px;padding:14px;font-size:.975rem;font-weight:700}.period-picker-option--prominent.period-picker-option--active{background:color-mix(in srgb, var(--color-income) 16%, transparent);border-color:color-mix(in srgb, var(--color-income) 32%, transparent)}.period-picker-option__icon{background:color-mix(in srgb, var(--color-on-surface) 5%, transparent);border:1px solid color-mix(in srgb, var(--color-outline) 35%, transparent);width:34px;height:34px;color:inherit;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.period-picker-option__icon--history{color:var(--color-income);background:color-mix(in srgb, var(--color-income) 12%, transparent);border-color:color-mix(in srgb, var(--color-income) 22%, transparent)}.period-picker-option__label{text-align:left;text-transform:none;font-variant-numeric:tabular-nums;flex:1}.period-picker-option__check{width:28px;height:28px;color:var(--color-on-income,#000);background:var(--color-income);box-shadow:0 4px 12px color-mix(in srgb, var(--color-income) 35%, transparent);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--color-on-surface-variant);padding:8px 4px 4px;font-size:10px;font-weight:900}.workspace-grid section+section{margin-top:40px}.workspace-grid .ledger-container+.ledger-container{margin-top:0}.sync-indicator{text-transform:uppercase;letter-spacing:.1em;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:10px;font-weight:900;display:inline-flex}.sync-indicator:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite sync-pulse}@keyframes sync-pulse{0%,to{opacity:1;box-shadow:0 0}50%{opacity:.5;box-shadow:0 0 0 4px #0000}}.card--pro>*{z-index:3;position:relative}.card--pro,.sheet,.card{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .2s}.field{flex-direction:column;gap:8px;display:flex}.field__label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-on-surface-variant);padding:0 4px;font-size:10px;font-weight:900}.field__input{background:var(--color-surface);border:1px solid var(--color-outline);width:100%;color:var(--color-on-surface);transition:border-color var(--dur-base,.26s) var(--ease-out,ease), background var(--dur-base,.26s) var(--ease-out,ease), box-shadow var(--dur-base,.26s) var(--ease-out,ease), transform var(--dur-base,.26s) var(--ease-out,ease);border-radius:12px;outline:none;padding:14px 16px;font-size:.9375rem;font-weight:600}.field__input:focus{background:var(--color-surface-variant);border-color:var(--color-income);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-income) 15%, transparent)}.field__input:disabled{opacity:.4;cursor:not-allowed}.field__input::placeholder{color:var(--color-on-surface-variant);opacity:.85}.field__input[type=date]{cursor:pointer}.field__input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.65;border-radius:8px;margin-left:4px;padding:4px;transition:opacity .15s,background-color .15s}.field__input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1;background:color-mix(in srgb, var(--color-on-surface) 12%, transparent)}.add-txn{width:100%;max-width:34rem;max-height:min(92dvh,52rem);color:var(--color-on-surface);flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000073}.add-txn--loading{text-align:center;color:var(--color-on-surface-variant);padding:2.5rem 2rem;font-size:.875rem;font-weight:600}.add-txn__header{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:1.125rem 1.25rem .875rem;display:flex}.add-txn__title{letter-spacing:-.02em;margin:0;font-size:1.375rem;font-weight:800;line-height:1.2}.add-txn__body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:1.125rem;min-height:0;padding:.25rem 1.25rem 1rem;display:flex;overflow-y:auto}.add-txn__footer{border-top:1px solid color-mix(in srgb, var(--color-outline) 70%, transparent);background:color-mix(in srgb, var(--color-surface) 88%, transparent);-webkit-backdrop-filter:blur(12px);flex-direction:column;flex-shrink:0;gap:10px;padding:.75rem 1.25rem 1rem;display:flex}.add-txn__amount{position:relative}.add-txn__currency{color:var(--color-on-surface-variant);pointer-events:none;font-size:1.25rem;font-weight:700;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.add-txn__amount-input{letter-spacing:-.02em;font-variant-numeric:tabular-nums;border-radius:14px;padding:.875rem 1rem .875rem 2.75rem;font-size:1.625rem;font-weight:800}.add-txn__cats{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;flex-direction:row;flex:none;align-items:stretch;gap:10px;min-height:fit-content;max-height:none;margin:0 -4px;padding:6px 4px 12px;scroll-padding-inline:8px;display:flex;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 16px),#0000);mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 16px),#0000)}.add-txn__cats::-webkit-scrollbar{display:none}@media (width>=480px){.add-txn{padding:0}.add-txn__header{padding:1.25rem 1.5rem 1rem}.add-txn__body{gap:1.25rem;padding:.25rem 1.5rem 1.125rem}.add-txn__footer{padding:.875rem 1.5rem 1.25rem}.add-txn__cats{gap:12px;scroll-padding-inline:12px}.add-txn__title{font-size:1.5rem}}.add-txn__cats-empty{flex:none;min-width:min(100%,18rem);padding:1.25rem 1rem}.add-txn .field:has(.add-txn__cats){gap:12px;min-height:0}.add-txn__cat{border:1px solid color-mix(in srgb, var(--color-outline) 55%, transparent);background:color-mix(in srgb, var(--color-on-surface) 4%, var(--color-surface));width:5.75rem;min-width:5.75rem;min-height:5.5rem;color:var(--color-on-surface);text-align:center;cursor:pointer;scroll-snap-align:center;border-radius:18px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:8px;padding:12px 10px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex}.add-txn__cat:hover{background:color-mix(in srgb, var(--color-on-surface) 8%, var(--color-surface));border-color:color-mix(in srgb, var(--color-on-surface) 22%, transparent)}.add-txn__cat:active{transform:scale(.97)}.add-txn__cat:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.add-txn__cat--selected{border-color:color-mix(in srgb, var(--color-income) 70%, transparent);background:color-mix(in srgb, var(--color-income) 14%, var(--color-surface));box-shadow:0 0 0 1px color-mix(in srgb, var(--color-income) 28%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--color-income) 12%, transparent)}.add-txn__cat-icon{width:40px;height:40px;color:var(--cat-color,var(--color-on-surface));background:color-mix(in srgb, currentColor 16%, transparent);border:1px solid color-mix(in srgb, currentColor 24%, transparent);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.add-txn__cat-name{letter-spacing:-.01em;text-transform:lowercase;text-align:center;width:100%;min-width:0;color:var(--color-on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:650;line-height:1.2;overflow:hidden}.add-txn__cat--selected .add-txn__cat-name{color:var(--color-on-background);font-weight:700}.add-txn__error{color:var(--color-expense);margin:0;padding:0 4px;font-size:.75rem;font-weight:650}.add-txn__save{border-radius:12px;width:100%;min-height:48px;padding:.875rem 1rem;font-size:.9375rem}.add-txn__save:disabled{opacity:.5}.add-txn__saving{justify-content:center;align-items:center;gap:10px;display:inline-flex}.add-txn__spinner{border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:999px;width:18px;height:18px;animation:.7s linear infinite add-txn-spin}@keyframes add-txn-spin{to{transform:rotate(360deg)}}[data-theme=light] .add-txn{box-shadow:0 2px 8px #0000000a,0 16px 40px #00000014,0 0 0 1px #0000000d}[data-theme=light] .add-txn__footer{background:color-mix(in srgb, var(--color-surface) 94%, transparent);border-top-color:var(--color-outline)}[data-theme=light] .add-txn__cat{background:var(--color-surface);border-color:var(--color-outline)}[data-theme=light] .add-txn__cat:hover{background:color-mix(in srgb, var(--color-on-surface) 4%, var(--color-surface))}[data-theme=light] .add-txn__cat-name{color:var(--color-on-surface)}[data-theme=light] .field__label{color:color-mix(in srgb, var(--color-on-surface) 72%, var(--color-on-surface-variant))}.auth-page{min-height:100dvh;padding:max(24px, var(--safe-top,0px)) max(24px, var(--safe-right,0px)) max(24px, var(--safe-bottom,0px)) max(24px, var(--safe-left,0px));box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:relative;overflow-x:hidden}.auth-page:before{content:"";background:radial-gradient(110% 70% at 50% -5%, color-mix(in srgb, var(--color-income) 12%, transparent), transparent 62%);pointer-events:none;opacity:.9;animation:auth-glow-in 1.1s var(--ease-out,ease) both;position:absolute;inset:0}.auth-page__card{background:var(--color-surface-variant);border:1px solid var(--color-outline);width:100%;max-width:420px;box-shadow:var(--shadow-elevated,0 16px 48px #00000080);-webkit-backdrop-filter:blur(24px);color:var(--color-on-surface);transform-origin:50% 40%;animation:auth-card-in var(--dur-slow,.42s) var(--ease-spring,ease) both;border-radius:28px;flex-direction:column;align-items:center;padding:48px 32px;display:flex;position:relative}.auth-page__brand,.auth-page__alert,.auth-page__tabs,.auth-page__form,.auth-page__hint{animation:auth-rise-in var(--dur-base,.26s) var(--ease-out,ease) both}.auth-page__brand{animation-delay:.1s}.auth-page__alert{animation-delay:.16s}.auth-page__tabs{animation-delay:.18s}.auth-page__form{animation-delay:.24s}.auth-page__hint{animation-delay:.32s}.auth-page__forgot{width:100%;color:var(--color-primary);font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;margin-top:.75rem;padding:0;font-size:.8125rem;font-weight:600;display:block}.auth-page__forgot:disabled{opacity:.4;cursor:not-allowed}.auth-page__remember{cursor:pointer;-webkit-user-select:none;user-select:none;background:color-mix(in srgb, var(--color-surface-variant) 28%, transparent);border:1px solid color-mix(in srgb, var(--color-outline-variant) 50%, transparent);border-radius:12px;align-items:flex-start;gap:12px;margin-top:4px;padding:11px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.auth-page__remember:hover{background:color-mix(in srgb, var(--color-surface-variant) 48%, transparent);border-color:color-mix(in srgb, var(--color-primary) 35%, transparent);transform:translateY(-1px)}.auth-page__remember:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 24%, transparent)}.auth-page__remember--checked{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));border-color:color-mix(in srgb, var(--color-primary) 38%, transparent)}.auth-page__remember--disabled{opacity:.5;cursor:not-allowed;transform:none!important}.auth-page__custom-checkbox{border:1.5px solid color-mix(in srgb, var(--color-outline) 65%, transparent);background:var(--color-surface);width:20px;min-width:20px;height:20px;min-height:20px;color:var(--color-on-primary,#fff);box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;margin-top:1px;transition:all .18s cubic-bezier(.4,0,.2,1);display:inline-flex}.auth-page__remember:hover .auth-page__custom-checkbox{border-color:var(--color-primary)}.auth-page__remember--checked .auth-page__custom-checkbox{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 2px 8px -1px color-mix(in srgb, var(--color-primary) 45%, transparent)}.auth-page__custom-checkbox-icon{opacity:0;transition:all .18s cubic-bezier(.175,.885,.32,1.275);transform:scale(.5)}.auth-page__remember--checked .auth-page__custom-checkbox-icon{opacity:1;transform:scale(1)}.auth-page__remember-text{text-align:left;flex-direction:column;gap:2px;display:flex}.auth-page__remember-title{color:var(--color-on-surface);font-size:.8125rem;font-weight:600;line-height:1.3}.auth-page__remember-sub{color:var(--color-on-surface-subtle);font-size:.6875rem;line-height:1.35}@keyframes auth-card-in{0%{opacity:0;transform:translateY(26px)scale(.96)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes auth-rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translate(0,0)}}@keyframes auth-glow-in{0%{opacity:0}to{opacity:.9}}[data-theme=light] .auth-page__card{background:var(--color-surface);border-color:var(--color-outline);box-shadow:0 4px 24px #0000000f}.auth-page__brand{text-align:center;flex-direction:column;align-items:center;display:flex}.auth-page__logo-text{margin:0 0 8px;line-height:1}.auth-page__tagline{color:var(--color-on-surface-variant)}.auth-page__tabs{width:100%;margin-bottom:28px}.auth-page__form{width:100%;box-shadow:none;background:0 0;border:none;flex-direction:column;gap:20px;padding:0;display:flex}.auth-page__password{position:relative}.auth-page__password-input{padding-right:52px!important}.auth-page__password-toggle{width:44px;height:44px;color:var(--color-on-surface-variant);cursor:pointer;transition:color var(--dur-fast,.16s) var(--ease-out,ease), background var(--dur-fast,.16s) var(--ease-out,ease);background:0 0;border:none;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-page__password-toggle:hover{color:var(--color-on-background);background:color-mix(in srgb, var(--color-on-surface) 6%, transparent)}.auth-page__password-toggle:active{transform:translateY(-50%)scale(.9)}.auth-page__form .field__input:focus{transform:translateY(-1px)}.auth-page__error,.auth-page__info,.auth-page__field-hint{animation:auth-rise-in var(--dur-base,.26s) var(--ease-out,ease) both}.auth-page__submit-label{animation:auth-label-in var(--dur-base,.26s) var(--ease-out,ease) both;display:inline-block}@keyframes auth-label-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translate(0,0)}}.auth-page__field-hint{color:var(--color-on-surface-variant);margin:8px 4px 0;font-size:.75rem;font-weight:600}.auth-page__field-hint--error{color:var(--color-expense)}.auth-page__error{background:color-mix(in srgb, var(--color-expense) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-expense) 20%, transparent);color:var(--color-expense);border-radius:10px;margin:0;padding:12px 16px;font-size:.8125rem;font-weight:600}.auth-page__info{background:color-mix(in srgb, var(--color-income) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-income) 20%, transparent);color:var(--color-income);border-radius:10px;margin:0;padding:12px 16px;font-size:.8125rem;font-weight:600}.auth-page__sync{text-align:center;opacity:.5;margin:0;font-size:.8125rem;font-weight:600}.auth-page__hint{text-align:center;color:var(--color-on-surface-variant);margin-top:28px;font-size:.75rem;font-weight:500}.auth-page__alert{background:color-mix(in srgb, var(--color-expense) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-expense) 15%, transparent);text-align:center;width:100%;color:var(--color-expense);border-radius:12px;margin-bottom:20px;padding:14px 18px;font-size:.8125rem;font-weight:600;line-height:1.5}.verify-banner{background:color-mix(in srgb, var(--color-accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 22%, transparent);border-radius:14px;flex-direction:column;gap:10px;margin:12px 0 4px;padding:14px 16px;display:flex}.offline-banner{border:1px solid color-mix(in srgb, var(--color-expense) 35%, transparent);background:color-mix(in srgb, var(--color-expense) 10%, transparent);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:12px 0 4px;padding:14px 16px;display:flex}.offline-banner__text{min-width:12rem;color:var(--color-on-background);flex:1;margin:0;font-size:.8125rem;font-weight:600;line-height:1.4}.offline-banner__retry{border:1px solid color-mix(in srgb, var(--color-expense) 40%, transparent);min-height:40px;color:var(--color-expense);cursor:pointer;background:0 0;border-radius:9999px;padding:8px 14px;font-size:.8125rem;font-weight:700}.verify-banner__text,.verify-banner__info{color:var(--color-on-surface);margin:0;font-size:.8125rem;font-weight:600}.verify-banner__info{color:var(--color-on-surface-variant)}.verify-banner__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.verify-banner__btn{background:color-mix(in srgb, var(--color-on-surface) 8%, transparent);min-height:44px;color:var(--color-on-surface);border-radius:10px;padding:10px 14px;font-size:.75rem;font-weight:700}.verify-banner__btn--primary{background:var(--color-income);color:var(--color-on-income,#000)}.verify-banner__btn:disabled,.verify-banner__dismiss:disabled{opacity:.5;cursor:not-allowed}.verify-banner__dismiss{min-height:44px;color:var(--color-on-surface-variant);border-radius:10px;margin-left:auto;padding:10px 14px;font-size:.75rem;font-weight:600}.onboarding-page{justify-content:center;align-items:center;min-height:100dvh;display:flex}.onboarding-card{max-width:440px;position:relative}.onboarding-card__skip{color:var(--color-on-surface-variant);text-transform:lowercase;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 14px;font-size:.8125rem;font-weight:600;transition:color .15s,background-color .15s;position:absolute;top:14px;right:16px}.onboarding-card__skip:hover{color:var(--color-on-background);background:color-mix(in srgb, var(--color-on-surface) 6%, transparent)}.onboarding-card__skip:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.onboarding-card__hero{text-align:center;flex-direction:column;align-items:center;display:flex}.onboarding-card__title{margin:0 0 4px}.onboarding-card__tagline{color:var(--color-on-surface-variant)}.onboarding-slide{text-align:center;flex-direction:column;align-items:center;min-height:180px;padding:32px 16px;display:flex}.onboarding-slide__icon{background:color-mix(in srgb, var(--color-income) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-income) 22%, transparent);width:64px;height:64px;color:var(--color-income);border-radius:18px;justify-content:center;align-items:center;margin-bottom:24px;animation:.5s cubic-bezier(.22,1,.36,1) both icon-pop-in;display:flex}@keyframes icon-pop-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.onboarding-slide__title{letter-spacing:-.02em;color:var(--color-on-background);margin:0 0 10px;font-size:1.375rem;font-weight:700}.onboarding-slide__body{color:var(--color-on-surface-variant);max-width:320px;margin:0;font-size:.9375rem;line-height:1.6}.onboarding-dots{justify-content:center;align-items:center;gap:10px;margin:20px 0 32px;display:flex}.onboarding-dots__dot{background:color-mix(in srgb, var(--color-on-surface-variant) 45%, transparent);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .3s;position:relative}.onboarding-dots__dot:before{content:"";position:absolute;inset:-18px}.onboarding-dots__dot--active{background:var(--color-income);border-radius:4px;width:24px}.onboarding-actions{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.onboarding-actions .btn{min-width:120px}.card{background:var(--glass-bg);border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(16px);border-radius:20px;padding:24px}.card--pro{background:var(--glass-bg-elevated,var(--glass-bg));border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(20px);color:var(--color-on-surface);border-radius:20px}.card--elevated{background:var(--glass-bg-elevated,var(--color-surface));box-shadow:0 8px 24px color-mix(in srgb, var(--color-background) 40%, transparent)}.btn{cursor:pointer;text-transform:lowercase;border:none;justify-content:center;align-items:center;gap:8px;font-weight:700;transition:filter .15s,transform .15s,background .15s,opacity .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.icon-btn{width:44px;height:44px;color:var(--color-on-surface-variant);background:var(--color-surface);border:1px solid color-mix(in srgb, var(--color-outline) 50%, transparent);cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.icon-btn:hover{color:var(--color-on-background);background:color-mix(in srgb, var(--color-on-surface) 8%, transparent)}.icon-btn--danger{color:var(--color-expense);background:0 0;border-color:#0000}.icon-btn--danger:hover{background:color-mix(in srgb, var(--color-expense) 12%, transparent);color:var(--color-expense)}.icon-btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-income);color:var(--color-on-income,#000);border-radius:12px}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-primary.bg-expense,.btn-primary.bg-expense:hover{background:var(--color-expense);color:var(--color-on-expense,#09090b);filter:none}.btn-destructive{background:var(--color-expense);color:var(--color-on-expense,#09090b);border-radius:12px}.btn-destructive:hover:not(:disabled){filter:brightness(1.08)}.btn-secondary{background:var(--color-surface);color:var(--color-on-surface-variant);border:1px solid var(--color-outline);border-radius:12px}.btn-secondary:hover:not(:disabled){color:var(--color-on-background);border-color:color-mix(in srgb, var(--color-on-surface) 20%, transparent)}.settings-row{width:100%;color:inherit;text-align:left;background:0 0;border:none;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;display:flex}.settings-row--interactive{cursor:pointer}.settings-row--interactive:hover{background:color-mix(in srgb, var(--color-on-surface) 5%, transparent)}.settings-row__icon-tile{background:color-mix(in srgb, var(--color-accent) 12%, transparent);width:40px;height:40px;color:var(--color-accent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.settings-row__icon-tile[data-tint=income]{background:color-mix(in srgb, var(--color-income) 12%, transparent);color:var(--color-income)}.settings-row__icon-tile[data-tint=neutral]{background:color-mix(in srgb, var(--color-on-surface) 8%, transparent);color:var(--color-on-surface-variant)}.settings-row__label{flex:1;min-width:0}.settings-row__title{color:var(--color-on-background);font-size:.9375rem;font-weight:600}.settings-row__sub{color:var(--color-on-surface-variant);margin-top:2px;font-size:.8125rem}.settings-row__sub--error{color:var(--color-expense)}.settings-row__chevron{color:var(--color-on-surface-variant);flex-shrink:0;place-items:center;display:grid}.settings-row--toggle{cursor:pointer}.settings-row__toggle{width:18px;height:18px;accent-color:var(--color-accent);flex-shrink:0}.account-profile-card__avatar{background:color-mix(in srgb, var(--color-income) 18%, transparent);width:56px;height:56px;color:var(--color-income);text-transform:uppercase;border-radius:9999px;flex-shrink:0;place-items:center;font-size:1.25rem;font-weight:800;display:grid}.settings-signout-btn{border:1px solid var(--color-outline);min-height:44px;color:var(--color-on-surface-variant);cursor:pointer;background:0 0;border-radius:9999px;flex-shrink:0;margin-left:0;padding:10px 18px;font-size:.8125rem;font-weight:700}.settings-signout-btn:hover{color:var(--color-expense);border-color:color-mix(in srgb, var(--color-expense) 40%, transparent)}.settings-signout-btn:disabled{opacity:.55;cursor:not-allowed}.settings-delete-account-btn{color:var(--color-expense);border-color:color-mix(in srgb, var(--color-expense) 35%, transparent)}@media (width<=520px){.settings-account__actions{width:100%;margin-left:0}.settings-signout-btn{width:100%}}.toast-host{z-index:190}.monolith-container{max-width:var(--monolith-max-width);margin:0 auto}.settings-account-card{grid-column:1/-1}.settings-row{transition:background-color .15s}.settings-row:hover{box-shadow:none;transform:none}@media (width>=768px){.settings-grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px 24px;display:grid}.settings-grid>:last-child:nth-child(odd){grid-column:1/-1}}@media (width>=1024px){.settings-grid{gap:24px 28px}}.insights-layout{flex-direction:column;gap:28px;display:flex}.insights-title-row{flex-direction:column;gap:16px;margin-bottom:0;display:flex}@media (width>=640px){.insights-title-row{flex-direction:row;justify-content:space-between;align-items:flex-end}}@media (width>=768px){.insights-body{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.insights-categories{flex-direction:column;gap:20px;display:flex}}@media (width>=1024px){.insights-body{grid-template-columns:minmax(340px,400px) 1fr;gap:32px}}.category-budgets .btn{white-space:normal;overflow-wrap:anywhere;max-width:100%;min-height:48px;padding:10px 14px}.category-budgets progress{width:100%}.app-brand-icon{flex-shrink:0;display:inline-flex}.app-brand-icon svg{display:block}.app-brand-icon svg rect:first-of-type{transition:stroke-opacity .8s}.auth-page__app-icon:hover svg rect:first-of-type,.onboarding-card__app-icon:hover svg rect:first-of-type{stroke-opacity:.3}.signature-text{width:fit-content;max-width:100%;font-family:var(--font-family);letter-spacing:-.02em;text-transform:lowercase;color:var(--color-on-background);font-feature-settings:"kern" 1, "liga" 1;-webkit-font-smoothing:antialiased;margin:0;padding:0;font-weight:800;line-height:1.05;display:inline-block}.signature-text:first-letter{color:var(--color-income);font-weight:inherit}[data-theme=dark]{--color-label-muted:var(--color-on-surface-variant);--color-balance-positive:var(--color-income);--color-balance-negative:var(--color-expense);--color-stat-value:var(--color-on-background)}[data-theme=dark] body,[data-theme=dark] .app-shell,[data-theme=dark] .app-container{background:var(--color-background)}[data-theme=dark] .finance-summary-card__balance--positive .money--hero-display{color:var(--color-balance-positive)}[data-theme=dark] .finance-summary-card__balance--negative .money--hero-display{color:var(--color-balance-negative)}[data-theme=dark] .finance-summary-card__balance--neutral .money--hero-display{color:var(--color-on-background)}[data-theme=dark] .finance-stat-chip__label{color:var(--color-label-muted)}[data-theme=dark] .finance-stat-chip .money--stat{color:var(--color-stat-value)}[data-theme=dark] .transaction-list-bare .transaction-row{background:0 0}[data-theme=dark] .transaction-list-bare__day,[data-theme=dark] .txn-day-header{background:color-mix(in srgb, var(--color-background) 90%, transparent);border-color:var(--hairline-divider)}[data-theme=dark] .transaction-list-bare .swipeable-row__content,[data-theme=light] .transaction-list-bare .swipeable-row__content{background:0 0}[data-theme=dark] input:-webkit-autofill{-webkit-box-shadow:0 0 0px 1000px var(--color-surface-variant) inset;-webkit-text-fill-color:var(--color-on-background);transition:background-color 5000s ease-in-out}[data-theme=dark] input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0px 1000px var(--color-surface-variant) inset;-webkit-text-fill-color:var(--color-on-background);transition:background-color 5000s ease-in-out}[data-theme=dark] input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px var(--color-surface-variant) inset;-webkit-text-fill-color:var(--color-on-background);transition:background-color 5000s ease-in-out}[data-theme=light] input:-webkit-autofill{-webkit-box-shadow:0 0 0px 1000px var(--color-surface-variant) inset;-webkit-text-fill-color:var(--color-on-background);caret-color:var(--color-on-background);transition:background-color 5000s ease-in-out}[data-theme=light] input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0px 1000px var(--color-surface-variant) inset;-webkit-text-fill-color:var(--color-on-background);caret-color:var(--color-on-background);transition:background-color 5000s ease-in-out}[data-theme=light] input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px var(--color-surface-variant) inset;-webkit-text-fill-color:var(--color-on-background);caret-color:var(--color-on-background);transition:background-color 5000s ease-in-out}.transaction-list-bare__section{flex-direction:column;animation:.4s cubic-bezier(.22,1,.36,1) both section-fade-up;display:flex;overflow:visible}@keyframes section-fade-up{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.transaction-list-bare__section{animation:none!important}}.transaction-list-bare__rows{flex-direction:column;display:flex}.txn-day-header,.transaction-list-bare__day{top:var(--record-sticky-offset,0px);z-index:20;position:sticky}.txn-day-header.transaction-list-bare__day{background:color-mix(in srgb, var(--color-background) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.2);border:1px solid color-mix(in srgb, var(--color-outline) 40%, transparent);border-bottom-color:var(--hairline-divider,var(--glass-border));min-height:44px;box-shadow:0 8px 24px color-mix(in srgb, var(--color-background) 35%, transparent);color:var(--color-on-surface-variant);letter-spacing:.12em;text-transform:uppercase;border-radius:12px;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 10px;padding:10px 14px;font-size:.6875rem;font-weight:700;display:flex}[data-theme=light] .txn-day-header.transaction-list-bare__day{background:color-mix(in srgb, var(--color-background) 94%, transparent);border-color:var(--hairline-divider,var(--glass-border));box-shadow:0 6px 18px color-mix(in srgb, var(--color-on-background) 6%, transparent)}[data-theme=light] .sheet--settings{box-shadow:0 24px 48px color-mix(in srgb, var(--color-on-background) 12%, transparent), 0 0 0 1px color-mix(in srgb, var(--color-on-background) 4%, transparent)}.empty-state{padding:48px 16px}.empty-state p{margin:0;max-width:28rem;margin-inline:auto;line-height:1.5}.empty-state__icon{background:color-mix(in srgb, var(--color-on-surface) 5%, transparent);border:1px solid color-mix(in srgb, var(--color-on-surface) 9%, transparent);width:72px;height:72px;color:var(--color-on-surface-variant);border-radius:20px;place-items:center;margin-bottom:20px;display:grid}.empty-state__hint{margin-top:8px;font-size:.8125rem}.empty-state__action .btn{min-width:160px;margin-top:16px}@media (width<=767px){.tab-panel--animate-in{animation:.2s forwards tab-in-mobile}@keyframes tab-in-mobile{0%{opacity:0}to{opacity:1}}}.insights-period-card{background:var(--glass-bg-elevated);border:1px solid var(--surface-border);border-radius:20px;flex-direction:column;gap:12px;padding:18px 18px 16px;display:flex}.insights-period-card__label{text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant);margin:0;padding:0 2px;font-size:.6875rem;font-weight:800}.insights-summary-dock{background:var(--glass-bg-elevated);border:1px solid var(--surface-border);border-radius:20px;flex-direction:column;padding:6px 0;display:flex;overflow:hidden}.insights-summary-dock__row{justify-content:space-between;align-items:baseline;gap:16px;padding:14px 18px;display:flex}.insights-summary-dock__row+.insights-summary-dock__row{border-top:1px solid var(--hairline-divider,#ffffff0f)}.insights-summary-dock__label{text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant);font-size:.6875rem;font-weight:800}.insights-summary-dock__value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-align:right;font-size:1.25rem;font-weight:800;line-height:1.15}.insights-summary-dock__row--expense .insights-summary-dock__value{color:var(--color-expense)}.insights-summary-dock__row--income .insights-summary-dock__value,.insights-summary-dock__row--net-positive .insights-summary-dock__value{color:var(--color-income)}.insights-summary-dock__row--net-negative .insights-summary-dock__value{color:var(--color-expense)}@media (width>=768px){.insights-summary-dock__value{font-size:1.375rem}}.fixed.inset-0.z-\[200\]{animation:.25s both overlay-fade-in}.fixed.inset-0.z-\[200\] .card--pro{animation:.35s cubic-bezier(.22,1,.36,1) both dialog-scale-in}@keyframes dialog-scale-in{0%{opacity:0;transform:scale(.92)translateY(24px)}to{opacity:1;transform:scale(1)translate(0,0)}}@media (prefers-reduced-motion:reduce){.fixed.inset-0.z-\[200\],.fixed.inset-0.z-\[200\] .card--pro{animation:none!important}}[data-theme=light] .card{border:1px solid #0000000f}[data-theme=light] .card--pro{box-shadow:0 2px 8px #0000000a,0 8px 24px #0000000f,0 0 0 1px #0000000a!important}[data-theme=light] .ledger-container{box-shadow:0 1px 4px #0000000a,0 4px 16px #0000000d,0 0 0 1px #0000000d!important}[data-theme=light] .fab-synthesis{box-shadow:0 4px 16px color-mix(in srgb, var(--color-accent) 25%, transparent), 0 0 0 4px color-mix(in srgb, var(--color-accent) 10%, transparent)!important}[data-theme=light] .text-on-surface-variant{color:var(--color-on-surface-variant)}[data-theme=light] .opacity-50{opacity:.58}[data-theme=light] .opacity-55{opacity:.62}[data-theme=light] .opacity-60{opacity:.68}[data-theme=light] .opacity-70{opacity:.78}.empty-state__hint,.auth-page__tagline,.settings-row__sub,.settings-section__title{color:var(--color-on-surface-variant)}.text-black,.bg-income.text-black,.bg-\[\#10B981\].text-black{color:var(--color-on-income,#000)!important}.mobile-dock{bottom:calc(1.25rem + var(--safe-bottom-pad,var(--safe-bottom,0px)));z-index:50;padding-left:max(0px, var(--safe-left,0px));padding-right:max(0px, var(--safe-right,0px));box-sizing:border-box;align-items:center;gap:.5rem;max-width:calc(100vw - 1rem);display:flex;position:fixed;left:50%;transform:translate(-50%)}@media (width>=768px){.mobile-dock{display:none}}.bottom-nav-pill{background:color-mix(in srgb, var(--color-background) 92%, transparent);border:1px solid var(--surface-border);box-shadow:var(--shadow-nav-pill);-webkit-backdrop-filter:blur(24px)}.bottom-nav-pill__item{width:3rem;min-width:3rem;height:3rem;min-height:3rem;color:var(--color-on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-direction:row;justify-content:center;align-items:center;gap:0;padding:0;line-height:0;transition:color .2s,background-color .2s,box-shadow .2s,transform .2s;display:inline-flex;position:relative}.bottom-nav-pill__item:hover{color:var(--color-on-background);background:color-mix(in srgb, var(--color-on-surface) 5%, transparent)}.bottom-nav-pill__item:active{transform:scale(.96)}.bottom-nav-pill__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.bottom-nav-pill__item--active{color:var(--color-income);background:color-mix(in srgb, var(--color-income) 12%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-income) 22%, transparent)}.bottom-nav-pill__item svg{flex-shrink:0;display:block}.fab-add{background:var(--color-income);color:var(--color-on-income,#000);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-income) 18%, transparent), 0 4px 24px color-mix(in srgb, var(--color-income) 40%, transparent)}.fab-add--desktop{z-index:50;right:max(1.5rem, calc((100vw - var(--app-max-width,1360px)) / 2 + 2rem));border-radius:999px;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;transition:filter .2s,transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:2rem}.fab-add--desktop:hover{filter:brightness(1.08);transform:translateY(-2px)}.fab-add--desktop:active{transform:scale(.94)}@media (width>=1024px){.fab-add--desktop{right:max(2rem, calc((100vw - var(--app-max-width,1360px)) / 2 + 2.5rem));bottom:2.5rem}}[data-theme=light] .ledger-container,[data-theme=light] .transaction-list-bare__rows{background:var(--color-surface)!important}[data-theme=light] .card--pro,[data-theme=light] .card--elevated,[data-theme=light] .record-filters,[data-theme=light] .insights-category-card,[data-theme=light] .insights-period-card,[data-theme=light] .insights-summary-dock,[data-theme=light] .insights-cashflow-card,[data-theme=light] .finance-summary-card,[data-theme=light] .confirm-dialog,[data-theme=light] .sheet,[data-theme=light] .settings-account,[data-theme=light] .add-txn,[data-theme=light] .period-select__menu{background:var(--color-surface);-webkit-backdrop-filter:none}[data-theme=light] .sheet{background:var(--color-surface-variant)}[data-theme=light] .field__input{background:var(--color-surface-variant);border-color:var(--color-outline)}[data-theme=light] .field__input:focus{background:var(--color-surface)}.skeleton-list{border:1px solid color-mix(in srgb, var(--color-outline) 55%, transparent);background:color-mix(in srgb, var(--color-surface) 80%, transparent);-webkit-backdrop-filter:blur(4px)}.skeleton-row+.skeleton-row{border-top:1px solid color-mix(in srgb, var(--color-outline) 40%, transparent)}.skeleton{background:color-mix(in srgb, var(--color-on-surface) 8%, transparent)}.skeleton--circle,.skeleton--line-short{background:color-mix(in srgb, var(--color-on-surface) 6%, transparent)}:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}body{-webkit-tap-highlight-color:transparent;background-color:var(--color-background);min-height:100dvh;height:auto!important;position:relative!important;overflow:hidden auto!important}body.is-scroll-locked{top:var(--scroll-lock-top,0px);overscroll-behavior:none;width:100%;left:0;right:0;position:fixed!important;overflow:hidden!important}@supports (-webkit-touch-callout:none){html{height:-webkit-fill-available}body{-webkit-overflow-scrolling:touch;min-height:-webkit-fill-available}.app-shell{min-height:-webkit-fill-available}}.app-shell{min-height:100dvh}.sheet--transaction{max-height:94dvh;padding-bottom:calc(40px + var(--safe-bottom-pad,var(--safe-bottom)))}.pressable-row,.btn,.numpad__key{touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none}@media (pointer:coarse){.field__input,.record-search__input,.period-select__trigger,.auth-page__form .field__input{font-size:1rem}.segmented__item,.auth-page__forgot,.btn,.category-row-edit{min-height:44px}.category-row-edit{align-items:center;display:flex}}html,body{overscroll-behavior-y:none}.safe-overlay{box-sizing:border-box;padding-top:max(1rem, var(--safe-top,0px))!important;padding-bottom:max(1rem, var(--safe-bottom-pad,var(--safe-bottom,0px)))!important;padding-left:max(1rem, var(--safe-left,0px))!important;padding-right:max(1rem, var(--safe-right,0px))!important}.safe-overlay--suspended{visibility:hidden;pointer-events:none}.overlay{padding-top:max(16px, var(--safe-top,0px));padding-bottom:max(16px, var(--safe-bottom-pad,var(--safe-bottom,0px)));padding-left:max(16px, var(--safe-left,0px));padding-right:max(16px, var(--safe-right,0px));box-sizing:border-box}@media (width<=767px){.safe-overlay .card--pro,.safe-overlay .add-txn{max-height:min(90dvh, calc(100dvh - var(--safe-top,0px) - var(--safe-bottom-pad,var(--safe-bottom,0px)) - 2rem))}}@media (width<=379px){.bottom-nav-pill__item{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem}.mobile-dock{bottom:calc(.85rem + var(--safe-bottom-pad,var(--safe-bottom,0px)));gap:.35rem}}:root{--workspace-padding:16px;--app-max-width:1360px}@media (width>=768px){:root{--workspace-padding:32px}}.app-header__brand{white-space:nowrap;cursor:pointer;min-width:44px;min-height:44px;color:inherit;background:0 0;border:none;border-radius:10px;flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:0;padding:4px;display:inline-flex}.app-header__brand:hover{background:color-mix(in srgb, var(--color-on-surface) 6%, transparent)}.app-header__brand:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.app-header__logo-mark{background:0 0;border:none;border-radius:8px;flex-shrink:0;width:28px;height:28px;display:block;overflow:visible}.app-header__nav-item--active{color:var(--color-on-income,#000);box-shadow:none;background:0 0;transform:none}:root[data-theme-name=lavender] .app-header__nav-item--active,:root[data-theme-name=soft_light] .app-header__nav-item--active{color:var(--color-on-accent,#fff)}:root[data-theme-name=lavender] .app-header__nav-thumb,:root[data-theme-name=soft_light] .app-header__nav-thumb{background:var(--color-accent);box-shadow:0 1px 0 #ffffff47 inset, 0 4px 16px color-mix(in srgb, var(--color-accent) 34%, transparent)}:root[data-theme-name=lavender] .fab-add,:root[data-theme-name=soft_light] .fab-add{background:var(--color-accent);color:var(--color-on-accent,#fff);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-accent) 18%, transparent), 0 4px 24px color-mix(in srgb, var(--color-accent) 40%, transparent)}.record-filters{background:var(--glass-bg-elevated);border:1px solid var(--surface-border);border-radius:1.5rem;flex-direction:column;gap:12px;padding:16px;display:flex}.record-toolbar{flex-direction:column;gap:16px;display:flex}@media (width<=767px){.page-title{margin-bottom:10px}.sidebar-layout{gap:12px}.sidebar-panel,.widget-stack{gap:10px}.content-col{gap:14px}.finance-summary-card{gap:10px;padding:14px}.record-filters{gap:10px;padding:12px}.insights-period-card{gap:10px;padding:14px 14px 12px}.insights-summary-dock__row{padding:12px 16px}.insights-cashflow-card{border-radius:1.5rem;padding:18px}.insights-cashflow-card__header{margin-bottom:16px}.settings-page{gap:16px}.settings-account{padding:14px 16px}.settings-row{padding:11px 14px}}.finance-summary-card{flex-direction:column;gap:14px;padding:18px;display:flex}.finance-summary-card__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant);text-align:center;font-size:10px;font-weight:800}.finance-summary-card__balance{text-align:center;letter-spacing:-.04em;width:100%;margin:0;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:800;line-height:1.05;display:block}.finance-summary-card__balance--positive{color:var(--color-income)}.finance-summary-card__balance--negative{color:var(--color-expense)}.finance-summary-card__balance--neutral{color:var(--color-on-background)}.finance-summary-card__stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.record-most-spent{border:1px solid color-mix(in srgb, var(--color-outline) 35%, transparent);background:color-mix(in srgb, var(--color-expense) 8%, transparent);letter-spacing:.06em;text-transform:uppercase;color:var(--color-on-surface);border-radius:14px;margin:0;padding:12px 14px;font-size:.75rem;font-weight:700;line-height:1.35}.finance-stat-chip{background:color-mix(in srgb, var(--color-on-surface) 4%, transparent);border:1px solid color-mix(in srgb, var(--color-outline) 35%, transparent);border-radius:14px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.finance-stat-chip__icon{border-radius:10px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.finance-stat-chip--income .finance-stat-chip__icon{color:var(--color-income);background:color-mix(in srgb, var(--color-income) 14%, transparent)}.finance-stat-chip--expense .finance-stat-chip__icon{color:var(--color-expense);background:color-mix(in srgb, var(--color-expense) 14%, transparent)}.finance-stat-chip__copy{flex-direction:column;gap:2px;min-width:0;display:flex}.finance-stat-chip__label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-on-surface-variant);font-weight:800;line-height:1.2;font-size:11px!important}.finance-stat-chip__value,.finance-stat-chip .money--stat,.finance-stat-chip .money{white-space:nowrap;text-overflow:ellipsis;line-height:1.15;overflow:hidden;font-size:.875rem!important;font-weight:800!important}.finance-stat-chip--income .finance-stat-chip__value,.finance-stat-chip--income .money{color:var(--color-income)}.finance-stat-chip--expense .finance-stat-chip__value,.finance-stat-chip--expense .money{color:var(--color-expense)}.transaction-list-bare__rows{background:var(--glass-bg)!important;-webkit-backdrop-filter:blur(24px)!important;backdrop-filter:blur(24px)!important;border:1px solid var(--surface-border)!important;box-shadow:var(--shadow-elevated,0 10px 40px #0000004d)!important;border-radius:2.5rem!important;overflow:hidden!important}.transaction-list-bare__rows .txn-row-wrap{transition:background-color .15s,transform .2s cubic-bezier(.22,1,.36,1);position:relative}.transaction-list-bare__rows .txn-row-wrap:hover{background:color-mix(in srgb, var(--color-on-surface) 4%, transparent)}.transaction-list-bare__rows .txn-row-wrap:active{transform:scale(.98)}.transaction-list-bare__rows .txn-row-wrap:not(:last-child):after{content:"";background:color-mix(in srgb, var(--color-outline) 28%, transparent);pointer-events:none;height:1px;position:absolute;bottom:0;left:76px;right:24px}.transaction-list-bare .swipeable-row__content{background:0 0!important}.transaction-row{background:0 0!important;border-bottom:none!important;padding:18px 24px!important}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--color-primary:#fff;--color-on-primary:#000;--color-background:#000;--color-on-background:#fff;--color-surface:#09090b;--color-on-surface:#fff;--color-surface-variant:#121214;--color-on-surface-variant:#a1a1aa;--color-outline:#27272a;--color-error:#fb7185;--color-income:#10b981;--color-expense:#fb7185;--color-transfer:#94a3b8;--color-accent:#fff;--color-on-accent:#09090b;--color-focus:#3b82f6;--color-on-income:#09090b;--color-on-expense:#09090b;--glass-bg:#ffffff08;--glass-border:#ffffff12;--glass-bg-elevated:#09090bf0;--surface-border:#ffffff12;--hairline-border:#ffffff12;--hairline-divider:#ffffff0f;--overlay-scrim:#000000b8;--color-label-muted:#a1a1aa;--color-placeholder:#a1a1aa;--color-balance-positive:#10b981;--color-balance-negative:#fb7185;--color-stat-value:#fff;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-out-soft:cubic-bezier(.33, 1, .68, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.16s;--dur-base:.26s;--dur-slow:.42s;--bottom-bar-height:40px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--gesture-nav-floor:0px;--safe-bottom-pad:max(var(--safe-bottom), var(--gesture-nav-floor));--record-sticky-offset:var(--safe-top,0px);--layout-breakpoint:768px;--content-max-width:100%;--workspace-padding:16px}@media (pointer:coarse) and (width<=767px){:root{--gesture-nav-floor:20px}}@media (display-mode:standalone),(display-mode:fullscreen),(display-mode:minimal-ui){:root{--gesture-nav-floor:24px}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#09090b;--color-on-primary:#fff;--color-background:#fff;--color-on-background:#09090b;--color-surface:#fff;--color-on-surface:#09090b;--color-surface-variant:#f8f8fa;--color-on-surface-variant:#52525b;--color-outline:#d4d4d8;--color-error:#fb7185;--color-income:#157a3a;--color-expense:#fb7185;--color-transfer:#52525b;--color-accent:#09090b;--color-on-accent:#fff;--color-focus:#3b82f6;--color-on-income:#fff;--color-on-expense:#09090b;--glass-bg:#fff;--glass-border:#0000001c;--glass-bg-elevated:#fff;--surface-border:#0000001c;--hairline-border:#0000001f;--hairline-divider:#00000017;--color-label-muted:#52525b;--color-placeholder:#52525b;--color-balance-positive:#157a3a;--color-balance-negative:#fb7185;--color-stat-value:#09090b;--overlay-scrim:#0f0f145c;--shadow-elevated:0 8px 28px #00000014, 0 0 0 1px #0000000a}}@media (width>=400px){:root{--workspace-padding:20px;--bottom-bar-height:60px}}@media (width>=430px){:root{--workspace-padding:24px}}@media (width>=768px){:root{--content-max-width:768px}}@media (width>=1024px){:root{--content-max-width:1200px}}
