@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-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-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight: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}}}@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-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--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;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--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);--color-primary:#ec4899;--color-primary-dark:#db2777;--color-primary-light:#f472b6}}@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,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]){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}}@layer components;@layer utilities{.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)}.top-1\.5{top:calc(var(--spacing)*1.5)}.right-1\.5{right:calc(var(--spacing)*1.5)}.z-\[100\]{z-index:100}.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}}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-5{height:calc(var(--spacing)*5)}.h-12{height:calc(var(--spacing)*12)}.h-full{height:100%}.w-2{width:calc(var(--spacing)*2)}.w-5{width:calc(var(--spacing)*5)}.w-12{width:calc(var(--spacing)*12)}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}: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(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-100>:not(:last-child)){border-color:var(--color-gray-100)}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-t-3xl{border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-primary{border-color:var(--color-primary)}.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-gray-100{background-color:var(--color-gray-100)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-primary{background-color:var(--color-primary)}.bg-red-500{background-color:var(--color-red-500)}.bg-white{background-color:var(--color-white)}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-5{padding:calc(var(--spacing)*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)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.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))}.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)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-900{color:var(--color-gray-900)}.text-primary{color:var(--color-primary)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.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{--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)}.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-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))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-primary-dark:hover{background-color:var(--color-primary-dark)}.hover\:bg-primary\/10:hover{background-color:#ec48991a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}:root{--accent-primary:#ec4899;--accent-light:#f472b6;--accent-dark:#db2777;--accent-subtle:#ec48991a;--gradient-primary:linear-gradient(135deg,#ec4899 0%,#f472b6 100%);--gradient-subtle:linear-gradient(135deg,#fff 0%,#fdf2f8 100%);--gradient-card:linear-gradient(180deg,#fff 0%,#fefefe 100%);--gradient-income:linear-gradient(135deg,#10b981 0%,#34d399 100%);--gradient-expense:linear-gradient(135deg,#f43f5e 0%,#fb7185 100%);--gradient-savings:linear-gradient(135deg,#ec4899 0%,#f472b6 100%);--nav-dark:#1f2937;--nav-accent:#ec4899;--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--bg-card:#fff;--bg-sidebar:#fff;--bg-pink-light:#ec48990f;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--border-color:#e5e7eb;--border-sidebar:#f3f4f6;--shadow-card:0 1px 3px #0000000a,0 1px 2px #00000005;--shadow-card-hover:0 4px 12px #0000000f;--shadow-nav:0 -1px 3px #00000014;--shadow-button:0 2px 8px #ec48994d;--shadow-sidebar:1px 0 3px #0000000a}.dark{--accent-subtle:#6366f126;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:#1e293b;--bg-sidebar:#020617;--bg-purple-light:#6366f126;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#334155;--nav-dark:#020617;--shadow-card:0 1px 3px #0003;--shadow-nav:0 -1px 3px #0000004d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}*{-webkit-tap-highlight-color:transparent}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}body{min-height:100dvh;color:var(--text-primary);overscroll-behavior-y:contain;background:linear-gradient(#e0e7ff,#ede9fe,#fff);transition:background .3s,color .3s}.dark body,html.dark body{background:linear-gradient(#0f172a,#1e293b)}.font-poppins{font-family:Poppins,sans-serif}.app-container{background-color:#0000;width:100%;max-width:430px;min-height:100dvh;margin:0 auto;position:relative;overflow:visible}@media(min-width:640px){.app-container{max-width:100%;padding:0 24px}}@media(min-width:1024px){.app-container{max-width:1200px;padding:0 40px}}.scroll-content,.page-content{backface-visibility:hidden;transform:translateZ(0)}button,a,input,select,textarea,[role=button]{touch-action:manipulation}@media(min-width:768px){body{background:linear-gradient(135deg,#e0e7ff,#ede9fe,#f3e8ff)}.dark body,html.dark body{background:linear-gradient(135deg,#0f172a,#1e1b4b)}.app-container{background:var(--bg-secondary)}}.dashboard-grid{grid-template-columns:1fr;gap:16px;display:grid}@media(min-width:640px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:24px}}.card-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media(min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media(min-width:1024px){.card-grid{grid-template-columns:repeat(4,1fr)}}.list-grid{grid-template-columns:1fr;gap:12px;display:grid}@media(min-width:640px){.list-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media(min-width:1024px){.list-grid{grid-template-columns:repeat(3,1fr)}}.menu-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}@media(min-width:640px){.menu-grid{gap:16px}}@media(min-width:1024px){.menu-grid{grid-template-columns:repeat(6,1fr)}}.stats-section-mobile{margin-bottom:16px;display:block}@media(min-width:640px){.stats-section-mobile{display:none}}.stats-row-desktop{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:none}@media(min-width:640px){.stats-row-desktop{display:grid}}@media(min-width:1024px){.stats-row-desktop{gap:20px}}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:8px;padding:20px;display:flex}.stat-card-icon{border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-card-label{color:var(--text-muted);font-size:13px;font-weight:500}.stat-card-value{color:var(--text-primary);font-size:24px;font-weight:700}.stat-card-trend{align-items:center;gap:4px;font-size:12px;display:flex}.stat-card-trend.positive{color:#10b981}.stat-card-trend.negative{color:#ef4444}.page-container{padding-bottom:100px}@media(min-width:1024px){.page-container{padding-bottom:40px}}.dashboard-grid{display:block}@media(min-width:1024px){.dashboard-grid{grid-template-columns:2fr 1fr;align-items:start;gap:32px;display:grid}}.content-main{min-width:0}.content-aside{display:none}@media(min-width:1024px){.content-aside{display:block;position:sticky;top:24px}}.section{margin-bottom:24px}@media(min-width:1024px){.section{margin-bottom:32px}}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-title{color:var(--text-primary);font-size:16px;font-weight:600}@media(min-width:1024px){.section-title{font-size:18px}}.section-link{color:var(--accent-primary);font-size:13px;font-weight:500;text-decoration:none}.section-link:hover{text-decoration:underline}.page-header{padding:16px 20px}@media(min-width:1024px){.page-header{padding:24px 0}}.page-main{padding:0 20px}@media(min-width:1024px){.page-main{padding:0}}.card-gradient-purple{background:var(--gradient-purple-blue)}.card-gradient-orange{background:var(--gradient-orange-yellow)}.card-gradient-pink{background:var(--gradient-pink-red)}.card-gradient-green{background:var(--gradient-green-teal)}.card{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:24px}.input-field{width:100%;color:var(--text-primary);background-color:#f3f4f6;border:2px solid #0000;border-radius:16px;outline:none;padding:16px 16px 16px 48px;font-size:16px;transition:all .2s}.input-field:focus{border-color:var(--nav-accent);background-color:#fff;box-shadow:0 0 0 4px #8b5cf61a}.input-field::placeholder{color:var(--text-muted)}.input-wrapper{position:relative}.input-icon{width:20px;height:20px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.input-icon-right{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:4px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.btn-primary{background:var(--nav-accent);color:#fff;cursor:pointer;width:100%;box-shadow:var(--shadow-button);border:none;border-radius:16px;padding:16px 24px;font-size:16px;font-weight:600;transition:all .2s}.btn-primary:hover{background:var(--accent-dark);box-shadow:var(--shadow-button);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.tab-container{background-color:var(--bg-tertiary);border:1px solid var(--border-color);display:flex}.tab-button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;flex:1;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s}.tab-button.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 2px 8px #00000014}.bottom-nav{z-index:50;padding:0 16px 16px;position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{max-width:430px;margin:0 auto}@media(min-width:640px){.bottom-nav-inner{max-width:500px}}@media(min-width:1024px){.bottom-nav-inner{max-width:600px}.bottom-nav-bar{padding:12px 32px}.nav-item{padding:10px 20px}.nav-item-label{font-size:12px}}.bottom-nav-bar{background:var(--nav-dark);box-shadow:var(--shadow-nav);border-radius:32px;justify-content:space-around;align-items:center;padding:8px 16px;display:flex}.nav-item{color:#ffffff80;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;text-decoration:none;transition:color .2s;display:flex}.nav-item:hover{color:#fffc}.nav-item.active{color:#fff}.nav-item-label{font-size:10px;font-weight:500}.nav-add-button{background:var(--gradient-purple-blue);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-top:-32px;transition:all .2s;display:flex;position:relative;box-shadow:0 4px 15px #8b5cf666}.nav-add-button:hover{transform:scale(1.05)}.nav-add-button:active{transform:scale(.95)}@media(min-width:1024px){.bottom-nav{display:none}}.sidebar{display:none}@media(min-width:1024px){.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-color);width:260px;box-shadow:var(--shadow-sidebar);z-index:100;flex-direction:column;padding:24px 16px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header{border-bottom:1px solid var(--border-color);margin-bottom:24px;padding:0 8px 24px}.sidebar-logo{align-items:center;gap:12px;display:flex}.sidebar-logo-icon{background:var(--gradient-primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:flex}.sidebar-logo-text{letter-spacing:-.5px;color:var(--text-primary);font-size:20px;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:4px;display:flex}.sidebar-item{color:var(--text-secondary);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar-item.active{background:var(--accent-subtle);color:var(--accent-primary)}.sidebar-footer{border-top:1px solid var(--border-color);padding-top:16px}.sidebar-add-button{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.sidebar-add-button:hover{box-shadow:var(--shadow-button);transform:translateY(-2px)}.app-layout{padding-left:260px}.app-container{max-width:1200px;padding:0 40px}}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.safe-area-top{padding-top:env(safe-area-inset-top,0px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:.3s ease-out forwards fadeIn}.animate-slide-up{animation:.3s ease-out forwards slideUp}.animate-spin{animation:1s linear infinite spin}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@keyframes pulse-glow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes confetti-burst{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}50%{opacity:1}to{opacity:0;transform:translate(calc((var(--random,.5) - .5)*80px),calc((var(--random2,.5) - .5)*80px))rotate(360deg)scale(.3)}}@keyframes celebrate-icon{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.3)}75%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes flash{0%{opacity:.5}to{opacity:0}}@keyframes flame-flicker{0%,to{filter:brightness();transform:scale(1)translateY(0)}25%{filter:brightness(1.2);transform:scale(1.1)translateY(-1px)}50%{filter:brightness(.9);transform:scale(.95)translateY(1px)}75%{filter:brightness(1.1);transform:scale(1.05)translateY(-.5px)}}@keyframes xp-pop{0%{opacity:0;transform:scale(.5)translateY(10px)}50%{transform:scale(1.2)translateY(-5px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.habit-card-premium{transition:all .3s cubic-bezier(.4,0,.2,1)}.habit-card-premium:active{transform:scale(.95)!important}.habit-card-premium.pulse-effect{animation:.3s ease-out pulse-tap}@keyframes pulse-tap{0%{transform:scale(1)}50%{transform:scale(.92)}to{transform:scale(1)}}.habit-card-premium.celebrate{animation:.5s ease-out celebrate-card}@keyframes celebrate-card{0%{transform:scale(1)}30%{transform:scale(1.05)}60%{transform:scale(.98)}to{transform:scale(1)}}.streak-flame{animation:1.5s ease-in-out infinite flame-flicker;display:inline-block}.xp-badge{animation:.4s ease-out xp-pop}.progress-ring-glow{filter:drop-shadow(0 0 8px)}.weekly-stats-bar{background:linear-gradient(90deg,var(--color-primary)0%,var(--color-primary-light)100%);background-size:200% 100%;animation:2s ease-in-out infinite shimmer}.habit-card-premium .confetti-particle:first-child{--random:.1;--random2:.9}.habit-card-premium .confetti-particle:nth-child(2){--random:.8;--random2:.2}.habit-card-premium .confetti-particle:nth-child(3){--random:.3;--random2:.7}.habit-card-premium .confetti-particle:nth-child(4){--random:.9;--random2:.4}.habit-card-premium .confetti-particle:nth-child(5){--random:.2;--random2:.1}.login-page{background:#fff;flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow-x:hidden}.login-gradient-bg{pointer-events:none;background:linear-gradient(#ec489926,#f472b61a,#a855f714 60%,#fff0);height:45%;position:absolute;top:0;left:0;right:0}.login-content{z-index:1;flex-direction:column;flex:1;width:100%;max-width:400px;margin:0 auto;padding:60px 24px 32px;display:flex;position:relative}.login-icon-container{color:#fff;background:linear-gradient(135deg,#1f2937,#374151);border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 24px;display:flex;box-shadow:0 8px 24px #1f293740}.login-title{color:#111827;text-align:center;letter-spacing:-.5px;margin:0 0 8px;font-size:26px;font-weight:700}.login-subtitle{color:#6b7280;text-align:center;margin:0 0 32px;font-size:15px;line-height:1.5}.login-error{background:#fef2f2;border:1px solid #fecaca;border-radius:14px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:14px 16px;animation:.3s ease-out fadeIn;display:flex}.login-error svg{color:#ef4444;flex-shrink:0;margin-top:1px}.login-error span{color:#dc2626;font-size:13px;font-weight:500;line-height:1.4}.login-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:14px 16px;animation:.3s ease-out fadeIn;display:flex}.login-success svg{color:#22c55e;flex-shrink:0;margin-top:1px}.login-success span{color:#16a34a;font-size:13px;font-weight:500;line-height:1.4}.login-form{flex-direction:column;gap:20px;display:flex}.login-field{flex-direction:column;gap:8px;display:flex}.login-label{color:#374151;padding-left:2px;font-size:14px;font-weight:600}.login-optional{color:#9ca3af;font-weight:400}.login-input-wrapper{position:relative}.login-input{color:#111827;background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;outline:none;width:100%;padding:16px 18px;font-size:16px;transition:all .2s}.login-input::placeholder{color:#9ca3af}.login-input:focus{border-color:#ec4899;box-shadow:0 0 0 4px #ec48991a}.login-input.error{background:#fef2f2;border-color:#ef4444}.login-input:disabled{color:#9ca3af;background:#f9fafb}.login-password-toggle{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:4px;transition:color .2s;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.login-password-toggle:hover{color:#6b7280}.login-input-icon-right{color:#9ca3af;pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.login-field-error{color:#ef4444;padding-left:2px;font-size:12px}.login-helper{color:#9ca3af;padding-left:2px;font-size:12px}.login-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ec4899,#a855f7);border:none;border-radius:50px;justify-content:center;align-items:center;width:100%;min-height:56px;margin-top:8px;padding:18px 24px;font-size:16px;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 20px #ec489959}.login-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px #ec489973}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}.login-toggle-container{justify-content:center;align-items:center;gap:4px;margin-top:24px;display:flex}.login-toggle-text{color:#6b7280;font-size:14px}.login-toggle-link,.login-toggle-btn{color:#ec4899;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600;transition:color .2s}.login-toggle-link:hover,.login-toggle-btn:hover{color:#db2777}.login-divider{align-items:center;gap:16px;margin:24px 0;display:flex}.login-divider:before,.login-divider:after{content:"";background:#e5e7eb;flex:1;height:1px}.login-divider span{color:#9ca3af;font-size:13px;font-weight:500}.login-forgot-btn{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:50px;width:100%;padding:14px 24px;font-size:14px;font-weight:600;transition:all .2s}.login-forgot-btn:hover:not(:disabled){color:#ec4899;border-color:#ec4899}.login-forgot-btn:disabled{opacity:.6;cursor:not-allowed}.login-terms{color:#9ca3af;text-align:center;margin-top:auto;padding-top:32px;font-size:12px;line-height:1.6}.login-terms-link{color:#ec4899;cursor:pointer;font-weight:500}.login-terms-link:hover{text-decoration:underline}@media(min-width:1024px){.login-page{flex-direction:row;height:100vh;overflow:hidden}.login-gradient-bg{background:linear-gradient(135deg,#ec4899,#f472b6,#a855f7) 0 0/200% 200%;width:50%;height:100%;animation:8s infinite gradient-shift;position:absolute}.login-gradient-bg:before{content:"";pointer-events:none;background-image:radial-gradient(circle at 20% 20%,#ffffff26,#0000 25%),radial-gradient(circle at 80% 80%,#ffffff1a,#0000 25%);position:absolute;inset:0}.login-content{flex-direction:column;justify-content:center;width:50%;max-width:500px;height:100%;margin:0 calc(25% - 200px) 0 auto;padding:48px;display:flex;position:absolute;right:0}.login-icon-container{margin-bottom:32px}.login-title{font-size:32px}.login-subtitle{margin-bottom:40px;font-size:16px}.login-brand-content{text-align:center;z-index:1;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:48px;display:flex;position:relative}.login-brand-logo{object-fit:contain;filter:drop-shadow(0 4px 12px #00000026);width:80px;height:80px;margin-bottom:16px}.login-brand-title{color:#fff;letter-spacing:-.5px;text-shadow:0 2px 12px #00000026;margin:0 0 8px;font-size:36px;font-weight:700}.login-brand-tagline{color:#ffffffe6;margin:0 0 40px;font-size:18px;font-weight:500}.login-brand-features{flex-direction:column;gap:16px;margin-bottom:40px;display:flex}.login-brand-feature{-webkit-backdrop-filter:blur(10px);color:#fff;text-align:left;background:#ffffff26;border:1px solid #fff3;border-radius:12px;align-items:center;gap:12px;padding:12px 20px;font-size:14px;font-weight:500;display:flex}.login-brand-feature-icon{flex-shrink:0;font-size:20px}.login-brand-quote{background:#ffffff1a;border:1px solid #ffffff26;border-radius:16px;max-width:320px;padding:20px 24px}.login-brand-quote p{color:#fffffff2;margin:0;font-size:15px;font-style:italic;line-height:1.6}}@media(max-width:1023px){.login-brand-content{display:none}}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}@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-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{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}@keyframes pulse{50%{opacity:.5}}
