:root{--teal: #139DA0;--mint: #1DD3A8;--leaf: #44BC7E;--gradient-primary: linear-gradient(155deg, #44BC7E 0%, #1DD3A8 45%, #139DA0 100%);--gradient-secondary: linear-gradient(135deg, #1DD3A8 0%, #139DA0 100%);--gradient-success: var(--gradient-primary);--gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);--accent-primary: #0c6e71;--primary-bg: #f6f8f9;--secondary-bg: #ffffff;--bg-primary: #f6f8f9;--bg-secondary: #eef2f3;--bg-card: #ffffff;--card-bg: #ffffff;--bg-elevated: #ffffff;--bg-input: #f1f4f5;--glass-bg: rgba(11, 14, 17, .04);--glass-border: #e6e9ec;--border-color: #e6e9ec;--text-primary: #0B0E11;--text-secondary: #4b5563;--text-faint: #64748b;--text-muted: var(--text-faint);--text-light: #ffffff;--income-color: #047857;--expense-color: #dc2626;--savings-color: var(--teal);--success-color: #16a34a;--error-color: #dc2626;--warning-color: #ad4f08;--shadow-sm: 0 2px 6px rgba(11, 14, 17, .06);--shadow-md: 0 8px 20px rgba(11, 14, 17, .08);--shadow-lg: 0 16px 36px rgba(11, 14, 17, .12);--shadow-glow: 0 0 30px rgba(19, 157, 160, .25);--shadow: var(--shadow-md);--font-body: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: var(--font-body);--font-accent: var(--font-body);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-full: 999px;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--primary-color: var(--teal);--primary-hover: #0c6e71;--input-bg: var(--bg-input);--input-border: var(--border-color);--input-focus: var(--teal);--input-text: var(--text-primary);--input-placeholder: var(--text-faint)}.dark-theme{--accent-primary: #1DD3A8;--primary-bg: linear-gradient(135deg, #0a3b35 0%, #052825 45%, #03141a 100%);--secondary-bg: #0e211f;--bg-primary: #071c1a;--bg-secondary: #0e211f;--bg-card: #0e211f;--card-bg: #0e211f;--bg-elevated: #153029;--bg-input: #14302a;--glass-bg: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .1);--border-color: rgba(255, 255, 255, .12);--text-primary: #e6f1ee;--text-secondary: #9fb5b0;--text-faint: #7c8696;--income-color: #34d399;--expense-color: #f87171;--success-color: #34d399;--error-color: #f87171;--warning-color: #fbbf24;--shadow-sm: 0 4px 6px rgba(0, 0, 0, .3);--shadow-md: 0 10px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 0 40px rgba(29, 211, 168, .2);--primary-hover: #1DD3A8;--input-focus: #1DD3A8}select{background-color:var(--bg-input);color:var(--text-primary)}select option{background:#fff;color:#0b0e11}.dark-theme select{color-scheme:dark}.dark-theme select option{background:#0e211f;color:#e6f1ee}.btn-primary,.btn-secondary,.btn-danger,.btn-submit,.btn-cancel{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:var(--radius-md);font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.btn-primary,.btn-submit{background:var(--gradient-primary);color:#fff;border:none}.btn-secondary,.btn-cancel{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--border-color)}.btn-danger{background:#dc26261a;color:var(--error-color);border:1px solid rgba(220,38,38,.35)}.btn-primary:hover:not(:disabled),.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary:hover:not(:disabled),.btn-cancel:hover:not(:disabled){border-color:var(--accent-primary)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-submit:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.form-group{margin-bottom:14px}.form-group label{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:.88rem;font-weight:600;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:11px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.95rem}.form-group textarea{resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary)}.form-group input:disabled{opacity:.7}.form-row{display:flex;gap:14px}.form-row .form-group{flex:1}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px}.form-buttons{display:flex;gap:12px;justify-content:center;margin-top:16px}.message{padding:10px 14px;border-radius:var(--radius-md);margin-bottom:16px;text-align:center}.message.success{background:#16a34a1f;color:var(--success-color)}.message.error{background:#dc26261f;color:var(--error-color)}.divider{height:1px;background:var(--border-color);margin:16px 0}.section-header{text-align:center;margin-bottom:24px;padding:18px 14px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.section-header h1,.section-header h2{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:6px;font-size:1.8rem;font-weight:700;color:var(--text-primary)}.section-header h1 i,.section-header h2 i{color:var(--accent-primary)}.section-header p,.section-subtitle{color:var(--text-secondary);font-size:1rem;max-width:600px;margin:0 auto}.empty-state{text-align:center;padding:48px 24px}.empty-state.small{padding:20px 14px}.empty-state-icon{font-size:56px;margin-bottom:16px;color:var(--text-faint)}.empty-state h3,.empty-state h4{font-size:1.4rem;margin-bottom:8px;color:var(--text-primary)}.empty-state p{color:var(--text-secondary);max-width:440px;margin:0 auto 20px;line-height:1.6}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary)}.loading-spinner{width:48px;height:48px;margin-bottom:16px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.choice-dialog{width:calc(100% - 32px);max-width:420px;margin:auto;padding:20px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text-primary)}.choice-dialog::backdrop{background:#0000008c}.choice-dialog h3{margin:0 0 8px;font-size:1.1rem}.choice-dialog p{margin:0 0 16px;color:var(--text-secondary);font-size:.92rem;line-height:1.5}.choice-dialog-actions{display:grid;gap:8px}.undo-bar{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:1200;display:flex;align-items:center;gap:16px;max-width:calc(100% - 32px);padding:12px 16px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-md);color:var(--text-primary);font-size:.92rem}.undo-bar button{min-height:40px;padding:0 12px;background:none;border:none;color:var(--accent-primary);font:inherit;font-weight:700;cursor:pointer}@media(max-width:768px){.undo-bar{bottom:80px}}.progress-bar{height:10px;background:var(--glass-bg);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);background:var(--gradient-primary);transition:width .5s ease}.progress-fill.warning{background:var(--gradient-warning)}.progress-fill.over{background:linear-gradient(135deg,#f87171,#dc2626)}@media(max-width:600px){.form-row{flex-direction:column;gap:0}.form-buttons .btn-submit,.form-buttons .btn-cancel{flex:1}}.ui-select{position:relative;display:inline-block;min-width:140px;max-width:100%;vertical-align:middle;font-size:.95rem}.ui-select.ui-select{background:none!important;border:0!important;padding:0!important;box-shadow:none!important;appearance:none}.form-group .ui-select,.ui-select.block{display:block;width:100%}.ui-select-trigger{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font:inherit;text-align:left;cursor:pointer}.ui-select.compact{min-width:96px}.ui-select.compact .ui-select-trigger{min-height:34px;padding:4px 8px;border-radius:8px;font-weight:600}.ui-select.compact .ui-select-chev{width:15px;height:15px}.ui-select-trigger:hover:not(:disabled){border-color:var(--accent-primary)}.ui-select-trigger:focus-visible,.ui-select.open .ui-select-trigger{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #139da047}.ui-select-trigger:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.6)}.ui-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-value.placeholder{color:var(--text-faint)}.ui-select-chev{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--text-secondary);transition:transform var(--transition-fast)}.ui-select.open .ui-select-chev{transform:rotate(180deg)}.ui-select-pop{position:absolute;left:0;top:calc(100% + 6px);z-index:60;min-width:100%;width:max-content;max-width:min(420px,92vw);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column}.ui-select-pop.up{top:auto;bottom:calc(100% + 6px)}.ui-select-search{margin:8px;min-height:44px;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:.95rem}.ui-select .ui-select-pop>*{flex:none}.ui-select .ui-select-pop .ui-select-search{width:auto;height:auto;min-width:0;max-width:none}.ui-select-search:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #139da047}.ui-select-list{list-style:none;margin:0;padding:4px;max-height:300px;overflow-y:auto;overscroll-behavior:contain}.ui-select-group{padding:10px 12px 4px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.ui-select-opt{min-height:48px;display:flex;align-items:center;padding:0 12px;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:.95rem}.ui-select-opt.active{background:#139da024}.ui-select-opt.selected{color:var(--accent-primary);font-weight:600}.ui-select-opt[aria-disabled]{opacity:.45;cursor:not-allowed}.ui-select-empty{padding:14px 12px;color:var(--text-faint);font-size:.9rem}.ui-select-footer{min-height:48px;border:0;border-top:1px solid var(--border-color);background:transparent;color:var(--accent-primary);font:inherit;font-weight:600;text-align:left;padding:0 16px;cursor:pointer}.ui-select-footer:hover,.ui-select-footer:focus-visible{background:#139da01a;outline:none}.btn-primary:disabled,.btn-submit:disabled{background:var(--bg-secondary)!important;color:var(--text-faint)!important;box-shadow:inset 0 0 0 1px var(--border-color)!important;opacity:1;filter:none;transform:none}.btn-secondary:disabled,.btn-cancel:disabled,.btn-danger:disabled{opacity:.45;filter:grayscale(.8)}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-classic,.fa-sharp,.fas,.fa-solid,.far,.fa-regular,.fab,.fa-brands{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fas,.fa-classic,.fa-solid,.far,.fa-regular{font-family:"Font Awesome 6 Free"}.fab,.fa-brands{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color, #eee);border-radius:var(--fa-border-radius, .1em);border-style:var(--fa-border-style, solid);border-width:var(--fa-border-width, .08em);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay, 0s);animation-delay:var(--fa-animation-delay, 0s);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay, 0s);animation-delay:var(--fa-animation-delay, 0s);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, cubic-bezier(.28, .84, .42, 1));animation-timing-function:var(--fa-animation-timing, cubic-bezier(.28, .84, .42, 1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-delay:var(--fa-animation-delay, 0s);animation-delay:var(--fa-animation-delay, 0s);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1));animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-delay:var(--fa-animation-delay, 0s);animation-delay:var(--fa-animation-delay, 0s);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1));animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay, 0s);animation-delay:var(--fa-animation-delay, 0s);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-delay:var(--fa-animation-delay, 0s);animation-delay:var(--fa-animation-delay, 0s);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-delay:var(--fa-animation-delay, 0s);animation-delay:var(--fa-animation-delay, 0s);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, steps(8));animation-timing-function:var(--fa-animation-timing, steps(8))}@media(prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1,1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1,1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1,1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1,1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle, none));transform:rotate(var(--fa-rotate-angle, none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.sr-only,.fa-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:not(:focus),.fa-sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:root,:host{--fa-style-family-classic: "Font Awesome 6 Free";--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fa-solid-900-c3ANcOON.woff2) format("woff2")}.fas,.fa-solid{font-weight:900}:root,:host{--fa-style-family-classic: "Font Awesome 6 Free";--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fa-regular-400-BkBA2gNI.woff2) format("woff2")}.far,.fa-regular{font-weight:400}:root,:host{--fa-style-family-brands: "Font Awesome 6 Brands";--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2")}.fab,.fa-brands{font-weight:400}.fa-amazon:before{content:""}.fa-android:before{content:""}.fa-apple:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-award:before{content:""}.fa-bag-shopping:before{content:""}.fa-ban:before{content:""}.fa-bars:before{content:""}.fa-bell:before{content:""}.fa-bicycle:before{content:""}.fa-bolt:before{content:""}.fa-box-archive:before{content:""}.fa-briefcase:before{content:""}.fa-building:before{content:""}.fa-building-columns:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-alt:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-days:before{content:""}.fa-calendar-week:before{content:""}.fa-car:before{content:""}.fa-cart-shopping:before{content:""}.fa-champagne-glasses:before{content:""}.fa-chart-area:before{content:""}.fa-chart-bar:before{content:""}.fa-chart-line:before{content:""}.fa-chart-pie:before{content:""}.fa-check:before{content:""}.fa-check-circle:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-circle:before{content:""}.fa-circle-check:before{content:""}.fa-circle-exclamation:before{content:""}.fa-circle-info:before{content:""}.fa-circle-minus:before{content:""}.fa-circle-play:before{content:""}.fa-circle-question:before{content:""}.fa-circle-xmark:before{content:""}.fa-clapperboard:before{content:""}.fa-clock:before{content:""}.fa-cloud-arrow-up:before{content:""}.fa-coins:before{content:""}.fa-comment-dots:before{content:""}.fa-comment-sms:before{content:""}.fa-comments:before{content:""}.fa-copy:before{content:""}.fa-credit-card:before{content:""}.fa-dice:before{content:""}.fa-download:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open-text:before{content:""}.fa-external-link-alt:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-file-arrow-up:before{content:""}.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-lines:before{content:""}.fa-file-word:before{content:""}.fa-film:before{content:""}.fa-fire:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flask:before{content:""}.fa-futbol:before{content:""}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-gear:before{content:""}.fa-gem:before{content:""}.fa-gift:before{content:""}.fa-google:before{content:""}.fa-graduation-cap:before{content:""}.fa-hand-holding-dollar:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-usd:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-pulse:before{content:""}.fa-home:before{content:""}.fa-house:before{content:""}.fa-house-chimney:before{content:""}.fa-house-user:before{content:""}.fa-image:before{content:""}.fa-key:before{content:""}.fa-kit-medical:before{content:""}.fa-laptop:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-link:before{content:""}.fa-list-alt:before{content:""}.fa-list-check:before{content:""}.fa-location-dot:before{content:""}.fa-lock:before{content:""}.fa-magic:before{content:""}.fa-magnifying-glass-dollar:before{content:""}.fa-microsoft:before{content:""}.fa-minus-circle:before{content:""}.fa-mobile-screen:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before{content:""}.fa-money-bill-trend-up:before{content:""}.fa-money-bill-wave:before{content:""}.fa-moon:before{content:""}.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-pause:before{content:""}.fa-pen:before{content:""}.fa-pen-to-square:before{content:""}.fa-people-arrows:before{content:""}.fa-percentage:before{content:"%"}.fa-piggy-bank:before{content:""}.fa-pizza-slice:before{content:""}.fa-plane:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-plus:before{content:"+"}.fa-plus-circle:before{content:""}.fa-question:before{content:"?"}.fa-receipt:before{content:""}.fa-rectangle-list:before{content:""}.fa-repeat:before{content:""}.fa-right-from-bracket:before{content:""}.fa-right-left:before{content:""}.fa-rotate:before{content:""}.fa-rotate-left:before{content:""}.fa-route:before{content:""}.fa-sack-dollar:before{content:""}.fa-scale-balanced:before{content:""}.fa-share-nodes:before{content:""}.fa-shield-alt:before{content:""}.fa-shield-halved:before{content:""}.fa-shopping-cart:before{content:""}.fa-signal:before{content:""}.fa-snowflake:before{content:""}.fa-spinner:before{content:""}.fa-spotify:before{content:""}.fa-star:before{content:""}.fa-store:before{content:""}.fa-sun:before{content:""}.fa-sync-alt:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-times:before{content:""}.fa-trash:before{content:""}.fa-triangle-exclamation:before{content:""}.fa-trophy:before{content:""}.fa-tv:before{content:""}.fa-university:before{content:""}.fa-unlink:before{content:""}.fa-user:before{content:""}.fa-user-check:before{content:""}.fa-user-circle:before{content:""}.fa-user-group:before{content:""}.fa-user-plus:before{content:""}.fa-user-shield:before{content:""}.fa-users:before{content:""}.fa-utensils:before{content:""}.fa-wallet:before{content:""}.fa-whatsapp:before{content:""}.fa-xmark:before{content:""}.fa-youtube:before{content:""}.sidebar-hamburger .fas,.sidebar-dark-toggle .fas,.sidebar-logout .fas{width:1.25em;font-size:1.1rem;text-align:center}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%}body{font-family:var(--font-body);background:var(--primary-bg);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden;transition:background var(--transition-slow),color var(--transition-slow)}.App{min-height:100vh;width:100%}.main-content{flex:1;min-height:100vh;width:100%;margin-left:0;padding-top:80px;transition:margin-left .3s}.container{max-width:100%;margin:0 auto;padding:14px 12px;position:relative}@media(min-width:769px){.sidebar{transform:translate(0)!important;box-shadow:none}.sidebar-overlay,.sidebar-hamburger{display:none!important}.main-content{margin-left:280px;width:calc(100% - 280px);padding-top:28px}.container{max-width:1280px;padding:8px 24px}}.sidebar-hamburger{position:fixed;top:1rem;left:1rem;z-index:1100;background:var(--card-bg);border:1px solid var(--glass-border);border-radius:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s}.sidebar{position:fixed;top:0;left:0;height:100vh;width:280px;max-width:85%;background:var(--card-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1200;box-shadow:var(--shadow-md)}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1150;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sidebar-header{padding:2rem 1.5rem;border-bottom:1px solid var(--glass-border)}.sidebar-logo{display:flex;align-items:center;gap:12px;font-size:1.6rem;font-weight:700;text-decoration:none;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sidebar-logo i{font-size:1.8rem}.sidebar-nav{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.sidebar-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.sidebar-group-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:.5rem 1.2rem .25rem;opacity:.7}.sidebar-link{display:flex;align-items:center;gap:14px;padding:.8rem 1.2rem;border-radius:12px;color:var(--text-primary);text-decoration:none;font-weight:500;transition:all .2s;white-space:nowrap}.sidebar-link i{width:24px;font-size:1.2rem}.sidebar-link:hover{background:var(--glass-bg);transform:translate(4px)}.sidebar-link.active{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-sm)}.sidebar-link.sidebar-key{border:1px solid var(--accent-primary);background:var(--primarySoft, rgba(0,168,98,.1))}.sidebar-link.sidebar-key.active{border-color:transparent}.sidebar-key-badge{margin-left:auto;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--accent-primary);color:#04130d;padding:2px 7px;border-radius:999px}.sidebar-footer{padding:1.5rem;border-top:1px solid var(--glass-border)}.sidebar-user{display:flex;align-items:center;gap:12px;margin-bottom:1rem}.sidebar-avatar{width:44px;height:44px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.2rem}.sidebar-user{margin:.5rem 1rem;padding-left:0}.sidebar-avatar{margin-left:0}.sidebar-user-info{flex:1}.sidebar-greeting{font-size:.8rem;color:var(--text-secondary);display:block}.sidebar-name{font-weight:600;color:var(--text-primary)}.sidebar-actions{display:flex;gap:12px}.sidebar-dark-toggle,.sidebar-logout{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border:none;border-radius:10px;background:var(--glass-bg);color:var(--text-primary);font-weight:500;cursor:pointer;transition:all .2s}.sidebar-dark-toggle:hover,.sidebar-logout:hover{background:var(--glass-border);transform:translateY(-2px)}.sidebar-logout{background:#e74c3c1a;color:#e74c3c}.sidebar-logout:hover{background:#e74c3c;color:#fff}.dashboard{padding-top:20px;position:relative;width:100%}.dashboard-header{text-align:center;margin-bottom:60px;animation:slideInDown .8s cubic-bezier(.4,0,.2,1)}.dashboard-title{font-family:var(--font-heading);font-size:2.5rem;font-weight:800;margin-bottom:16px;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dashboard-subtitle{font-size:1.2rem;color:var(--text-secondary);margin-bottom:30px}.add-transaction-btn{background:var(--gradient-success);color:#fff;border:none;padding:14px 28px;border-radius:var(--radius-full);font-size:1rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:var(--shadow-md);transition:all .3s ease}.add-transaction-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-glow)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1.5rem}.grid-item{background:var(--card-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-lg);padding:1.1rem;box-shadow:var(--shadow-md);border:1px solid var(--glass-border);transition:all .3s ease}.grid-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-item{background:var(--card-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:1.1rem;border-radius:var(--radius-lg);display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-md);border:1px solid var(--glass-border)}.transaction-list{background:var(--card-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-lg);overflow:hidden}.transaction-item{display:grid;grid-template-columns:100px 1fr auto auto 40px;gap:16px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--glass-border);width:100%}@media(max-width:768px){.transaction-item{grid-template-columns:1fr;gap:8px;text-align:center}.transaction-item .delete-btn{justify-self:center}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--glass-bg);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gradient-secondary)}.summary-card{text-align:center;padding:18px}.summary-card h2{font-family:var(--font-heading);font-size:1.5rem;margin-bottom:16px;color:var(--text-primary)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.summary-item{padding:16px;border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-base)}.summary-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.summary-item.income{border-left:5px solid var(--income-color)}.summary-item.expenses{border-left:5px solid var(--expense-color)}.summary-item.net{border-left:5px solid var(--savings-color)}.summary-item h3{font-size:1.1rem;color:var(--text-secondary);margin-bottom:10px}.summary-item .amount{font-size:2.5rem;font-weight:700;font-family:var(--font-accent)}.summary-item.income .amount{color:var(--income-color);background:linear-gradient(135deg,#1dd3a8,#00a8ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.summary-item.expenses .amount{color:var(--expense-color);background:linear-gradient(135deg,#ff6b8b,#ffa62e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.summary-item.net .amount{color:var(--savings-color);background:linear-gradient(135deg,#139da0,#1dd3a8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sidebar-wallet{background:var(--glass-bg);padding:8px 12px;border-radius:var(--radius-md);display:flex;align-items:center;gap:10px;margin-top:10px;font-weight:500}.sidebar-dropdown{margin-top:.5rem;width:100%}.sidebar-dropdown-btn{display:flex;align-items:center;gap:14px;width:100%;padding:.8rem 1.2rem;background:var(--glass-bg);border:none;border-radius:12px;color:var(--text-primary);font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.sidebar-dropdown-btn:hover{background:var(--glass-border);transform:translate(4px)}.dropdown-arrow{margin-left:auto;transition:transform .2s}.sidebar-dropdown-content{display:flex;flex-direction:column;gap:.5rem;max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1);padding-left:1rem}.sidebar-dropdown-content.open{max-height:300px}.sidebar-dropdown-content .sidebar-link{padding-left:2.5rem}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:var(--glass-bg);border-radius:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:4px}.modal-root{position:relative}.ReactModal__Overlay{display:flex;align-items:center;justify-content:center}.sidebar-user-link{text-decoration:none;color:inherit}@media(max-width:768px){:root{--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 30px}.sidebar{width:280px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1150;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.main-content{margin-left:0!important;padding-top:80px;width:100%}.dashboard-root,.financial-health-page,.goals-page,.debt-page,.subscriptions-page,.bills-manager,.networth-page,.trends-page{padding:1rem!important}.overview-grid,.debt-overview,.trend-overview{grid-template-columns:1fr!important;gap:15px!important}.overview-card,.trend-card,.glass-card{padding:20px!important}.overview-amount,.amount{font-size:1.5rem!important}.goals-grid{grid-template-columns:1fr!important;gap:15px!important}.goal-card{padding:20px!important}.goal-title h3{font-size:1.2rem!important}.current-amount{font-size:1.5rem!important}.detail-grid,.quick-add-buttons{grid-template-columns:repeat(2,1fr)!important}.custom-add{grid-column:span 2!important}.goal-meta{flex-direction:column;align-items:flex-start;gap:8px}.bill-item,.subscription-item,.debt-item{padding:15px!important}.bill-name,.debt-name{font-size:1rem!important}.bill-field{flex-direction:column!important;align-items:flex-start!important;gap:6px!important}.bill-field label{min-width:auto!important}.bank-select,.bill-field input{width:100%!important}.subscriptions-list{gap:10px!important}.sub-details{flex-direction:column;align-items:flex-start;gap:8px}.sub-details span{width:100%}.sub-actions{flex-direction:column;width:100%}.status-btn,.remove-btn{width:100%;justify-content:center}.networth-value{font-size:2.5rem!important}.breakdown-item{padding:15px!important}.asset-item,.liability-item{flex-direction:column!important;gap:10px!important;align-items:flex-start!important}.amount-input-container{width:100%!important}.tab-navigation{gap:6px;padding:8px}.tab-btn{padding:0;width:44px;height:44px;border-radius:50%;justify-content:center;font-size:0}.tab-btn i{font-size:1.2rem;margin:0}.tab-btn span{display:none}.health-cards{grid-template-columns:1fr!important;gap:15px!important}.health-card{padding:20px!important}.rate-circle{width:90px;height:90px;font-size:1.4rem}.trends-grid{grid-template-columns:1fr!important}.header-controls{flex-direction:column;align-items:stretch}.timeframe-selectors,.chart-selectors{justify-content:center;flex-wrap:wrap}.timeframe-btn,.chart-btn{padding:8px 14px;font-size:.8rem}.add-transaction-btn,.btn-primary,.btn-submit{padding:12px 20px!important;font-size:.9rem!important}.modal-content{width:100%!important;max-height:100vh!important;border-radius:0!important;padding:1.2rem!important}}@media(max-width:480px){:root{--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 20px}.overview-amount,.amount{font-size:1.3rem!important}.goal-card{padding:15px!important}.detail-grid,.quick-add-buttons{grid-template-columns:1fr!important}.custom-add{grid-column:span 1!important}.networth-value{font-size:2rem!important}.tab-btn{width:38px;height:38px}.tab-btn i{font-size:1rem}.bill-item,.debt-item,.subscription-item{padding:12px!important}.overview-card,.trend-card,.glass-card,.health-card{padding:15px!important}.dashboard-actions{flex-direction:column;width:100%}.dashboard-actions button{width:100%}}@media(max-width:768px){.main-content{padding-bottom:88px!important}}@media(min-width:769px){.bottom-nav{display:none!important}}.am-mark{display:block;-webkit-user-select:none;user-select:none}.am-pulse{animation:am-pulse 1.4s ease-in-out infinite;transform-origin:center}@keyframes am-pulse{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}.am-full{display:inline-block;-webkit-user-select:none;user-select:none}.am-full img{display:block;height:100%;width:auto}.am-auto{position:relative}.am-auto .am-fl,.dark-theme .am-auto .am-fd{display:none}.dark-theme .am-auto .am-fl{display:block}.am-loader{display:flex;flex-direction:column;align-items:center;gap:14px}.am-loader-label{color:var(--text-secondary, #5b6b82);font-size:.9rem;font-weight:600}.am-splash{position:fixed;inset:0;z-index:6000;background:#071c1a;display:flex;align-items:center;justify-content:center;animation:am-splash-fade .45s ease forwards;animation-delay:1.3s}.am-splash-inner{animation:am-splash-pop .7s cubic-bezier(.2,.8,.2,1) both}@keyframes am-splash-pop{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes am-splash-fade{to{opacity:0;visibility:hidden}}@media(prefers-reduced-motion:reduce){.am-pulse,.am-splash,.am-splash-inner{animation:none}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:url(/assets/texture-B9gGpIpd.webp) repeat,linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);background-size:320px 320px,auto;padding:20px;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:all .3s ease}.login-shell{display:flex;width:100%;max-width:900px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.login-brand{flex:1 1 0;min-width:0;background:linear-gradient(150deg,#139da0,#1dd3a8 55%,#0891b2);color:#eafff5;padding:46px 40px;display:flex;align-items:center}.login-brand-inner{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.login-brand .am-full{width:auto;height:38px;align-self:flex-start;flex:0 0 auto}.login-brand-title{font-size:1.85rem;font-weight:700;line-height:1.15;margin:10px 0 0;color:#fff;letter-spacing:-.02em}.login-brand-sub{font-size:.96rem;color:#eafff5eb;margin:0;line-height:1.55;max-width:34ch}.login-brand-points{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:12px}.login-brand-points li{display:flex;align-items:center;gap:12px;font-size:.94rem;color:#eafff5}.login-brand-points i{width:34px;height:34px;border-radius:10px;background:#ffffff29;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex:0 0 auto}.login-shell .login-card{border:none;box-shadow:none;border-radius:0;max-width:440px;width:440px;-webkit-backdrop-filter:none;backdrop-filter:none;flex:0 0 auto}@media(max-width:860px){.login-brand{display:none}.login-shell{max-width:440px}.login-shell .login-card{width:100%}}.theme-toggle{position:absolute;top:20px;right:20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:all .3s ease;box-shadow:var(--shadow);color:var(--text-primary)}.theme-toggle i{color:inherit}.theme-toggle:hover{transform:scale(1.1);border-color:var(--primary-color)}.login-card{background:var(--bg-card);padding:40px;border-radius:16px;box-shadow:var(--shadow);width:100%;max-width:420px;border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-header{text-align:center;margin-bottom:32px}.logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px}.logo-icon{font-size:2rem;color:var(--primary-color)}.logo h1{font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.025em;margin:0}.login-subtitle{color:var(--text-secondary);font-size:.95rem;margin:0;font-weight:400}.error-message{background:#ef44441a;border:1px solid var(--error-color);color:var(--error-color);padding:12px 16px;border-radius:8px;margin-bottom:24px;display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500}.error-icon{font-size:1rem}.login-form{margin-bottom:24px}.form-label{display:block;margin-bottom:6px;color:var(--text-primary);font-weight:500;font-size:.9rem;letter-spacing:-.01em}.password-label-container{display:flex;justify-content:space-between;align-items:center}.forgot-password{color:var(--primary-color);text-decoration:none;font-size:.85rem;font-weight:500;transition:color .2s ease}.forgot-password:hover{color:var(--primary-hover);text-decoration:underline}.form-input{width:100%;padding:12px 16px;border:1.5px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--input-text);font-size:.95rem;transition:all .2s ease;box-sizing:border-box}.form-input::placeholder{color:var(--input-placeholder);opacity:.8}.form-input:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px #139da02e}.form-input:disabled{opacity:.6;cursor:not-allowed}.login-button{width:100%;padding:14px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:-.01em}.login-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-button.loading{background:var(--primary-color)}.spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-divider{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:var(--text-secondary, #94a3b8);font-size:.85rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border-color, rgba(148,163,184,.3))}.demo-button{width:100%;padding:12px 20px;background:transparent;color:var(--text-secondary);border:1.5px solid var(--border-color);border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:24px}.demo-button:hover{border-color:var(--primary-color);color:var(--primary-color);background:#139da00f}.signup-section{text-align:center;padding:20px 0;border-top:1px solid var(--border-color)}.signup-section p{color:var(--text-secondary);margin:0 0 12px;font-size:.95rem}.signup-link{color:var(--primary-color);text-decoration:none;font-weight:600;font-size:.95rem;transition:color .2s ease}.signup-link:hover{color:var(--primary-hover);text-decoration:underline}.login-footer{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.login-footer p{color:var(--text-muted);font-size:.8rem;margin:0;line-height:1.4}@media(max-width:480px){.login-container{padding:16px}.login-card{padding:24px}.logo h1{font-size:1.5rem}.theme-toggle{top:16px;right:16px;width:40px;height:40px}}.login-container *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.form-input:focus,.login-button:focus,.theme-toggle:focus,.demo-button:focus{outline:2px solid var(--primary-color);outline-offset:2px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;font-weight:500;padding:4px 8px;border-radius:6px;transition:all .2s ease}.password-toggle:hover{background:var(--border-color);color:var(--text-primary)}.theme-toggle{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);box-shadow:var(--shadow)}.theme-toggle i{color:var(--text-primary)}.theme-toggle:hover{background:var(--border-color);border-color:var(--primary-color)}[data-theme=light] .theme-toggle{background:#e2e8f0}.login-card .form-label{color:var(--text-primary)!important;opacity:1!important}.login-card .form-input{color:var(--input-text);background:var(--input-bg);border:1px solid var(--input-border)}.login-card .form-input::placeholder{color:var(--input-placeholder);opacity:1}.legal-consent{font-size:.8rem;line-height:1.55;color:var(--text-secondary, #6b7280);text-align:center;margin:0 0 .9rem}.legal-consent a{color:var(--accent-primary, #1DD3A8);font-weight:600;text-decoration:underline}.legal-consent a:hover{opacity:.85}.otp-boxes{display:flex;gap:10px;justify-content:space-between}.otp-box{flex:1 1 0;min-width:0;aspect-ratio:1 / 1;max-width:56px;text-align:center;font-size:1.4rem;font-weight:700;color:var(--text-primary);background:var(--input-bg, var(--bg-secondary));border:2px solid var(--border-color, #e2e8f0);border-radius:12px;transition:border-color .2s ease,box-shadow .2s ease}.otp-box:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #139da02e}.otp-box:disabled{opacity:.6}.field-error{color:var(--error-color);font-size:.82rem;margin:6px 2px 0;display:flex;align-items:center;gap:6px}.form-input.input-invalid{border-color:var(--error-color)}.form-input.input-invalid:focus{box-shadow:0 0 0 3px #ef44442e}
