:root{--bg:#f6f5f2;--carte:#fff;--txt:#1d1d1b;--doux:#6b6a65;--ligne:#e4e2dc;--accent:#1f5fbf;--accent-doux:#e7f0fb;
--ok:#2e7d4f;--ok-doux:#e5f4e9;--alerte:#b26a00;--alerte-doux:#fbf0dc;--err:#b3261e;--err-doux:#fbe9e7;--r:10px}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--txt)}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
header{background:#1d1d1b;color:#fff;padding:0 20px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
header .logo{font-weight:700;padding:14px 0;letter-spacing:.2px}
header nav{display:flex;gap:4px;flex-wrap:wrap}
header nav a{color:#cfcdc6;padding:14px 10px;border-bottom:2px solid transparent}
header nav a.on,header nav a:hover{color:#fff;border-color:#fff;text-decoration:none}
main{max-width:1180px;margin:0 auto;padding:22px 20px 60px}
h1{font-size:22px;margin:4px 0 18px}h2{font-size:17px;margin:0 0 12px}h3{font-size:15px;margin:16px 0 8px}
.carte{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);padding:18px;margin-bottom:18px}
.grille{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.kpis{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.kpi{background:var(--carte);border:1px solid var(--ligne);border-radius:var(--r);padding:12px 14px}
.kpi b{display:block;font-size:24px}.kpi span{color:var(--doux);font-size:13px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:8px 8px;border-bottom:1px solid var(--ligne);vertical-align:top}
th{color:var(--doux);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.3px}
tr:hover td{background:#fafaf8}
.badge{display:inline-block;padding:1px 8px;border-radius:20px;font-size:12px;font-weight:600;background:#eeece6;color:#444;white-space:nowrap}
.p-A{background:var(--accent);color:#fff}.p-B{background:var(--accent-doux);color:var(--accent)}.p-C{background:#eeece6}.p-Exclu{background:var(--err-doux);color:var(--err)}
.s-rdv,.s-client{background:var(--ok-doux);color:var(--ok)}.s-conversation,.s-en_sequence{background:var(--accent-doux);color:var(--accent)}
.s-desinscrit,.s-erreur_email,.s-exclu,.s-pas_interesse{background:var(--err-doux);color:var(--err)}.s-a_enrichir{background:var(--alerte-doux);color:var(--alerte)}
.flash{background:var(--accent-doux);border:1px solid #c6daf5;color:#123a73;padding:10px 14px;border-radius:var(--r);margin-bottom:16px}
.alerte{background:var(--alerte-doux);border:1px solid #f0d9a8;color:#6d4300;padding:10px 14px;border-radius:var(--r);margin-bottom:16px}
.doux{color:var(--doux)}.petit{font-size:13px}.droite{text-align:right}
form.ligne{display:flex;gap:8px;flex-wrap:wrap;align-items:end}
label{display:block;font-size:13px;font-weight:600;margin:10px 0 4px}
input[type=text],input[type=email],input[type=password],input[type=search],select,textarea{width:100%;padding:8px 10px;border:1px solid #cfcdc6;border-radius:8px;font:inherit;background:#fff}
form.ligne input,form.ligne select{width:auto}
textarea{min-height:90px;font-family:inherit}textarea.code{font-family:ui-monospace,Menlo,monospace;font-size:13px;min-height:420px}
button,.btn{display:inline-block;padding:8px 14px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}
button.second,.btn.second{background:#fff;color:var(--accent)}button.danger{background:#fff;color:var(--err);border-color:var(--err)}
button:hover{filter:brightness(.95)}
.etat{display:inline-flex;align-items:center;gap:6px;margin:0 14px 6px 0}.pt{width:9px;height:9px;border-radius:50%;background:#c8c6bf}.pt.on{background:var(--ok)}
.barre{height:8px;background:#eeece6;border-radius:4px;overflow:hidden}.barre i{display:block;height:100%;background:var(--accent)}
details{border:1px solid var(--ligne);border-radius:8px;padding:8px 12px;margin-bottom:8px;background:#fff}
summary{cursor:pointer;font-weight:600}
.msg{padding:8px 12px;border-radius:10px;margin:6px 0;max-width:85%;white-space:pre-wrap}.msg.user{background:var(--accent-doux);margin-left:auto}.msg.assistant{background:#f1f0ec}
.pagination{display:flex;gap:8px;margin-top:12px}
pre{white-space:pre-wrap;background:#f6f5f2;padding:10px;border-radius:8px;font-size:13px}
@media (max-width:640px){main{padding:14px 12px}th.mob,td.mob{display:none}}
