:root{color-scheme:light;--bg-primary: #fafaf8;--bg-secondary: #f0efe9;--bg-card: #ffffff;--bg-elevated: #ffffff;--text-primary: #1a1a1a;--text-secondary: #5c5c5c;--text-tertiary: #8c8c8c;--text-accent: #1a1a1a;--border-light: #e8e6e1;--border-medium: #d4d2cc;--border-focus: #1a1a1a;--success: #16a34a;--success-light: rgba(22, 163, 74, .08);--danger: #ef4444;--danger-light: rgba(239, 68, 68, .08);--accent: #1a1a1a;--accent-light: rgba(0, 0, 0, .03);--bank: #2563eb;--bank-soft: rgba(37, 99, 235, .1);--investment: #7c3aed;--investment-soft: rgba(124, 58, 237, .1);--warning: #d97706;--warning-light: rgba(217, 119, 6, .1);--expense-food: #e85d3f;--expense-food-soft: rgba(232, 93, 63, .11);--expense-transport: #2563eb;--expense-transport-soft: rgba(37, 99, 235, .1);--expense-shopping: #7c3aed;--expense-shopping-soft: rgba(124, 58, 237, .1);--expense-bills: #d97706;--expense-bills-soft: rgba(217, 119, 6, .1);--expense-entertainment: #db2777;--expense-entertainment-soft: rgba(219, 39, 119, .1);--expense-health: #059669;--expense-health-soft: rgba(5, 150, 105, .1);--expense-education: #4f46e5;--expense-education-soft: rgba(79, 70, 229, .1);--expense-subscription: #0891b2;--expense-subscription-soft: rgba(8, 145, 178, .1);--expense-income: #16a34a;--expense-income-soft: rgba(22, 163, 74, .1);--expense-other: #64748b;--expense-other-soft: rgba(100, 116, 139, .1);--accent-card-bg: #1a1a1a;--accent-card-text: #fafaf8;--accent-card-muted: rgba(250, 250, 248, .7);--accent-card-overlay: rgba(255, 255, 255, .12);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif: "Merriweather", Georgia, "Times New Roman", serif;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .06);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .08);--shadow-float: 0 8px 28px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .04);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 9999px;--radius: 16px}[data-theme=dark]{color-scheme:dark;--bg-primary: #161614;--bg-secondary: #1c1c1a;--bg-card: #1c1c1a;--bg-elevated: #252523;--text-primary: #f5f5f3;--text-secondary: #b8b8b2;--text-tertiary: #8a8a84;--text-accent: #f5f5f3;--border-light: #30302d;--border-medium: #44443f;--border-focus: #f5f5f3;--success: #4ade80;--success-light: rgba(74, 222, 128, .13);--danger: #fb7185;--danger-light: rgba(251, 113, 133, .14);--accent: #f5f5f3;--accent-light: rgba(255, 255, 255, .05);--bank: #60a5fa;--bank-soft: rgba(96, 165, 250, .14);--investment: #c084fc;--investment-soft: rgba(192, 132, 252, .14);--warning: #fbbf24;--warning-light: rgba(251, 191, 36, .14);--expense-food: #fb8a70;--expense-food-soft: rgba(251, 138, 112, .14);--expense-transport: #60a5fa;--expense-transport-soft: rgba(96, 165, 250, .14);--expense-shopping: #c084fc;--expense-shopping-soft: rgba(192, 132, 252, .14);--expense-bills: #fbbf24;--expense-bills-soft: rgba(251, 191, 36, .14);--expense-entertainment: #f472b6;--expense-entertainment-soft: rgba(244, 114, 182, .14);--expense-health: #34d399;--expense-health-soft: rgba(52, 211, 153, .14);--expense-education: #818cf8;--expense-education-soft: rgba(129, 140, 248, .14);--expense-subscription: #22d3ee;--expense-subscription-soft: rgba(34, 211, 238, .14);--expense-income: #4ade80;--expense-income-soft: rgba(74, 222, 128, .14);--expense-other: #94a3b8;--expense-other-soft: rgba(148, 163, 184, .14);--accent-card-bg: #292925;--accent-card-text: #f5f5f3;--accent-card-muted: rgba(245, 245, 243, .68);--accent-card-overlay: rgba(255, 255, 255, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .7);--shadow-float: 0 8px 28px rgba(0, 0, 0, .8)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11";overscroll-behavior:none}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--text-primary);letter-spacing:-.02em;line-height:1.2}h1{font-size:2.5rem;font-weight:700}h2{font-size:1.75rem}h3{font-size:1.25rem}h4{font-size:1rem}p{color:var(--text-secondary);line-height:1.6}button,input,select,textarea{font-family:var(--font-sans)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}@media(max-width:768px){.container{padding:0 var(--spacing-md)}}.card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:border-color .2s ease}.card:hover{border-color:var(--border-medium)}.card-elevated{background:var(--bg-elevated);border:none;box-shadow:var(--shadow-md)}.card-elevated:hover{box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-primary);cursor:pointer;font-weight:500;font-size:.9375rem;transition:all .15s ease;white-space:nowrap}.btn:hover{background:var(--accent-light)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--text-primary);color:var(--bg-primary);font-weight:600}.btn-primary:hover{opacity:.9}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-light)}.btn-secondary:hover{background:var(--bg-card);border-color:var(--border-medium)}.btn-ghost{background:transparent;padding:8px 12px}.btn-ghost:hover{background:var(--accent-light)}.btn-icon{padding:10px;border-radius:var(--radius-full);width:40px;height:40px}input,select,textarea{padding:14px 16px;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:1rem;transition:all .15s ease;background-color:var(--bg-card);color:var(--text-primary);width:100%}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}select option{background-color:var(--bg-card);color:var(--text-primary)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 3px var(--accent-light)}input:hover:not(:focus),select:hover:not(:focus){border-color:var(--border-medium)}label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:8px}input[type=range]{-webkit-appearance:none;appearance:none;background:var(--border-light);border-radius:var(--radius-full);height:4px;cursor:pointer;padding:0;border:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--text-primary);cursor:pointer;border:3px solid var(--bg-card);box-shadow:var(--shadow-md);transition:all .15s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--text-primary);cursor:pointer;border:3px solid var(--bg-card);box-shadow:var(--shadow-md);transition:all .15s ease}input[type=range]::-moz-range-thumb:hover{transform:scale(1.1)}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--text-primary)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.badge-success{background:var(--success-light);color:var(--success)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-neutral{background:var(--accent-light);color:var(--text-secondary)}.divider{height:1px;background:var(--border-light);margin:var(--spacing-lg) 0}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.stat-value{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;line-height:1.1}.stat-value-sm{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.stat-label{font-size:.875rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.progress-bar{height:8px;width:100%;background:var(--bg-secondary);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:var(--text-primary);border-radius:var(--radius-full);transition:width .6s cubic-bezier(.4,0,.2,1)}.metric-card{padding:var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-spin{animation:spin 1s linear infinite}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-up{animation:slideUp .4s ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}::selection{background:var(--text-primary);color:var(--bg-primary)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:8px 12px;background:var(--text-primary);color:var(--bg-primary);font-size:.75rem;font-weight:500;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none;margin-bottom:8px}[data-tooltip]:hover:after{opacity:1;visibility:visible}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.grid{display:grid;gap:var(--spacing-md)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.border{border:1px solid var(--border-light)}.border-t{border-top:1px solid var(--border-light)}.border-b{border-bottom:1px solid var(--border-light)}@media(max-width:768px){.hidden-mobile{display:none!important}}@media(min-width:769px){.hidden-desktop{display:none!important}}@media(max-width:768px){h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}.stat-value{font-size:1.75rem}.stat-value-sm{font-size:1.25rem}.card{padding:var(--spacing-md);border-radius:var(--radius-md)}.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-width:100%!important;width:100%!important;max-height:92vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0)}.btn-icon{width:44px;height:44px}input,select,textarea{font-size:1rem}.btn:active,button:active{opacity:.85}button,[role=button]{-webkit-tap-highlight-color:transparent}}@media(max-width:480px){h1,.stat-value{font-size:1.5rem}}
