@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{text-rendering:optimizespeed;min-height:100vh;line-height:1.5}input,button,textarea,select{font:inherit}:root{--primary:#4f46e5;--primary-hover:#4338ca;--bg-color:#f9fafb;--surface:#fff;--text-main:#111827;--text-muted:#6b7280;--border-color:#e5e7eb;--danger:#ef4444;--danger-hover:#dc2828;--danger-bg:#fef2f2;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d}body{background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app-container{max-width:1000px;margin:0 auto;padding:2rem 1rem}.app-header{margin-bottom:2rem}.header-content{align-items:center;gap:.75rem;display:flex}.logo-icon{font-size:2rem}.app-header h1{letter-spacing:-.025em;color:var(--text-main);margin:0;font-size:1.75rem;font-weight:700}.dashboard-grid{grid-template-columns:350px 1fr;align-items:start;gap:2rem;display:grid}@media (width<=800px){.dashboard-grid{grid-template-columns:1fr}}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);padding:1.5rem}.card h2{color:var(--text-main);margin-top:0;margin-bottom:1.5rem;font-size:1.25rem;font-weight:600}.expense-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{text-align:left;flex-direction:column;gap:.5rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group label{color:var(--text-main);font-size:.875rem;font-weight:500}input[type=text],input[type=number],input[type=date],select{width:100%;color:var(--text-main);background-color:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;padding:.625rem .75rem;font-family:inherit;font-size:.875rem;transition:all .2s}input:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.625rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff;width:100%;margin-top:.5rem}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md)}.btn-icon{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.btn-delete:hover{background-color:var(--danger-bg);color:var(--danger)}.list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.list-header h2{margin:0}.list-controls{align-items:center;gap:1rem;display:flex}.filter-wrapper .filter-select{width:auto;min-width:140px}.total-badge{background-color:var(--bg-color);border-radius:var(--radius-md);border:1px solid var(--border-color);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.total-label{color:var(--text-muted);font-size:.875rem;font-weight:500}.total-value{color:var(--text-main);font-size:1rem;font-weight:700}.expense-list{flex-direction:column;gap:.75rem;display:flex}.empty-state{text-align:center;color:var(--text-muted);background-color:var(--bg-color);border-radius:var(--radius-sm);border:1px dashed var(--border-color);padding:3rem 1rem;font-size:.875rem}.expense-item{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--surface);justify-content:space-between;align-items:center;padding:1rem;transition:transform .2s,box-shadow .2s;display:flex}.expense-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.expense-info{text-align:left;flex-direction:column;gap:.35rem;display:flex}.expense-title{color:var(--text-main);margin:0;font-size:1rem;font-weight:600}.expense-meta{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.75rem;display:flex}.expense-category{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;padding:.25rem .5rem;font-weight:500}.expense-actions{align-items:center;gap:1rem;display:flex}.expense-amount{color:var(--text-main);font-size:1.125rem;font-weight:600}
