:root{--fond:#f4f6f5;--carte:#fff;--texte:#1b2523;--doux:#5b6965;--ligne:#dde4e1;--accent:#1d6b5c;--accent-txt:#fff;
--ok:#2f7d3a;--rappel:#a86400;--ko:#7c8682;--non:#b0322b;--envoye:#1f5fa8;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--fond:#10161a;--carte:#19222a;--texte:#e5ebef;--doux:#9aa6b2;--ligne:#29353f;
--accent:#4fb39c;--accent-txt:#0f1514;--ok:#4caf5c;--rappel:#d18a2a;--ko:#7f8a86;--non:#d65a52;--envoye:#6fa3e8;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--fond);color:var(--texte);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--accent)}
.entete{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:12px 16px;background:var(--carte);border-bottom:1px solid var(--ligne)}
.marque{font-weight:700;text-decoration:none;color:var(--texte)}.marque span{color:var(--doux);font-weight:400}
.menu{display:flex;gap:14px;flex-wrap:wrap}.menu a{text-decoration:none;font-weight:600}
.sortie{margin-left:auto;display:flex;gap:8px;align-items:center}.qui{color:var(--doux);font-size:.9rem}
.page{max-width:780px;margin:0 auto;padding:16px}
h1{font-size:1.35rem;margin:.2em 0 .5em}h2{font-size:1.1rem;margin:0 0 .6em}h3{font-size:1rem;margin:1.2em 0 .5em}
.carte{background:var(--carte);border:1px solid var(--ligne);border-radius:12px;padding:16px;margin-bottom:14px}
.etroite{max-width:420px;margin:40px auto}
.formulaire{display:grid;gap:8px}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--ligne);border-radius:10px;background:var(--fond);color:var(--texte);font:inherit}
.bouton{display:inline-block;background:var(--accent);color:var(--accent-txt);border:0;border-radius:10px;padding:12px 16px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;text-align:center}
.bouton.secondaire{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.lien{background:none;border:0;color:var(--accent);font:inherit;cursor:pointer;padding:0;text-decoration:underline}
.alerte{background:#fdecea;color:#7a1c16;border-radius:10px;padding:10px 12px}
.info{background:#e6f4ea;color:#1d4d27;border-radius:10px;padding:10px 12px}
@media (prefers-color-scheme:dark){.alerte{background:#3a1d1b;color:#f3c4bf}.info{background:#173022;color:#bfe6c8}}
.aide{color:var(--doux);font-size:.88rem}
.entete-liste .progression{font-size:1.05rem;margin:.2em 0}
.liste{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.client{background:var(--carte);border:1px solid var(--ligne);border-left:5px solid var(--ligne);border-radius:12px;padding:12px;display:grid;gap:8px}
.client.traite{opacity:.62}
.ligne-haut{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;justify-content:space-between}
.nom{font-weight:700;font-size:1.05rem;text-decoration:none;color:var(--texte)}
.detail{margin:0;color:var(--doux);font-size:.9rem;overflow-wrap:anywhere}
.note{margin:0;font-size:.9rem}
.appels{display:flex;flex-wrap:wrap;gap:6px}
.appel{display:inline-block;background:var(--accent);color:var(--accent-txt);text-decoration:none;border-radius:10px;padding:9px 14px;font-weight:700;font-variant-numeric:tabular-nums}
.rapide{display:flex;flex-wrap:wrap;gap:6px}
.rapide button{flex:1 1 auto;border:1px solid var(--ligne);background:var(--carte);color:var(--texte);border-radius:8px;padding:9px 8px;font:inherit;font-size:.88rem;cursor:pointer}
.rapide button:disabled{opacity:.4;cursor:not-allowed}
.badge{font-size:.78rem;border-radius:999px;padding:2px 9px;background:var(--ligne);color:var(--texte);white-space:nowrap}
.b-fiche_recue{background:var(--ok);color:#fff}.b-rappel{background:var(--rappel);color:#fff}.b-injoignable{background:var(--ko);color:#fff}
.b-non,.b-faux_numero{background:var(--non);color:#fff}.b-fiche_envoyee{background:var(--envoye);color:#fff}.b-jmj{background:#1f6f86;color:#fff;margin-left:6px}
.infos{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:10px 0}.infos dt{color:var(--doux)}.infos dd{margin:0;overflow-wrap:anywhere}
.filtre{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-bottom:12px}.filtre select{width:auto;flex:1 1 180px}
.defile{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--ligne);white-space:nowrap}
td:not(:first-child),th:not(:first-child){font-variant-numeric:tabular-nums}
tr.inactif{opacity:.5}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.demande{border-top:1px solid var(--ligne);padding-top:10px;margin-top:10px}.case{display:flex;gap:8px;align-items:center}.case input{width:auto}
