:root { --marque: #1f3a5f; --marque-clair: #e8eef6; }
body { background: #f5f7fa; }
.navbar-marque { background: var(--marque); }
.navbar-marque .nav-link, .navbar-marque .navbar-brand { color: #fff; }
.navbar-marque .nav-link.active, .navbar-marque .nav-link:hover { color: #fff; background: rgba(255,255,255,.12); border-radius: .375rem; }
.carte { background: #fff; border: 1px solid #dfe3ea; border-radius: .5rem; }
.carte-titre { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; }
.chiffre { font-size: 2rem; font-weight: 600; color: var(--marque); line-height: 1.1; }
.tag { display: inline-block; padding: .1rem .5rem; border-radius: 1rem; font-size: .75rem; color: #fff; margin: 0 .2rem .2rem 0; }
.statut-client { background: #198754; } .statut-prospect { background: #0d6efd; } .statut-partenaire { background: #6f42c1; }
.table-annuaire td, .table-annuaire th { vertical-align: middle; }
.table-annuaire tbody tr:hover { background: var(--marque-clair); }
.filtres label { font-size: .8rem; color: #6b7280; margin-bottom: .1rem; }
.htmx-indicator { opacity: 0; transition: opacity .2s; } .htmx-request .htmx-indicator, .htmx-request.htmx-indicator { opacity: 1; }
.chronologie { border-left: 2px solid #dfe3ea; padding-left: 1rem; }
.chronologie .element { position: relative; margin-bottom: 1rem; }
.chronologie .element::before { content: ""; position: absolute; left: -1.38rem; top: .35rem; width: .7rem; height: .7rem; border-radius: 50%; background: var(--marque); }
.qr svg { width: 220px; height: 220px; }
dl.fiche dt { font-weight: 500; color: #6b7280; font-size: .85rem; }
dl.fiche dd { margin-bottom: .6rem; }
.logo-portail { height: 36px; width: auto; max-width: 160px; object-fit: contain; }

/* Recherche SIRENE */
.sirene { background: #f6f9fd; }
.sirene-liste { max-height: 22rem; overflow-y: auto; }
.sirene-rempli { background-color: #fff8db !important; }
