*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #4a90d9;--primary-dark: #357abd;--danger: #e74c3c;--success: #2ecc71;--bg: #f0f2f5;--card-bg: #ffffff;--text: #2c3e50;--text-light: #7f8c8d;--border: #e1e8ed;--shadow: 0 2px 12px rgba(0, 0, 0, .08);--radius: 10px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}.app{max-width:1200px;margin:0 auto;padding:0 16px 32px}header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:20px 0;border-bottom:1px solid var(--border);margin-bottom:24px}header h1{font-size:1.6rem;color:var(--primary)}.header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tab-btn{padding:8px 18px;border:1px solid var(--border);background:var(--card-bg);border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.tab-btn.active,.tab-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-export{padding:8px 18px;background:var(--success);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s}.btn-export:hover{background:#27ae60}.form-section{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}.expense-form .form-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;margin-bottom:12px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-light)}.form-group input,.form-group select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.95rem;outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--primary)}.btn-add{width:100%;padding:10px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .2s}.btn-add:hover{background:var(--primary-dark)}.month-selector{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:.95rem}.month-selector select{padding:6px 12px;border:1px solid var(--border);border-radius:6px;font-size:.9rem}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card h3{margin-bottom:16px;font-size:1.1rem}.monthly-summary h3{margin-bottom:8px}.total-amount{font-size:1.1rem;margin-bottom:12px;color:var(--text-light)}.total-amount strong{color:var(--text);font-size:1.4rem}.chart-container{min-height:300px}.expense-list{overflow-x:auto}.list-header{display:grid;grid-template-columns:1fr 2fr 1fr 1fr auto;gap:8px;padding:10px 0;font-weight:600;font-size:.85rem;color:var(--text-light);border-bottom:2px solid var(--border)}.expense-item{display:grid;grid-template-columns:1fr 2fr 1fr 1fr auto;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);font-size:.9rem}.expense-item:last-child{border-bottom:none}.expense-category{display:flex;align-items:center;gap:4px}.cat-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.expense-amount{font-weight:600;color:var(--danger)}.btn-delete{padding:4px 12px;background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s}.btn-delete:hover{background:var(--danger);color:#fff}.empty-state{text-align:center;color:var(--text-light);padding:32px 0}.progress-section h3{margin-bottom:12px}.progress-item{margin-bottom:14px}.progress-label{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:4px}.over-budget{color:var(--danger);font-weight:600}.progress-bar{width:100%;height:14px;background:#e9ecef;border-radius:7px;overflow:hidden}.progress-fill{height:100%;border-radius:7px;width:0%;transition:width .8s cubic-bezier(.4,0,.2,1)}.progress-fill.over{background:var(--danger)!important;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.budget-toggle{margin-top:16px;text-align:center}.btn-budget{padding:8px 20px;background:var(--card-bg);border:1px solid var(--primary);color:var(--primary);border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.btn-budget:hover{background:var(--primary);color:#fff}.budget-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.budget-settings h3{margin-bottom:12px}.budget-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px}.budget-item{display:flex;flex-direction:column;gap:4px}.budget-item label{font-size:.85rem;font-weight:500}.budget-item input{padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:.9rem;width:100%}.btn-save{width:100%;padding:8px;background:var(--success);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;transition:background .2s}.btn-save:hover{background:#27ae60}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.expense-form .form-row,.budget-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){header{flex-direction:column;align-items:flex-start}header h1{font-size:1.3rem}.expense-form .form-row{grid-template-columns:1fr}.list-header,.expense-item{grid-template-columns:1fr 2fr 1fr}.list-header{display:none}.expense-item{grid-template-columns:1fr 1fr;gap:6px;padding:12px;background:#fafafa;border-radius:8px;margin-bottom:8px;border:1px solid var(--border)}.expense-item .expense-date{font-size:.8rem;color:var(--text-light)}.budget-grid{grid-template-columns:1fr}.chart-container{min-height:250px}}
