:root{--dn-primary:#3347c9;--dn-bg:#f4f6fb}
body{background:var(--dn-bg);color:#20243a}
.bg-primary,.btn-primary{background-color:var(--dn-primary)!important;border-color:var(--dn-primary)!important}
.auth-page{min-height:100vh;background:linear-gradient(135deg,#eef1ff,#f8f9fc);display:flex;align-items:center}
.auth-card{max-width:430px}
.brand-mark{width:64px;height:64px;border-radius:18px;background:var(--dn-primary);color:#fff;display:inline-grid;place-items:center;font-weight:800;font-size:1.25rem}
.notification-link{position:relative;color:#fff;text-decoration:none;font-size:1.25rem}
.notification-link .badge{position:absolute;top:-8px;right:-12px;font-size:.62rem}
.dashboard-card{transition:transform .15s ease}.dashboard-card:hover{transform:translateY(-2px)}
.pre-line{white-space:pre-line}
.password-reset{max-width:230px}
.badge[class*="priority-"],.badge[class*="status-"]{color:#fff}
.priority-basse{background:#6c757d}.priority-normale{background:#0d6efd}.priority-haute{background:#fd7e14}.priority-urgente{background:#dc3545}
.status-a_faire{background:#6c757d}.status-en_cours{background:#0dcaf0;color:#1b2533!important}.status-terminee{background:#198754}.status-non_terminee{background:#dc3545}.status-reportee{background:#ffc107;color:#1b2533!important}.status-annulee{background:#212529}
.history-list{border-left:2px solid #dfe3f3;padding-left:1rem}.history-item{position:relative;padding-bottom:1.1rem}.history-item:before{content:"";position:absolute;left:-1.38rem;top:.25rem;width:.65rem;height:.65rem;border-radius:50%;background:var(--dn-primary)}
.notification-unread{border-left:4px solid var(--dn-primary);background:#f5f6ff}
.table th{white-space:nowrap}
@media print{body{background:#fff}.no-print,.navbar{display:none!important}.container{max-width:none!important}.card{box-shadow:none!important;border:1px solid #ddd!important}.table{font-size:10pt}}
