/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box;border-color:var(--border)}html{-webkit-text-size-adjust:100%;height:100%;overflow-x:hidden}body{background-color:var(--bg);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:100vw;min-height:100%;font-family:Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden}#root{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex;overflow-x:hidden}input,select,textarea,button{font-family:inherit}@media (max-width:768px){input,select,textarea{touch-action:manipulation;font-size:16px}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d4d4d8;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#a1a1aa}*{scrollbar-width:thin;scrollbar-color:#d4d4d8 transparent}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-50{z-index:50}.z-\[var\(--z-raised\)\]{z-index:var(--z-raised)}.z-\[var\(--z-sheet\)\]{z-index:var(--z-sheet)}.z-\[var\(--z-toast\)\]{z-index:var(--z-toast)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-px{margin-top:1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.ml-1{margin-left:calc(var(--spacing) * 1)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing) * 1)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-full{height:100%}.h-px{height:1px}.max-h-\[92dvh\]{max-height:92dvh}.w-3\/5{width:60%}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-full{width:100%}.w-px{width:1px}.max-w-\[260px\]{max-width:260px}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-3{--tw-translate-y:calc(var(--spacing) * -3);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[shimmer_1\.6s_linear_infinite\]{animation:1.6s linear infinite shimmer}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border) 50%,transparent)}}.border-destructive{border-color:var(--destructive)}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.border-emerald-500\/30{border-color:color-mix(in oklab,var(--color-emerald-500) 30%,transparent)}}.border-input{border-color:var(--input)}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/30{border-color:color-mix(in oklab,var(--color-orange-500) 30%,transparent)}}.border-primary\/30{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,var(--primary) 30%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500) 30%,transparent)}}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500) 10%,transparent)}}.bg-orange-500\/15{background-color:#fe6e0026}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/15{background-color:color-mix(in oklab,var(--color-orange-500) 15%,transparent)}}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary) 10%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500) 15%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-\[linear-gradient\(90deg\,var\(--muted\)_25\%\,var\(--secondary\)_50\%\,var\(--muted\)_75\%\)\]{background-image:linear-gradient(90deg,var(--muted) 25%,var(--secondary) 50%,var(--muted) 75%)}.bg-\[length\:200\%_100\%\]{background-size:200% 100%}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-accent-foreground{color:var(--accent-foreground)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-400{color:var(--color-emerald-400)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-300{color:var(--color-orange-300)}.text-orange-400{color:var(--color-orange-400)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_-4px_32px_rgba\(0\,0\,0\,0\.6\)\]{--tw-shadow:0 -4px 32px var(--tw-shadow-color,#0009);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-destructive\/40{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.ring-destructive\/40{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-\[var\(--duration-fast\)\]{--tw-duration:var(--duration-fast);transition-duration:var(--duration-fast)}.duration-\[var\(--duration-micro\)\]{--tw-duration:var(--duration-micro);transition-duration:var(--duration-micro)}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:scale-\[1\.04\]:hover{scale:1.04}.hover\:bg-accent\/90:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/90:hover{background-color:color-mix(in oklab,var(--accent) 90%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary:hover,.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_20px_rgba\(16\,185\,129\,0\.45\)\]:hover{--tw-shadow:0 0 20px var(--tw-shadow-color,#10b98173);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_0_20px_rgba\(99\,102\,241\,0\.45\)\]:hover{--tw-shadow:0 0 20px var(--tw-shadow-color,#6366f173);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_0_20px_rgba\(239\,68\,68\,0\.45\)\]:hover{--tw-shadow:0 0 20px var(--tw-shadow-color,#ef444473);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_0_20px_rgba\(249\,115\,22\,0\.45\)\]:hover{--tw-shadow:0 0 20px var(--tw-shadow-color,#f9731673);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive:focus-visible{--tw-ring-color:var(--destructive)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.93\]:active{scale:.93}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.data-\[ending-style\]\:scale-95[data-ending-style]{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-\[ending-style\]\:opacity-0[data-ending-style]{opacity:0}.data-\[starting-style\]\:scale-95[data-starting-style]{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-\[starting-style\]\:opacity-0[data-starting-style]{opacity:0}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:text-left{text-align:left}}.pt-safe{padding-top:env(safe-area-inset-top,0px)}.pb-safe{padding-bottom:env(safe-area-inset-bottom,0px)}.pl-safe{padding-left:env(safe-area-inset-left,0px)}.pr-safe{padding-right:env(safe-area-inset-right,0px)}.px-safe{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.mt-safe{margin-top:env(safe-area-inset-top,0px)}.mb-safe{margin-bottom:env(safe-area-inset-bottom,0px)}.pb-safe-4{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 1rem)}.pb-safe-6{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 1.5rem)}.touch-manipulation{touch-action:manipulation}.scroll-touch{-webkit-overflow-scrolling:touch}.no-select{-webkit-user-select:none;user-select:none}}:root{--background:#f7f7f5;--foreground:#18181b;--card:#fff;--card-foreground:#18181b;--popover:#fff;--popover-foreground:#18181b;--primary:#16a34a;--primary-foreground:#fff;--secondary:#f4f4f5;--secondary-foreground:#18181b;--muted:#f4f4f5;--muted-foreground:#a1a1aa;--accent:#f97316;--accent-foreground:#fff;--destructive:#dc2626;--destructive-foreground:#fff;--border:#e4e4e7;--input:#e4e4e7;--ring:#16a34a;--radius:.375rem;--sidebar-w:240px;--glass-bg:#ffffffd9;--glass-bg-strong:#fffffff5;--glass-border:#00000012;--glass-shadow:0 4px 24px #0000001a, 0 1px 4px #0000000d;--blue:#3b82f6;--green:#16a34a;--orange:#f97316;--purple:#8b5cf6;--red:#dc2626;--bg:#f7f7f5;--text:#18181b;--text-secondary:#52525b;--text-muted:#a1a1aa;--duration-micro:.15s;--duration-fast:.2s;--duration-normal:.3s;--duration-slow:.4s;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-inout:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.175, .885, .32, 1.2);--z-base:0;--z-raised:10;--z-dropdown:20;--z-sticky:30;--z-backdrop:40;--z-sheet:50;--z-toast:60;--z-modal:70;--z-tooltip:90}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUpIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideUpOut{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes toastDropIn{0%{opacity:0;transform:translateY(-12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastDropOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-12px)scale(.96)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}.bills-page-wrap{display:flex;flex-direction:column;min-height:100dvh}.section-header,.home-bento,.bills-export-panel,.bills-import-confirm{max-width:1360px;margin-left:auto;margin-right:auto;width:100%;padding-left:24px;padding-right:24px}@media (max-width: 600px){.section-header,.home-bento{padding-left:16px;padding-right:16px}}.section-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:20px;padding-bottom:14px}.section-title{display:flex;align-items:center;gap:8px;font-size:1.05rem;font-weight:700;color:var(--foreground);letter-spacing:-.2px;white-space:nowrap;flex:1}.month-nav--fill{width:100%;flex-basis:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.month-nav--fill .month-nav-btn:first-child{justify-self:start}.month-nav--fill .month-nav-label{justify-self:center}.month-nav--fill .month-nav-btn:last-child{justify-self:end}.header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.header-icon-btn{height:32px;padding:0 12px;gap:6px;border-radius:8px;border:1.5px solid var(--border);background:var(--card);color:var(--muted-foreground);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,color .15s,background .15s;flex-shrink:0;white-space:nowrap;-webkit-tap-highlight-color:transparent;font-family:inherit}.header-icon-btn:hover{border-color:#a1a1aa;color:var(--foreground);background:var(--muted)}.header-icon-btn:active{transform:scale(.93)}.header-add-btn{height:32px;padding:0 14px;gap:5px;border-radius:8px;border:none;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;font-weight:600;font-family:inherit;letter-spacing:.1px;transition:background .15s,transform .1s;flex-shrink:0;white-space:nowrap;-webkit-tap-highlight-color:transparent}.header-add-btn:hover{background:#15803d}.header-add-btn:active{transform:scale(.95)}@media (max-width: 768px){.header-add-btn{display:none}}.header-btn-label{font-size:.78rem;font-weight:500;letter-spacing:.01em}@media (max-width: 768px){.header-icon-btn{width:32px;padding:0}.header-btn-label{display:none}}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 6px currentColor}.month-nav{display:flex;align-items:center;gap:6px}.month-nav--fill{min-width:0;border:1px solid var(--border);border-radius:10px;padding:2px;background:var(--muted)}.month-nav--fill .month-nav-label{flex:1}.month-nav--fill .month-nav-btn{border:none;background:transparent}.month-nav--fill .month-nav-btn:hover{background:var(--border)}.month-nav-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--muted);color:var(--foreground);cursor:pointer;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;font-family:inherit;line-height:1;flex-shrink:0}.month-nav-btn:hover{background:var(--border);border-color:var(--muted-foreground)}.month-nav-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.month-nav-label{font-size:.82rem;font-weight:600;color:var(--foreground);min-width:0;text-align:center;white-space:nowrap}.home-bento{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"main side";gap:16px;align-items:start;padding-top:0;padding-bottom:40px}.home-bento-main{grid-area:main;min-width:0}.home-bento-side{grid-area:side;min-width:0;position:sticky;top:16px;max-height:calc(100dvh - 100px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.home-bento-side::-webkit-scrollbar{display:none}@media (max-width: 1100px){.home-bento{gap:12px}}@media (max-width: 960px){.home-bento{grid-template-columns:1.2fr 1fr}}@media (max-width: 768px){.home-bento{grid-template-columns:1fr;grid-template-areas:"main";gap:0;padding-bottom:88px}.home-bento-side{display:none}}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:clip;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000008}.bills-list-wrap{min-height:260px;padding:8px}.sd-bento-wrap{max-width:1360px;margin-left:auto;margin-right:auto;width:100%;padding:0 24px 60px;display:flex;flex-direction:column;gap:0}.sd-page-header{width:100%;padding-bottom:4px}.sd-bento{display:grid;grid-template-columns:1fr 320px;grid-template-areas:"main side";gap:14px;align-items:start;margin-bottom:14px}.sd-bento-main{grid-area:main;min-width:0;display:flex;flex-direction:column;gap:14px}.sd-bento-side{grid-area:side;min-width:0;display:flex;flex-direction:column;gap:14px}.sd-bento-full,.sd-bento-full .sd-card{width:100%}.sd-bento-main .sd-card,.sd-bento-side .sd-card{margin-bottom:0}@media (max-width: 900px){.sd-bento{grid-template-columns:1fr;grid-template-areas:"main" "side"}.sd-bento-side{flex-direction:row;flex-wrap:wrap}.sd-bento-side>*{flex:1 1 280px;min-width:0}}@media (max-width: 600px){.sd-bento-wrap{padding:0 16px 60px}.sd-bento-side{flex-direction:column}.sd-bento-side>*{flex:unset}}.sidebar-widget{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:clip;padding:16px;box-shadow:0 1px 3px #0000000a}.widget-title{font-size:.78rem;font-weight:700;color:var(--foreground);text-transform:uppercase;letter-spacing:.4px;margin-bottom:12px;display:flex;align-items:center;gap:5px}.bill-summary-block{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:clip;padding:16px}.bsb-exclude-row{display:flex;justify-content:flex-end;margin-bottom:12px}.bsb-exclude-label{display:inline-flex;align-items:center;gap:5px;font-size:.71rem;font-weight:500;color:var(--muted-foreground);cursor:pointer;-webkit-user-select:none;user-select:none;padding:3px 9px;border-radius:99px;border:1px solid var(--border);background:transparent;transition:all .15s}.bsb-exclude-label:has(input:checked){border-color:var(--ring);color:var(--primary);background:#16a34a14}.bsb-exclude-cb{width:11px;height:11px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.bsb-io-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.bsb-io-label{font-size:.76rem;font-weight:600}.bsb-io-val{font-size:.78rem;font-weight:700;white-space:nowrap}.bsb-io-bar-wrap{height:5px;background:var(--muted);border-radius:99px;overflow:hidden;margin-bottom:6px}.bsb-io-bar{height:100%;border-radius:99px;transition:width .55s cubic-bezier(.4,0,.2,1)}.bsb-view-report-btn{display:block;width:100%;margin-top:12px;padding:10px 16px;background:var(--accent);color:#fff;font-size:.8rem;font-weight:700;font-family:inherit;border:none;border-radius:10px;cursor:pointer;letter-spacing:.2px;text-align:center;transition:opacity .15s,transform .1s}.bsb-view-report-btn:hover{opacity:.88}.bsb-view-report-btn:active{transform:scale(.97)}.bsb-detail-btn{font-size:.71rem;font-weight:500;color:var(--muted-foreground);background:none;border:none;cursor:pointer;font-family:inherit;padding:2px 4px;transition:color .15s;white-space:nowrap}.bsb-detail-btn:hover{color:var(--accent)}.spend-trend{display:flex;align-items:flex-end;gap:5px;height:90px;padding-top:8px}.st-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;height:100%}.st-val{font-size:.57rem;color:var(--muted-foreground);white-space:nowrap;height:14px;display:flex;align-items:flex-end}.st-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end}.st-label{font-size:.6rem;color:var(--muted-foreground);white-space:nowrap;margin-top:3px}.st-label-current{color:var(--orange);font-weight:700}.st-legend{display:flex;gap:10px;margin-top:8px;font-size:.68rem;color:var(--muted-foreground)}.st-legend span{display:flex;align-items:center;gap:4px}.st-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.st-bar-val{font-size:.58rem;color:var(--muted-foreground);white-space:nowrap}.st-bar{width:100%;border-radius:4px 4px 0 0;transition:height .4s ease;min-height:3px}.st-bar-lbl{font-size:.6rem;color:var(--muted-foreground);white-space:nowrap;margin-top:3px}.st-toggle{display:flex;gap:2px;background:var(--muted);border-radius:7px;padding:2px}.st-toggle-btn{padding:3px 9px;border-radius:5px;font-size:.68rem;font-weight:500;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}.st-toggle-btn.active{background:var(--card);color:var(--foreground);box-shadow:0 1px 4px #0000001a;font-weight:600}.smart-insight{display:flex;align-items:stretch;gap:12px}.si-accent-bar{width:3px;border-radius:2px;flex-shrink:0;align-self:stretch}.si-primary{font-size:.9rem;font-weight:600;color:var(--foreground);line-height:1.35}.si-secondary{font-size:.75rem;color:var(--muted-foreground);line-height:1.4}.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 14px;min-height:32px;border-radius:var(--radius);border:1px solid var(--border);background:var(--muted);color:var(--foreground);font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .1s;-webkit-user-select:none;user-select:none;white-space:nowrap;-webkit-tap-highlight-color:transparent}.btn:hover{background:var(--border);border-color:var(--muted-foreground)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground);font-weight:600}.btn-primary:hover{background:#4f52d4;border-color:#4f52d4;color:#fff}.btn-orange{background:linear-gradient(135deg,var(--orange),#ea580c);border-color:transparent;color:#fff;font-weight:600;box-shadow:0 2px 10px #f9731647}.btn-orange:hover{background:linear-gradient(135deg,#fb923c,#c2410c);border-color:transparent}.btn-green{background:#16a34a;border-color:#16a34a;color:#fff;font-weight:600}.btn-green:hover{background:#15803d;border-color:#15803d}.btn-danger{background:transparent;border-color:#ef444466;color:#f87171}.btn-danger:hover{background:var(--destructive);border-color:var(--destructive);color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted-foreground)}.btn-ghost:hover{background:var(--muted);border-color:var(--border);color:var(--foreground)}.btn-ghost-accent{background:transparent;border-color:#f9731680;color:var(--orange)}.btn-ghost-accent:hover{background:#f973161a;border-color:var(--orange)}.page-fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));right:24px;z-index:1000;display:inline-flex;align-items:center;gap:7px;padding:0 20px 0 16px;height:52px;border-radius:26px;border:none;cursor:pointer;font-family:inherit;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;-webkit-tap-highlight-color:transparent}.page-fab:hover{transform:translateY(-3px)}.page-fab:active{transform:scale(.95) translateY(0)}.page-fab-orange{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;box-shadow:0 4px 20px #f9731673,0 2px 8px #00000026}.page-fab-orange:hover{box-shadow:0 8px 32px #f9731680,0 4px 12px #0003}.page-fab-icon{font-size:1.5rem;font-weight:300;line-height:1}.page-fab-label{font-size:.9rem;font-weight:700;letter-spacing:.2px}@media (min-width: 769px){.page-fab{display:none}}@media (max-width: 480px){.page-fab{right:16px;bottom:calc(20px + env(safe-area-inset-bottom,0px));height:48px;padding:0 16px 0 14px}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 24px 40px;text-align:center;color:var(--muted-foreground);gap:8px}.empty .big{font-size:2.8rem;margin-bottom:4px;opacity:.85}.empty p{font-size:.83rem;line-height:1.55;max-width:240px;color:var(--muted-foreground)}.bsb-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.bsb-stat-tile{background:var(--muted);border-radius:10px;padding:10px 12px}.bsb-stat-lbl{font-size:.68rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.bsb-stat-val{font-size:1rem;font-weight:800;color:var(--foreground);letter-spacing:-.5px;line-height:1}.bsb-stat-sub{font-size:.67rem;color:var(--muted-foreground);margin-top:3px}.overdue-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#f87171;font-size:.73rem;font-weight:600;margin-bottom:8px}@media (min-width: 769px){.vmr-mobile-only{display:none!important}}.sd-panel-wrap{padding:0 0 16px}.sd-panel-wrap .sd-page-header{padding:0 0 8px}.sd-panel-cols,.sd-panel-main,.sd-panel-side{display:flex;flex-direction:column;gap:10px}.spend-trend-bar-col{display:flex;flex-direction:column;align-items:center;flex:1;gap:4px}.spend-trend-val-lbl{font-size:.57rem;color:var(--muted-foreground);white-space:nowrap;line-height:1;min-height:12px}.spend-trend-bar-track{width:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;min-height:48px}.spend-trend-bar-fill{width:100%;border-radius:4px 4px 0 0;transition:height .45s cubic-bezier(.4,0,.2,1)}.spend-trend-month-lbl{font-size:.6rem;color:var(--muted-foreground);white-space:nowrap;text-align:center;line-height:1}@media (max-width: 600px){.section-header,.home-bento{padding-left:14px;padding-right:14px}.home-bento{padding-bottom:96px}}@media (max-width: 480px){.card{border-radius:12px}.sidebar-widget,.bill-summary-block{border-radius:12px;padding:14px}}@media (max-width: 480px){.bills-list-wrap{padding:6px}}@media (max-width: 480px){.overdue-pill{font-size:.76rem;padding:5px 12px}}@media (max-width: 600px){.spend-trend-val-lbl,.spend-trend-month-lbl{font-size:.62rem}}@media (max-width: 600px){.widget-title{font-size:.8rem;margin-bottom:10px}}@media (max-width: 480px){.section-header{padding-top:16px;padding-bottom:10px;gap:8px}}@media (max-width: 380px){.page-fab{right:12px;bottom:calc(16px + env(safe-area-inset-bottom,0px));height:46px;padding:0 14px 0 12px}.page-fab-label{font-size:.85rem}}.filter-row{padding:10px 16px 8px;border-bottom:1px solid var(--border);background:transparent}body{font-size:14px}input,select,textarea{background:var(--muted);color:var(--foreground);border-color:var(--border)}input::placeholder{color:var(--muted-foreground)}.form-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.form-row input,.form-row select,.form-row textarea{flex:1;min-width:140px;padding:8px 12px;border:1px solid var(--input);border-radius:var(--radius);font-size:.8125rem;font-family:inherit;color:var(--foreground);background:var(--background);outline:none;transition:border-color .15s,box-shadow .15s}.form-row input:focus,.form-row select:focus{border-color:var(--ring);box-shadow:0 0 0 3px #16a34a1f}.form-row textarea{resize:vertical;min-height:60px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}@media (max-width: 560px){.form-grid{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:4px}.form-field.full{grid-column:1 / -1}.form-label{font-size:.75rem;font-weight:500;color:var(--foreground);letter-spacing:0px}.form-field input,.form-field select,.form-field textarea{padding:8px 12px;border:1px solid var(--input);border-radius:var(--radius);font-size:.8125rem;font-family:inherit;color:var(--foreground);background:var(--background);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}@media (max-width: 768px){input,select,textarea,.form-field input,.form-field select,.form-field textarea,.date-select,.amt-wrap input{font-size:16px!important;touch-action:manipulation}}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px #16a34a1f}.form-field textarea{resize:vertical;min-height:64px}.form-field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:.7rem;font-weight:500;letter-spacing:.2px;border:1px solid transparent}.badge-new{background:#f4f4f5;color:#52525b;border-color:#e4e4e7}.badge-active{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.badge-review{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.badge-pending{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.badge-done{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.badge-paid{background:none;color:#15803d;border-color:transparent;font-weight:600}.badge-unpaid{background:none;color:#dc2626;border-color:transparent;font-weight:600}.badge-due{background:none;color:#c2410c;border-color:transparent;font-weight:600}.badge-overdue{background:none;color:#dc2626;border-color:transparent;font-weight:600}.badge-expense{background:#f0f9ff;color:#0369a1;border-color:#bae6fd;font-weight:600}.badge-expense-tag{display:inline-block;margin-left:6px;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:1px 6px;border-radius:99px;background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd;vertical-align:middle}.bill-type-row{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.bill-type-opt{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 10px;min-height:44px;border-radius:var(--radius);border:1.5px solid var(--border);background:var(--muted);color:var(--muted-foreground);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.bill-type-opt input[type=radio]{accent-color:var(--ring);width:14px;height:14px;touch-action:manipulation}.bill-type-opt.active{border-color:var(--ring);background:var(--background);color:var(--foreground);font-weight:600;box-shadow:0 0 0 3px #3b82f61a}.bill-type-opt:hover:not(.active){border-color:var(--foreground);color:var(--foreground)}.member-picker-row{display:flex;gap:6px;flex-wrap:wrap}.member-chip{padding:5px 13px;min-height:36px;border-radius:20px;border:1.5px solid var(--border);touch-action:manipulation;background:var(--muted);color:var(--muted-foreground);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.member-chip.active{border-color:var(--ring);background:var(--ring);color:#fff;font-weight:600}.member-chip:hover:not(.active){border-color:var(--foreground);color:var(--foreground)}.filter-row{display:flex;flex-direction:row;align-items:center;gap:8px;padding:8px 0 10px}.filter-row-left{display:flex;gap:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-row-left::-webkit-scrollbar{display:none}.filter-row-right{flex-shrink:0}@media (max-width: 768px){.filter-row{flex-direction:column;align-items:stretch;gap:6px}.filter-row-left{flex:unset}.filter-row-right{width:100%}.filter-row-right .type-filter-select{width:100%;border-radius:10px}}.member-filter-bar{display:flex;gap:6px;overflow-x:auto;padding:8px 0 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.member-filter-bar::-webkit-scrollbar{display:none}.member-filter-chip{flex-shrink:0;padding:6px 12px;min-height:32px;border-radius:20px;border:1.5px solid var(--border);touch-action:manipulation;background:var(--muted);color:var(--muted-foreground);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.member-filter-chip.active{border-color:var(--orange);background:var(--orange);color:#fff;font-weight:600}.member-filter-chip:hover:not(.active){border-color:var(--foreground);color:var(--foreground)}.type-filter-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--muted);border:1.5px solid var(--border);border-radius:20px;color:var(--muted-foreground);font-size:.78rem;font-weight:500;font-family:inherit;padding:6px 28px 6px 13px;min-height:36px;cursor:pointer;outline:none;transition:border-color .15s,color .15s,background .15s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%237070a8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.type-filter-select:hover{border-color:var(--muted-foreground);color:var(--foreground)}.type-filter-select:focus{border-color:var(--ring);color:var(--foreground);outline:none}.type-filter-select.active{border-color:var(--accent);color:var(--accent);background-color:#f9731614;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23f97316' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");font-weight:600}@media (max-width: 768px){.type-filter-select{font-size:16px!important}}.recurring-edit-confirm{background:var(--muted);border-radius:10px;padding:12px 14px;margin-top:12px}.recurring-edit-confirm p{font-size:.82rem;margin-bottom:10px;color:var(--text-muted)}.recurring-edit-actions{display:flex;gap:8px;flex-wrap:wrap}@keyframes greet-morning{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.home-greeting{border-radius:16px;border:1px solid var(--border);padding:20px 24px;margin-bottom:16px;display:flex;align-items:stretch;justify-content:space-between;gap:16px;flex-wrap:wrap;position:relative;overflow:hidden;background-size:300% 300%;animation:greet-morning 16s ease infinite;box-shadow:0 2px 8px #0000000f}.home-greeting[data-tod=morning]{background-image:linear-gradient(135deg,#fff7ed,#fef3c7,#fffbeb,#fed7aa,#fff7ed);border-color:#fed7aa}.home-greeting[data-tod=afternoon]{background-image:linear-gradient(135deg,#f0f9ff,#ecfdf5,#f0fdf4,#dbeafe,#f0f9ff);border-color:#bae6fd}.home-greeting[data-tod=evening]{background-image:linear-gradient(135deg,#faf5ff,#fdf2f8,#f5f3ff,#ede9fe,#faf5ff);border-color:#ddd6fe}.home-greeting:before{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;pointer-events:none;z-index:0}.home-greeting[data-tod=morning]:before{background:radial-gradient(circle,rgba(249,115,22,.12),transparent 65%)}.home-greeting[data-tod=afternoon]:before{background:radial-gradient(circle,rgba(56,189,248,.1),transparent 65%)}.home-greeting[data-tod=evening]:before{background:radial-gradient(circle,rgba(139,92,246,.1),transparent 65%)}.bill-list{display:flex;flex-direction:column;gap:8px}.bill-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.bill-card-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.bill-card-name{font-size:.875rem;font-weight:600;color:var(--foreground)}.bill-card-amount{font-size:.9rem;font-weight:700;color:var(--foreground);letter-spacing:-.2px}.bill-card-cat{font-size:.78rem;font-weight:500}.bill-card-due{font-size:.78rem;color:var(--muted-foreground)}.bill-card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:4px;gap:6px}.bill-card-actions-left{display:flex;align-items:center;gap:6px}.bill-group-divider{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:#0369a1;padding:12px 0 4px}.bill-group-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bill-group-total{font-weight:500;font-size:.75rem;color:var(--muted-foreground);margin-left:2px}.pay-toggle{padding:4px 12px;border-radius:99px;font-size:.72rem;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .15s;font-family:inherit}.pay-toggle.unpaid{background:#fef2f2;color:#dc2626;border-color:#fecaca}.pay-toggle.paid{background:#f4f4f5;color:#71717a;border-color:#d4d4d8}.bill-summary-block{display:flex;flex-direction:column;gap:0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:0 1px 3px #0000000f}.bsb-divider{width:100%;height:1px;background:var(--border);margin:14px 0}.bsb-section{min-width:0}.bsb-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted-foreground);margin-bottom:10px}.bsb-total-val{font-size:1.2rem;font-weight:800;letter-spacing:-.5px;color:var(--foreground);margin-bottom:8px}.bsb-progress-bar{height:6px;background:var(--muted);border-radius:99px;overflow:hidden;margin-bottom:6px}.bsb-progress-fill{height:100%;background:var(--green);border-radius:99px;transition:width .5s ease}.bsb-progress-labels{display:flex;justify-content:space-between;font-size:.7rem;font-weight:600}.bsb-cats{display:flex;flex-direction:column;gap:6px}.bsb-cat-row{display:flex;align-items:center;gap:7px}.bsb-cat-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.bsb-cat-name{font-size:.75rem;color:var(--foreground);width:76px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bsb-cat-bar-wrap{flex:1;height:4px;background:var(--muted);border-radius:99px;overflow:hidden}.bsb-cat-bar{height:100%;border-radius:99px;transition:width .4s ease;opacity:.8}.bsb-cat-amt{font-size:.7rem;font-weight:600;color:var(--muted-foreground);white-space:nowrap;min-width:72px;text-align:right}.bsb-cat-more{font-size:.68rem;color:var(--muted-foreground);padding-left:14px}.bsb-timeline{display:flex;flex-direction:column;gap:5px}.bsb-tl-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--radius);font-size:.78rem}.bsb-tl-overdue{background:#ef444414}.bsb-tl-today{background:#f9731614}.bsb-tl-week{background:#3b82f614}.bsb-tl-later{background:var(--muted)}.bsb-tl-label{flex:1;font-weight:600}.bsb-tl-overdue .bsb-tl-label{color:var(--red)}.bsb-tl-today .bsb-tl-label{color:var(--orange)}.bsb-tl-week .bsb-tl-label{color:var(--blue)}.bsb-tl-count{font-size:.7rem;background:#0000000f;border-radius:99px;padding:1px 7px;font-weight:700}.bsb-tl-amt{font-weight:600;font-size:.73rem;white-space:nowrap;color:var(--muted-foreground)}.bsb-tl-clear{font-size:.8rem;color:var(--green);font-weight:600;padding:4px 0}.bv-wrap{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:20px}@media (max-width: 860px){.bv-wrap{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.bv-wrap{grid-template-columns:1fr}}.bv-card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:16px;transition:box-shadow .18s,transform .18s;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.bv-card:hover{box-shadow:0 4px 16px #00000012,0 1px 4px #0000000a;transform:translateY(-1px)}.bv-card-title{font-size:.75rem;font-weight:600;color:var(--foreground);margin-bottom:14px;display:flex;align-items:center;gap:5px}.bv-donut-only{display:block}.bv-bar-only{display:none}@media (max-width: 640px){.bv-donut-only{display:none}.bv-bar-only{display:block}}.bv-progress-wrap{padding:4px 0}.bv-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.bv-progress-label{font-size:.8rem;color:var(--muted-foreground)}.bv-progress-pct{font-size:1rem;font-weight:700}.bv-progress-track{height:8px;background:var(--border);border-radius:99px;overflow:hidden}.bv-progress-fill{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.4,0,.2,1)}.bv-progress-footer{display:flex;justify-content:space-between;margin-top:8px}.bv-donut-wrap{display:flex;align-items:center;gap:20px;padding-top:6px}.bv-donut-svg{width:110px;height:110px;flex-shrink:0;overflow:visible}.bv-donut-pct{font-size:18px;font-weight:800;fill:var(--foreground);font-family:Inter,system-ui,sans-serif}.bv-donut-sub{font-size:9px;fill:var(--muted-foreground);font-family:Inter,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.5px}.bv-donut-legend{display:flex;flex-direction:column;gap:12px}.bv-donut-leg-item{display:flex;align-items:flex-start;gap:8px}.bv-donut-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:3px}.bv-donut-leg-lbl{font-size:.68rem;color:var(--muted-foreground);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.bv-donut-leg-val{font-size:.82rem;font-weight:700;margin-top:1px}.bv-cats{display:flex;flex-direction:column;gap:9px}.bv-cat-row{display:flex;align-items:center;gap:8px}.bv-cat-name{display:flex;align-items:center;gap:5px;font-size:.72rem;font-weight:500;color:var(--foreground);width:90px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bv-cat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bv-cat-bar-wrap{flex:1;height:7px;border-radius:99px;background:var(--muted);overflow:hidden}.bv-cat-bar{height:100%;border-radius:99px;transition:width .4s ease}.bv-cat-vals{display:flex;align-items:center;gap:6px;font-size:.68rem;font-weight:600;color:var(--foreground);min-width:80px;justify-content:flex-end}.bv-cat-share{color:var(--muted-foreground);font-weight:400}.bv-cat-fill{height:100%;border-radius:99px;transition:width .4s ease}.bv-cat-amount{font-size:.68rem;font-weight:600;color:var(--foreground);min-width:64px;text-align:right;flex-shrink:0}.bv-buckets{display:flex;flex-direction:column;gap:8px;margin-top:2px}.bv-bucket-row{display:flex;align-items:center;gap:8px}.bv-bucket-label{font-size:.72rem;color:var(--muted-foreground);width:72px;flex-shrink:0}.bv-bucket-bar-wrap{flex:1;height:7px;border-radius:99px;background:var(--muted);overflow:hidden}.bv-bucket-fill{height:100%;border-radius:99px;transition:width .4s ease}.bv-bucket-amount{font-size:.68rem;font-weight:600;color:var(--foreground);min-width:72px;text-align:right;flex-shrink:0}.month-nav{display:flex;align-items:center;gap:8px}.month-nav--fill{justify-content:center}.month-nav-btn{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);padding:5px 10px;font-size:.85rem;font-family:inherit;cursor:pointer;color:var(--foreground);transition:all .15s;line-height:1}.month-nav-btn:hover{background:var(--border)}.month-nav-label{font-size:.925rem;font-weight:700;color:var(--foreground);min-width:120px;text-align:center;letter-spacing:-.2px}.month-nav-label--btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:transparent;border:none;outline:none;border-radius:var(--radius);padding:4px 6px;cursor:pointer;transition:background .15s;white-space:nowrap;font-family:inherit;text-align:center;width:100%}.month-nav-label--btn:hover{background:var(--muted)}.month-nav-label--btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.month-picker-caret{font-size:.55rem;opacity:.45;margin-left:2px;line-height:1}.month-picker-popover{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:200;background:var(--background);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #00000024;padding:14px;min-width:240px;animation:mp-pop .15s ease}@keyframes mp-pop{0%{opacity:0;transform:translate(-50%) translateY(-6px) scale(.97)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.mp-year-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mp-year-label{font-size:.9rem;font-weight:700;color:var(--foreground)}.mp-year-btn{background:var(--muted);border:1px solid var(--border);border-radius:6px;padding:3px 10px;font-size:1rem;cursor:pointer;color:var(--foreground);transition:background .12s}.mp-year-btn:hover:not(:disabled){background:var(--border)}.mp-month-cell{padding:7px 4px;border:1px solid var(--border);border-radius:8px;background:var(--muted);font-size:.8rem;font-weight:500;color:var(--foreground);cursor:pointer;text-align:center;transition:background .12s,border-color .12s}.mp-month-cell:hover:not(:disabled){background:var(--border);border-color:var(--ring)}.mp-month-cell--selected{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;font-weight:700}.mp-month-cell--today{border-color:var(--accent);color:var(--accent);font-weight:600}.income-toggle-bar{width:100%;display:flex;align-items:center;background:#22c55e0f;border:1px solid rgba(34,197,94,.2);border-radius:8px;margin-bottom:12px;overflow:hidden;transition:border-color .15s}.income-toggle-bar:hover{border-color:#22c55e59}.itb-main{flex:1;display:flex;align-items:center;justify-content:space-between;background:none;border:none;padding:8px 10px 8px 14px;cursor:pointer;font-family:inherit;transition:background .15s}.itb-main:hover{background:#22c55e0f}.itb-eye{background:none;border:none;border-left:1px solid rgba(34,197,94,.2);padding:8px 11px;cursor:pointer;font-size:.85rem;line-height:1;transition:background .15s;color:var(--muted-foreground)}.itb-eye:hover{background:#22c55e1a}.itb-left{display:flex;align-items:center;gap:8px}.itb-icon{font-size:.9rem}.itb-label{font-size:.78rem;font-weight:700;color:#22c55e}.itb-count{font-size:.7rem;color:var(--muted-foreground);background:var(--muted);padding:1px 6px;border-radius:99px}.itb-total{font-size:.78rem;font-weight:600;color:#22c55e}.itb-chevron{font-size:.6rem;color:#22c55e;opacity:.7}.group-toggle{display:flex;gap:4px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.group-toggle-lbl{font-size:.7rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.5px;margin-right:2px}.group-btn{padding:4px 11px;border-radius:var(--radius);font-size:.775rem;font-weight:500;border:1px solid var(--border);background:var(--background);font-family:inherit;cursor:pointer;color:var(--muted-foreground);transition:all .15s}.group-btn:hover{background:var(--muted);color:var(--foreground)}.group-btn.active{border-color:var(--orange);color:var(--orange);background:#fff7ed}.bills-table{width:100%;border-collapse:collapse}.bills-table th{text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--muted-foreground);padding:0 12px 10px}.bills-table td{padding:11px 12px;font-size:.8125rem;border-bottom:1px solid var(--border)}.bills-table tr:last-child td{border-bottom:none}.bills-table tr:hover td{background:var(--muted)}.bill-group-header td{background:var(--muted)!important;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted-foreground);padding:6px 12px;border-bottom:1px solid var(--border)}.editing-row td{background:#fffbeb!important;vertical-align:middle}.editing-row input,.editing-row select{padding:5px 8px;border:1px solid var(--ring);border-radius:4px;font-size:.8rem;font-family:inherit;color:var(--foreground);background:var(--background);outline:none;width:100%;box-shadow:0 0 0 2px #3b82f61a}.editing-row select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:26px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center}.editing-row input[type=number]{max-width:130px}.editing-row input[type=date]{max-width:140px}.edit-actions{display:flex;gap:4px;align-items:center}.bill-cb-row{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:14px}.bill-cb-label{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--foreground);-webkit-user-select:none;user-select:none}.bill-cb-label input[type=checkbox]{width:15px;height:15px;accent-color:var(--orange);cursor:pointer;flex-shrink:0}.form-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.form-label-row .form-label{margin-bottom:0}.recurring-inline-chip{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:500;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 8px;border-radius:20px;border:1px solid var(--border);background:transparent;transition:all .15s}.recurring-inline-chip:has(input:checked){color:var(--orange);border-color:var(--orange);background:#f9731614}.recurring-inline-chip input[type=checkbox]{width:12px;height:12px;accent-color:var(--orange);cursor:pointer;flex-shrink:0}.badge-recurring{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:#8b5cf621;color:var(--purple, #8b5cf6);border-radius:50%;font-size:.65rem;font-weight:700;flex-shrink:0;line-height:1}.news-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.news-tab{padding:6px 14px;border-radius:var(--radius);font-size:.8rem;font-weight:500;font-family:inherit;border:1px solid var(--border);cursor:pointer;transition:all .15s;background:var(--background);color:var(--muted-foreground)}.news-tab.active{background:var(--purple);color:#fff;border-color:var(--purple)}.news-tab:hover:not(.active){background:var(--muted);color:var(--foreground)}.news-sidebar-tabs{display:flex;flex-direction:column;gap:4px;margin-top:8px}.news-sidebar-tab{width:100%;text-align:left;padding:8px 12px;border-radius:var(--radius);font-size:.82rem;font-weight:500;font-family:inherit;border:1px solid var(--border);cursor:pointer;transition:all .15s;background:var(--background);color:var(--muted-foreground)}.news-sidebar-tab.active{background:var(--purple);color:#fff;border-color:var(--purple);font-weight:700}.news-sidebar-tab:hover:not(.active){background:var(--muted);color:var(--foreground)}.news-feed{display:flex;flex-direction:column;gap:10px}.news-item{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);border-left:3px solid var(--purple);padding:14px 16px;display:flex;gap:12px;align-items:flex-start;transition:border-color .15s}.news-item:hover{border-color:#d4d4d8}.news-item .ni-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}.news-item .ni-body{flex:1}.bs-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#00000059}.bs-panel{position:absolute;bottom:0;left:0;right:0;height:100%;background:var(--card);border-radius:20px 20px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:bs-up .32s cubic-bezier(.32,.72,0,1);width:100%;max-width:600px;margin:0 auto}.bs-body{flex:1;overflow-y:auto;padding:14px 20px 8px}.form-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.form-field{gap:3px}.form-label{font-size:.7rem}.form-field input,.form-field select,.form-field textarea{padding:7px 10px;font-size:.85rem!important}.member-chip{padding:4px 10px;font-size:.75rem}.cat-grid{grid-template-columns:repeat(6,1fr);gap:5px}@keyframes bs-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (min-width: 768px){.bs-backdrop{display:flex;align-items:center;justify-content:center;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bs-panel{position:relative;bottom:auto;left:auto;right:auto;width:480px;max-width:95vw;max-height:88vh;border-radius:16px;animation:bs-modal-in .22s cubic-bezier(.34,1.26,.64,1);box-shadow:0 16px 48px #00000024,0 0 0 1px var(--border)}.bs-handle{display:none}.bs-footer{padding-bottom:16px}.bs-actions .btn{padding:10px;font-size:.875rem}}@keyframes bs-modal-in{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.bs-handle{width:40px;height:4px;border-radius:2px;background:var(--muted-foreground);opacity:.35;margin:10px auto 0;flex-shrink:0}.bs-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.bs-title{font-size:1.05rem;font-weight:700;color:var(--foreground)}.bs-close{background:none;border:none;color:var(--muted-foreground);font-size:1rem;cursor:pointer;padding:4px 8px;border-radius:6px;font-family:inherit}.bs-close:hover{background:var(--muted);color:var(--foreground)}.bs-footer{flex-shrink:0;padding:12px 20px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--card)}.bs-actions{display:flex;gap:10px}.bs-actions .btn{flex:1;justify-content:center;padding:12px;font-size:.9rem}.date-selects{display:flex;align-items:center;gap:6px}.date-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--muted);border:1px solid var(--border);border-radius:10px;color:var(--foreground);font-size:.92rem;font-weight:500;padding:8px 10px;cursor:pointer;outline:none;transition:border-color .15s,background .15s;text-align:center;min-width:52px}.date-select-year{min-width:74px}.date-select:focus{border-color:var(--purple);background:var(--card)}.date-select:hover{border-color:var(--purple)}.date-select-sep{color:var(--muted-foreground);font-size:1rem;font-weight:600;-webkit-user-select:none;user-select:none}.wh-picker{position:relative;display:flex;height:114px;border-radius:12px;overflow:hidden;background:var(--muted);-webkit-user-select:none;user-select:none}.wh-col{flex:1;position:relative}.wh-scroll{height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.wh-scroll::-webkit-scrollbar{display:none}.wh-item{height:38px;display:flex;align-items:center;justify-content:center;font-size:.88rem;color:var(--muted-foreground);scroll-snap-align:center;cursor:pointer;transition:color .15s,font-size .15s,font-weight .15s}.wh-item--sel{color:var(--foreground);font-size:1rem;font-weight:700}.wh-spacer{scroll-snap-align:none;pointer-events:none}.wh-sel-bar{position:absolute;left:0;right:0;border-top:1.5px solid var(--border);border-bottom:1.5px solid var(--border);pointer-events:none;z-index:2}.wh-fade{position:absolute;left:0;right:0;height:52px;pointer-events:none;z-index:3}.wh-fade-top{top:0;background:linear-gradient(to bottom,var(--muted) 20%,transparent)}.wh-fade-bot{bottom:0;background:linear-gradient(to top,var(--muted) 20%,transparent)}.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cat-tile{display:flex;flex-direction:row;align-items:center;touch-action:manipulation;justify-content:flex-start;gap:6px;padding:6px 8px;border-radius:10px;border:1.5px solid var(--border);background:transparent;cursor:pointer;font-family:inherit;-webkit-user-select:none;user-select:none;transition:border-color .12s,background .12s,transform .1s;min-height:unset}.cat-tile:hover:not(.cat-tile--active){border-color:var(--muted-foreground);background:var(--muted)}.cat-tile:active{transform:scale(.95)}@media (max-width: 360px){.cat-grid{grid-template-columns:repeat(3,1fr)}}.cat-tile--active{border-color:transparent}.cat-tile-emoji{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px}.cat-tile-label{font-size:.65rem;font-weight:600;color:var(--muted-foreground);text-align:left;line-height:1.2;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.amt-wrap{position:relative;display:flex;align-items:stretch}.amt-wrap input{flex:1;padding-right:26px}.amt-suffix{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted-foreground);font-size:.82rem;font-weight:600;pointer-events:none;line-height:1;-webkit-user-select:none;user-select:none}input[type=date]{color-scheme:light}input[type=date]::-webkit-calendar-picker-indicator{filter:opacity(.55);cursor:pointer;padding:2px}input[type=date]::-webkit-calendar-picker-indicator:hover{filter:opacity(.85)}.burn-wrap{padding:12px 16px 10px;border-bottom:1px solid var(--border);background:var(--background)}.burn-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.burn-title{font-size:.72rem;font-weight:700;color:var(--foreground)}.burn-meta{font-size:.67rem;color:var(--muted-foreground);font-weight:500}.burn-svg{width:100%;height:52px;display:block;overflow:visible}.burn-axis{display:flex;justify-content:space-between;font-size:.58rem;color:var(--muted-foreground);margin-top:2px;padding:0 1px}.burn-midlbl{color:transparent}.view-month-report-cta{display:none}@media (max-width: 768px){.view-month-report-cta{display:flex;align-items:center;gap:10px;width:100%;margin-top:10px;padding:11px 14px;background:linear-gradient(135deg,rgba(var(--accent-rgb, 59,130,246),.08),rgba(var(--accent-rgb, 59,130,246),.04));border:1px solid rgba(var(--accent-rgb, 59,130,246),.22);border-radius:10px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s;text-align:left}.view-month-report-cta:active{background:rgba(var(--accent-rgb, 59,130,246),.14);border-color:rgba(var(--accent-rgb, 59,130,246),.38)}.vmr-icon{color:var(--accent);flex-shrink:0;display:flex;align-items:center}.vmr-text{flex:1;display:flex;flex-direction:column;gap:1px}.vmr-title{font-size:.82rem;font-weight:700;color:var(--foreground);line-height:1.2}.vmr-sub{font-size:.7rem;color:var(--muted-foreground);font-weight:400}.vmr-arrow{font-size:.9rem;color:var(--accent);font-weight:700;flex-shrink:0}}.smart-insight{display:flex;align-items:stretch;gap:12px;padding:14px 16px}.si-accent-bar{width:3px;border-radius:2px;flex-shrink:0;min-height:100%}.si-content{display:flex;flex-direction:column;gap:4px}.si-primary{font-size:.95rem;font-weight:600;color:var(--text);line-height:1.3}.si-secondary{font-size:.78rem;color:var(--text-secondary);line-height:1.4}.day-groups{display:flex;flex-direction:column}.day-group{border-bottom:1px solid var(--border)}.day-group:last-child{border-bottom:none}.day-group-hdr{width:100%;display:flex;align-items:center;justify-content:space-between;padding:9px 16px;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left;transition:background .12s;gap:12px}.day-group-hdr:hover{background:#00000008}.day-group--today .day-group-hdr{background:#f973160d}.day-group--today .day-group-hdr:hover{background:#f9731617}.day-group-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.day-today-badge{font-size:.62rem;font-weight:700;color:var(--orange);background:#f9731621;padding:1px 7px;border-radius:99px;flex-shrink:0}.day-group-label{font-size:.82rem;font-weight:600;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-group--today .day-group-label{color:var(--orange)}.day-group-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.day-group-count{font-size:.62rem;color:var(--muted-foreground);font-weight:700;background:var(--muted);border-radius:99px;padding:1px 7px;min-width:20px;text-align:center}.day-group-amt{font-size:.82rem;font-weight:700;color:var(--foreground);white-space:nowrap}.day-group--today .day-group-amt{color:var(--orange)}.day-group-chev{font-size:.6rem;color:var(--muted-foreground)}.day-group-body{padding-bottom:4px}.dbr{display:flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;border-top:1px solid var(--border);border-left:3px solid var(--dbr-rail-color, transparent);transition:background .1s}.dbr-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;background:var(--card, rgba(255,255,255,.05));border-radius:9px}.dbr-info{flex:1;min-width:0}.dbr-name{font-size:.82rem;font-weight:600;color:var(--foreground);display:flex;align-items:center;gap:5px;overflow:hidden}.dbr-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dbr-cat{font-size:.67rem;font-weight:500;margin-top:1px}.dbr-meta{flex-shrink:0}.dbr-amt{font-size:.85rem;font-weight:700;color:var(--foreground);white-space:nowrap;flex-shrink:0}.dbr-amt--income{color:var(--green)}.day-group-income{font-size:.75rem;font-weight:600;color:var(--green);white-space:nowrap}.dbr-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.dbr-actions .pay-toggle{font-size:.65rem;padding:2px 8px}.dbr-actions .btn,.dbr-actions .btn-danger{padding:3px 7px;font-size:.68rem}.dbr-actions--desktop{display:none}.dbr{transition:background .12s}.dbr:hover{background:#00000006}@keyframes menu-pop{0%{opacity:0;transform:scale(.94) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes menu-pop-up{0%{opacity:0;transform:scale(.94) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.dbr-menu[style*=bottom]{animation-name:menu-pop-up}.dbr-more{position:relative;flex-shrink:0;opacity:0;transform:translate(4px);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.dbr:hover .dbr-more{opacity:1;transform:translate(0);pointer-events:auto}.dbr-more:has(.dbr-menu){opacity:1;transform:translate(0);pointer-events:auto}.dbr-more-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;color:var(--muted-foreground);font-size:1.1rem;font-weight:700;cursor:pointer;border-radius:7px;font-family:inherit;line-height:1;transition:background .1s,color .1s}.dbr-more-btn:hover{background:#ffffff12;color:var(--foreground)}.dbr-more-btn:active{background:var(--muted)}.dbr-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 16px #0000001f,0 1px 4px #0000000f;min-width:148px;z-index:500;overflow:hidden;animation:menu-pop .12s ease}.dbr-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:none;border:none;color:var(--foreground);font-size:.82rem;font-family:inherit;cursor:pointer;text-align:left;border-bottom:1px solid var(--border);transition:background .1s}.dbr-menu-item:last-child{border-bottom:none}.dbr-menu-item:hover{background:#0000000a}.dbr-menu-item:active{background:var(--muted)}.dbr-menu-item--danger{color:#ef4444}@media (max-width: 600px){.dbr{padding:6px 12px 6px 14px;gap:8px;align-items:center;flex-wrap:wrap}.dbr-icon{width:28px;height:28px;border-radius:7px}.dbr-info{flex:1;min-width:0}.dbr-name{font-size:.78rem}.dbr-cat{font-size:.63rem}.dbr-meta{display:none}.dbr-amt{font-size:.82rem;font-weight:700;flex-shrink:0}.day-group-hdr{padding:7px 12px}.day-group-body{padding-bottom:2px}.dbr-more{opacity:1;transform:none;pointer-events:auto}.dbr-more-btn{width:32px;height:32px;font-size:1.2rem}}.sd-header{display:flex;align-items:center;gap:14px;padding:14px 0 18px;flex-wrap:wrap}.sd-back-btn{padding:5px 14px;border-radius:99px;border:1px solid var(--border);background:var(--muted);color:var(--foreground);cursor:pointer;font-size:.8rem;font-family:inherit;font-weight:500;transition:all .15s;white-space:nowrap}.sd-back-btn:hover{border-color:var(--orange);color:var(--orange)}.sd-header-title{font-size:1.05rem;font-weight:700;color:var(--foreground);display:flex;align-items:center;gap:8px;flex:1}.sd-header-month{font-size:.85rem;font-weight:500;color:var(--muted-foreground);background:var(--muted);padding:2px 10px;border-radius:99px}.sd-header-total{font-size:.85rem;color:var(--muted-foreground);white-space:nowrap;display:flex;align-items:center;gap:6px}.sd-header-total strong{color:var(--red)}.sd-grid{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}@media (max-width: 860px){.sd-grid{grid-template-columns:1fr}}@media (max-width: 600px){.sd-wrap{margin-left:-24px;margin-right:-24px;padding:0 16px 24px}.sd-header{padding:10px 0 14px;gap:8px;row-gap:10px}.sd-header-title{font-size:.95rem;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-header-total{margin-left:auto;font-size:.8rem}.sd-cat-name{width:72px}.sd-tx-list{max-height:none}.sd-tx-date{display:none}.sd-tx-amt{font-size:.72rem}.sd-tx-name{font-size:.75rem}}.sd-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.sd-col-right{display:flex;flex-direction:column;gap:16px}.sd-card-title{font-size:.78rem;font-weight:700;color:var(--foreground);text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;display:flex;align-items:center;gap:4px}.sd-clear-btn{margin-left:auto;font-size:.7rem;font-weight:500;padding:2px 8px;border-radius:99px;border:1px solid var(--border);background:transparent;color:var(--muted-foreground);cursor:pointer;font-family:inherit;transition:all .15s}.sd-clear-btn:hover{border-color:var(--red);color:var(--red)}.sd-cat-row{display:flex;align-items:center;gap:7px;padding:5px 8px;border-radius:6px;cursor:pointer;transition:background .12s;margin:0 -8px}.sd-cat-row:hover{background:var(--muted)}.sd-cat-row--active{background:var(--muted);box-shadow:inset 2px 0 0 var(--orange)}.sd-cat-icon{display:flex;align-items:center;justify-content:center;width:18px;flex-shrink:0}.sd-cat-name{font-size:.76rem;width:82px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-cat-bar-wrap{flex:1;height:5px;background:var(--muted);border-radius:99px;overflow:hidden}.sd-cat-bar{height:100%;border-radius:99px;transition:width .4s ease;opacity:.85}.sd-cat-pct{font-size:.68rem;font-weight:700;width:30px;text-align:right;flex-shrink:0}.sd-cat-amt{font-size:.7rem;font-weight:600;color:var(--foreground);white-space:nowrap;min-width:78px;text-align:right;flex-shrink:0}.sd-empty{font-size:.78rem;color:var(--muted-foreground);padding:12px 0;text-align:center}.sd-trend{display:flex;gap:4px;align-items:flex-end;height:90px;padding-bottom:20px;position:relative}.sd-trend-col{display:flex;flex-direction:column;align-items:center;flex:1;gap:2px;height:100%}.sd-trend-val{font-size:.58rem;color:var(--muted-foreground);height:16px;display:flex;align-items:flex-end;white-space:nowrap}.sd-trend-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end}.sd-trend-bar{width:100%;border-radius:3px 3px 0 0;transition:height .4s cubic-bezier(.4,0,.2,1);min-height:0}.sd-trend-label{font-size:.62rem;color:var(--muted-foreground);margin-top:4px;white-space:nowrap}.sd-trend-label--cur{color:var(--orange);font-weight:700}.sd-tx-list{display:flex;flex-direction:column;gap:1px;max-height:320px;overflow-y:auto}.sd-tx-row{display:flex;align-items:center;gap:8px;padding:7px 6px;border-radius:6px;transition:background .1s}.sd-tx-row:hover{background:var(--muted)}.sd-tx-icon{display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0}.sd-tx-info{flex:1;min-width:0}.sd-tx-name{font-size:.78rem;font-weight:500;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-tx-cat{font-size:.68rem;font-weight:500;margin-top:1px}.sd-tx-date{font-size:.68rem;color:var(--muted-foreground);white-space:nowrap;flex-shrink:0}.sd-tx-amt{font-size:.78rem;font-weight:700;color:var(--foreground);white-space:nowrap;flex-shrink:0;text-align:right}.sd-tx-badge{font-size:.65rem;font-weight:700;padding:1px 5px;border-radius:99px;flex-shrink:0}.sd-tx-paid{background:#22c55e1f;color:var(--green)}.sd-tx-unpaid{background:#ef44441a;color:var(--red)}.sd-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}@media (max-width: 600px){.sd-summary-strip{grid-template-columns:repeat(2,1fr)}}.sd-stat-card{padding:11px 13px;border-radius:var(--radius);border:1.5px solid var(--border);background:var(--card)}.sd-stat-label{display:flex;align-items:center;gap:5px;font-size:.68rem;font-weight:500;color:var(--muted-foreground);margin-bottom:3px;text-transform:uppercase;letter-spacing:.03em}.sd-header-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.sd-eye-btn{background:var(--muted);border:1.5px solid var(--border);border-radius:20px;padding:4px 9px;cursor:pointer;font-size:.85rem;line-height:1;display:flex;align-items:center;color:var(--foreground);transition:border-color .15s,opacity .15s;white-space:nowrap}.sd-eye-btn:hover{border-color:var(--orange);opacity:.9}.sd-stat-value{font-size:.95rem;font-weight:700}.sd-stat-sub{font-size:.68rem;color:var(--muted-foreground);margin-top:2px}.sd-stat-income .sd-stat-value{color:var(--green)}.sd-stat-spend .sd-stat-value{color:var(--red)}.sd-stat-unpaid .sd-stat-value{color:#f59e0b}.sd-stat-unpaid{border-color:#f59e0b4d}.sd-pills-row{display:flex;gap:8px;overflow-x:auto;margin-bottom:14px;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}.sd-pills-row::-webkit-scrollbar{display:none}.sd-pill{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius);border:1.5px solid var(--border);background:var(--card);min-width:130px}.sd-pill-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.sd-pill-label{font-size:.65rem;color:var(--muted-foreground);font-weight:500}.sd-pill-value{font-size:.82rem;font-weight:700;color:var(--foreground);margin-top:1px}.sd-section-split{display:flex;gap:16px;margin-bottom:14px;align-items:flex-start}@media (max-width: 700px){.sd-section-split{flex-direction:column}}.sd-section-split .sd-card{flex:1;min-width:0;margin-bottom:0}.sd-section-full{width:100%;margin-bottom:14px}.sd-cat-info{display:flex;flex-direction:column;flex:0 0 auto;min-width:70px}.sd-cat-meta{display:flex;gap:5px;font-size:.68rem;margin-top:1px;color:var(--muted-foreground)}.sd-mom-up{color:var(--red);font-weight:600}.sd-mom-down{color:var(--green);font-weight:600}.sd-mom-banner{margin-top:8px;font-size:.78rem;font-weight:600;text-align:center;padding:4px 0}.sd-mom-banner.sd-mom-up{color:var(--red)}.sd-mom-banner.sd-mom-down{color:var(--green)}.sd-week-row{display:flex;gap:12px;align-items:flex-end;height:100px;padding-bottom:4px}.sd-week-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}.sd-week-val{font-size:.7rem;font-weight:600;color:var(--muted-foreground)}.sd-week-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end}.sd-week-bar{width:100%;background:var(--purple);border-radius:4px 4px 0 0;opacity:.6;min-height:4px;transition:height .3s}.sd-week-col--high .sd-week-bar{background:var(--orange);opacity:1}.sd-week-col--high .sd-week-val{color:var(--orange)}.sd-week-label{font-size:.65rem;color:var(--muted-foreground);white-space:nowrap}.sd-tx-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:1px}.sd-tx-member-tag{font-size:.62rem;font-weight:600;padding:1px 5px;border-radius:99px;background:#16a34a1a;color:#15803d;border:1px solid rgba(22,163,74,.2)}.sd-unpaid-toggle{margin-left:auto;font-size:.72rem;font-weight:600;padding:3px 9px;border-radius:99px;border:1.5px solid #f59e0b;color:#f59e0b;background:transparent;cursor:pointer;transition:all .15s}.sd-unpaid-toggle.active{background:#f59e0b;color:#fff}.sd-unpaid-toggle:hover:not(.active){background:#f59e0b1a}.sd-breakdown-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--border);font-size:.82rem}.sd-breakdown-row:last-child{border-bottom:none}.sd-breakdown-name{min-width:52px;font-weight:600;color:var(--foreground)}.sd-breakdown-bar-wrap{flex:1;height:6px;background:var(--muted);border-radius:99px;overflow:hidden}.sd-breakdown-bar{height:100%;background:var(--orange);border-radius:99px;transition:width .4s}.sd-breakdown-pct{min-width:34px;text-align:right;color:var(--muted-foreground);font-size:.75rem}.sd-breakdown-amt{min-width:80px;text-align:right;font-weight:600;color:var(--foreground);white-space:nowrap}.sd-advice{border-left:3px solid var(--border)}.sd-advice--critical{background:#dc26260f;border-color:#fca5a5}.sd-advice--warning{background:#f59e0b14;border-color:#fcd34d}.sd-advice--healthy{background:#16a34a12;border-color:#86efac}.sd-advice-row{display:flex;align-items:flex-start;gap:8px;padding:5px 0;border-bottom:1px solid var(--border);font-size:.82rem}.sd-advice-row:last-child{border-bottom:none}.sd-advice-icon{flex-shrink:0;display:flex;align-items:center}.sd-advice-text{color:var(--foreground);line-height:1.45}.sd-advice-more-btn{display:block;width:100%;margin-top:8px;padding:5px 0;border-radius:var(--radius);border:1px dashed var(--border);background:transparent;color:var(--muted-foreground);font-size:.72rem;font-weight:600;text-align:center;cursor:pointer;transition:border-color .15s,color .15s}.sd-advice-more-btn:hover{border-color:var(--foreground);color:var(--foreground)}.crypto-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.crypto-2col{grid-template-columns:1fr}}.met-badge{display:inline-flex;align-items:center;justify-content:center;padding:1px 5px;border-radius:4px;font-size:.58rem;font-weight:700;background:#9333ea26;color:#a855f7;border:1px solid rgba(147,51,234,.25);flex-shrink:0}.bills-toast{position:fixed;bottom:calc(92px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:10001;background:#18181b;color:#fff;border-radius:24px;padding:10px 20px;font-size:.82rem;font-weight:600;white-space:nowrap;box-shadow:0 4px 20px #0003;pointer-events:none;animation:toast-in .22s cubic-bezier(.34,1.56,.64,1),toast-out .2s ease 2.6s forwards}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1}to{opacity:0}}.bills-summary-bar{display:flex;flex-wrap:wrap;gap:8px 16px;padding:10px 0 8px;font-size:.78rem;color:var(--muted-foreground);border-bottom:1px solid var(--border);margin-bottom:12px}.bills-summary-bar strong{color:var(--foreground)}.bsbar-outcome{color:var(--foreground);font-weight:600}.bsbar-outcome strong{color:var(--orange)}.bsbar-overdue{color:var(--red);font-weight:600}.bsbar-overdue strong{color:var(--red)}.bsbar-lbl{display:none}@media (min-width: 480px){.bsbar-lbl{display:inline}}.bill-section{margin-bottom:8px;border-radius:10px;overflow:clip;border:1px solid var(--border)}.bill-section--overdue{border-color:#fca5a5}.bill-section--expense,.bill-section--paid{border-color:var(--border)}.bill-section--upcoming{border-color:#93c5fd}.bill-section-hdr{width:100%;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--card);border:none;cursor:pointer;text-align:left}.bill-section--overdue .bill-section-hdr{background:#450a0a22}.bill-section--upcoming .bill-section-hdr{background:#1e3a5f22}.bill-section--paid .bill-section-hdr{background:#14532d18}.bill-section-title{font-size:.8rem;font-weight:600;color:var(--foreground)}.bill-section--overdue .bill-section-title{color:var(--red)}.bill-section--upcoming .bill-section-title{color:#60a5fa}.bill-section--paid .bill-section-title{color:var(--green)}.bill-section-meta{display:flex;align-items:center;gap:8px}.bill-section-count{font-size:.72rem;background:var(--muted);color:var(--muted-foreground);border-radius:99px;padding:1px 7px}.bill-section-total{font-size:.78rem;font-weight:600;color:var(--foreground)}.bill-section-chev{font-size:.6rem;color:var(--muted-foreground)}.bill-section-body{border-top:1px solid var(--border)}.btn-settle{padding:3px 10px;font-size:.7rem;font-weight:600;background:#450a0a;color:#fca5a5;border:1px solid #fca5a5;border-radius:6px;cursor:pointer;white-space:nowrap}.btn-settle:hover{background:var(--red);color:#fff;border-color:var(--red)}.dbr-due-lbl{color:var(--muted-foreground);font-size:.72rem}.rec-del-body{padding-bottom:8px}.rec-del-name{font-size:.9rem;font-weight:600;margin-bottom:14px;color:var(--foreground)}.rec-del-opt{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;margin-bottom:6px;border:1.5px solid var(--border);cursor:pointer;background:var(--card)}.rec-del-opt.active{border-color:var(--orange);background:#78350f18}.rec-del-opt.danger{border-color:#fca5a5}.rec-del-opt.danger.active{border-color:var(--red);background:#450a0a22}.rec-del-opt input[type=radio]{margin-top:2px;accent-color:var(--orange);flex-shrink:0}.rec-del-opt-label{font-size:.82rem;font-weight:500;color:var(--foreground)}.rec-del-opt.danger .rec-del-opt-label{color:var(--red)}.rec-del-opt-sub{font-size:.73rem;color:var(--muted-foreground);margin-top:1px}.rec-del-warning{padding:10px 12px;background:#450a0a44;border-radius:8px;color:#fca5a5;font-size:.8rem;margin-top:8px;border:1px solid #fca5a5}.bills-io-btn{padding:4px 9px;font-size:.72rem;border-radius:var(--radius);white-space:nowrap}.bills-export-panel{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--border);font-size:.8rem}.bills-export-label{color:var(--muted-foreground);white-space:nowrap}.bills-export-select{background:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius);padding:4px 8px;font-size:.8rem;cursor:pointer}.bills-import-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:10px 16px;background:#f9731614;border-bottom:1px solid rgba(249,115,22,.25);font-size:.8rem;color:var(--foreground)}.bills-import-confirm{display:flex;flex-direction:column;gap:10px;padding:12px 16px;background:#f9731614;border-bottom:1px solid rgba(249,115,22,.25);font-size:.82rem;color:var(--foreground)}.bills-import-warning{line-height:1.5}.bills-import-ack{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.bills-import-actions{display:flex;gap:8px}.bills-export-preview{font-size:.78rem;color:#4ade80;white-space:nowrap}.bills-export-empty{font-size:.78rem;color:#f87171;white-space:nowrap}@media (max-width: 768px){.dbr-cat{font-size:.72rem}.day-today-badge{font-size:.68rem;padding:2px 8px}.day-group-count{font-size:.68rem}.bill-section-count{font-size:.75rem}.bill-section-total{font-size:.8rem}.cat-tile-label,.bsb-title{font-size:.72rem}.bsb-cat-name{font-size:.78rem;width:84px}.bsb-cat-amt{font-size:.72rem;min-width:78px}.bsb-tl-label{font-size:.8rem}.bsb-tl-amt{font-size:.76rem}.bsb-tl-count{font-size:.72rem}.bv-cat-name{font-size:.76rem;width:96px}.bv-cat-vals,.bv-cat-amount{font-size:.72rem}.bv-bucket-label{font-size:.76rem;width:78px}.bv-bucket-amount,.sd-tx-cat{font-size:.72rem}.sd-tx-name,.sd-tx-amt{font-size:.8rem}.sd-tx-badge{font-size:.68rem}.sd-cat-name{font-size:.78rem;width:88px}.sd-stat-label{font-size:.72rem}.sd-stat-value{font-size:1rem}.sd-pill-label{font-size:.7rem}.sd-pill-value{font-size:.85rem}.sd-cat-meta{font-size:.72rem}.group-btn{font-size:.8rem}.bills-summary-bar{font-size:.82rem}}@media (max-width: 768px){.member-filter-chip{min-height:38px;padding:7px 13px;font-size:.78rem}.member-chip{min-height:40px;padding:8px 14px;font-size:.82rem}.pay-toggle{min-height:36px;padding:6px 14px;font-size:.76rem}.dbr-more-btn{padding:6px 12px;font-size:1.35rem}.bill-section-hdr{padding:12px 14px}.day-group-hdr{padding:10px 14px}}@media (max-width: 480px){.cat-grid{grid-template-columns:repeat(3,1fr);gap:7px}.cat-tile{padding:8px 6px;min-height:48px;flex-direction:column;align-items:center;justify-content:center;gap:4px}.cat-tile-emoji{width:22px;height:22px}.cat-tile-label{font-size:.68rem;text-align:center}}@media (max-width: 767px){.bs-panel{max-height:92dvh;height:auto;min-height:40dvh;border-radius:24px 24px 0 0}.bs-body{padding:16px 20px 12px}.bs-title{font-size:1.1rem}}@media (max-width: 600px){.dbr{padding:9px 14px 9px 16px;gap:10px;min-height:52px}.dbr-name{font-size:.82rem;font-weight:600}.dbr-amt{font-size:.85rem}.day-group-amt{font-size:.85rem;font-weight:700}.day-group-label{font-size:.85rem}}@media (max-width: 480px){.month-nav-label{font-size:.85rem;min-width:110px}.section-title{font-size:1rem}}@media (max-width: 400px){.home-greeting{padding:16px 18px}}@media (max-width: 480px){.bills-toast{bottom:calc(84px + env(safe-area-inset-bottom,0px));font-size:.85rem;padding:11px 22px;max-width:calc(100vw - 32px);white-space:normal;text-align:center;line-height:1.4;border-radius:16px}}@media (max-width: 480px){.bill-type-row{gap:6px}.bill-type-opt{min-height:48px;font-size:.85rem;padding:10px 8px}}@media (max-width: 480px){.sd-summary-strip{grid-template-columns:repeat(2,1fr);gap:8px}.sd-stat-card{padding:10px 12px}}@media (max-width: 480px){.form-field input,.form-field select,.form-field textarea{padding:10px 12px;min-height:44px;font-size:16px!important}.form-label{font-size:.78rem;font-weight:600}.amt-wrap input{padding:10px 32px 10px 12px;min-height:44px}}@media (max-width: 600px){.itb-main{padding:10px 10px 10px 14px;min-height:44px}.itb-eye{padding:10px 14px;min-height:44px}.itb-label,.itb-total{font-size:.82rem}}.header-menu-btn{width:34px;height:34px;border-radius:8px;border:1.5px solid var(--border);background:transparent;color:var(--muted-foreground);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:border-color .15s,color .15s,background .15s;-webkit-tap-highlight-color:transparent}.header-menu-btn:hover{border-color:var(--muted-foreground);color:var(--foreground);background:var(--muted)}.header-menu-btn:active{transform:scale(.93)}.member-chip--add{width:34px;padding:0;font-size:1.1rem;font-weight:400;color:var(--muted-foreground);border-style:dashed}.member-chip--add:hover{color:var(--foreground);border-color:var(--foreground)}.member-chip-input{padding:4px 10px;min-height:34px;border-radius:20px;border:1.5px solid var(--ring);background:var(--background);color:var(--foreground);font-size:.8rem;outline:none;width:90px}.search-bar-wrap{position:relative;margin:8px 0 4px}.search-bar-input{width:100%;box-sizing:border-box;padding:8px 36px 8px 12px;border-radius:10px;border:1.5px solid var(--border);background:var(--muted);color:var(--foreground);font-size:.83rem;outline:none;transition:border-color .15s}.search-bar-input:focus{border-color:var(--ring);background:var(--background)}.search-bar-input::placeholder{color:var(--muted-foreground)}.search-bar-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted-foreground);cursor:pointer;font-size:.8rem;padding:4px;line-height:1}.search-bar-clear:hover{color:var(--foreground)}.sp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000047;display:flex;align-items:stretch}.sp-overlay--desktop{background:#0000002e}.sp-panel{width:82%;max-width:320px;background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;box-shadow:4px 0 20px #0000001a;animation:sp-slide-in .22s ease}.sp-panel--desktop{width:300px;max-width:300px}@keyframes sp-slide-in{0%{transform:translate(-100%);opacity:.7}to{transform:translate(0);opacity:1}}.sp-inner{display:flex;flex-direction:column;height:100%;padding:0}.sp-header{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.sp-title{font-size:.95rem;font-weight:700;color:var(--foreground)}.sp-close-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted-foreground);cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center}.sp-close-btn:hover{background:var(--muted);color:var(--foreground)}.sp-nav{flex:1;overflow-y:auto;padding:8px 0}.sp-nav-item{width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;background:transparent;border:none;color:var(--muted-foreground);font-size:.875rem;font-weight:500;cursor:pointer;text-align:left;transition:background .12s,color .12s}.sp-nav-item:hover{background:var(--muted);color:var(--foreground)}.sp-nav-item.active{color:var(--foreground);font-weight:600}.sp-nav-chev{margin-left:auto;font-size:.65rem;color:var(--muted-foreground)}.sp-section{padding:0 12px 8px;border-bottom:1px solid var(--border)}.sp-footer{padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0}.sp-logout-btn{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;border:1.5px solid transparent;background:transparent;color:var(--red, #ef4444);font-size:.85rem;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s}.sp-logout-btn:hover{background:#ef444414;border-color:var(--red, #ef4444)}.settings-manager{padding:8px 0}.settings-manager-title{font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground);padding:8px 4px 4px}.settings-manager-title--custom{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.settings-item-list{display:flex;flex-direction:column;gap:2px}.settings-item-list--compact .settings-item-row{padding:6px 4px}.settings-item-row{display:flex;align-items:center;gap:8px;padding:8px 4px;border-radius:6px;transition:background .1s}.settings-item-row:hover{background:var(--muted)}.settings-item-icon{color:var(--muted-foreground);flex-shrink:0}.settings-item-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.settings-item-cat-icon{flex-shrink:0}.settings-item-name{flex:1;font-size:.85rem;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-item-badge{font-size:.65rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted-foreground);background:var(--muted);padding:2px 6px;border-radius:4px}.settings-item-actions{display:flex;gap:4px;flex-shrink:0;margin-left:auto}.settings-icon-btn{width:26px;height:26px;border-radius:5px;border:1px solid transparent;background:transparent;color:var(--muted-foreground);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.settings-icon-btn:hover{background:var(--muted);color:var(--foreground)}.settings-icon-btn--danger:hover{background:#ef44441a;color:var(--red, #ef4444)}.settings-item-input{flex:1;padding:4px 8px;border-radius:6px;border:1.5px solid var(--ring);background:var(--background);color:var(--foreground);font-size:.85rem;outline:none;min-width:0}.new-cat-form{margin-top:8px;padding:10px;border:1.5px solid var(--border);border-radius:10px;background:var(--muted)}.new-cat-form-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.new-cat-icon-btn{width:38px;height:38px;border-radius:8px;border:1.5px solid var(--border);background:var(--background);color:var(--foreground);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .12s}.new-cat-icon-btn:hover{border-color:var(--ring)}.new-cat-name-input{flex:1;padding:8px 10px;border-radius:8px;border:1.5px solid var(--border);background:var(--background);color:var(--foreground);font-size:.85rem;outline:none;min-width:0}.new-cat-name-input:focus{border-color:var(--ring)}.new-cat-form-actions{display:flex;gap:6px}.btn-sm{height:30px;padding:0 12px;font-size:.78rem}.add-custom-cat-btn{display:flex;align-items:center;gap:6px;width:100%;padding:9px 4px;margin-top:8px;background:transparent;border:1.5px dashed var(--border);border-radius:8px;color:var(--muted-foreground);font-size:.82rem;cursor:pointer;transition:border-color .12s,color .12s}.add-custom-cat-btn:hover{border-color:var(--ring);color:var(--foreground)}.icon-picker-popover{position:absolute;bottom:calc(100% + 6px);left:0;z-index:300;background:var(--card);border:1.5px solid var(--border);border-radius:12px;padding:8px;box-shadow:0 8px 32px #0003;width:230px}.icon-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;max-height:220px;overflow-y:auto}.icon-picker-item{width:38px;height:38px;border-radius:7px;border:1.5px solid transparent;background:transparent;color:var(--muted-foreground);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,border-color .1s,color .1s}.icon-picker-item:hover{background:var(--muted);color:var(--foreground)}.icon-picker-item.active{background:var(--ring);border-color:var(--ring);color:#fff}.reassign-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#0000004d;display:flex;align-items:flex-end;justify-content:center;padding:0}.reassign-panel{width:100%;max-width:480px;background:var(--card);border-radius:16px 16px 0 0;border-top:1px solid var(--border);padding:20px 16px;box-shadow:0 -4px 32px #00000026;animation:sp-slide-in-bottom .2s ease}@keyframes sp-slide-in-bottom{0%{transform:translateY(60px);opacity:.5}to{transform:translateY(0);opacity:1}}.reassign-header{margin-bottom:14px}.reassign-title{font-size:.95rem;font-weight:700;color:var(--foreground);margin-bottom:4px}.reassign-subtitle{font-size:.82rem;color:var(--muted-foreground)}.reassign-options{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.reassign-option{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px;border:1.5px solid var(--border);background:transparent;color:var(--foreground);font-size:.85rem;cursor:pointer;transition:border-color .12s,background .12s}.reassign-option:hover{border-color:var(--ring);background:var(--muted)}.reassign-option.active{border-color:var(--ring);background:rgba(var(--ring-rgb, 251 146 60) / .08)}.reassign-footer{display:flex;gap:8px}.reassign-footer .btn{flex:1;min-height:42px}@media (max-width: 768px){.icon-picker-popover{width:200px}}:root{--m-surface: #F7F7F5;--m-card: #ffffff;--m-ink: #18181b;--m-ink-secondary: #52525b;--m-muted: #a1a1aa;--m-divider: #f0f0ef;--m-border: #e4e4e7;--m-subtle: #f4f4f5;--m-dash: #ebebeb;--m-green: #16a34a;--m-green-dark: #15803d;--m-green-bg: #f0fdf4;--m-green-border: #86efac;--m-red: #dc2626;--m-red-bg: #fef2f2;--m-red-border: #fca5a5;--m-orange: #c2410c;--m-blue: #007aff;--m-dur-micro: .15s;--m-dur-fast: .2s;--m-dur-normal: .3s;--m-dur-swipe: .28s;--m-ease-ios: cubic-bezier(.32, .72, 0, 1);--m-ease-out: cubic-bezier(0, 0, .2, 1);--m-ease-in: cubic-bezier(.4, 0, .8, 1);--m-ease-spring:cubic-bezier(.34, 1.56, .64, 1);--m-dur-sheet-enter: .38s;--m-dur-sheet-exit: .26s;--m-z-input: 2;--m-z-section: 5;--m-z-sticky: 15;--m-z-overlay: 20;--m-z-header: 30;--m-z-dropdown: 50;--m-radius-sm: 8px;--m-radius-md: 12px;--m-radius-item: 14px;--m-radius-input: 18px;--m-radius-sheet: 28px;--m-radius-pill: 20px}.m-shell{position:fixed;left:0;right:0;background:#f7f7f5;display:flex;flex-direction:column;font-family:-apple-system,SF Pro Display,Helvetica Neue,Segoe UI,sans-serif;font-size:14px;color:#18181b;overflow:hidden;-webkit-font-smoothing:antialiased}.m-header{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;background:#f7f7f5;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0;z-index:30}.m-header-logo{font-size:22px;font-weight:700;font-family:Caveat,cursive;color:#18181b;letter-spacing:0}.m-header-logo span{color:#16a34a}.m-header-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;border:none;background:transparent;color:#52525b;cursor:pointer;transition:background .15s;font-size:18px;padding:0}.m-header-btn:active{background:#0000000f}.m-header-login{font-size:13px;font-weight:600;color:#16a34a;cursor:pointer;padding:6px 12px;border-radius:20px;background:#16a34a14;border:none;transition:background .15s}.m-header-login:active{background:#16a34a29}.m-header-auth{display:flex;align-items:center;gap:6px}.m-header-signup{font-size:13px;font-weight:600;color:#fff;cursor:pointer;padding:6px 12px;border-radius:20px;background:#16a34a;border:none;transition:background .15s}.m-header-signup:active{background:#15803d}.m-user-menu-wrap{position:relative}.m-user-menu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border-radius:14px;box-shadow:0 8px 32px #00000024,0 0 0 1px #0000000d;min-width:200px;z-index:50;overflow:hidden;animation:menuIn .15s cubic-bezier(.32,.72,0,1);transform-origin:top right;padding:6px 0}.m-user-email{font-size:12px;color:#a1a1aa;padding:8px 16px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.m-scroll-area{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:none;overscroll-behavior-y:none;display:flex;flex-direction:column;background-color:#f7f7f5;background-image:linear-gradient(rgba(0,0,0,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.02) 1px,transparent 1px);background-size:28px 28px;background-position:0 0}.m-scroll-area::-webkit-scrollbar{display:none}.m-scroll-area.m-scroll-locked{overflow:hidden;touch-action:none}.m-scroll-spacer{flex:1;min-height:12px}.m-input-bar{flex-shrink:0;padding:8px 14px;padding-bottom:max(28px,env(safe-area-inset-bottom,28px));background:#f7f7f5}.m-suggestions{display:flex;gap:0;padding:4px 14px 0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;flex-shrink:0;align-items:center;-webkit-mask-image:linear-gradient(to right,black 75%,transparent 100%);mask-image:linear-gradient(to right,black 75%,transparent 100%);background:#f7f7f5}.m-suggestions::-webkit-scrollbar{display:none}.m-input-zone{padding:14px 14px 10px;background:transparent;position:relative;z-index:2;flex-shrink:0}.m-input-card{background:#fff;border-radius:18px;box-shadow:0 2px 12px #00000014,0 0 0 1px #0000000a;display:flex;align-items:center;gap:10px;padding:12px 14px;transition:box-shadow .2s}.m-input-card.focused{box-shadow:0 4px 20px #16a34a26,0 0 0 2px #16a34a4d}.m-input-card.locked{opacity:.6;pointer-events:none}.m-input-icon{font-size:18px;flex-shrink:0;color:#a1a1aa}.m-input-field{flex:1;border:none;background:transparent;font-size:17px;color:#18181b;letter-spacing:-.2px;outline:none;padding:0;font-family:inherit;line-height:1.4}.m-input-field::placeholder{color:#a1a1aa;font-size:16px}.m-send-btn{width:34px;height:34px;background:#16a34a;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;border:none;font-size:16px;color:#fff;transition:transform .15s,opacity .15s,background .15s;font-weight:700}.m-send-btn:active{transform:scale(.9)}.m-send-btn:disabled{opacity:0;pointer-events:none}.m-input-card.focused .m-send-btn:disabled{opacity:.35}.m-send-btn.loading{background:#d4d4d8;pointer-events:none}.m-suggestion{background:transparent;border:none;padding:4px 10px 4px 0;font-size:13px;color:#b4b4b4;cursor:pointer;white-space:nowrap;font-family:inherit;font-weight:400;flex-shrink:0;transition:color .15s;border-right:1px solid #e0e0de;margin-right:10px;line-height:1}.m-suggestion-prefix{font-size:12px;color:#c8c8c8;font-weight:500;white-space:nowrap;flex-shrink:0;margin-right:4px;font-family:inherit}.m-suggestion:last-child{border-right:none;margin-right:0}.m-suggestion:active{color:#52525b}.m-suggestions-divider{height:1px;background:#00000012;margin:0 14px 4px}.m-month-strip{background:#fafafa;border-bottom:1px solid #e4e4e7;padding:0 16px}.m-month-row{display:flex;align-items:center;gap:8px;height:40px;position:relative}.m-month-row .m-month-label-btn{display:flex;align-items:center;gap:4px;background:transparent;border:none;cursor:pointer;padding:4px 6px;margin-left:-6px;border-radius:6px;-webkit-tap-highlight-color:transparent;transition:background .15s;font-size:12px;font-weight:700;color:#3f3f46;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}.m-month-row .m-month-label-btn:active{background:#ebebeb}.m-month-picker-chevron{color:#a1a1aa;transition:transform .2s ease;flex-shrink:0}.m-month-picker-chevron.open{transform:rotate(-180deg)}.m-inline-divider{width:1px;height:14px;background:#e4e4e7;flex-shrink:0}.m-month-inline-stats{display:flex;align-items:baseline;gap:4px;flex:1}.m-inline-val{font-size:13px;font-weight:700;line-height:1}.m-inline-val.expense{color:#dc2626}.m-inline-val.income{color:#16a34a}.m-inline-key{font-size:10px;color:#a1a1aa;text-transform:uppercase;letter-spacing:.04em}.m-inline-sep{font-size:10px;color:#d4d4d8;margin:0 2px}.m-month-picker-dropdown{position:absolute;top:calc(100% + 6px);left:0;transform:none;background:#fff;border:1px solid #e4e4e7;border-radius:14px;box-shadow:0 8px 28px #00000021;z-index:50;padding:14px;min-width:220px;animation:mp-pop .15s ease}@keyframes mp-pop{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.mp-year-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mp-year-label{font-size:14px;font-weight:700;color:#18181b}.mp-year-btn{background:#f4f4f5;border:1px solid #e4e4e7;border-radius:6px;padding:3px 10px;font-size:16px;cursor:pointer;color:#3f3f46;transition:background .12s;-webkit-tap-highlight-color:transparent}.mp-year-btn:hover:not(:disabled){background:#e4e4e7}.mp-year-btn:disabled{opacity:.3;cursor:not-allowed}.mp-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.mp-month-cell{padding:8px 4px;border:1px solid #e4e4e7;border-radius:8px;background:#f4f4f5;font-size:12px;font-weight:500;color:#3f3f46;cursor:pointer;text-align:center;transition:background .12s,border-color .12s;-webkit-tap-highlight-color:transparent}.mp-month-cell:hover:not(:disabled){background:#e4e4e7}.mp-month-cell--selected{background:#c2410c!important;color:#fff!important;border-color:#c2410c!important;font-weight:700}.mp-month-cell--today{border-color:#c2410c;color:#c2410c;font-weight:600}.mp-month-cell--disabled{opacity:.28;cursor:not-allowed}@keyframes emptyCTAIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bottomBarSlideUp{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}.m-bottom-bar-wrap.m-bar-inactive{visibility:hidden;pointer-events:none}.m-bottom-bar-wrap.entering{animation:bottomBarSlideUp .28s cubic-bezier(.32,.72,0,1) both}.m-empty{flex:1;display:flex;flex-direction:column;align-items:stretch;min-height:0}.m-empty-hero{display:flex;flex-direction:column;align-items:center;padding:40px 24px 20px;text-align:center}.m-empty-illustration{width:80px;height:60px;margin-bottom:12px}.m-empty-title{font-family:Caveat,cursive;font-size:24px;font-weight:700;color:#18181b;margin-bottom:4px}.m-empty-dots span{animation:dotPulse 1.4s infinite ease-in-out;opacity:0}.m-empty-dots span:nth-child(1){animation-delay:0s}.m-empty-dots span:nth-child(2){animation-delay:.2s}.m-empty-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:0}40%{opacity:1}}.m-empty-subtitle{font-size:13px;color:#a1a1aa;line-height:1.5}.m-empty-divider{height:1px;background:var(--m-divider, #f0f0ef);margin:0 20px;flex-shrink:0}.m-empty-cta{padding:20px 16px 24px;display:flex;flex-direction:column;gap:16px;animation:emptyCTAIn .22s cubic-bezier(0,0,.2,1) both;transition:opacity .18s ease,transform .18s ease}.m-empty-cta.exiting{opacity:0;transform:translateY(-8px);pointer-events:none}.m-empty-input-trigger{cursor:pointer}.m-empty-input-trigger:active{box-shadow:0 4px 20px #16a34a26,0 0 0 2px #16a34a4d}.m-empty-input-placeholder{flex:1;font-size:16px;color:#a1a1aa;letter-spacing:-.2px;line-height:1.4;-webkit-user-select:none;user-select:none}.m-empty-cta-chips{display:flex;flex-wrap:wrap;gap:6px}.m-empty-cta-chip{background:#fff;border:1.5px solid #e4e4e7;border-radius:20px;padding:5px 12px;font-size:13px;font-weight:500;color:#3f3f46;font-family:inherit;cursor:pointer;transition:all .15s}.m-empty-cta-chip:active{background:#f0fdf4;border-color:#86efac;color:#16a34a}.m-empty-cta-tips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.m-empty-tip-chip{background:#f4f4f5;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700;color:#3f3f46;font-family:SF Mono,Fira Code,monospace}.m-empty-tip-label{font-size:12px;color:#a1a1aa;margin-right:8px}.m-empty-examples{background:#fff;border:1px solid #f0f0ef;border-radius:12px;padding:12px 16px;width:100%;box-sizing:border-box;margin-top:8px}.m-empty-example-row{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;padding:6px 0;cursor:pointer;border-bottom:1px solid #f4f4f5;text-align:left}.m-empty-example-row:last-child{border-bottom:none}.m-empty-example-row:active{opacity:.6}.m-empty-ex-input{font-size:12px;font-weight:500;color:#52525b;font-style:italic;flex-shrink:0}.m-empty-ex-arrow{font-size:11px;color:#d1d5db;flex-shrink:0}.m-empty-ex-result{font-size:12px;color:#a1a1aa;flex:1}.m-section-header{display:flex;align-items:center;gap:10px;padding:8px 14px 10px;flex-shrink:0;background:#f7f7f5}.m-section-line{flex:1;height:1px;background:#00000014}.m-section-collapse{color:#a1a1aa;flex-shrink:0;transition:transform .2s ease}.m-section-collapse.collapsed{transform:rotate(-90deg)}.m-section-label{font-size:11px;font-weight:700;color:#a1a1aa;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.m-section-label.today{color:#c2410c;background:#c2410c1a;border-radius:6px;padding:2px 8px;letter-spacing:.04em}.m-section-total{font-size:12px;font-weight:700;color:#52525b;white-space:nowrap;background:#0000000d;padding:3px 9px;border-radius:20px;flex-shrink:0}.m-section-total.income{color:var(--m-green);background:var(--m-green-bg)}.m-day-group:first-child{margin-top:24px}.m-day-group+.m-day-group{margin-top:4px}.m-log-list{padding:0 14px 8px;display:flex;flex-direction:column;gap:6px}.m-pending-item{display:flex;align-items:center;gap:8px;background:var(--m-card);border:1.5px dashed var(--m-border);border-radius:var(--m-radius-item);padding:10px 10px 10px 12px;opacity:.65;animation:fadeUp .2s ease}.m-pending-item:hover{opacity:.85}.m-pending-body{flex:1;display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}.m-pending-meta{color:var(--m-muted)}.m-pending-hint{color:var(--m-blue);font-style:italic}.m-pending-amount{font-size:14px;font-weight:700;color:var(--m-muted);white-space:nowrap;flex-shrink:0}.m-pending-confirm{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--m-green-bg);border:1px solid var(--m-green-border);color:var(--m-green);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--m-dur-micro) var(--m-ease-out)}.m-pending-confirm:active{background:var(--m-green-border)}.m-pending-dismiss{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:transparent;border:none;color:var(--m-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;order:-1}.m-pending-dismiss:active{color:var(--m-ink)}.m-swipe-wrap{position:relative;overflow:hidden;border-radius:14px}.m-swipe-actions{position:absolute;right:0;top:0;bottom:0;display:flex;gap:6px;padding:0 6px;align-items:center;width:80px;box-sizing:border-box}.m-swipe-btn{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:none;cursor:pointer;font-size:11px;font-weight:600;font-family:inherit;transition:background .15s,transform .15s;border-radius:10px}.m-swipe-btn span{line-height:1}.m-swipe-btn.delete{background:#fef2f2;color:#dc2626;border:1.5px solid #fca5a5}.m-swipe-btn.delete.confirm{background:#dc2626;color:#fff;border:1.5px solid #dc2626}.m-swipe-btn.delete:active{background:#fee2e2;transform:scale(.96)}.m-swipe-item{position:relative;z-index:1;will-change:transform;background:#f7f7f5}.m-log-item{background:#fff;border-radius:14px;padding:12px 10px 12px 14px;display:flex;align-items:center;gap:8px;box-shadow:0 1px 3px #0000000f;cursor:pointer;transition:background .15s;animation:fadeUp .2s ease;position:relative}.m-log-item:active{background:#f9f9f8}.m-cat-dot{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.m-log-info{flex:1;min-width:0}.m-log-name{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:600;color:#18181b;letter-spacing:-.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-log-recur-icon{color:#a1a1aa;flex-shrink:0}.m-log-meta{font-size:12px;color:#a1a1aa;margin-top:1px}.m-log-amount{font-size:15px;font-weight:700;letter-spacing:-.3px;flex-shrink:0}.m-log-amount.expense,.m-log-amount.bill{color:#18181b}.m-log-amount.income{color:#16a34a}.m-name-wrap{margin-bottom:10px}.m-name-input{width:100%;box-sizing:border-box;border:none;border-bottom:1.5px dashed var(--m-dash);background:transparent;font-size:15px;font-weight:500;color:#18181b;font-family:inherit;padding:4px 0 8px;outline:none;transition:border-color .15s}.m-name-input::placeholder{color:#a1a1aa;font-weight:400}.m-name-input:focus{border-bottom-color:#16a34a}.m-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:20;opacity:0;will-change:opacity;transition:opacity var(--m-dur-sheet-exit) var(--m-ease-in);pointer-events:none}.m-overlay.visible{opacity:1;pointer-events:all;transition:opacity var(--m-dur-sheet-enter) var(--m-ease-ios)}.m-confirm{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:28px 28px 0 0;padding:12px 20px 32px;z-index:30;transform:translateY(100%);will-change:transform;transition:transform var(--m-dur-sheet-exit) var(--m-ease-in);box-shadow:0 -8px 40px #00000026;padding-bottom:max(32px,env(safe-area-inset-bottom,32px))}.m-confirm.visible{transform:translateY(0);transition:transform var(--m-dur-sheet-enter) var(--m-ease-ios)}.m-card-handle{width:36px;height:4px;background:#e5e5e380;border-radius:2px;margin:0 auto 16px}.m-loading-echo{font-size:15px;color:#71717a;margin-bottom:16px;font-style:italic}.m-shimmer{background:linear-gradient(90deg,#f4f4f5 25%,#e5e5e3,#f4f4f5 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:8px;margin-bottom:8px}.m-shimmer.lg{height:32px;margin-bottom:12px}.m-shimmer.md{height:20px;width:60%}.m-shimmer.sm{height:16px;width:40%;margin-top:4px}.m-loading-label{margin-top:14px;font-size:13px;color:#a1a1aa;display:flex;align-items:center;gap:6px}.m-spinner{width:14px;height:14px;border:2px solid #e5e5e3;border-top-color:#a1a1aa;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.m-type-row{display:flex;gap:8px;margin-bottom:14px}.m-type-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;border:1.5px solid transparent;font-family:inherit}.m-type-pill svg{flex-shrink:0}.m-type-pill.expense.active{background:#fef2f2;color:#dc2626;border-color:#fca5a5}.m-type-pill.income.active{background:#f0fdf4;color:#16a34a;border-color:#86efac}.m-type-pill.inactive{background:#f4f4f5;color:#a1a1aa;border-color:#f4f4f5}.m-confirm-amount{font-size:38px;font-weight:800;color:#18181b;letter-spacing:0;margin-bottom:14px;line-height:1}.m-confirm-amount-wrap{display:flex;align-items:baseline;border-bottom:1.5px dashed var(--m-dash);margin-bottom:14px;padding-bottom:8px;transition:border-color .15s}.m-confirm-amount-wrap:focus-within{border-bottom-color:#16a34a}.m-confirm-amount-input,.m-confirm-amount-input:not(:placeholder-shown){font-size:38px!important;font-weight:800;color:#18181b;letter-spacing:0;font-variant-numeric:tabular-nums;line-height:1;min-width:0;flex:1;border:none;background:transparent;font-family:inherit;outline:none;padding:0;caret-color:#16a34a}.m-confirm-amount-input::placeholder{color:#d4d4d8}.m-confirm-amount-suffix{font-size:38px;font-weight:800;letter-spacing:0;line-height:1;color:#d4d4d8;flex-shrink:0}.m-confirm-field{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:14px;background:#f9f9f8;margin-bottom:8px;cursor:pointer;transition:background .15s;border:1.5px solid transparent}.m-confirm-field:active{background:#f0f0ef}.m-confirm-field.highlighted{background:#f0fdf4;border-color:#86efac}.m-field-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.m-field-label{flex:1}.m-field-key{font-size:11px;color:#a1a1aa;font-weight:500;margin-bottom:1px}.m-field-val{font-size:14px;font-weight:600;color:#18181b}.m-field-val.muted{color:#a1a1aa}.m-field-chevron{width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:silver;flex-shrink:0}.m-confidence-note{font-size:12px;color:#a1a1aa;padding:0 2px 10px;line-height:1.4}.m-recurring-row{cursor:pointer}.m-toggle-wrap{position:relative;flex-shrink:0}.m-toggle-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.m-toggle-track{display:block;width:44px;height:26px;border-radius:13px;background:#d4d4d8;transition:background .2s;position:relative}.m-toggle-input:checked~.m-toggle-track{background:#16a34a}.m-toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.m-toggle-input:checked~.m-toggle-track .m-toggle-thumb{transform:translate(18px)}.m-confirm-btns{display:flex;gap:10px;margin-top:14px}.m-btn-save{flex:1;background:#16a34a;color:#fff;border:none;border-radius:14px;height:50px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,transform .1s;letter-spacing:-.2px;font-family:inherit}.m-btn-save:active{background:#15803d;transform:scale(.98)}.m-btn-cancel{background:#f4f4f5;color:#52525b;border:none;border-radius:14px;height:50px;padding:0 20px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.m-btn-cancel:active{background:#e5e5e3}.m-inner-nav{overflow:hidden;position:relative}.m-inner-pages{display:flex;transition:transform .3s cubic-bezier(.32,.72,0,1);width:200%}.m-inner-pages.page2{transform:translate(-50%)}.m-inner-page{width:50%;flex-shrink:0}.m-sheet-header{height:44px;display:flex;align-items:center;border-bottom:1px solid #f0f0ef;margin-bottom:4px}.m-sheet-back{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#18181b;cursor:pointer;background:none;border:none;font-family:inherit;flex-shrink:0;transition:background .12s}.m-sheet-back:active{background:#0000000f}.m-sheet-back-chevron{display:none}.m-sheet-title{font-size:15px;font-weight:700;color:#18181b;flex:1;text-align:center;padding-right:60px}.m-sheet-body{overflow-y:auto;scrollbar-width:none;max-height:400px}.m-sheet-body::-webkit-scrollbar{display:none}.m-picker-divider{height:1px;background:#f4f4f4;margin:0 0 0 50px}.m-member-item,.m-cat-item{display:flex;align-items:center;gap:14px;padding:13px 10px;cursor:pointer;border-radius:12px;transition:background .12s}.m-member-item:active,.m-cat-item:active{background:#f4f4f5}.m-member-item.selected,.m-cat-item.selected{background:#f0fdf4}.m-member-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}.m-cat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.m-member-name,.m-cat-name{flex:1;font-size:15px;font-weight:500;color:#18181b}.m-member-check,.m-cat-check{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#16a34a}.m-member-add{display:flex;align-items:center;gap:14px;padding:13px 10px;cursor:pointer;color:#007aff;border-radius:12px;transition:background .12s}.m-member-add:active{background:#f0f8ff}.m-member-add-icon{width:36px;height:36px;border-radius:50%;border:2px dashed #93c5fd;display:flex;align-items:center;justify-content:center;font-size:18px;color:#93c5fd;flex-shrink:0}.m-member-add-label{font-size:15px;font-weight:500}.m-member-input-wrap{margin:4px 0 8px 50px;background:#fff;border:1.5px solid #86efac;border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:8px}.m-member-input{border:none;background:transparent;font-size:15px;color:#18181b;font-family:inherit;outline:none;flex:1;padding:0}.m-upgrade{margin:10px 14px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:16px;padding:14px;position:relative;flex-shrink:0;animation:fadeUp .3s ease}.m-upgrade-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.m-upgrade-emoji{font-size:18px}.m-upgrade-text-wrap{flex:1}.m-upgrade-title{font-size:13px;font-weight:700;color:#15803d;margin-bottom:2px}.m-upgrade-body{font-size:12px;color:#166534;line-height:1.5}.m-upgrade-dismiss{position:absolute;top:10px;right:12px;color:var(--m-green-dark);cursor:pointer;background:none;border:none;padding:4px;display:flex;align-items:center;justify-content:center;opacity:.7}.m-btn-upgrade{display:block;width:100%;background:#16a34a;color:#fff;border:none;border-radius:10px;height:36px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-120%)}60%{opacity:1;transform:translate(-50%) translateY(6px)}80%{transform:translate(-50%) translateY(-3px)}to{transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-110%)}}.m-toast-wrap{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);left:50%;transform:translate(-50%);z-index:var(--m-z-dropdown);background:var(--m-ink);color:#fff;border-radius:var(--m-radius-pill);box-shadow:0 4px 24px #00000038;overflow:hidden;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;font-family:-apple-system,SF Pro Display,Helvetica Neue,sans-serif;pointer-events:none;opacity:1;will-change:transform,opacity}.m-toast-wrap.entering{animation:toastIn .42s var(--m-ease-spring) forwards;pointer-events:all}.m-toast-wrap.visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:all}.m-toast-wrap.leaving{animation:toastOut .28s var(--m-ease-ios) forwards;pointer-events:none}.m-toast-wrap.simple{padding:10px 20px;white-space:nowrap}.m-toast-wrap.undo{width:80%;padding:10px 6px 10px 18px}.m-toast-text{flex:1;line-height:1}.m-toast-action{background:#ffffff24;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;padding:5px 13px;border-radius:calc(var(--m-radius-pill) - 4px);cursor:pointer;font-family:inherit;flex-shrink:0;transition:background var(--m-dur-micro) ease;-webkit-tap-highlight-color:transparent}.m-toast-action:hover{background:#ffffff3d}.m-toast-action:active{background:#ffffff52;transform:scale(.96)}.m-toast-progress{position:absolute;bottom:0;left:0;height:3px;background:#a3e635;border-radius:0 0 var(--m-radius-pill) var(--m-radius-pill);transform-origin:left center;animation:toastProgress linear forwards}@keyframes toastProgress{0%{width:100%}to{width:0%}}.m-log-actions{position:relative;flex-shrink:0}.m-kebab-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#d4d4d8;font-size:18px;cursor:pointer;border-radius:8px;transition:background .15s,color .15s;padding:0;line-height:1;letter-spacing:-1px}.m-kebab-btn:active,.m-kebab-btn:focus-visible{background:#f4f4f5;color:#52525b}.m-log-menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border-radius:14px;box-shadow:0 8px 32px #00000024,0 0 0 1px #0000000d;min-width:148px;z-index:50;overflow:hidden;animation:menuIn .15s cubic-bezier(.32,.72,0,1);transform-origin:top right}.m-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:13px 16px;border:none;background:transparent;font-size:14px;font-weight:500;color:#18181b;cursor:pointer;font-family:inherit;text-align:left;transition:background .1s}.m-menu-item:active{background:#f4f4f5}.m-menu-item.danger{color:#dc2626}.m-menu-item.danger:active{background:#fef2f2}.m-menu-icon{font-size:15px;width:18px;text-align:center;flex-shrink:0}.m-menu-divider{height:1px;background:#f0f0ef;margin:0 12px}@keyframes menuIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.m-multi-summary{display:flex;background:#f9f9f8;border-radius:14px;padding:10px 14px;margin-bottom:10px;justify-content:space-between}.m-multi-stat{display:flex;flex-direction:column;align-items:center;flex:1;gap:2px}.m-multi-stat+.m-multi-stat{border-left:1px solid #e5e5e3}.m-multi-stat-label{font-size:10px;color:#a1a1aa;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.m-multi-stat-val{font-size:14px;font-weight:700;color:#18181b;letter-spacing:-.3px}.m-multi-stat-val.expense{color:#dc2626}.m-multi-stat-val.income{color:#16a34a}.m-multi-item-list{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.m-log-item.low-conf{border:1.5px solid #fde68a;background:#fffdf5}.m-low-conf-badge{font-size:10px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;border-radius:6px;padding:1px 7px;font-weight:600;white-space:nowrap;flex-shrink:0}.m-multi-expanded{background:#fff;border:1.5px solid #e5e5e3;border-radius:16px;padding:10px 10px 8px;display:flex;flex-direction:column;gap:6px;box-shadow:0 2px 10px #00000012}.m-multi-expanded .m-confirm-field{margin-bottom:0;border-radius:12px}.m-multi-amt-input{border:none;background:transparent;font-size:14px;font-weight:600;color:#18181b;width:100%;outline:none;font-family:inherit;letter-spacing:-.2px}.m-multi-amt-input::placeholder{color:#d4d4d8}.m-multi-done-btn{width:100%;height:38px;background:#16a34a;color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;margin-top:2px}.m-pwa-banner{margin:10px 14px 4px;background:var(--m-card);border:1px solid var(--m-border);border-radius:16px;padding:14px;position:relative;display:flex;align-items:center;gap:10px;flex-shrink:0;animation:fadeUp .3s ease;box-shadow:0 2px 8px #0000000f}.m-pwa-banner-icon{font-size:20px;flex-shrink:0}.m-pwa-banner-text{flex:1;min-width:0}.m-pwa-banner-title{font-size:13px;font-weight:700;color:var(--m-ink);margin-bottom:2px}.m-pwa-banner-body{font-size:12px;color:var(--m-ink-secondary);line-height:1.4}.m-pwa-install-btn{flex-shrink:0;background:var(--m-green);color:#fff;border:none;border-radius:9px;padding:7px 13px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:background var(--m-dur-micro) var(--m-ease-out)}.m-pwa-install-btn:active{background:var(--m-green-dark);transform:scale(.97)}.m-pwa-dismiss{position:absolute;top:10px;right:12px;font-size:15px;color:var(--m-muted);background:none;border:none;cursor:pointer;font-weight:600;padding:0}.m-pwa-sheet{position:absolute;bottom:0;left:0;right:0;background:var(--m-card);border-top:1px solid var(--m-border);border-radius:22px 22px 0 0;padding:12px 20px 40px;animation:m-sheet-enter var(--m-dur-sheet-enter) var(--m-ease-ios) both;z-index:var(--m-z-dropdown)}.m-pwa-sheet.dismissing{animation:m-sheet-exit var(--m-dur-sheet-exit) var(--m-ease-in) both}.m-pwa-sheet-handle{width:36px;height:4px;background:var(--m-border);border-radius:2px;margin:0 auto 18px}.m-pwa-sheet-title{font-size:17px;font-weight:800;color:var(--m-ink);margin-bottom:8px}.m-pwa-sheet-body{font-size:14px;color:var(--m-ink-secondary);line-height:1.5;margin-bottom:20px}.m-pwa-steps{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:14px}.m-pwa-steps li{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--m-ink);line-height:1.5}.m-pwa-step-icon{width:24px;height:24px;background:var(--m-green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;margin-top:1px}.m-pwa-share-icon{font-size:15px;vertical-align:middle;background:var(--m-subtle);border-radius:5px;padding:1px 4px}.m-pwa-sheet-btns{display:flex;gap:10px}.m-pwa-got-it{flex:1;background:var(--m-green);color:#fff;border:none;border-radius:12px;height:46px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:background var(--m-dur-micro) var(--m-ease-out)}.m-pwa-got-it:active{background:var(--m-green-dark);transform:scale(.98)}.m-pwa-later{flex:0 0 80px;background:var(--m-subtle);color:var(--m-ink-secondary);border:1px solid var(--m-border);border-radius:12px;height:46px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background var(--m-dur-micro) var(--m-ease-out)}.m-pwa-later:active{background:var(--m-border)}.m-pwa-guide{max-height:88vh;overflow-y:auto}.m-pwa-guide-tabs{display:flex;gap:8px;margin-bottom:20px}.m-pwa-guide-tab{flex:1;height:36px;border-radius:10px;border:1.5px solid var(--m-border);background:var(--m-subtle);color:var(--m-ink-secondary);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--m-dur-micro) var(--m-ease-out)}.m-pwa-guide-tab.active{background:var(--m-green-bg);border-color:var(--m-green-border);color:var(--m-green)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes m-sheet-enter{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes m-sheet-exit{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes m-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes m-overlay-exit{0%{opacity:1}to{opacity:0}}.m-keyboard-bar{position:fixed;left:0;right:0;height:44px;background:#f2f2f7;border-top:1px solid rgba(0,0,0,.12);display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 16px;z-index:200;animation:slideUp .15s var(--m-ease-out) both}.m-keyboard-hint{font-size:13px;color:var(--m-ink-secondary);letter-spacing:.01em}.m-keyboard-nhap-btn{font-size:15px;font-weight:700;color:var(--m-green);background:none;border:none;padding:10px 10px 10px 20px;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;letter-spacing:.01em}.m-keyboard-nhap-btn:active{opacity:.6}.m-ptr-wrap{display:flex;align-items:center;justify-content:center;overflow:hidden;transition:height .25s var(--m-ease-out);will-change:height,opacity}.m-ptr-wrap.refreshing{transition:height .2s var(--m-ease-out)}.m-ptr-spinner{width:24px;height:24px;border:2.5px solid rgba(22,163,74,.2);border-top-color:var(--m-green);border-radius:50%;transition:transform .2s var(--m-ease-out)}.m-ptr-wrap.ready .m-ptr-spinner{transform:rotate(180deg)}.m-ptr-spinner.spinning{animation:m-ptr-spin .7s linear infinite}@keyframes m-ptr-spin{to{transform:rotate(360deg)}}.dog-mascot{position:fixed;bottom:90px;left:0;z-index:999;cursor:pointer;pointer-events:auto}.dog-sprite{background-repeat:no-repeat;image-rendering:pixelated;mix-blend-mode:screen}.dog-mascot:not(.running) .dog-sprite{animation:dog-float 2.4s ease-in-out infinite}@keyframes dog-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.landing-shell{min-height:100dvh;background-color:var(--m-surface);background-image:linear-gradient(rgba(0,0,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.025) 1px,transparent 1px);background-size:28px 28px;font-family:-apple-system,SF Pro Display,Helvetica Neue,Segoe UI,sans-serif;color:var(--m-ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}.landing-hero{padding:56px 24px 36px;display:flex;flex-direction:column;align-items:center;text-align:center}.landing-logo{font-family:Caveat,cursive;font-size:34px;font-weight:700;color:var(--m-ink);letter-spacing:-.5px;margin-bottom:6px;line-height:1}.landing-logo span{color:var(--m-green)}.landing-tagline{font-size:15px;color:var(--m-ink-secondary);margin-bottom:24px;font-weight:400;line-height:1.5}.landing-demo{width:100%;background:var(--m-card);border-radius:22px;border:1px solid var(--m-border);overflow:hidden;box-shadow:0 4px 20px #00000012,0 1px 4px #0000000a;margin-bottom:24px;position:relative;display:flex;flex-direction:column}.landing-demo-header{height:44px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--m-divider);background:var(--m-surface);flex-shrink:0;order:0}.landing-demo-logo{font-family:Caveat,cursive;font-size:17px;font-weight:700;color:var(--m-ink)}.landing-demo-logo span{color:var(--m-green)}.landing-demo-month{font-size:12px;font-weight:600;color:var(--m-ink-secondary);background:var(--m-subtle);padding:3px 10px;border-radius:999px}.landing-demo-input-block{padding:8px 12px 12px;background:var(--m-surface);border-top:1px solid var(--m-divider);flex-shrink:0;order:2}.landing-demo-input-row{display:flex;align-items:center;gap:8px;background:var(--m-card);border-radius:var(--m-radius-input);border:1.5px solid var(--m-border);padding:10px 14px;transition:border-color var(--m-dur-fast),box-shadow var(--m-dur-fast)}.landing-demo-input-row.focused{border-color:var(--m-green);box-shadow:0 0 0 3px #16a34a1f}.landing-demo-input-text{flex:1;font-size:14px;font-weight:500;color:var(--m-ink);min-height:20px;line-height:20px;-webkit-user-select:none;user-select:none}.landing-demo-input-text.placeholder{color:var(--m-muted);font-weight:400}.landing-demo-cursor{display:inline-block;width:2px;height:15px;background:var(--m-green);border-radius:1px;margin-left:1px;vertical-align:middle;animation:landing-blink 1s step-end infinite}@keyframes landing-blink{0%,to{opacity:1}50%{opacity:0}}.landing-demo-send{width:30px;height:30px;background:var(--m-green);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.3;transition:opacity var(--m-dur-micro)}.landing-demo-send.active{opacity:1}.landing-demo-send svg{width:14px;height:14px;fill:#fff}.landing-demo-chips{display:flex;gap:6px;margin-bottom:7px;overflow:hidden}.landing-demo-chip{font-size:12px;font-weight:500;color:var(--m-ink-secondary);background:var(--m-subtle);border-radius:var(--m-radius-pill);padding:4px 10px;white-space:nowrap;border:1px solid var(--m-border)}.landing-demo-scroll{height:196px;flex-shrink:0;order:1;overflow:hidden;background-color:var(--m-surface);background-image:linear-gradient(rgba(0,0,0,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.02) 1px,transparent 1px);background-size:28px 28px;padding:12px 12px 0}.landing-log-list{transform:translateY(0);transition:transform .38s var(--m-ease-ios)}.landing-log-list.pushed{transform:translateY(-54px)}.landing-today-label{display:inline-flex;align-items:center;font-size:11px;font-weight:700;color:#fff;background:var(--m-orange);padding:3px 10px;border-radius:999px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.4px}.landing-log-item{display:flex;align-items:center;gap:10px;background:var(--m-card);border-radius:var(--m-radius-item);padding:10px 12px;margin-bottom:6px;border:1px solid var(--m-border)}.landing-log-icon{width:32px;height:32px;border-radius:var(--m-radius-sm);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;background:var(--m-red-bg)}.landing-log-body{flex:1;min-width:0}.landing-log-name{font-size:13px;font-weight:600;color:var(--m-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-log-cat{font-size:11px;color:var(--m-muted);margin-top:1px}.landing-log-amount{font-size:13px;font-weight:700;color:var(--m-red);flex-shrink:0}.landing-log-item.new-entry{opacity:0;transform:translateY(10px) scale(.97)}.landing-log-item.new-entry.entering{animation:landing-item-in .38s var(--m-ease-ios) forwards}.landing-log-item.new-entry.visible{opacity:1;transform:translateY(0) scale(1)}@keyframes landing-item-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.landing-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity var(--m-dur-normal);border-radius:22px;overflow:hidden}.landing-confirm-overlay.visible{opacity:1}.landing-confirm-card{width:100%;background:var(--m-card);border-radius:var(--m-radius-sheet) var(--m-radius-sheet) 0 0;padding:14px 16px 20px;transform:translateY(100%);transition:transform .35s var(--m-ease-ios)}.landing-confirm-overlay.visible .landing-confirm-card{transform:translateY(0)}.landing-confirm-handle{width:36px;height:4px;background:var(--m-border);border-radius:2px;margin:0 auto 12px}.landing-confirm-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--m-muted);margin-bottom:10px}.landing-confirm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.landing-confirm-amount{font-size:26px;font-weight:800;color:var(--m-red);letter-spacing:-.5px}.landing-type-pill{font-size:12px;font-weight:600;padding:5px 14px;border-radius:var(--m-radius-pill);background:var(--m-red-bg);color:var(--m-red);border:1px solid var(--m-red)}.landing-confirm-fields{display:flex;gap:8px;margin-bottom:12px}.landing-confirm-field{flex:1;background:var(--m-subtle);border-radius:var(--m-radius-md);padding:8px 10px}.landing-field-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--m-muted);margin-bottom:3px}.landing-field-val{font-size:13px;font-weight:600;color:var(--m-ink)}.landing-confirm-save{width:100%;height:44px;background:var(--m-green);color:#fff;font-size:14px;font-weight:700;border:none;border-radius:var(--m-radius-pill);display:flex;align-items:center;justify-content:center;font-family:inherit}.landing-ctas{display:flex;flex-direction:column;gap:10px;width:100%;margin-bottom:12px}.landing-btn-primary{width:100%;height:52px;background:var(--m-green);color:#fff;font-size:16px;font-weight:700;border:none;border-radius:var(--m-radius-pill);cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 16px #16a34a47,0 1px 4px #16a34a26;transition:background var(--m-dur-micro),transform .12s var(--m-ease-spring);-webkit-tap-highlight-color:transparent}.landing-btn-primary:active{background:var(--m-green-dark);transform:scale(.98)}.landing-btn-secondary{width:100%;height:52px;background:var(--m-card);color:var(--m-ink);font-size:15px;font-weight:600;border:1.5px solid var(--m-border);border-radius:var(--m-radius-pill);cursor:pointer;font-family:inherit;transition:background var(--m-dur-micro);-webkit-tap-highlight-color:transparent}.landing-btn-secondary:active{background:var(--m-subtle)}.landing-no-account{font-size:12px;color:var(--m-muted);display:flex;align-items:center;justify-content:center;gap:8px}.landing-no-account:before,.landing-no-account:after{content:"";flex:1;height:1px;background:var(--m-divider);max-width:44px}.landing-divider{height:1px;background:var(--m-divider);margin:0 24px}.landing-section{padding:32px 24px}.landing-feature-tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--m-green);background:var(--m-green-bg);border:1px solid var(--m-green-border);padding:4px 10px;border-radius:var(--m-radius-pill);margin-bottom:10px}.landing-feature-heading{font-size:22px;font-weight:700;color:var(--m-ink);line-height:1.25;margin-bottom:8px;letter-spacing:-.4px}.landing-feature-body{font-size:14px;line-height:1.65;color:var(--m-ink-secondary);margin-bottom:20px}.landing-nlp-card{background:var(--m-card);border:1px solid var(--m-border);border-radius:18px;overflow:hidden;box-shadow:0 2px 12px #0000000f}.landing-nlp-examples{padding:14px 14px 8px;display:flex;flex-direction:column;gap:7px}.landing-nlp-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--m-subtle);border-radius:10px}.landing-nlp-input{font-size:13px;font-weight:600;color:var(--m-ink);flex:1}.landing-nlp-arrow{font-size:12px;color:var(--m-muted)}.landing-nlp-result{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.landing-nlp-cat{color:var(--m-ink-secondary)}.landing-nlp-amount{color:var(--m-red);margin-left:2px}.landing-nlp-amount.income{color:var(--m-green)}.landing-nlp-hint{padding:6px 14px 12px;font-size:11px;color:var(--m-muted);text-align:center;font-weight:500}.landing-steps-card{background:var(--m-card);border:1px solid var(--m-border);border-radius:18px;padding:16px;box-shadow:0 2px 12px #0000000f;display:flex;flex-direction:column;gap:16px}.landing-step{display:flex;align-items:flex-start;gap:12px}.landing-step-num{width:26px;height:26px;min-width:26px;background:var(--m-green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px}.landing-step-title{font-size:13px;font-weight:700;color:var(--m-ink)}.landing-step-desc{font-size:12px;color:var(--m-muted);margin-top:2px;line-height:1.5}.landing-sync-card{background:var(--m-card);border:1px solid var(--m-border);border-radius:18px;padding:16px;box-shadow:0 2px 12px #0000000f;display:flex;flex-direction:column;gap:10px}.landing-sync-flow{display:flex;align-items:center;justify-content:space-between;gap:6px}.landing-sync-node{flex:1;background:var(--m-subtle);border-radius:12px;padding:12px 8px;text-align:center}.landing-sync-icon{font-size:22px;margin-bottom:4px}.landing-sync-label{font-size:11px;font-weight:600;color:var(--m-ink-secondary);line-height:1.4}.landing-sync-arrow{font-size:16px;color:var(--m-green);flex-shrink:0}.landing-sync-badge{font-size:12px;color:var(--m-green);background:var(--m-green-bg);border:1px solid var(--m-green-border);border-radius:8px;padding:8px 12px;font-weight:500;text-align:center;line-height:1.5}.landing-pwa-tabs{display:flex;gap:6px;margin-bottom:14px}.landing-pwa-tab{flex:1;padding:8px 0;text-align:center;font-size:13px;font-weight:600;border-radius:var(--m-radius-md);border:1.5px solid var(--m-border);background:var(--m-subtle);color:var(--m-ink-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:background var(--m-dur-micro),border-color var(--m-dur-micro),color var(--m-dur-micro);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.landing-pwa-tab.active{background:var(--m-ink);border-color:var(--m-ink);color:#fff}.landing-pwa-steps{display:flex;flex-direction:column;gap:0}.landing-pwa-step{display:flex;gap:14px;align-items:flex-start;padding:13px 0;position:relative}.landing-pwa-step:not(:last-child):after{content:"";position:absolute;left:15px;top:40px;bottom:-2px;width:1.5px;background:var(--m-border)}.landing-pwa-num{width:31px;height:31px;min-width:31px;border-radius:50%;background:var(--m-card);border:1.5px solid var(--m-border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--m-ink-secondary);z-index:1}.landing-pwa-content{flex:1;padding-top:4px}.landing-pwa-title{font-size:14px;font-weight:600;color:var(--m-ink);line-height:1.3}.landing-pwa-sub{font-size:12px;color:var(--m-muted);margin-top:3px;line-height:1.5}.landing-pwa-badge{display:inline-flex;align-items:center;gap:3px;background:var(--m-subtle);border:1px solid var(--m-border);border-radius:6px;padding:1px 6px;font-size:12px;font-weight:600;color:var(--m-ink);vertical-align:middle;line-height:1.7;white-space:nowrap}.landing-footer{padding:8px 24px 48px;display:flex;flex-direction:column;gap:14px;text-align:center}.landing-footer-note{font-size:12px;color:var(--m-muted)}.landing-footer-badges{display:flex;align-items:center;justify-content:center;gap:16px}.landing-footer-badge{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--m-ink-secondary);font-weight:500}.landing-footer-dot{width:6px;height:6px;border-radius:50%;background:var(--m-green);flex-shrink:0}.landing-footer-brand{font-size:11px;color:var(--m-muted);padding-top:4px;border-top:1px solid var(--m-divider)}.landing-reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s var(--m-ease-ios)}.landing-reveal.visible{opacity:1;transform:translateY(0)}
