body.dark { background: #1e293b; color: #e2e8f0; }
body.dark .stat-card, body.dark .section-panel, body.dark .chart-container { background: #334155; border-color: #475569; }
body.dark .btn-secondary { background: #475569; color: #e2e8f0; }
body.dark input, body.dark select, body.dark textarea { background: #1e293b; color: #e2e8f0; border-color: #475569; }
body.dark table { color: #cbd5e1; }
body.dark .bg-white { background: #334155 !important; }

.stat-card { background: white; border-radius: 12px; padding: 16px; border: 1px solid #e5e7eb; }
.stat-value { font-size: 1.5rem; font-weight: 700; color: #1e293b; }
body.dark .stat-value { color: #f1f5f9; }
.stat-label { font-size: .8rem; color: #64748b; margin-top: 2px; }
.btn { padding: 8px 16px; border: none; border-radius: 8px; cursor: pointer; font-size: .85rem; font-weight: 500; transition: all .15s; }
.btn-primary { background: #2563eb; color: white; }
.btn-primary:hover { background: #1d4ed8; }
.btn-secondary { background: #e2e8f0; color: #334155; }
.btn-secondary:hover { background: #cbd5e1; }
.btn-danger { background: #dc2626; color: white; }
.btn-danger:hover { background: #b91c1c; }
.btn-sm { padding: 5px 10px; font-size: .8rem; }
.section-panel { background: white; border-radius: 12px; padding: 20px; border: 1px solid #e5e7eb; }
.chart-container { background: white; border-radius: 12px; padding: 16px; border: 1px solid #e5e7eb; }
.budget-card { background: #f8fafc; border-radius: 8px; padding: 12px; border: 1px solid #e5e7eb; }
body.dark .budget-card { background: #1e293b; border-color: #475569; }
.progress-bar { height: 8px; border-radius: 4px; background: #e2e8f0; overflow: hidden; }
.progress-fill { height: 100%; border-radius: 4px; transition: width .3s; }
.toast { position: fixed; bottom: 20px; right: 20px; padding: 12px 20px; border-radius: 8px; color: white; font-size: .9rem; z-index: 1000; animation: slideIn .3s; }
.toast.success { background: #16a34a; }
.toast.error { background: #dc2626; }
@keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
