.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:900;background:#fafbfbe6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);padding-bottom:var(--safe-area-bottom)}.bottom-nav__inner{display:flex;align-items:center;justify-content:space-around;height:var(--bottom-nav-height);max-width:600px;margin:0 auto}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;padding:6px 0;color:var(--text-muted);transition:color var(--transition-fast);text-decoration:none;-webkit-tap-highlight-color:transparent;position:relative;background:none;border:none;cursor:pointer;font-family:inherit}.bottom-nav__item:active{transform:scale(.92)}.bottom-nav__item--active{color:var(--accent-primary)}.bottom-nav__item--active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:2px;background:var(--accent-primary);border-radius:var(--radius-full)}.bottom-nav__label{font-size:10px;font-weight:500;letter-spacing:.01em}.more-overlay{position:fixed;inset:0;background:var(--bg-modal-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:950;display:flex;align-items:flex-end;animation:fadeIn .15s ease}.more-menu{width:100%;max-width:600px;margin:0 auto;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-md) var(--space-md) calc(var(--bottom-nav-height) + var(--safe-area-bottom) + var(--space-lg));box-shadow:0 -4px 20px #00000014}.more-menu__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);position:relative}.more-menu__header:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:36px;height:4px;background:var(--glass-border);border-radius:var(--radius-full)}.more-menu__title{font-size:var(--font-lg);font-weight:700}.more-menu__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--text-secondary)}.more-menu__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.more-menu__item{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-sm);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-xs);font-weight:500;text-decoration:none;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.more-menu__item:active{transform:scale(.95);background:var(--glass-bg)}.more-menu__item--active{color:var(--accent-primary)}.more-menu__icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--glass-bg);transition:all var(--transition-fast)}.more-menu__item--active .more-menu__icon{background:var(--accent-primary-glow)}.more-menu__logout{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;padding:12px;margin-top:var(--space-lg);border:none;border-top:1px solid var(--glass-border);padding-top:var(--space-lg);background:none;color:var(--color-danger);font-size:var(--font-sm);font-weight:600;font-family:inherit;cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent}.more-menu__logout:active{background:var(--color-danger-bg)}.splash{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(160deg,#0f1713,#1a2b23 40%,#0f1713);transition:opacity .6s ease,transform .6s ease}.splash--enter,.splash--visible{opacity:1}.splash--exit{opacity:0;transform:scale(1.05);pointer-events:none}.splash__content{display:flex;flex-direction:column;align-items:center;gap:20px}.splash__logo-wrapper{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.splash__logo{width:80px;height:80px;border-radius:20px;opacity:0;transform:scale(.5);animation:splashLogoIn .8s cubic-bezier(.34,1.56,.64,1) .2s forwards;position:relative;z-index:2}.splash__ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(59,152,123,.3);opacity:0;animation:splashRing 2s ease-out .5s forwards}.splash__ring--2{animation-delay:.8s}.splash__title{font-size:1.75rem;font-weight:700;color:#fff;letter-spacing:-.02em;opacity:0;transform:translateY(12px);animation:splashFadeUp .6s ease .6s forwards;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.splash__subtitle{font-size:.875rem;color:#ffffff80;opacity:0;transform:translateY(8px);animation:splashFadeUp .6s ease .8s forwards;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.splash__footer{position:absolute;bottom:40px;opacity:0;animation:splashFadeUp .5s ease 1s forwards}.splash__credit{font-size:.75rem;color:#ffffff4d;letter-spacing:.05em;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}@keyframes splashLogoIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes splashRing{0%{opacity:.6;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}@keyframes splashFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:20px}.auth-card{background:var(--bg-card);border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:var(--glass-shadow)}.auth-card__header{text-align:center;margin-bottom:32px}.auth-card__logo{width:64px;height:64px;border-radius:16px;margin:0 auto 8px;display:block}.auth-card__title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.auth-card__subtitle{font-size:.875rem;color:var(--text-muted)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form__group{display:flex;flex-direction:column;gap:6px}.auth-form__label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.auth-form__input{padding:12px 14px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:.9375rem;background:var(--bg-input);color:var(--text-primary);transition:border-color .2s,box-shadow .2s;outline:none;font-family:Inter,sans-serif}.auth-form__input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}.auth-form__input::placeholder{color:var(--text-muted)}.auth-form__input--error{border-color:#ef4444a6;box-shadow:0 0 0 2px #ef444414}.auth-form__input--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #ef444426}.auth-form__error{background:var(--color-danger-bg);color:var(--color-danger);padding:10px 14px;border-radius:8px;font-size:.8125rem;text-align:center}.auth-form__field-error{font-size:.75rem;color:var(--color-danger);line-height:1.4}.auth-form__field-error--center{text-align:center}.auth-form__submit{padding:12px;background:var(--gradient-primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s;font-family:Inter,sans-serif}.auth-form__submit:hover:not(:disabled){transform:scale(1.02);box-shadow:0 4px 12px var(--accent-primary-glow)}.auth-form__submit:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:12px;margin:8px 0}.auth-divider__line{flex:1;height:1px;background:var(--border-color, #e2e8f0)}.auth-divider__text{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.auth-google{display:flex;justify-content:center;margin:4px 0;width:100%}.auth-turnstile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:100%}.auth-turnstile>div{width:100%;display:flex;justify-content:center}.auth-turnstile iframe{width:100%!important;max-width:100%!important}.auth-footer{text-align:center;margin-top:24px;font-size:.875rem;color:var(--text-muted)}.auth-footer a{color:var(--accent-primary);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.auth-google-phone{display:flex;flex-direction:column;gap:16px}.auth-google-phone__info{text-align:center;padding:12px;background:var(--color-info-bg);border-radius:8px;font-size:.8125rem;color:var(--accent-primary)}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.auth-loading__spinner{width:40px;height:40px;border:3px solid var(--accent-primary-glow);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-forgot{text-align:center;margin-top:8px}.auth-forgot a{font-size:.8125rem;color:var(--accent-primary);text-decoration:none;font-weight:500}.auth-forgot a:hover{text-decoration:underline}.auth-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:24px}.auth-steps__dot{width:10px;height:10px;border-radius:50%;background:var(--border-color, #e2e8f0);transition:background .3s}.auth-steps__dot--active{background:var(--accent-primary)}.auth-steps__line{width:40px;height:2px;background:var(--border-color, #e2e8f0);transition:background .3s}.auth-steps__line--active{background:var(--accent-primary)}.auth-form__input--otp{text-align:center;font-size:1.5rem;font-weight:700;letter-spacing:.5em;font-family:Inter,monospace}.auth-form__hint{font-size:.75rem;color:var(--text-muted);text-align:center}.auth-form__hint--left{text-align:left;margin-top:-6px}.auth-form__link-btn{background:none;border:none;color:var(--accent-primary);font-size:.8125rem;font-weight:500;cursor:pointer;text-align:center;padding:8px;font-family:Inter,sans-serif}.auth-form__link-btn:hover{text-decoration:underline}.auth-form__success{text-align:center;padding:16px;background:#3b987b14;border:1px solid rgba(59,152,123,.15);border-radius:8px;font-size:.875rem;color:var(--accent-primary);line-height:1.5}:root{--bg-primary: #f4f7f6;--bg-secondary: #fafbfb;--bg-card: #ffffff;--bg-card-hover: #f0f3f2;--bg-input: #f4f7f6;--bg-modal-overlay: rgba(26, 31, 29, .5);--glass-bg: rgba(59, 152, 123, .06);--glass-border: rgba(59, 152, 123, .12);--glass-shadow: 0 8px 32px rgba(26, 31, 29, .08);--text-primary: #1a1f1d;--text-secondary: #3d4543;--text-muted: #8a9290;--text-inverse: #ffffff;--accent-primary: #3b987b;--accent-primary-hover: #2d7660;--accent-primary-glow: rgba(59, 152, 123, .15);--accent-secondary: #5fb89a;--color-income: #22c55e;--color-income-bg: rgba(34, 197, 94, .1);--color-expense: #98503b;--color-expense-bg: rgba(152, 80, 59, .08);--color-danger: #ef4444;--color-danger-bg: rgba(239, 68, 68, .08);--color-warning: #98873b;--color-warning-bg: rgba(152, 135, 59, .1);--color-info: #3b987b;--color-info-bg: rgba(59, 152, 123, .1);--gradient-primary: linear-gradient(135deg, #3b987b 0%, #5fb89a 100%);--gradient-income: linear-gradient(135deg, #22c55e 0%, #5fb89a 100%);--gradient-expense: linear-gradient(135deg, #98503b 0%, #b86b55 100%);--gradient-card: linear-gradient(135deg, rgba(59, 152, 123, .08) 0%, rgba(95, 184, 154, .04) 100%);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-xs: .75rem;--font-sm: .8125rem;--font-base: .875rem;--font-md: 1rem;--font-lg: 1.25rem;--font-xl: 1.5rem;--font-2xl: 2rem;--shadow-sm: 0 1px 4px rgba(26, 31, 29, .06);--shadow-md: 0 4px 12px rgba(26, 31, 29, .08);--shadow-lg: 0 8px 24px rgba(26, 31, 29, .1);--shadow-glow: 0 0 20px var(--accent-primary-glow);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--bottom-nav-height: 64px;--header-height: 56px;--safe-area-bottom: env(safe-area-inset-bottom, 0px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes popIn{0%{transform:scale(.8);opacity:0}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.animate-fade-in{animation:fadeIn .2s ease-out}.animate-slide-up{animation:slideUp .2s ease-out}.animate-slide-down{animation:slideDown .2s ease-out}.animate-scale-in{animation:scaleIn .2s ease-out}.animate-pop-in{animation:popIn .35s ease}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-card-hover) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.stagger-children>*{animation:slideUp .2s ease-out both}.stagger-children>*:nth-child(1){animation-delay:0s}.stagger-children>*:nth-child(2){animation-delay:.05s}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}.stagger-children>*:nth-child(7){animation-delay:.3s}.stagger-children>*:nth-child(8){animation-delay:.35s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100dvh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:var(--font-base);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:12px 16px;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}input::placeholder,textarea::placeholder{color:var(--text-muted)}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a9290' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}ul,ol{list-style:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:var(--radius-full)}.page-container{padding:var(--space-md);padding-top:0;padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + var(--space-lg));max-width:600px;margin:0 auto;animation:fadeIn .2s ease-out}.page-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-card);border-bottom:1px solid var(--glass-border);margin:0 calc(-1 * var(--space-md)) var(--space-lg);position:relative}.page-header__left{display:flex;align-items:center;flex-shrink:0;z-index:1}.page-header__center{position:absolute;left:50%;transform:translate(-50%);text-align:center}.page-title{font-size:var(--font-md);font-weight:600;color:var(--text-primary);white-space:nowrap}.page-subtitle{font-size:var(--font-xs);color:var(--text-muted);margin-top:2px}.page-header__right{display:flex;align-items:center;flex-shrink:0;z-index:1}.page-header__btn{background:none;border:none;color:var(--text-muted);padding:8px;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.page-header__btn:hover{background:var(--bg-card-hover);color:var(--accent-primary)}.page-drawer-overlay{position:fixed;inset:0;background:#00000080;z-index:950;animation:fadeIn .2s ease}.page-drawer{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:80vw;background:var(--bg-card);z-index:951;display:flex;flex-direction:column;animation:drawerSlideIn .3s ease;box-shadow:var(--shadow-lg)}.page-drawer__logo{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px 20px;border-bottom:1px solid var(--glass-border)}.page-drawer__logo-img{width:40px;height:40px;border-radius:10px}.page-drawer__logo-text{font-size:var(--font-md);font-weight:700;color:var(--text-primary);text-align:center}.page-drawer__logo-sub{display:block;font-size:10px;color:var(--text-muted);font-weight:400;text-align:center}.page-drawer__nav{flex:1;overflow-y:auto;padding:8px}.page-drawer__item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);font-size:var(--font-sm)}.page-drawer__item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.page-drawer__item--active{background:var(--accent-primary-glow);color:var(--accent-primary);font-weight:600}.page-drawer__logout{display:flex;align-items:center;gap:12px;padding:14px 24px;border:none;border-top:1px solid var(--glass-border);background:none;color:var(--color-danger);cursor:pointer;font-size:var(--font-sm);font-family:var(--font-family);transition:background var(--transition-fast)}.page-drawer__logout:hover{background:var(--color-danger-bg)}.page-drawer__close{position:absolute;top:16px;right:12px;background:none;border:none;color:var(--text-muted);padding:6px;border-radius:var(--radius-sm);cursor:pointer;display:flex;transition:all var(--transition-fast)}.page-drawer__close:hover{background:var(--bg-card-hover);color:var(--text-primary)}@keyframes drawerSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.section-title{font-size:var(--font-md);font-weight:600;margin-bottom:var(--space-md);display:flex;align-items:center;justify-content:space-between}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.flex-between{display:flex;align-items:center;justify-content:space-between}.text-income{color:var(--color-income)}.text-expense{color:var(--color-expense)}.text-muted{color:var(--text-secondary)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-md{margin-bottom:var(--space-md)}.mb-sm{margin-bottom:var(--space-sm)}.mb-lg{margin-bottom:var(--space-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}
