:root{--primary-color: #6c5ce7;--primary-hover: #5f4fc2;--secondary-color: #00b894;--danger-color: #d63031;--danger-hover: #b72e2f;--background: #f5f6fa;--surface: #ffffff;--text-primary: #2d3436;--text-secondary: #636e72;--border-color: #dfe6e9;--shadow: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15);--category-food: #fab1a0;--category-travel: #74b9ff;--category-shopping: #fd79a8;--category-bills: #fdcb6e;--category-other: #a29bfe;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--transition: all .3s ease}html.dark-mode{--background: #1e1e2e;--surface: #2d2d44;--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--border-color: #3d3d5c;--shadow: 0 2px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background);color:var(--text-primary);transition:var(--transition)}#root{width:100%;min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh;background-color:var(--background);transition:var(--transition)}.app-header{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;padding:var(--spacing-lg);box-shadow:var(--shadow-lg);position:sticky;top:0;z-index:100}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.app-header h1{font-size:2rem;font-weight:700;letter-spacing:-.5px}.dark-mode-toggle{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;font-size:1.5rem;transition:var(--transition)}.dark-mode-toggle:hover{background:#ffffff4d;transform:scale(1.1)}.app-main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.app-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);margin-top:var(--spacing-lg)}.app-footer{background-color:var(--surface);border-top:1px solid var(--border-color);padding:var(--spacing-lg);text-align:center;color:var(--text-secondary);margin-top:var(--spacing-xl)}.summary-section{margin-bottom:var(--spacing-xl)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.summary-card{background:var(--surface);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:var(--transition);border-left:4px solid var(--primary-color)}.summary-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.summary-label{font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs);font-weight:600}.summary-value{font-size:2rem;font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-xs)}.summary-subtitle{font-size:.75rem;color:var(--text-secondary)}.expense-form{background:var(--surface);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow);height:fit-content;position:sticky;top:100px}.expense-form h2{font-size:1.5rem;margin-bottom:var(--spacing-lg);color:var(--text-primary)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:var(--text-primary);font-size:.95rem}.form-group input,.form-group select{width:100%;padding:var(--spacing-sm);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;background-color:var(--background);color:var(--text-primary);transition:var(--transition);font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6c5ce71a}.form-group input::placeholder{color:var(--text-secondary)}.btn-submit{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);text-transform:uppercase;letter-spacing:.5px}.btn-submit:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-submit:active{transform:translateY(0)}.expense-list-container{background:var(--surface);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.category-filter{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--border-color)}.category-filter h3{margin-bottom:var(--spacing-md);font-size:1.1rem;color:var(--text-primary)}.filter-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.filter-btn{padding:var(--spacing-xs) var(--spacing-md);border:2px solid var(--border-color);background:var(--background);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:600;transition:var(--transition);display:flex;align-items:center;gap:var(--spacing-xs)}.filter-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.filter-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.category-amount{font-size:.75rem;opacity:.8;font-weight:400}.expense-list h3{margin-bottom:var(--spacing-md);font-size:1.2rem;color:var(--text-primary)}.expenses-grid{display:grid;gap:var(--spacing-md);max-height:600px;overflow-y:auto;padding-right:var(--spacing-xs)}.expenses-grid::-webkit-scrollbar{width:6px}.expenses-grid::-webkit-scrollbar-track{background:var(--background);border-radius:var(--radius-md)}.expenses-grid::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-md)}.expenses-grid::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.expense-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--background);border-left:4px solid var(--category-other);border-radius:var(--radius-md);transition:var(--transition)}.expense-item:hover{transform:translate(4px);box-shadow:var(--shadow)}.expense-item.category-food{border-left-color:var(--category-food)}.expense-item.category-travel{border-left-color:var(--category-travel)}.expense-item.category-shopping{border-left-color:var(--category-shopping)}.expense-item.category-bills{border-left-color:var(--category-bills)}.expense-item.category-other{border-left-color:var(--category-other)}.expense-info{flex:1}.expense-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs);gap:var(--spacing-md)}.expense-category{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.expense-date{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.expense-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.expense-details{display:flex;align-items:center;gap:var(--spacing-md);margin-left:var(--spacing-md)}.expense-amount{font-size:1.25rem;font-weight:700;color:var(--primary-color);min-width:80px;text-align:right}.btn-delete{background:var(--danger-color);color:#fff;border:none;border-radius:var(--radius-md);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:var(--transition);flex-shrink:0}.btn-delete:hover{background:var(--danger-hover);transform:scale(1.1)}.btn-delete:active{transform:scale(.95)}.empty-state{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--text-secondary)}.empty-state p{font-size:1.1rem;font-weight:600;margin-bottom:var(--spacing-xs)}.empty-state small{font-size:.9rem}@media (max-width: 1024px){.app-content{grid-template-columns:1fr}.expense-form{position:static}.app-main{padding:var(--spacing-lg) var(--spacing-md)}}@media (max-width: 768px){.app-header h1{font-size:1.5rem}.header-content{flex-direction:column;gap:var(--spacing-sm)}.summary-cards{grid-template-columns:1fr}.app-main{padding:var(--spacing-md) var(--spacing-sm)}.expense-form{padding:var(--spacing-md)}.expense-form h2{font-size:1.25rem}.expense-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.expense-details{width:100%;justify-content:space-between}.expense-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.filter-buttons{gap:var(--spacing-xs)}.filter-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem}.category-amount{display:none}}@media (max-width: 480px){.app-header{padding:var(--spacing-md)}.app-header h1{font-size:1.25rem}.app-main{padding:var(--spacing-md) var(--spacing-sm)}.summary-value{font-size:1.5rem}.expense-form{padding:var(--spacing-sm)}.form-group{margin-bottom:var(--spacing-sm)}.expense-item{padding:var(--spacing-sm)}.expense-amount{font-size:1rem;min-width:auto}.btn-delete{width:28px;height:28px;font-size:1rem}.expenses-grid{max-height:400px}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.expense-item{animation:slideIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.summary-card{animation:fadeIn .5s ease-out}
