:root { --primary: #1a56db; }
body { background: #f0f4f8; font-family: 'Segoe UI', sans-serif; }
.navbar { box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.card { border: none; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,.07); }
.card-header { border-radius: 12px 12px 0 0 !important; background: #fff; border-bottom: 2px solid #f0f4f8; font-weight: 600; }
.table th { background: #f8fafc; font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; color: #64748b; }
.table td { vertical-align: middle; }
.stat-card { border-radius: 16px; padding: 1.5rem; color: #fff; }
.stat-card .stat-icon { font-size: 2.5rem; opacity: .8; }
.stat-card .stat-value { font-size: 1.8rem; font-weight: 700; }
.stat-card .stat-label { font-size: .85rem; opacity: .85; }
.bg-gradient-blue { background: linear-gradient(135deg, #1a56db, #3b82f6); }
.bg-gradient-green { background: linear-gradient(135deg, #059669, #10b981); }
.bg-gradient-orange { background: linear-gradient(135deg, #d97706, #f59e0b); }
.bg-gradient-red { background: linear-gradient(135deg, #dc2626, #ef4444); }
.bg-gradient-purple { background: linear-gradient(135deg, #7c3aed, #a78bfa); }
.badge-brouillon { background: #e2e8f0; color: #475569; border-radius: 8px; padding: .2rem .6rem; font-size: .8rem; }
.badge-valide { background: #d1fae5; color: #065f46; border-radius: 8px; padding: .2rem .6rem; font-size: .8rem; }
.badge-soumis { background: #dbeafe; color: #1e40af; border-radius: 8px; padding: .2rem .6rem; font-size: .8rem; }
.btn-export { background: linear-gradient(135deg, #059669, #10b981); color: #fff; border: none; }
.btn-export:hover { background: linear-gradient(135deg, #047857, #059669); color: #fff; }
.tva-summary { background: linear-gradient(135deg, #1e2a3b, #2d3f5e); color: #fff; border-radius: 16px; padding: 1.5rem; }
.tva-credit { color: #10b981; }
.tva-due { color: #f87171; }
.login-wrapper { min-height: 100vh; background: linear-gradient(135deg, #1a56db 0%, #1e2a3b 100%); display: flex; align-items: center; justify-content: center; }
.login-card { max-width: 420px; width: 100%; }
.form-control:focus, .form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 .2rem rgba(26,86,219,.15); }
.nav-link { border-radius: 8px; transition: background .15s; }
.nav-link:hover { background: rgba(255,255,255,.1); }
.affectation-badge { display: inline-flex; align-items: center; background: #dbeafe; color: #1e40af; border-radius: 20px; padding: .25rem .75rem; font-size: .8rem; margin: .15rem; }
