:root{--encre:#1d2b36;--doux:#55636d;--fond:#eef2f1;--surface:#fff;--trait:#cfd8d6;--action:#0e5f63;--alerte:#a3271c;--attente:#7a5600;--attente-fond:#fdf1cc;--ok:#2d6a3e}
*{box-sizing:border-box}html{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--encre);background:var(--fond);font-size:16px;line-height:1.5}
body{margin:0}a{color:var(--action)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--action);outline-offset:2px}
.rail{padding:10px 24px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;color:#fff;background:var(--ok)}
.rail.arret{background:var(--alerte)}.rail strong{font-size:1.05rem}.rail form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rail input{border:0;border-radius:6px;padding:8px 10px;min-height:40px;width:auto;font:inherit;font-size:.92rem}.rail input[name=why]{width:min(320px,70vw)}.rail input[name=code]{width:7.5em}.rail button{background:#fff;color:var(--encre);border:0;border-radius:6px;padding:0 14px;min-height:40px;font-weight:650;cursor:pointer}
header{display:flex;flex-wrap:wrap;gap:16px;align-items:baseline;justify-content:space-between;padding:18px 24px 0;max-width:1180px;margin:0 auto}
header .marque{font-weight:750;font-size:1.25rem;letter-spacing:-.01em}header .qui{color:var(--doux);font-size:.9rem}
nav{max-width:1180px;margin:12px auto 0;padding:0 24px;display:flex;gap:4px;border-bottom:1px solid var(--trait);overflow-x:auto}
nav a{padding:10px 14px;text-decoration:none;color:var(--doux);border-bottom:3px solid transparent;white-space:nowrap}nav a[aria-current]{color:var(--encre);border-color:var(--action);font-weight:650}
main{max-width:1180px;margin:0 auto;padding:24px}h1{font-size:1.6rem;margin:0 0 16px;letter-spacing:-.015em}h2{font-size:1.1rem;margin:28px 0 10px}
.chiffres{display:flex;flex-wrap:wrap;background:var(--surface);border:1px solid var(--trait);border-radius:8px;overflow:hidden}
.chiffres div{flex:1 1 170px;padding:14px 16px;box-shadow:1px 1px 0 var(--trait)}.chiffres b{display:block;font-size:1.5rem;font-variant-numeric:tabular-nums}.chiffres span{color:var(--doux);font-size:.88rem}
table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--trait);border-radius:8px;overflow:hidden;font-size:.94rem}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--trait);vertical-align:top}th{color:var(--doux);font-weight:600;font-size:.85rem;background:#f7f9f8}
td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tableau{overflow-x:auto}
@media (max-width:640px){table.liste,table.liste tbody,table.liste tr,table.liste td{display:block;width:100%}table.liste thead{display:none}table.liste tr{border-bottom:1px solid var(--trait);padding:8px 0}table.liste td{border:0;padding:2px 12px}table.liste td[data-l]::before{content:attr(data-l) " : ";color:var(--doux);font-size:.85rem}}
.etat{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.82rem;background:#e4ebe9}.etat.brouillon_a_valider,.etat.a_modifier{background:var(--attente-fond);color:var(--attente)}
.etat.classe,.etat.refus_contact,.etat.bloque{background:#f6dcd8;color:var(--alerte)}.etat.approuve_par_mike,.etat.campagne_autorisee,.etat.ecrit_boite_test{background:#dcebdf;color:var(--ok)}
.points{margin:0;padding-left:1.1em}.points li{margin:2px 0}
.dossier{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}@media (max-width:860px){.dossier{grid-template-columns:1fr}}
.piece{background:var(--surface);border:1px solid var(--trait);border-radius:8px;padding:16px;margin-bottom:16px}.piece h2{margin-top:0}
pre.message{white-space:pre-wrap;font:inherit;font-size:.95rem;margin:0;max-height:420px;overflow:auto}
.empreinte{color:var(--doux);font-size:.8rem;word-break:break-all}
.decision{background:var(--surface);border:2px solid var(--action);border-radius:8px;padding:16px;position:sticky;top:16px}
.decision fieldset{border:0;padding:0;margin:0 0 12px}.decision label{display:block;margin:6px 0}
textarea,input[type=text],input[type=password],input[inputmode]{width:100%;font:inherit;padding:8px 10px;border:1px solid var(--trait);border-radius:6px;background:#fff}
button.principal{background:var(--action);color:#fff;border:0;border-radius:6px;min-height:44px;padding:0 18px;font:inherit;font-weight:650;cursor:pointer}
.note{color:var(--doux);font-size:.88rem}.erreur{background:#f6dcd8;color:var(--alerte);padding:10px 14px;border-radius:6px}.succes{background:#dcebdf;color:var(--ok);padding:10px 14px;border-radius:6px}
.rail-label{color:#fff;font-size:.88rem}.enligne{display:inline}button.lien{background:none;border:0;color:var(--action);cursor:pointer;font:inherit;text-decoration:underline;padding:0 4px}
.connexion{max-width:380px;margin:10vh auto;background:var(--surface);border:1px solid var(--trait);border-radius:10px;padding:28px}.connexion label{display:block;margin:12px 0 4px;font-weight:600}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}.medias-prospect{display:flex;flex-wrap:wrap;gap:14px}.media-prospect{margin:0;max-width:340px;font-size:.88rem}.media-prospect img{display:block;max-width:160px;height:auto;border:1px solid var(--trait);background:#fff}