@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--primary: hsl(262, 83%, 58%);--primary-dark: hsl(262, 83%, 48%);--primary-light: hsl(262, 83%, 68%);--success: hsl(142, 76%, 36%);--success-light: hsl(142, 76%, 46%);--success-bg: hsl(142, 76%, 96%);--danger: hsl(0, 84%, 60%);--danger-light: hsl(0, 84%, 70%);--danger-bg: hsl(0, 84%, 96%);--warning: hsl(45, 93%, 47%);--warning-light: hsl(45, 93%, 57%);--warning-bg: hsl(45, 93%, 96%);--info: hsl(199, 89%, 48%);--info-light: hsl(199, 89%, 58%);--info-bg: hsl(199, 89%, 96%);--bg-primary: hsl(240, 20%, 99%);--bg-secondary: hsl(240, 20%, 96%);--bg-tertiary: hsl(240, 15%, 92%);--surface: hsl(0, 0%, 100%);--surface-hover: hsl(240, 20%, 98%);--text-primary: hsl(240, 20%, 15%);--text-secondary: hsl(240, 10%, 40%);--text-tertiary: hsl(240, 5%, 60%);--border: hsl(240, 15%, 90%);--border-light: hsl(240, 10%, 95%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .18);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}@media (prefers-color-scheme: dark){:root{--bg-primary: hsl(240, 20%, 8%);--bg-secondary: hsl(240, 20%, 12%);--bg-tertiary: hsl(240, 15%, 16%);--surface: hsl(240, 20%, 10%);--surface-hover: hsl(240, 20%, 14%);--text-primary: hsl(240, 20%, 95%);--text-secondary: hsl(240, 10%, 70%);--text-tertiary: hsl(240, 5%, 50%);--border: hsl(240, 15%, 20%);--border-light: hsl(240, 10%, 15%);--glass-bg: rgba(20, 20, 30, .7);--glass-border: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .2)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;color:var(--text-primary)}h1{font-size:1.5rem;margin-bottom:var(--spacing-xs);letter-spacing:-.025em}h2{font-size:1.125rem;margin-bottom:var(--spacing-xs);letter-spacing:-.025em;font-weight:600}h3{font-size:1rem;margin-bottom:var(--spacing-xs);font-weight:600}p{margin-bottom:var(--spacing-sm);font-size:.875rem}.app-container{max-width:1200px;margin:0 auto;padding:var(--spacing-lg);min-height:100vh}.grid{display:grid;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.card{background-color:var(--surface);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-md);border:1px solid var(--border);transition:transform var(--transition-base),box-shadow var(--transition-base)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius-lg);font-weight:600;font-size:.9375rem;cursor:pointer;transition:all var(--transition-base);border:none;outline:none;gap:.5rem}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 4px 14px #7c3aed4d}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed66}.btn-secondary{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background-color:var(--bg-secondary);border-color:var(--text-secondary)}.btn-ghost{background-color:transparent;color:var(--text-secondary)}.btn-ghost:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.btn-icon{padding:.5rem;border-radius:var(--radius-full);aspect-ratio:1}.input{width:100%;padding:.75rem 1rem;border-radius:var(--radius-lg);border:1px solid var(--border);background-color:var(--surface);color:var(--text-primary);font-size:.9375rem;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed1a}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-secondary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn var(--transition-base) ease-out}.spinning{animation:spin 1s linear infinite}@media (max-width: 640px){:root{--spacing-lg: 1rem;--spacing-xl: 1.5rem}h1{font-size:1.25rem}h2{font-size:1rem}.app-container{padding:var(--spacing-md)}.grid-2,.grid-3{grid-template-columns:1fr}.hide-mobile{display:none!important}.card{padding:var(--spacing-md)}}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gap-lg{gap:var(--spacing-lg)}.gap-2{gap:.5rem}.h-full{height:100%}.w-full{width:100%}.text-primary{color:var(--primary)}.text-secondary{color:var(--text-secondary)}.text-sm{font-size:.875rem}.font-medium{font-weight:500}.border-b{border-bottom-width:1px;border-bottom-style:solid}.border-border{border-color:var(--border)}.py-2{padding-top:.5rem;padding-bottom:.5rem}.fixed{position:fixed}.bottom-4{bottom:1rem}.right-4{right:1rem}.z-50{z-index:50}.shadow-lg{box-shadow:var(--shadow-lg)}.rounded-full{border-radius:9999px}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:col-span-2{grid-column:span 2 / span 2}}.select,select.input,select{width:100%;padding:.75rem 2.5rem .75rem 1rem;border-radius:var(--radius-lg);border:1px solid var(--border);background-color:var(--surface);color:var(--text-primary);font-size:.9375rem;transition:border-color var(--transition-base),box-shadow var(--transition-base);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.select:focus,select.input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed1a}.recharts-wrapper,.recharts-surface,.recharts-sector,.recharts-layer{outline:none!important}path.recharts-sector:focus,g.recharts-layer:focus{outline:none!important}.quick-add{background:var(--surface);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.quick-add-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.quick-add-icon{width:40px;height:40px;border-radius:var(--radius-full);background:var(--primary-light);color:#fff;display:flex;align-items:center;justify-content:center}.quick-add-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.quick-add-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.type-selector{display:flex;gap:var(--spacing-md);background:var(--bg-secondary);padding:var(--spacing-xs);border-radius:var(--radius-lg)}.type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.type-btn.active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.type-btn.active.income{color:var(--success)}.type-btn.active.expense{color:var(--danger)}.form-inputs-row{display:flex;gap:var(--spacing-md);align-items:stretch}.input-wrapper{position:relative;display:flex;align-items:center}.amount-wrapper{flex:2}.date-wrapper,.category-wrapper{flex:1.5}.amount-input{padding-right:2rem;font-size:1.25rem;font-weight:700;height:100%}.currency{position:absolute;right:1rem;color:var(--text-tertiary);font-weight:600;pointer-events:none}.input,.select{height:48px}.category-select{height:100%}.submit-btn{width:100%;margin-top:var(--spacing-sm)}@media (max-width: 640px){.form-inputs-row{flex-direction:column}.amount-wrapper,.date-wrapper,.category-wrapper{flex:1;width:100%}}
