@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) 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-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-duration:initial;--tw-space-x-reverse:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-lg:32rem;--container-2xl:42rem;--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:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-widest:.1em;--radius-sm:9px;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font);--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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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:where(:not(iframe)){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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box}html,body,#root{height:100%}body{min-width:320px;font-family:var(--font);background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;margin:0;font-size:14.5px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.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-\[1px\]{height:1px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[300px\]{max-height:300px}.min-h-\[100px\]{min-height:100px}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-\[1px\]{width:1px}.w-\[140px\]{width:140px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-lg{max-width:var(--container-lg)}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.min-w-\[160px\]{min-width:160px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.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{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block:0}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}: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)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:14px}.rounded-md{border-radius:12px}.rounded-sm{border-radius:9px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.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-danger{border-color:var(--danger)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.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-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-danger{background-color:var(--danger)}.bg-danger-soft{background-color:var(--danger-soft)}.bg-danger\/15{background-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.bg-danger\/15{background-color:color-mix(in oklab, var(--danger) 15%, transparent)}}.bg-destructive{background-color:var(--destructive)}.bg-income\/15{background-color:var(--income)}@supports (color:color-mix(in lab, red, red)){.bg-income\/15{background-color:color-mix(in oklab, var(--income) 15%, transparent)}}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.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-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-warning,.bg-warning\/15{background-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/15{background-color:color-mix(in oklab, var(--warning) 15%, transparent)}}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.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-8{padding-inline:calc(var(--spacing) * 8)}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-0{padding-top:0}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.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)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:var(--card-foreground)}.text-danger{color:var(--danger)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-income,.text-income\/60{color:var(--income)}@supports (color:color-mix(in lab, red, red)){.text-income\/60{color:color-mix(in oklab, var(--income) 60%, transparent)}}.text-muted-foreground,.text-muted-foreground\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/40{color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-warning{color:var(--warning)}.italic{font-style:italic}.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-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.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-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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(0px + 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-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);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, )}.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, )}.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))}.transition-transform{transition-property:transform,translate,scale,rotate;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}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.paused{animation-play-state:paused}@media (hover:hover){:is(:where(.group):hover .group-hover\:opacity-100){opacity:1}}:is(:where(.peer):disabled~.peer-disabled\:cursor-not-allowed){cursor:not-allowed}:is(:where(.peer):disabled~.peer-disabled\:opacity-70){opacity:.7}.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)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab, var(--destructive) 80%, 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-muted:hover,.hover\:bg-muted\/60:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/60:hover{background-color:color-mix(in oklab, var(--muted) 60%, transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, 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\/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-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-danger:hover{color:var(--danger)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-sm:hover{--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)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-1:focus{--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)}.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-1:focus-visible{--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)}.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-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\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=active\]\:shadow[data-state=active]{--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)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}@media (width>=40rem){.sm\:w-56{width:calc(var(--spacing) * 56)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\: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\:rounded-lg{border-radius:14px}.sm\:text-left{text-align:left}}@media (width>=64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--font:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-heading:"Manrope", "DM Sans", -apple-system, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f4f6f4;--foreground:#17241f;--card:#fff;--card-foreground:#17241f;--popover:#fff;--popover-foreground:#17241f;--primary:#116b50;--primary-foreground:#fff;--secondary:#f0f5f2;--secondary-foreground:#17241f;--muted:#edf1ee;--muted-foreground:#75807b;--accent:#e9f2ed;--accent-foreground:#116b50;--destructive:#d26848;--destructive-foreground:#fff;--border:#e7ebe8;--input:#dfe5e2;--ring:#116b50;--surface-2:#f0f5f2;--surface-3:#e7ebe8;--text-2:#5f6c66;--text-3:#98a19c;--income:#147154;--income-soft:#e6f2ec;--danger:#d26848;--danger-soft:#faece7;--warning:#c2703a;--warning-soft:#fdf3e3;--success:#147154;--brand:#116b50;--brand-soft:#e9f2ed;--chart-1:#116b50;--chart-2:#7ba995;--chart-3:#eca078;--chart-4:#5b72d6;--chart-5:#7c5aaa;--shadow:0 1px 2px #102a220d, 0 4px 14px #102a220f;--shadow-lg:0 8px 40px #071b1329;--radius:14px;--radius-sm:9px;--nav-w:238px;--green:var(--primary);--green-dark:#0e5944;--canvas:var(--background)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#101612;--foreground:#e8efeb;--card:#18211c;--card-foreground:#e8efeb;--popover:#18211c;--popover-foreground:#e8efeb;--primary:#56c69a;--primary-foreground:#fff;--secondary:#1f342a;--secondary-foreground:#e8efeb;--muted:#1b2520;--muted-foreground:#8f9d96;--accent:#1f342a;--accent-foreground:#66d3a8;--destructive:#ef997d;--destructive-foreground:#13231c;--border:#283730;--input:#33443b;--ring:#56c69a;--surface-2:#1b241f;--surface-3:#293630;--text-2:#8f9d96;--text-3:#64716b;--income:#70d8af;--income-soft:#203b30;--danger:#ef997d;--danger-soft:#3a2924;--warning:#e6b45f;--warning-soft:#2e2413;--success:#56c69a;--brand:#56c69a;--brand-soft:#1f342a;--chart-1:#56c69a;--chart-2:#7ba995;--chart-3:#eca078;--chart-4:#94a9f0;--chart-5:#c2a1ea;--shadow:0 1px 2px #0006, 0 4px 16px #0000004d;--shadow-lg:0 8px 40px #00000080;--green-dark:#42ad84}.app-shell{background:var(--background);min-height:100vh;transition:background .25s,color .25s}.sidebar{z-index:20;width:var(--nav-w);background:var(--card);border-right:1px solid var(--border);flex-direction:column;padding:30px 18px 24px;display:flex;position:fixed;inset:0 auto 0 0}.brand{font:700 21px/1 var(--font-heading);letter-spacing:-.6px;color:var(--foreground);align-items:center;gap:11px;padding:0 11px;display:flex}.brand-mark{background:var(--green);border-radius:9px;flex-shrink:0;width:28px;height:28px;position:relative;transform:rotate(-8deg);box-shadow:inset 0 0 0 1px #ffffff25}.brand-mark:before,.brand-mark:after,.brand-mark span{content:"";background:#fff;border-radius:2px;height:2px;position:absolute;left:7px;right:7px;transform:rotate(8deg)}.brand-mark:before{top:8px}.brand-mark span{top:13px}.brand-mark:after{top:18px}.nav-list{flex-direction:column;gap:5px;margin-top:48px;display:flex}.nav-item{width:100%;height:44px;color:var(--muted-foreground);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:13px;padding:0 13px;font-size:13px;font-weight:600;transition:all .2s;display:flex;position:relative}.nav-item:hover{color:var(--green);background:var(--secondary)}.nav-item.active{color:var(--green);background:var(--accent)}.nav-item.active:before{content:"";background:var(--green);border-radius:0 4px 4px 0;width:3px;height:24px;position:absolute;top:50%;left:-18px;transform:translateY(-50%)}.sidebar-bottom{flex-direction:column;gap:16px;margin-top:auto;display:flex}.privacy-card{background:#edf4f0;border:1px solid #dfeae4;border-radius:13px;padding:14px}.privacy-icon{width:29px;height:29px;color:var(--green);background:#dbeae2;border-radius:8px;place-items:center;margin-bottom:9px;display:grid}.privacy-card strong{font-size:12.5px;display:block}.privacy-card p{color:#77827d;margin-top:4px;font-size:11.5px;line-height:1.45}main{min-height:100vh;margin-left:var(--nav-w)}.topbar{background:var(--card);border-bottom:1px solid var(--border);justify-content:flex-end;align-items:center;height:76px;padding:0 42px;display:flex}.top-actions{align-items:center;gap:9px;display:flex}.icon-btn{width:38px;height:38px;color:var(--muted-foreground);border:1px solid var(--border);background:var(--card);border-radius:10px;place-items:center;transition:all .2s;display:grid}.icon-btn:hover{color:var(--green);border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.icon-btn:hover{border-color:color-mix(in srgb, var(--green) 30%, var(--border))}}.add-btn{color:#fff;background:var(--green);border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;height:39px;padding:0 17px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 5px 14px #116b5024}.add-btn:hover{background:var(--green-dark);transform:translateY(-1px)}.content{max-width:1450px;margin:0 auto;padding:35px 42px 48px}.app-footer{border-top:1px solid var(--border);color:var(--muted-foreground);flex-wrap:wrap;gap:6px 14px;margin-top:44px;padding-top:18px;font-size:12.5px;display:flex}.app-footer a{color:var(--muted-foreground);text-decoration:none;transition:color .15s}.app-footer a:hover{color:var(--foreground)}.app-footer .footer-copy{margin-left:auto}.welcome{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:27px;display:flex}.eyebrow{color:var(--green);letter-spacing:1.6px;margin-bottom:7px;font-size:10.5px;font-weight:700}.welcome h1,.placeholder-view h1{font:600 28px/1.2 var(--font-heading);letter-spacing:-1px}.welcome p:last-child,.placeholder-view>p{color:var(--muted-foreground);margin-top:6px;font-size:13.5px}.month-switcher{border:1px solid var(--border);background:var(--card);border-radius:9px;flex-shrink:0;align-items:center;height:37px;display:flex;box-shadow:0 2px 6px #1a2c2310}.month-switcher button{width:35px;height:100%;color:var(--muted-foreground);background:0 0;border:0;place-items:center;display:grid}.month-switcher button:hover:not(:disabled){color:var(--green)}.month-switcher button:disabled{opacity:.4;cursor:default}.month-switcher button svg{width:15px;height:15px}.month-switcher span{text-align:center;font-variant-numeric:tabular-nums;width:110px;font-size:12.5px;font-weight:600}.stat-grid{grid-template-columns:1.22fr repeat(3,1fr);gap:15px;margin-bottom:15px;display:grid}.stat-card,.panel{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 2px 8px #182a2208}.stat-card{min-height:136px;padding:19px 20px;position:relative;overflow:hidden}.stat-top{color:#78827d;justify-content:space-between;align-items:center;font-size:11.5px;font-weight:600;display:flex}.stat-top button{color:#86918c;background:0 0;border:0;place-items:center;padding:0;display:grid}.stat-top button:hover{color:var(--green)}.stat-icon{border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.stat-icon.income{color:#147154;background:#e6f2ec}.stat-icon.expense{color:#d26848;background:#faece7}.stat-icon.saving{color:#526bc5;background:#e9edfa}.stat-card>strong{font:600 23px/1.15 var(--font-heading);letter-spacing:-.7px;font-variant-numeric:tabular-nums;margin-top:9px;display:block}.trend{z-index:2;color:#939b97;align-items:center;gap:5px;margin-top:13px;font-size:10.5px;display:flex;position:relative}.trend span{border-radius:5px;align-items:center;gap:2px;padding:3px 5px;font-weight:700;display:inline-flex}.trend span svg{width:12px;height:12px}.trend.positive span{color:#137456;background:#e8f3ee}.trend.negative span{color:#c66043;background:#fbece7}.balance-card{color:#fff;background:linear-gradient(135deg,#147759,#0d5943);border-color:#116b50}.balance-card .stat-top,.balance-card .stat-top button,.balance-card .trend{color:#c5ddd4}.balance-card .trend.positive span{color:#fff;background:#ffffff1c}.balance-card .trend.negative span{color:#ffd9cd;background:#ffffff1c}.balance-spark{opacity:.3;pointer-events:none;height:54px;position:absolute;inset:auto 0 0}.balance-spark svg{width:100%;height:100%}.balance-spark path{fill:none;stroke:#bfe4d3;stroke-width:2px}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:15px;display:grid}.panel{padding:20px}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel-head h2{font:600 15px/1.2 var(--font-heading);letter-spacing:-.3px}.panel-head p{color:var(--muted-foreground);margin-top:4px;font-size:10.5px}.select-button{border:1px solid var(--border);background:var(--card);height:30px;color:var(--text-2);white-space:nowrap;border-radius:7px;align-items:center;padding:0 10px;font-size:10.5px;display:inline-flex}.text-button{color:var(--green);white-space:nowrap;background:0 0;border:0;align-items:center;gap:2px;padding:2px;font-size:11px;font-weight:700;display:inline-flex}.text-button:hover{text-underline-offset:2px;text-decoration:underline}.text-button svg{width:14px;height:14px}.spending-panel,.budget-panel{min-height:330px}.chart-wrap{height:237px;margin-top:18px;padding:0 0 22px 44px;position:relative}.chart-y{color:var(--text-3);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;font-size:10px;display:flex;position:absolute;inset:0 auto 20px 0}.area-chart{width:100%;height:100%;overflow:visible}.area-chart .grid-line{stroke:var(--border);stroke-width:1px}.area-chart .area{fill:url(#chartFill)}.area-chart .line{fill:none;stroke:var(--green);stroke-width:2.5px;vector-effect:non-scaling-stroke}.area-chart circle{fill:var(--card);stroke:var(--green);stroke-width:3px;vector-effect:non-scaling-stroke}.chart-x{color:var(--text-3);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:9.5px;display:flex;position:absolute;bottom:0;left:44px;right:0}.donut-row{border-bottom:1px solid var(--border);align-items:center;gap:20px;padding:20px 5px 18px;display:flex}.donut{border-radius:50%;flex-shrink:0;place-items:center;width:90px;height:90px;display:grid}.donut:before{content:"";background:var(--card);border-radius:50%;grid-area:1/1;width:68px;height:68px}.donut div{z-index:1;text-align:center;grid-area:1/1}.donut strong,.donut span{display:block}.donut strong{font:700 17px var(--font-heading)}.donut span{color:var(--muted-foreground);font-size:9.5px}.donut-copy span,.donut-copy strong,.donut-copy small{display:block}.donut-copy span{color:var(--muted-foreground);font-size:10.5px}.donut-copy strong{font:600 19px var(--font-heading);font-variant-numeric:tabular-nums;margin:2px 0}.donut-copy small{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:10.5px}.budget-list{flex-direction:column;gap:12px;padding-top:15px;display:flex}.budget-item>div:first-child{justify-content:space-between;gap:8px;font-size:11px;display:flex}.budget-item span{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.budget-item strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10.5px}.budget-item small{color:var(--text-3);font-weight:500}.progress{background:var(--surface-3);border-radius:9px;height:5px;margin-top:6px;overflow:hidden}.progress i{border-radius:inherit;height:100%;transition:width .4s;display:block}.transactions-panel,.categories-panel{min-height:306px}.transaction-list{margin-top:12px}.transaction{border-bottom:1px solid var(--border);grid-template-columns:36px 1fr auto;align-items:center;gap:11px;min-height:55px;display:grid}.transaction:last-child{border-bottom:0}.transaction-icon{border-radius:10px;place-items:center;width:34px;height:34px;font-size:15px;display:grid}.transaction-name{min-width:0}.transaction-name strong,.transaction-name span{display:block}.transaction-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.transaction-name span{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10.5px;overflow:hidden}.transaction .amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.transaction .amount.income{color:var(--income)}.category-content{justify-content:center;align-items:center;gap:28px;height:220px;display:flex}.category-donut{border-radius:50%;flex-shrink:0;place-items:center;width:130px;height:130px;display:grid}.category-donut div{background:var(--card);border-radius:50%;width:80px;height:80px}.legend{flex-direction:column;gap:13px;min-width:112px;display:flex}.legend>div{grid-template-columns:7px 1fr auto;align-items:center;gap:7px;font-size:10.5px;display:grid}.legend i{border-radius:2px;width:7px;height:7px}.legend span{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legend strong{font-variant-numeric:tabular-nums;font-size:10.5px}.panel-empty{text-align:center;min-height:200px;color:var(--muted-foreground);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.panel-empty svg{width:28px;height:28px;color:var(--text-3);margin-bottom:4px}.panel-empty strong{color:var(--foreground);font-size:13.5px}.panel-empty p{font-size:12.5px}.panel-empty .add-btn,.panel-empty .text-button{margin-top:8px}.placeholder-view{max-width:900px;padding-top:10px}.toast{z-index:60;color:#fff;background:#173f32;border-radius:10px;align-items:center;gap:10px;padding:13px 17px;font-size:12.5px;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #0c261c3b}.toast-sep{background:#ffffff4d;width:1px;height:16px}.toast .undo-btn{color:inherit;text-underline-offset:2px;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:700;text-decoration:underline;display:inline-flex}.toast .undo-btn svg{width:13px;height:13px}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.mobile-brand,.mobile-nav{display:none}[data-theme=dark] .privacy-card{background:#1b2a23;border-color:#2b4036}[data-theme=dark] .privacy-icon{color:#68d3aa;background:#243b31}[data-theme=dark] .privacy-card p{color:#8f9d96}[data-theme=dark] .theme-toggle{color:#e6bd68;background:#29271d;border-color:#443d28}[data-theme=dark] .theme-toggle:hover{color:#f0d08a;border-color:#5a5238}[data-theme=dark] .balance-card{color:#fff;background:linear-gradient(135deg,#17664d,#114333);border-color:#26795c}[data-theme=dark] .stat-icon.income,[data-theme=dark] .trend.positive span{color:#70d8af;background:#203b30}[data-theme=dark] .stat-icon.expense,[data-theme=dark] .trend.negative span{color:#ef997d;background:#3a2924}[data-theme=dark] .stat-icon.saving{color:#94a9f0;background:#282f47}[data-theme=dark] .balance-card .trend.positive span{color:#fff;background:#ffffff1c}[data-theme=dark] .balance-card .trend.negative span{color:#ffd9cd;background:#ffffff1c}[data-theme=dark] .stat-top{color:#8f9d96}[data-theme=dark] .toast{color:#13231c;background:#7adbb5}[data-theme=dark] .toast-sep{background:#13231c4d}[data-theme=dark] .box-shadow-card,[data-theme=dark] .stat-card,[data-theme=dark] .panel{box-shadow:0 4px 18px #0000001f}@media (width<=1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (width<=760px){.sidebar{display:none}main{margin-left:0;padding-bottom:70px}.topbar{justify-content:space-between;height:66px;padding:0 20px}.mobile-brand{gap:9px;padding:0;font-size:18px;display:flex}.mobile-brand .brand-mark{width:25px;height:25px}.mobile-brand .brand-mark:before{top:7px}.mobile-brand .brand-mark span{top:11.5px}.mobile-brand .brand-mark:after{top:16px}.top-actions .icon-btn:first-child{display:none}.add-btn{padding:0 12px}.content{padding:25px 18px 38px}.welcome{flex-wrap:wrap;align-items:flex-start;gap:18px}.welcome h1{font-size:23px}.welcome p:last-child{max-width:260px}.month-switcher span{width:92px;font-size:11.5px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{min-height:125px;padding:16px}.stat-card>strong{font-size:19px}.stat-top{font-size:10.5px}.app-footer .footer-copy{width:100%;margin-left:0}.mobile-nav{z-index:30;background:var(--card);grid-template-columns:repeat(6,1fr);height:67px;display:grid;position:fixed;inset:auto 0 0}@supports (color:color-mix(in lab, red, red)){.mobile-nav{background:color-mix(in srgb, var(--card) 95%, transparent)}}.mobile-nav{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-nav button{color:var(--muted-foreground);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;padding:0 2px;font-size:9.5px;display:flex}.mobile-nav button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-nav button.active{color:var(--green)}.category-content{gap:18px}.category-donut{width:115px;height:115px}.category-donut div{width:70px;height:70px}.toast{justify-content:center;bottom:80px;left:16px;right:16px}}@media (width<=460px){.welcome{display:block}.month-switcher{width:fit-content;margin-top:18px}.stat-grid{grid-template-columns:1fr}.stat-card{min-height:118px}.panel{padding:16px}.chart-wrap{margin-left:-8px}.spending-panel{min-height:310px}.category-content{flex-direction:column;height:auto;padding-top:14px}}@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-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-duration{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
