:root{--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-slow:.3s ease}[data-theme=dark] ::-webkit-scrollbar-track{background:0 0}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}[data-theme=dark] ::selection{background:var(--color-selection)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);min-height:100%}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text-primary);min-height:100vh;margin:0;padding:0;line-height:1.6}html,body{overscroll-behavior:none}#root{background-color:var(--color-bg);min-height:100vh}.config-missing{background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-display);text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:20px;display:flex}.config-missing h1{margin:0 0 16px}.config-missing p{color:var(--color-text-secondary);max-width:400px;margin:0}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.amount{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:600}.amount-positive{color:var(--color-income)}.amount-negative{color:var(--color-expense)}.glass-card{background:var(--glass-surface);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass);position:relative;overflow:hidden}.glass-card:before{content:"";background:var(--glass-highlight);pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0}.glass-panel,.glass-panel-heavy{background:var(--glass-surface);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass)}.sidebar-glass{background:var(--glass-surface);border-right:1px solid var(--glass-border)}.glass-input{background:var(--color-bg-elevated);border:1px solid var(--color-border);transition:background var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal)}.glass-input:focus-within{background:var(--color-bg-elevated);border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.row-glow{transition:background var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal)}.row-glow:hover{background:var(--row-hover-bg);box-shadow:var(--row-hover-shadow);z-index:10;position:relative;transform:scale(1.002)}.nav-item-active{background:var(--color-primary-soft);border-left:2px solid var(--color-primary)}.category-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:16px;align-items:center;gap:6px;padding:4px 12px;font-size:.6875rem;font-weight:600;display:inline-flex}.category-badge--rent{background:var(--category-rent-bg);color:var(--category-rent);box-shadow:var(--category-rent-shadow)}.category-badge--food{background:var(--category-food-bg);color:var(--category-food);box-shadow:var(--category-food-shadow)}.category-badge--merchandise{background:var(--category-merchandise-bg);color:var(--category-merchandise);box-shadow:var(--category-merchandise-shadow)}.category-badge--services{background:var(--category-services-bg);color:var(--category-services);box-shadow:var(--category-services-shadow)}.category-badge--loans{background:var(--category-loans-bg);color:var(--category-loans);box-shadow:var(--category-loans-shadow)}.category-badge--travel{background:var(--category-travel-bg);color:var(--category-travel);box-shadow:var(--category-travel-shadow)}.category-badge--entertainment{background:var(--category-entertainment-bg);color:var(--category-entertainment);box-shadow:var(--category-entertainment-shadow)}.category-badge--transfer{background:var(--category-transfer-bg);color:var(--category-transfer);box-shadow:var(--category-transfer-shadow)}.category-badge--income{background:var(--category-income-bg);color:var(--category-income);box-shadow:var(--category-income-shadow)}.page-wrapper{animation:.4s ease-out pageEnter}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stagger-item{opacity:0;animation:.5s ease-out forwards staggerFadeIn}.stagger-item:first-child{animation-delay:50ms}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}.stagger-item:nth-child(6){animation-delay:.3s}.stagger-item:nth-child(7){animation-delay:.35s}.stagger-item:nth-child(8){animation-delay:.4s}.stagger-item:nth-child(9){animation-delay:.45s}.stagger-item:nth-child(10){animation-delay:.5s}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:var(--skeleton-gradient);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-enter{animation:.3s ease-out toastEnter}.toast-exit{animation:.2s ease-in forwards toastExit}@keyframes toastEnter{0%{opacity:0;transform:translateY(-16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastExit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-16px)scale(.95)}}.modal-backdrop{animation:.2s ease-out fadeIn}.modal-content{animation:.3s ease-out modalEnter}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalEnter{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.card-interactive{transition:transform var(--transition-normal), box-shadow var(--transition-normal)}.card-interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.glass-card-hover{transition:background var(--transition-normal), border-color var(--transition-normal)}.glass-card-hover:hover{background:var(--glass-highlight);border-color:var(--color-border-hover)}.btn-loading{position:relative;color:#0000!important}.btn-loading:after{content:"";border:2px solid var(--button-loading-track);border-top-color:var(--button-loading-accent);border-radius:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;animation:.6s linear infinite spin;position:absolute;top:50%;left:50%}.btn-glow{box-shadow:var(--btn-glow-shadow);transition:box-shadow var(--transition-normal), transform var(--transition-normal)}.btn-glow:hover{box-shadow:var(--btn-glow-shadow-hover);transform:translateY(-2px)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,.MuiButtonBase-root:focus-visible,.MuiCardActionArea-root:focus-visible{box-shadow:var(--shadow-focus);outline:2px solid #0000}::selection{background:var(--color-primary-soft)}.glow-indicator,.badge-glow,.progress-glow{box-shadow:var(--shadow-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=768px){:root{--spacing-lg:20px;--spacing-xl:24px;--spacing-2xl:32px}}
