.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-subtle);z-index:var(--z-sticky);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar__logo{align-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-lg);border-bottom:1px solid var(--divider);display:flex}.sidebar__logo-icon{background:linear-gradient(135deg, var(--accent) 0%, #8b7cf7 100%);border-radius:var(--radius-md);color:#fff;width:42px;height:42px;box-shadow:var(--shadow-glow-accent);justify-content:center;align-items:center;display:flex}.sidebar__logo-text{flex-direction:column;display:flex}.sidebar__logo-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:-.02em;background:linear-gradient(135deg, var(--text-primary) 0%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.sidebar__logo-version{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-medium)}.sidebar__quick-add{padding:var(--space-md) var(--space-md) var(--space-xs);position:relative}.sidebar__add-btn{justify-content:center;align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-sm) var(--space-md);background:linear-gradient(135deg, var(--accent) 0%, #1a1c80 100%);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);border:none;display:flex;box-shadow:0 4px 10px #3b3dbf33}.sidebar__add-btn:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 6px 14px #3b3dbf4d}.sidebar__add-btn:active{transform:scale(.98)}.sidebar__add-btn--active{filter:brightness(.9)}.sidebar__dropdown{top:calc(100% - 4px);left:var(--space-md);right:var(--space-md);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2xs);z-index:10;flex-direction:column;gap:2px;display:flex;position:absolute}.sidebar__dropdown-item{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;transition:all var(--transition-fast);background:0 0;border:none;display:flex}.sidebar__dropdown-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar__dropdown-item svg{transition:transform var(--transition-fast)}.sidebar__dropdown-item:hover svg{transform:scale(1.1)}.sidebar__dropdown-item--income:hover{color:var(--income)}.sidebar__dropdown-item--expense:hover{color:var(--expense)}.sidebar__dropdown-item--transfer:hover{color:var(--accent)}.sidebar__nav{padding:var(--space-xs) var(--space-sm);flex-direction:column;flex:1;gap:2px;display:flex}.sidebar__link{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);text-decoration:none;display:flex;position:relative}.sidebar__link:hover{color:var(--text-primary);background:var(--bg-card)}.sidebar__link--active{color:var(--text-primary);background:var(--accent-bg)}.sidebar__link--active .sidebar__link-icon{color:var(--accent)}.sidebar__link-icon{transition:color var(--transition-fast);flex-shrink:0;align-items:center;display:flex}.sidebar__link-indicator{background:var(--accent);border-radius:0 var(--radius-full) var(--radius-full) 0;width:3px;height:20px;animation:.2s cubic-bezier(.34,1.56,.64,1) forwards scaleIn;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar__footer{padding:var(--space-lg);border-top:1px solid var(--divider)}.sidebar__footer-text{font-size:var(--font-size-xs);color:var(--text-tertiary);flex-direction:column;display:flex}.sidebar__footer-updated{opacity:.75;white-space:nowrap;margin-top:8px;font-size:10px}.bottom-nav{height:var(--bottom-nav-height);background:var(--bg-secondary);border-top:1px solid var(--border-subtle);z-index:var(--z-sticky);padding-bottom:env(safe-area-inset-bottom,0);-webkit-backdrop-filter:blur(20px);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav__item{padding:var(--space-xs) var(--space-md);color:var(--text-tertiary);transition:all var(--transition-fast);flex-direction:column;align-items:center;gap:4px;text-decoration:none;display:flex;position:relative}.bottom-nav__item--active{color:var(--accent)}.bottom-nav__item--active:before{content:"";background:var(--accent);border-radius:0 0 var(--radius-full) var(--radius-full);width:24px;height:3px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.bottom-nav__icon{transition:transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.bottom-nav__item--active .bottom-nav__icon{transform:scale(1.1)}.bottom-nav__label{font-size:.625rem;font-weight:var(--font-weight-medium);letter-spacing:.02em}.bottom-nav__add-btn{cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;background:0 0;border:none;outline:none;justify-content:center;align-items:center;width:56px;height:56px;margin-top:-24px;padding:0;display:flex}.bottom-nav__add-btn-inner{background:linear-gradient(135deg, var(--accent) 0%, #1a1c80 100%);color:#fff;width:48px;height:48px;transition:all var(--transition-normal) cubic-bezier(.34, 1.56, .64, 1);border:3px solid var(--bg-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 6px 14px #3b3dbf59}.bottom-nav__add-btn:hover .bottom-nav__add-btn-inner{transform:scale(1.08)rotate(90deg);box-shadow:0 8px 18px #3b3dbf73}.bottom-nav__add-btn:active .bottom-nav__add-btn-inner{transform:scale(.95);box-shadow:0 3px 8px #3b3dbf4d}.modal-overlay{background:var(--bg-modal-overlay);-webkit-backdrop-filter:blur(8px);z-index:var(--z-modal-backdrop);padding:var(--space-md);opacity:0;justify-content:center;align-items:flex-start;transition:opacity .25s;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-overlay--open{opacity:1}.modal-overlay--closing{opacity:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-xl);width:100%;max-height:85vh;z-index:var(--z-modal);opacity:0;margin:auto;transition:all .25s cubic-bezier(.34,1.56,.64,1);overflow-y:auto;transform:scale(.95)translateY(10px)}.modal-content--open{opacity:1;transform:scale(1)translateY(0)}.modal-content--closing{opacity:0;transform:scale(.95)translateY(10px)}.modal-content--sm{max-width:400px}.modal-content--md{max-width:520px}.modal-content--lg{max-width:680px}.modal-content--xl{max-width:900px}.modal-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--divider);background:var(--bg-secondary);z-index:1;border-radius:var(--radius-xl) var(--radius-xl) 0 0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.01em}.modal-close{border-radius:var(--radius-full);width:36px;height:36px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--bg-card-hover);color:var(--text-primary)}.modal-body{padding:var(--space-xl)}.modal-actions{gap:var(--space-sm);margin-top:var(--space-xl);justify-content:flex-end;display:flex}@media (width<=768px){.modal-overlay{padding:var(--space-md) var(--space-xs);align-items:flex-start}.modal-content{border-radius:var(--radius-xl);max-height:90vh;margin:1.5rem auto;max-width:calc(100vw - var(--space-sm))!important}.modal-header{padding:var(--space-md) var(--space-lg)}.modal-body{padding:var(--space-lg)}.modal-content--open{transform:scale(1)translateY(0)}.modal-content--closing{transform:scale(.95)translateY(10px)}}.toast-container{top:var(--space-lg);right:var(--space-lg);z-index:var(--z-toast);gap:var(--space-xs);flex-direction:column;max-width:380px;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);cursor:pointer;-webkit-backdrop-filter:blur(20px);animation:.3s cubic-bezier(.34,1.56,.64,1) forwards toastSlideIn;display:flex}.toast--success{border-color:var(--income-border)}.toast--error{border-color:var(--expense-border)}.toast--warning{border-color:var(--warning-border)}.toast--info{border-color:var(--accent-border)}.toast-icon{border-radius:var(--radius-full);width:24px;height:24px;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast--success .toast-icon{background:var(--income-bg);color:var(--income)}.toast--error .toast-icon{background:var(--expense-bg);color:var(--expense)}.toast--warning .toast-icon{background:var(--warning-bg);color:var(--warning)}.toast--info .toast-icon{background:var(--accent-bg);color:var(--accent)}.toast-message{font-size:var(--font-size-sm);color:var(--text-primary);line-height:var(--line-height-normal)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(30px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@media (width<=768px){.toast-container{top:var(--space-md);right:var(--space-md);left:var(--space-md);max-width:none}}.custom-select-container{width:100%;position:relative}.custom-select-trigger{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md);min-height:42px;color:var(--text-primary);font-size:var(--font-size-base);font-family:var(--font-family);transition:all var(--transition-fast);cursor:pointer;outline:none;justify-content:space-between;align-items:center;display:flex}.custom-select-trigger:focus,.custom-select-container.is-open .custom-select-trigger{background-color:var(--bg-input-focus);border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg)}.custom-select-trigger-content{align-items:center;gap:var(--space-sm);text-align:left;flex:1;min-width:0;display:flex}.custom-select-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.custom-select-text{color:var(--text-primary);font-weight:var(--font-weight-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-select-text.is-placeholder{color:var(--text-tertiary)}.custom-select-arrow{color:var(--text-tertiary);margin-left:var(--space-xs);transition:transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.custom-select-container.is-open .custom-select-arrow{color:var(--accent);transform:rotate(180deg)}.custom-select-menu{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:var(--space-2xs);scrollbar-width:thin;scrollbar-color:var(--text-tertiary) transparent;max-height:200px;margin:0;list-style:none;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.custom-select-menu::-webkit-scrollbar{width:6px}.custom-select-menu::-webkit-scrollbar-track{background:0 0}.custom-select-menu::-webkit-scrollbar-thumb{background-color:var(--text-tertiary);border-radius:var(--radius-full)}.custom-select-option{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);color:var(--text-primary);font-size:var(--font-size-base)}.custom-select-option:hover{background-color:var(--bg-card-hover)}.custom-select-option.is-selected{background-color:var(--accent-bg);color:var(--accent);font-weight:var(--font-weight-medium)}.custom-select-option-content{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.custom-select-option.is-disabled{opacity:.5;cursor:not-allowed;color:var(--text-tertiary)!important;background-color:#0000!important}.tx-form{gap:var(--space-lg);flex-direction:column;display:flex}.tx-form__amount{text-align:left;letter-spacing:-.02em;font-size:var(--font-size-2xl)!important;font-weight:var(--font-weight-bold)!important;padding:var(--space-lg)!important}.tx-form__amount--income:focus{border-color:var(--income-border)!important;box-shadow:0 0 0 3px var(--income-bg)!important}.tx-form__amount--expense:focus{border-color:var(--expense-border)!important;box-shadow:0 0 0 3px var(--expense-bg)!important}.tx-form__amount::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tx-form__amount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tx-form__amount[type=number]{-moz-appearance:textfield}.app-shell{width:100%;min-height:100vh;display:flex}.app-shell__main{flex:1;min-width:0;min-height:100vh;overflow-x:hidden}@media (width>=769px){.app-shell__main{margin-left:var(--sidebar-width)}}.action-sheet-backdrop{-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal);background:#0f172a66;justify-content:center;align-items:flex-end;animation:.2s ease-out forwards fadeIn;display:flex;position:fixed;inset:0}.action-sheet{background:var(--bg-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;padding:var(--space-lg) var(--space-md) calc(var(--space-lg) + env(safe-area-inset-bottom,0));gap:var(--space-md);flex-direction:column;animation:.25s cubic-bezier(.34,1.56,.64,1) forwards slideUp;display:flex;box-shadow:0 -10px 25px -5px #0000000d,0 -8px 10px -6px #0000000d}.action-sheet__header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs);flex-direction:column;display:flex}.action-sheet__handle{background:var(--border-subtle);border-radius:var(--radius-full);width:36px;height:4px}.action-sheet__title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--text-primary)}.action-sheet__options{gap:var(--space-sm);flex-direction:column;display:flex}.action-sheet__btn{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-md);align-items:center;gap:var(--space-md);cursor:pointer;text-align:left;width:100%;transition:all var(--transition-fast);display:flex}.action-sheet__btn:hover{background:var(--bg-card);border-color:var(--accent);transform:translateY(-1px)}.action-sheet__btn:active{transform:scale(.98)}.action-sheet__btn-icon{border-radius:var(--radius-md);width:42px;height:42px;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.action-sheet__btn--income .action-sheet__btn-icon{background:var(--income-bg);color:var(--income)}.action-sheet__btn--expense .action-sheet__btn-icon{background:var(--expense-bg);color:var(--expense)}.action-sheet__btn--transfer .action-sheet__btn-icon{background:var(--accent-bg);color:var(--accent)}.action-sheet__btn-info{flex-direction:column;gap:2px;display:flex}.action-sheet__btn-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-primary)}.action-sheet__btn-desc{font-size:var(--font-size-xs);color:var(--text-tertiary)}.action-sheet__cancel{background:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;margin-top:var(--space-xs);transition:all var(--transition-fast);text-align:center;border:none}.action-sheet__cancel:hover{background:var(--divider);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.time-pill{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-full);gap:0;padding:4px;display:inline-flex;position:relative}.time-pill__indicator{background:var(--accent);border-radius:var(--radius-full);width:calc(33.333% - 2.67px);height:calc(100% - 8px);box-shadow:var(--shadow-glow-accent);z-index:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:absolute;top:4px;left:4px}.time-pill__btn{z-index:1;padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);transition:color var(--transition-fast);white-space:nowrap;min-width:80px;position:relative}.time-pill__btn--active{color:#fff}.time-pill__btn:hover:not(.time-pill__btn--active){color:var(--text-primary)}@media (width<=480px){.time-pill__btn{padding:var(--space-xs) var(--space-sm);min-width:64px;font-size:var(--font-size-xs)}}.pin-dialog-backdrop{background-color:var(--bg-modal-overlay);-webkit-backdrop-filter:blur(8px);z-index:var(--z-modal-backdrop);padding:var(--space-lg) var(--space-md);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.pin-dialog-container{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);margin:auto;overflow:hidden}.pin-dialog-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--divider);align-items:center;display:flex;position:relative}.pin-dialog-icon{color:var(--accent);margin-right:var(--space-sm);align-items:center;display:flex}.pin-dialog-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.pin-dialog-close-x{right:var(--space-md);color:var(--text-tertiary);font-size:var(--font-size-base);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.pin-dialog-close-x:hover{color:var(--text-primary)}.pin-dialog-form{padding:var(--space-lg);gap:var(--space-md);flex-direction:column;display:flex}.pin-dialog-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.4}.pin-dialog-error{background:var(--expense-bg);border:1px solid var(--expense-border);color:var(--expense);padding:var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-align:center}.pin-dialog-input-wrapper{width:100%;position:relative}.pin-dialog-input{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:var(--font-size-md);transition:all var(--transition-fast);padding:10px 40px 10px 12px}.pin-dialog-input:focus{background:var(--bg-input-focus);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.pin-dialog-toggle-visible{color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.pin-dialog-toggle-visible:hover{color:var(--text-primary)}.pin-dialog-actions{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-xs);display:flex}.pin-dialog-btn{padding:10px var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none}.pin-dialog-btn-cancel{background:var(--bg-secondary);border:1px solid var(--border-default);color:var(--text-secondary)}.pin-dialog-btn-cancel:hover:not(:disabled){background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--glass-border-hover)}.pin-dialog-btn-submit{background:var(--accent);color:#fff}.pin-dialog-btn-submit:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-glow-accent)}.pin-dialog-btn:disabled{opacity:.5;cursor:not-allowed}.animate-scale-up{animation:.3s cubic-bezier(.34,1.56,.64,1) forwards scaleUp}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (width<=480px){.pin-dialog-backdrop{padding:var(--space-md) var(--space-xs)}.pin-dialog-container{border-radius:var(--radius-lg);margin:1.5rem auto}.pin-dialog-form{padding:var(--space-md)}}.balance-card{border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-lg);color:#fff;background:linear-gradient(135deg,#3b3dbf 0%,#1c1d8a 100%);border:none;position:relative;overflow:hidden}.balance-card:before{content:"";opacity:.6;pointer-events:none;background:radial-gradient(circle,#ffffff26 0%,#0000 70%);width:300px;height:300px;position:absolute;top:-50%;right:-30%}.balance-card__header{margin-bottom:var(--space-sm);z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.balance-card__label{font-size:var(--font-size-xs);color:#ffffffb3;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em}.balance-card__accounts{font-size:var(--font-size-xs);color:#ffffffe6;border-radius:var(--radius-full);background:#ffffff1f;border:1px solid #ffffff26;padding:2px 10px}.balance-card__amount{margin-bottom:var(--space-lg);z-index:1;position:relative}.balance-card__value{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);letter-spacing:-.02em;line-height:var(--line-height-tight);text-shadow:0 2px 4px #0000001a;color:#fff!important}.balance-card__stats{align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);z-index:1;background:#0000001f;border:1px solid #ffffff0f;display:flex;position:relative}.balance-card__stat{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.balance-card__stat-divider{background:#ffffff26;flex-shrink:0;width:1px;height:32px}.balance-card__stat-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.balance-card__stat-icon--income{color:#10b981;background:#10b98133}.balance-card__stat-icon--expense{color:#ef4444;background:#ef444433}.balance-card__stat-info{flex-direction:column;gap:2px;min-width:0;display:flex}.balance-card__stat-label{font-size:var(--font-size-xs);color:#fff9;font-weight:var(--font-weight-medium)}.balance-card__stat-value{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#fff!important}.balance-card__visibility-toggle{border-radius:var(--radius-sm);color:#fffc;cursor:pointer;transition:all var(--transition-fast);background:#ffffff1a;border:1px solid #ffffff26;justify-content:center;align-items:center;padding:6px;display:flex}.balance-card__visibility-toggle:hover{color:#fff;background:#fff3;border-color:#ffffff4d}@media (width<=480px){.balance-card{padding:var(--space-lg);border-radius:var(--radius-lg)}.balance-card__value{font-size:var(--font-size-3xl)}.balance-card__stat-value{font-size:var(--font-size-sm)}.balance-card__stats{gap:var(--space-sm);padding:var(--space-sm)}}.account-cards{gap:var(--space-sm);flex-direction:column;width:100%;display:flex}.account-cards__header{margin-bottom:var(--space-2xs);justify-content:space-between;align-items:center;display:flex}.account-cards__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.account-cards__scroll{gap:var(--space-md);padding-bottom:var(--space-sm);scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none;width:100%;display:flex;overflow-x:auto}.account-cards__scroll::-webkit-scrollbar{display:none}.account-card{min-width:240px;height:120px;padding:var(--space-md) var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border-default);border-left:5px solid var(--account-color,var(--accent));border-radius:var(--radius-md);scroll-snap-align:start;color:var(--text-primary);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);cursor:pointer;flex-direction:column;justify-content:space-between;align-items:flex-start;display:flex;position:relative;overflow:hidden}.account-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-default);transform:translateY(-2px)}.account-card__icon{background:var(--bg-primary);border-radius:var(--radius-sm);border:1px solid var(--glass-border);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.5rem;display:flex}.account-card__info{flex-direction:column;gap:2px;width:100%;display:flex}.account-card__name{color:var(--text-secondary);font-size:10px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.account-card__balance{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:-.01em;white-space:nowrap;color:var(--text-primary)}@media (width<=480px){.account-card{min-width:210px;height:110px;padding:var(--space-sm) var(--space-md)}.account-card__icon{width:34px;height:34px;font-size:1.25rem}.account-card__balance{font-size:var(--font-size-base)}}.empty-state{padding:var(--space-3xl) var(--space-xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state__icon{margin-bottom:var(--space-lg);font-size:3.5rem;animation:3s ease-in-out infinite float}.empty-state__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-xs)}.empty-state__message{font-size:var(--font-size-sm);color:var(--text-secondary);max-width:300px;line-height:var(--line-height-relaxed)}.empty-state__action{margin-top:var(--space-lg)}.daily-view{gap:var(--space-lg);flex-direction:column;display:flex}.daily-view__summary{padding:var(--space-md) var(--space-lg);background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;display:flex}.daily-view__summary-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.daily-view__summary-amount{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.01em}.daily-view__group{gap:var(--space-xs);flex-direction:column;display:flex}.daily-view__group-header{padding:0 var(--space-xs);justify-content:space-between;align-items:center;display:flex}.daily-view__group-date{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.daily-view__group-count{font-size:var(--font-size-xs);color:var(--text-tertiary)}.daily-view__list{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.daily-view__item{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);transition:all var(--transition-fast);cursor:pointer;display:flex}.daily-view__item:hover{background:var(--bg-card-hover)}.daily-view__item+.daily-view__item{border-top:1px solid var(--divider)}.daily-view__item-icon{background:var(--bg-primary);border:1px solid var(--glass-border);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;display:flex}.daily-view__item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.daily-view__item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.daily-view__item-meta{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.daily-view__item-amount{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);white-space:nowrap;flex-shrink:0}@media (width<=480px){.daily-view__summary{padding:var(--space-sm) var(--space-md)}.daily-view__item{padding:var(--space-sm) var(--space-md);gap:var(--space-sm)}.daily-view__item-icon{border-radius:var(--radius-sm);width:38px;height:38px;font-size:1.1rem}}.weekly-view{gap:var(--space-lg);flex-direction:column;display:flex}.weekly-view__header{padding:var(--space-lg);border-radius:var(--radius-lg)}.weekly-view__period{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium);margin-bottom:var(--space-md)}.weekly-view__totals{gap:var(--space-xl);display:flex}.weekly-view__total{flex-direction:column;gap:2px;display:flex}.weekly-view__total-label{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-medium)}.weekly-view__total-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.01em}.weekly-view__section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin-bottom:var(--space-sm)}.weekly-view__categories{gap:var(--space-sm);flex-direction:column;display:flex}.weekly-view__category{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);transition:all var(--transition-fast)}.weekly-view__category:hover{background:var(--bg-card-hover)}.weekly-view__category-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.weekly-view__category-left{align-items:center;gap:var(--space-sm);display:flex}.weekly-view__category-icon{font-size:1.25rem}.weekly-view__category-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.weekly-view__category-right{align-items:center;gap:var(--space-sm);display:flex}.weekly-view__category-amount{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.weekly-view__category-percent{font-size:var(--font-size-xs);color:var(--text-tertiary);background:var(--bg-card-hover);border-radius:var(--radius-full);padding:1px 6px}.weekly-view__bar-bg{border-radius:var(--radius-full);background:#ffffff0f;height:6px;overflow:hidden}.weekly-view__bar-fill{background:linear-gradient(90deg, var(--expense) 0%, #ff8fa3 100%);border-radius:var(--radius-full);height:100%;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.monthly-view{gap:var(--space-lg);flex-direction:column;display:flex}.monthly-view__header{justify-content:space-between;align-items:center;display:flex}.monthly-view__period{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.monthly-view__overview{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.monthly-view__stat{padding:var(--space-lg);border-radius:var(--radius-lg);gap:var(--space-xs);flex-direction:column;display:flex}.monthly-view__stat-label{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em}.monthly-view__stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.01em}.monthly-view__stat-bar{border-radius:var(--radius-full);height:4px;margin-top:var(--space-2xs);background:#ffffff0f;overflow:hidden}.monthly-view__stat-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.monthly-view__stat-bar-fill--income{background:linear-gradient(90deg, var(--income) 0%, #33e0aa 100%)}.monthly-view__stat-bar-fill--expense{background:linear-gradient(90deg, var(--expense) 0%, #ff8fa3 100%)}.monthly-view__section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin-bottom:var(--space-md)}.monthly-view__chart-container{padding:var(--space-xl);border-radius:var(--radius-lg);gap:var(--space-xl);align-items:center;display:flex}.monthly-view__donut-wrapper{flex-shrink:0;width:200px;height:200px;position:relative}.monthly-view__donut-center{flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monthly-view__donut-total{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);letter-spacing:-.01em}.monthly-view__donut-label{font-size:var(--font-size-xs);color:var(--text-tertiary)}.monthly-view__legend{gap:var(--space-sm);flex-direction:column;flex:1;display:flex}.monthly-view__legend-item{align-items:center;gap:var(--space-sm);display:flex}.monthly-view__legend-dot{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px}.monthly-view__legend-name{font-size:var(--font-size-sm);color:var(--text-secondary);flex:1}.monthly-view__legend-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}@media (width<=768px){.monthly-view__overview{grid-template-columns:1fr}.monthly-view__chart-container{flex-direction:column;align-items:center}.monthly-view__stat-value{font-size:var(--font-size-lg)}}.pending-bills{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg)}.pending-bills__title{align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--warning);margin-bottom:var(--space-md);display:flex}.pending-bills__list{gap:var(--space-xs);flex-direction:column;display:flex}.pending-bill{align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0;display:flex}.pending-bill--urgent{animation:2s ease-in-out infinite pulse}.pending-bill__icon{font-size:1rem}.pending-bill__name{font-size:var(--font-size-sm);color:var(--text-primary);flex:1}.pending-bill__badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);align-items:center;padding:2px 8px;display:inline-flex}.fab-container{bottom:calc(var(--bottom-nav-height) + var(--space-lg));right:var(--space-xl);z-index:var(--z-fab);align-items:flex-end;gap:var(--space-sm);flex-direction:column;display:flex;position:fixed}.fab-backdrop{z-index:-1;background:#0000004d;animation:.2s forwards fadeIn;position:fixed;inset:0}.fab-button{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent) 0%, #8b7cf7 100%);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-glow-accent), var(--shadow-lg);justify-content:center;align-items:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex}.fab-button:hover{box-shadow:0 0 30px var(--accent-glow), var(--shadow-xl);transform:scale(1.08)}.fab-button:active{transform:scale(.95)}.fab-button--open{box-shadow:var(--shadow-glow-expense), var(--shadow-lg);background:linear-gradient(135deg,#ff4d6a 0%,#ff6b8a 100%);transform:rotate(45deg)}.fab-button--open:hover{transform:rotate(45deg)scale(1.08)}.fab-menu{align-items:flex-end;gap:var(--space-xs);opacity:0;pointer-events:none;flex-direction:column;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;transform:translateY(10px)}.fab-menu--open{opacity:1;pointer-events:auto;transform:translateY(0)}.fab-option{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);background:var(--bg-secondary);border:1px solid var(--glass-border);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;box-shadow:var(--shadow-md);transition:all var(--transition-fast);display:flex}.fab-option:hover{transform:translate(-4px)}.fab-option--income{border-color:var(--income-border)}.fab-option--income svg{color:var(--income)}.fab-option--income:hover{background:#e6f9f0}.fab-option--expense{border-color:var(--expense-border)}.fab-option--expense svg{color:var(--expense)}.fab-option--expense:hover{background:#fde8eb}.fab-option--transfer{border-color:var(--accent-border)}.fab-option--transfer svg{color:var(--accent)}.fab-option--transfer:hover{background:#ebecfa}@media (width>=769px){.fab-container{bottom:var(--space-xl);right:var(--space-2xl)}}@media (width<=768px){.fab-container{display:none!important}}.dashboard{gap:var(--space-lg);flex-direction:column;display:flex}.dashboard__top{margin-bottom:var(--space-2xs)}.dashboard__filter{z-index:var(--z-sticky);padding:var(--space-sm) 0;background:linear-gradient(180deg, var(--bg-primary) 60%, transparent 100%);justify-content:center;display:flex;position:sticky;top:0}.dashboard__content{min-height:200px;animation:.3s forwards fadeInUp}.confirm-message{font-size:var(--font-size-base);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-md)}.tx-filters{gap:var(--space-md);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.tx-search{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all var(--transition-fast);color:var(--text-secondary);display:flex}.tx-search:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg);background:var(--bg-input-focus)}.tx-search__input{color:var(--text-primary);font-size:var(--font-size-sm);background:0 0;border:none;flex:1}.tx-search__input::placeholder{color:var(--text-tertiary)}.tx-filter-pills{gap:var(--space-xs);padding-bottom:2px;display:flex;overflow-x:auto}.tx-filter-pill{padding:var(--space-2xs) var(--space-md);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--glass-border);transition:all var(--transition-fast);white-space:nowrap}.tx-filter-pill:hover{background:var(--bg-card-hover);color:var(--text-primary)}.tx-filter-pill--active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.tx-filter-pill--active.tx-filter-pill--income{background:var(--income-bg);border-color:var(--income-border);color:var(--income)}.tx-filter-pill--active.tx-filter-pill--expense{background:var(--expense-bg);border-color:var(--expense-border);color:var(--expense)}.tx-list{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);flex-direction:column;gap:2px;display:flex;overflow:hidden}.tx-item{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);transition:background var(--transition-fast);cursor:pointer;display:flex}.tx-item:hover{background:var(--bg-card-hover)}.tx-item+.tx-item{border-top:1px solid var(--divider)}.tx-item__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.tx-item__icon--income{background:var(--income-bg)}.tx-item__icon--expense{background:var(--expense-bg)}.tx-item__icon--transfer{background:var(--accent-bg);color:var(--accent);font-size:1rem;font-weight:700}.tx-item__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tx-item__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tx-item__meta{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tx-item__right{align-items:center;gap:var(--space-sm);flex-shrink:0;display:flex}.tx-item__amount{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);white-space:nowrap}.tx-item__delete{border-radius:var(--radius-full);width:28px;height:28px;color:var(--text-tertiary);opacity:0;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.tx-item:hover .tx-item__delete{opacity:1}.tx-item__delete:hover{background:var(--expense-bg);color:var(--expense)}.tx-date-filters{gap:var(--space-sm);border-top:1px solid var(--divider);padding-top:var(--space-sm);margin-top:var(--space-xs);flex-direction:column;display:flex}.tx-date-pills{gap:var(--space-xs);padding-bottom:2px;display:flex;overflow-x:auto}.tx-date-pill{border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-medium);color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--glass-border);transition:all var(--transition-fast);cursor:pointer;white-space:nowrap;padding:4px 12px}.tx-date-pill:hover{background:var(--bg-card-hover);color:var(--text-primary)}.tx-date-pill--active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.tx-custom-dates{align-items:center;gap:var(--space-md);margin-top:var(--space-2xs);display:flex}.date-input-group{align-items:center;gap:var(--space-xs);display:flex}.date-input-group label{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-medium)}.tx-date-input{background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);padding:6px var(--space-sm);font-size:var(--font-size-xs);font-family:var(--font-family)}.tx-date-input:focus{border-color:var(--accent);outline:none}@media (width<=480px){.tx-custom-dates{align-items:stretch;gap:var(--space-xs);flex-direction:column}}@media (width<=768px){.tx-item{padding:var(--space-sm) var(--space-md);gap:var(--space-sm)}.tx-item__icon{border-radius:var(--radius-sm);width:38px;height:38px;font-size:1.1rem}.tx-item__delete{opacity:1!important}}.page-title-row{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.page-title-row .page-title{margin-bottom:0}.cat-tree{flex-direction:column;gap:2px;display:flex}.cat-node{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.cat-parent{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);transition:background var(--transition-fast);display:flex}.cat-parent:hover{background:var(--bg-card-hover)}.cat-parent--disabled{opacity:.5}.cat-expand{width:24px;height:24px;color:var(--text-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.cat-icon{flex-shrink:0;font-size:1.25rem}.cat-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);flex:1}.cat-count{font-size:var(--font-size-xs);color:var(--text-tertiary);background:var(--bg-card-hover);border-radius:var(--radius-full);flex-shrink:0;padding:1px 8px}.cat-actions{opacity:0;transition:opacity var(--transition-fast);gap:4px;display:flex}.cat-parent:hover .cat-actions,.cat-child:hover .cat-actions{opacity:1}.cat-action{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:.75rem;display:flex}.cat-action:hover{background:var(--bg-card-hover);color:var(--text-primary)}.cat-action--danger:hover{background:var(--expense-bg);color:var(--expense)}.cat-children{border-top:1px solid var(--divider)}.cat-child{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);padding-left:calc(var(--space-lg) + 24px + var(--space-sm));transition:background var(--transition-fast);display:flex}.cat-child:hover{background:var(--bg-card-hover)}.cat-child--disabled{opacity:.5}.cat-child+.cat-child{border-top:1px solid var(--divider)}.cat-form{gap:var(--space-lg);flex-direction:column;display:flex}.cat-form__emojis{flex-wrap:wrap;gap:4px;display:flex}.cat-form__emoji{border-radius:var(--radius-sm);width:36px;height:36px;transition:all var(--transition-fast);border:2px solid #0000;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.cat-form__emoji:hover{background:var(--bg-card-hover)}.cat-form__emoji--selected{background:var(--accent-bg);border-color:var(--accent)}.debt-summary{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:1fr 1fr;display:grid}.debt-summary__item{padding:var(--space-lg);border-radius:var(--radius-lg);gap:var(--space-2xs);flex-direction:column;display:flex}.debt-summary__label{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em}.debt-summary__value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.debt-tabs{background:var(--bg-card);border-radius:var(--radius-md);margin-bottom:var(--space-lg);border:1px solid var(--glass-border);gap:2px;padding:3px;display:flex}.debt-tab{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);transition:all var(--transition-fast);text-align:center;flex:1}.debt-tab:hover{color:var(--text-primary)}.debt-tab--active{background:var(--accent-bg);color:var(--accent)}.debt-list{gap:var(--space-md);flex-direction:column;display:flex}.debt-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-lg);gap:var(--space-md);transition:all var(--transition-normal);flex-direction:column;display:flex}.debt-card:hover{border-color:var(--glass-border-hover)}.debt-card__header{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.debt-card__person{align-items:center;gap:var(--space-sm);display:flex}.debt-card__avatar{border-radius:var(--radius-full);width:40px;height:40px;font-weight:var(--font-weight-bold);font-size:var(--font-size-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.debt-card__avatar--lending{background:var(--income-bg);color:var(--income);border:1px solid var(--income-border)}.debt-card__avatar--borrowing{background:var(--expense-bg);color:var(--expense);border:1px solid var(--expense-border)}.debt-card__info{flex-direction:column;gap:2px;display:flex}.debt-card__name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.debt-card__type{font-size:var(--font-size-xs);color:var(--text-tertiary)}.debt-card__amounts{text-align:right;flex-direction:column;gap:2px;display:flex}.debt-card__remaining{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.debt-card__total{font-size:var(--font-size-xs);color:var(--text-tertiary)}.debt-card__progress{align-items:center;gap:var(--space-sm);display:flex}.debt-card__progress-bar{border-radius:var(--radius-full);background:#ffffff0f;flex:1;height:6px;overflow:hidden}.debt-card__progress-fill{border-radius:var(--radius-full);height:100%;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.debt-card__progress-fill--lending{background:linear-gradient(90deg, var(--income) 0%, #33e0aa 100%)}.debt-card__progress-fill--borrowing{background:linear-gradient(90deg, var(--expense) 0%, #ff8fa3 100%)}.debt-card__progress-text{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap}.debt-card__repayments{border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);background:#ffffff05}.debt-card__repayment{font-size:var(--font-size-xs);color:var(--text-secondary);justify-content:space-between;padding:2px 0;display:flex}.debt-card__repayment-amount{font-weight:var(--font-weight-medium);color:var(--text-primary)}.debt-card__note{font-size:var(--font-size-xs);color:var(--text-tertiary);font-style:italic}.debt-card__actions{gap:var(--space-xs);display:flex}.debt-type-toggle{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--glass-border);gap:2px;padding:3px;display:flex}.debt-type-btn{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);transition:all var(--transition-fast);text-align:center;flex:1}.debt-type-btn--active.debt-type-btn--lending{background:var(--income-bg);color:var(--income)}.debt-type-btn--active.debt-type-btn--borrowing{background:var(--expense-bg);color:var(--expense)}@media (width<=600px){.debt-summary{grid-template-columns:1fr}.debt-card__header{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.debt-card__amounts{text-align:left;width:100%}.debt-card__actions{flex-direction:column;align-items:stretch}}.reminder-notice{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-size:var(--font-size-sm);display:flex}.reminder-notice--warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning)}.reminder-notice--info{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text-primary)}.reminder-list{gap:var(--space-sm);flex-direction:column;display:flex}.reminder-card{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);transition:all var(--transition-fast);display:flex}.reminder-card:hover{background:var(--bg-card-hover)}.reminder-card--overdue{border-color:var(--expense-border);background:var(--expense-bg)}.reminder-card--upcoming{border-color:var(--warning-border)}.reminder-card__left{align-items:center;gap:var(--space-md);flex:1;min-width:0;display:flex}.reminder-card__icon{flex-shrink:0;font-size:1.5rem}.reminder-card__info{flex-direction:column;gap:2px;min-width:0;display:flex}.reminder-card__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.reminder-card__due{font-size:var(--font-size-xs);color:var(--text-tertiary)}.reminder-card__right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.reminder-card__badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);align-items:center;padding:2px 10px;display:inline-flex}.reminder-card__alert-info{color:var(--text-tertiary);font-size:.65rem}.reminder-type-badge{border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:10px;font-weight:var(--font-weight-medium);margin-left:var(--space-xs);vertical-align:middle;text-transform:uppercase;background:#ffffff14;padding:2px 6px}.reminder-card__right-actions{align-items:center;gap:var(--space-lg);display:flex}.reminder-actions-row{align-items:center;gap:var(--space-xs);display:flex}.reminder-btn{border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;height:32px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);background:#ffffff0d;justify-content:center;align-items:center;padding:0 10px;display:flex}.reminder-btn--pay{background:var(--income-bg);border-color:var(--income-border);color:var(--income)}.reminder-btn--pay:hover{background:var(--income-bg-hover);box-shadow:0 0 8px var(--income-glow)}.reminder-btn--edit:hover{border-color:var(--accent);background:#ffffff1a}.reminder-btn--delete:hover{background:var(--expense-bg);border-color:var(--expense-border);color:var(--expense)}.reminder-editing-notice{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius-md);padding:var(--space-md);font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:var(--space-md);line-height:1.4}.reminder-card--paid{border-color:var(--income-border);opacity:.9;background:#10b98105}.reminder-btn--paid{cursor:not-allowed;opacity:.9;background:var(--income-bg)!important;border-color:var(--income-border)!important;color:var(--income)!important}@media (width<=600px){.reminder-card{align-items:stretch;gap:var(--space-md);flex-direction:column}.reminder-card__right-actions{border-top:1px solid var(--divider);padding-top:var(--space-sm);flex-direction:row-reverse;justify-content:space-between;align-items:center}.reminder-card__right{align-items:flex-start;gap:var(--space-sm);flex-direction:row}}.committee-list{gap:var(--space-md);margin-top:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.committee-card{padding:var(--space-lg);border-radius:var(--radius-lg);gap:var(--space-md);border:1px solid var(--glass-border);flex-direction:column;display:flex}.committee-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.committee-card__info-block{align-items:center;gap:var(--space-sm);display:flex}.committee-card__emoji{font-size:2rem}.committee-card__name{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.committee-card__sub{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:2px 0 0}.committee-card__badge-row{align-items:flex-end;gap:var(--space-2xs);flex-direction:column;display:flex}.committee-badge{font-size:10px;font-weight:var(--font-weight-bold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.02em;padding:3px 8px}.committee-badge--active{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent)}.committee-badge--received{background:var(--income-bg);border:1px solid var(--income-border);color:var(--income)}.committee-badge--completed{border:1px solid var(--border-default);color:var(--text-secondary);background:#ffffff0d}.committee-card__amounts{gap:var(--space-xs);background:var(--bg-primary);border:1px solid var(--border-subtle);padding:var(--space-md);border-radius:var(--radius-md);flex-direction:column;display:flex}.com-amount-row{padding-bottom:var(--space-2xs);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.com-amount-row:last-child{border-bottom:none;padding-bottom:0}.com-amount-label{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.com-amount-val{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-primary);white-space:nowrap}.com-amount-sub-val{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-regular)}.committee-card__progress{align-items:center;gap:var(--space-md);display:flex}.com-progress-bar-bg{border-radius:var(--radius-full);background:#ffffff0d;flex:1;height:6px;overflow:hidden}.com-progress-bar-fill{background:linear-gradient(90deg, var(--accent) 0%, var(--income) 100%);border-radius:var(--radius-full);height:100%;transition:width .4s}.com-progress-percent{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-secondary);text-align:right;min-width:32px}.committee-card__payout-notice{font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.payout-status{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);align-items:center;gap:var(--space-xs);display:flex}.payout-status--received{background:var(--income-bg);color:var(--income);border:1px solid var(--income-border)}.payout-status--pending{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff05}.committee-card__actions{gap:var(--space-sm);margin-top:var(--space-xs);flex-direction:column;display:flex}.com-main-actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.com-main-actions .btn{flex:1;min-width:100px}.com-sub-actions{gap:var(--space-xs);display:flex}.com-sub-actions .btn{flex:1}.form-payment-warning{background:var(--info-bg);border:1px solid var(--info);border-radius:var(--radius-md);padding:var(--space-md);font-size:var(--font-size-xs);color:var(--text-primary);line-height:1.4}.committee-card__history{border-top:1px dashed var(--divider);padding-top:var(--space-sm);margin-top:var(--space-xs)}.com-history-summary{color:var(--text-tertiary);font-size:9px;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;list-style:none;display:flex}.com-history-summary::-webkit-details-marker{display:none}.com-history-toggle-icon{transition:transform var(--transition-fast);font-size:8px}.committee-card__history[open] .com-history-toggle-icon{transform:rotate(180deg)}.com-history-list{gap:var(--space-2xs);max-height:120px;margin-top:var(--space-xs);flex-direction:column;padding-right:4px;display:flex;overflow-y:auto}.com-history-row{font-size:var(--font-size-xs);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:4px 0;display:flex}.com-history-row:last-child{border-bottom:none}.com-history-month{color:var(--text-primary);font-weight:var(--font-weight-medium)}.com-history-date{color:var(--text-secondary)}.com-tabs-container{margin-bottom:var(--space-lg);display:flex}.com-tabs{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-full);padding:4px;display:inline-flex}.com-tab{padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);transition:all var(--transition-fast);white-space:nowrap;text-align:center;cursor:pointer;background:0 0;border:none;min-width:90px}.com-tab--active{background:var(--accent);box-shadow:var(--shadow-glow-accent);color:#fff!important}.com-tab:hover:not(.com-tab--active){color:var(--text-primary)}@media (width<=480px){.committee-list{grid-template-columns:1fr}.committee-card__header{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.committee-card__badge-row{align-items:flex-start}.committee-card__amounts{padding:var(--space-md)}.com-amount-row{flex-direction:row;justify-content:space-between;align-items:center}}.settings-section{margin-bottom:var(--space-2xl)}.settings-section__header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.settings-section__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-md)}.settings-section__header .settings-section__title{margin-bottom:0}.settings-card{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg)}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-sm) 0;display:flex}.settings-row__info{flex-direction:column;flex:1;gap:2px;display:flex}.settings-row__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.settings-row__hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.settings-row__control{flex-shrink:0}.settings-row__input{text-align:right;width:120px}.settings-row__actions{gap:var(--space-xs);flex-shrink:0;display:flex}.settings-accounts{gap:var(--space-sm);flex-direction:column;display:flex}.settings-account{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);display:flex}.settings-account:hover{background:var(--bg-card-hover)}.settings-account__icon{flex-shrink:0;font-size:1.5rem}.settings-account__info{flex-direction:column;flex:1;gap:2px;display:flex}.settings-account__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.settings-account__type{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:capitalize}.settings-account__balance{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.settings-footer{text-align:center;padding:var(--space-2xl) 0;color:var(--text-tertiary);font-size:var(--font-size-xs);gap:var(--space-2xs);flex-direction:column;display:flex}@media (width<=480px){.settings-row{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.settings-row__input{text-align:left;width:100%}}@media (width>=769px){.hide-desktop-nav{display:none}}.login-page{z-index:9999;width:100vw;height:100vh;font-family:var(--font-family);background-color:#0d0b18;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;overflow:hidden}.login-bg-glows{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.glow-circle{border-radius:var(--radius-full);filter:blur(100px);opacity:.15;position:absolute}.glow-circle-1{background:radial-gradient(circle, var(--accent) 0%, transparent 70%);width:50vw;height:50vw;top:-10%;left:-10%}.glow-circle-2{background:radial-gradient(circle, var(--income) 0%, transparent 70%);width:45vw;height:45vw;bottom:-10%;right:-10%}.login-container{width:100%;max-width:440px;padding:var(--space-md);z-index:2}.login-card{border:1px solid var(--border-default);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-xl), 0 0 30px #6c5ce70d;background:#14122173}.login-logo{text-align:center;margin-bottom:var(--space-xl);flex-direction:column;align-items:center;display:flex}.login-logo-icon{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);border-radius:var(--radius-lg);color:#fff;width:64px;height:64px;box-shadow:var(--shadow-glow-accent);margin-bottom:var(--space-md);justify-content:center;align-items:center;display:flex}.login-logo-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:-.5px;background:linear-gradient(120deg,#fff 0%,#ffffffb3 100%);-webkit-text-fill-color:transparent;margin-bottom:var(--space-2xs);-webkit-background-clip:text}.login-logo-subtitle{font-size:var(--font-size-sm);color:var(--text-muted)}.login-form{gap:var(--space-md);flex-direction:column;display:flex}.login-form-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-align:center}.login-form-subtitle{font-size:var(--font-size-xs);color:var(--text-muted);text-align:center;margin-top:calc(-1 * var(--space-xs));margin-bottom:var(--space-xs);line-height:1.4}.login-error-message{background:var(--expense-bg);border:1px solid var(--expense-border);color:var(--expense);padding:var(--space-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm);text-align:center}.login-input-group{gap:var(--space-xs);flex-direction:column;display:flex}.login-input-group label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.login-input-wrapper{width:100%;position:relative}.login-input-wrapper input{border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;padding:12px var(--space-xl) 12px 14px;color:var(--text-primary);font-size:var(--font-size-md);transition:all var(--transition-fast);background:#ffffff0a}.login-input-wrapper input:focus{border-color:var(--accent);background:#ffffff14;outline:none;box-shadow:0 0 0 3px #6c5ce733}.login-toggle-visible{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.login-toggle-visible:hover{color:var(--text-primary)}.login-submit-btn{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-normal);margin-top:var(--space-xs);box-shadow:var(--shadow-glow-accent);border:none;justify-content:center;align-items:center;padding:14px;display:flex}.login-submit-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px)}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-spinner{border-radius:var(--radius-full);border:2px solid #ffffff4d;border-top-color:#fff;width:20px;height:20px;animation:.8s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.animate-slide-up{animation:.6s cubic-bezier(.16,1,.3,1) forwards slideUp}:root{--bg-primary:#f4f6fa;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-card-active:#f1f5f9;--bg-input:#f8fafc;--bg-input-focus:#fff;--bg-modal-overlay:#0f172a66;--glass-border:#0000000a;--glass-border-hover:#00000014;--glass-blur:0px;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-inverse:#fff;--income:#10b981;--income-hover:#059669;--income-bg:#10b98114;--income-bg-hover:#10b98126;--income-border:#10b98126;--income-glow:#10b98114;--expense:#ef4444;--expense-hover:#dc2626;--expense-bg:#ef444414;--expense-bg-hover:#ef444426;--expense-border:#ef444426;--expense-glow:#ef444414;--accent:#3b3dbf;--accent-hover:#2d2f9e;--accent-bg:#3b3dbf14;--accent-bg-hover:#3b3dbf26;--accent-border:#3b3dbf26;--accent-glow:#3b3dbf14;--warning:#f59e0b;--warning-bg:#f59e0b14;--warning-border:#f59e0b26;--info:#3b82f6;--info-bg:#3b82f614;--lending:#10b981;--borrowing:#ef4444;--border-subtle:#f1f5f9;--border-default:#e2e8f0;--divider:#f1f5f9;--shadow-sm:0 1px 3px #0000000d, 0 1px 2px #00000005;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -2px #00000005;--shadow-xl:0 20px 25px -5px #0000000d, 0 10px 10px -5px #00000005;--shadow-glow-accent:0 4px 12px #3b3dbf26;--shadow-glow-income:0 4px 12px #10b98126;--shadow-glow-expense:0 4px 12px #ef444426;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.9375rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.25rem;--font-size-4xl:3rem;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.7;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--z-base:0;--z-dropdown:100;--z-sticky:200;--z-modal-backdrop:300;--z-modal:400;--z-toast:500;--z-fab:250;--sidebar-width:260px;--header-height:64px;--bottom-nav-height:72px;--max-content-width:1200px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}#root{min-height:100vh}a{color:var(--accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}button{cursor:pointer;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;outline:none}ul,ol{list-style:none}img{max-width:100%;display:block}input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--bg-secondary) inset!important;-webkit-text-fill-color:var(--text-primary)!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#0000001a}::-webkit-scrollbar-thumb:hover{background:#0003}.glass-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.glass-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.glass-card--static{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.glass-card--accent{border-color:var(--accent-border);box-shadow:var(--shadow-glow-accent)}.btn{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:all var(--transition-normal);white-space:nowrap;-webkit-user-select:none;user-select:none;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;transition:opacity var(--transition-fast);background:linear-gradient(135deg,#ffffff1a 0%,#0000 50%);position:absolute;inset:0}.btn:hover:after{opacity:1}.btn:active{transform:scale(.97)}.btn--primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-glow-accent)}.btn--primary:hover{background:var(--accent-hover)}.btn--income{background:var(--income);color:var(--text-inverse);box-shadow:var(--shadow-glow-income)}.btn--expense{background:var(--expense);color:#fff;box-shadow:var(--shadow-glow-expense)}.btn--ghost{background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-primary)}.btn--ghost:hover{background:var(--bg-card-hover);border-color:var(--glass-border-hover)}.btn--sm{padding:var(--space-2xs) var(--space-sm);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn--lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-md)}.btn--full{width:100%}.btn--danger{background:var(--expense);color:#fff}.btn--danger.btn--ghost{border:1px solid var(--expense-border);color:var(--expense);background:0 0}.btn--danger.btn--ghost:hover{background:var(--expense-bg);border-color:var(--expense-border);color:var(--expense)}.btn--icon{border-radius:var(--radius-full);width:40px;height:40px;padding:0}.form-group{gap:var(--space-2xs);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);letter-spacing:.02em}.form-input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast)}.form-input:focus{background:var(--bg-input-focus);border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg)}.form-input::placeholder{color:var(--text-tertiary)}.form-input--error{border-color:var(--expense-border);box-shadow:0 0 0 3px var(--expense-bg)}.form-select{width:100%;padding:var(--space-sm) var(--space-md);padding-right:var(--space-xl);background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%238b8b9e' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat}.form-select:focus{background-color:var(--bg-input-focus);border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg)}.form-textarea{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast);resize:vertical;min-height:80px}.form-textarea:focus{background:var(--bg-input-focus);border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg)}.form-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.form-error{font-size:var(--font-size-xs);color:var(--expense)}.text-income{color:var(--income)!important}.text-expense{color:var(--expense)!important}.text-accent{color:var(--accent)!important}.text-secondary{color:var(--text-secondary)!important}.text-warning{color:var(--warning)!important}.bg-income{background:var(--income-bg)!important}.bg-expense{background:var(--expense-bg)!important}.bg-accent{background:var(--accent-bg)!important}.font-bold{font-weight:var(--font-weight-bold)!important}.font-semibold{font-weight:var(--font-weight-semibold)!important}.font-medium{font-weight:var(--font-weight-medium)!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.amount-major{font-size:1.3em;font-weight:var(--font-weight-bold);letter-spacing:-.01em}.amount-major.text-income{text-shadow:0 0 12px var(--income-glow)}.amount-major.text-expense{text-shadow:0 0 12px var(--expense-glow)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease forwards}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) ease forwards}.animate-fade-in-scale{animation:fadeInScale var(--transition-spring) forwards}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease forwards}.animate-slide-in-left{animation:slideInLeft var(--transition-slow) ease forwards}.animate-pulse{animation:2s ease-in-out infinite pulse}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.02em;align-items:center;padding:2px 8px;display:inline-flex}.badge--income{background:var(--income-bg);color:var(--income);border:1px solid var(--income-border)}.badge--expense{background:var(--expense-bg);color:var(--expense);border:1px solid var(--expense-border)}.badge--warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.badge--accent{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border)}.badge--fixed{background:var(--info-bg);color:var(--info)}.divider{background:var(--divider);width:100%;height:1px}.page{padding:var(--space-lg);padding-bottom:calc(var(--space-3xl) + 56px);max-width:var(--max-content-width);margin:0 auto;animation:.3s forwards fadeInUp}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-lg);letter-spacing:-.02em}.page-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:calc(-1 * var(--space-sm));margin-bottom:var(--space-lg)}.grid-2{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--bg-card-hover) 50%, var(--bg-card) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.tooltip-wrapper{position:relative}.tooltip-wrapper:after{content:attr(data-tooltip);background:var(--bg-secondary);color:var(--text-primary);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm);font-size:var(--font-size-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:all var(--transition-fast);border:1px solid var(--glass-border);z-index:var(--z-dropdown);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)scale(.9)}.tooltip-wrapper:hover:after{opacity:1;transform:translate(-50%)scale(1)}@media (width<=768px){:root{--font-size-3xl:1.75rem;--font-size-2xl:1.375rem;--font-size-xl:1.125rem}.page{padding:var(--space-md);padding-bottom:calc(var(--bottom-nav-height) + var(--space-3xl) + 56px)}.grid-2,.grid-3{grid-template-columns:1fr}.hide-mobile{display:none!important}}@media (width>=769px){.hide-desktop{display:none!important}}
