/* 29/10/2026 : centre des messages WhatsApp (whatsapp.py). Vert WhatsApp pour les boutons d'envoi, bulles entrant / sortant. */
:root{--wa:#128c4a;--wa-f:#e3f6ea;--wa-bulle:#dcf5e3}
.wa-page{max-width:980px;margin:0 auto}
.wa-page h1{margin:0 0 6px;font-size:24px}
.wa-aide{color:var(--mu);margin:0 0 12px;font-size:14px}
.wa-simu{background:var(--atf);color:var(--at);border-radius:12px;padding:10px 12px;font-weight:700;margin:0 0 12px}
.wa-relie{background:var(--okf);color:var(--ok);border-radius:12px;padding:10px 12px;font-weight:700;margin:0 0 12px}
.wa-barre{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.wa-barre .btn{min-height:44px}
.wa-onglets{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.wa-onglets a{border:1px solid var(--bd);border-radius:999px;padding:7px 12px;text-decoration:none;color:var(--tx);font-weight:700;font-size:14px;background:var(--sf)}
.wa-onglets a.on{background:var(--wa);border-color:var(--wa);color:#fff}
.wa-filtres{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.wa-filtres select,.wa-filtres input{font:inherit;font-size:15px;padding:9px 10px;border:1px solid var(--bd);border-radius:10px;background:var(--sf);color:var(--tx);min-height:44px}
.wa-filtres input{flex:1;min-width:160px}
.wa-liste{display:grid;gap:8px}
.wa-conv{display:flex;gap:12px;align-items:center;background:var(--sf);border-radius:14px;box-shadow:var(--ombre);padding:12px 14px;text-decoration:none;color:inherit;min-width:0}
.wa-conv.nl{border-inline-start:5px solid var(--wa)}
.wa-av{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;flex:none;background:var(--wa-f);color:var(--wa);font-weight:800}
.wa-conv-c{flex:1;min-width:0}
.wa-conv-l1{display:flex;gap:8px;justify-content:space-between;align-items:baseline;flex-wrap:wrap}
.wa-conv-l1 b{overflow-wrap:anywhere}
.wa-apercu{color:var(--mu);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wa-pill{display:inline-block;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:800;background:var(--fd);color:var(--tx);white-space:nowrap}
.wa-pill.stop{background:var(--rgf);color:var(--rg)}
.wa-pill.n{background:var(--wa);color:#fff}
.wa-fil{display:flex;flex-direction:column;gap:8px;background:var(--fd);border-radius:16px;padding:12px;max-height:62vh;overflow:auto}
.wa-b{max-width:78%;padding:9px 12px;border-radius:14px;background:var(--sf);box-shadow:var(--ombre);overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.5}
.wa-b.sortant{align-self:flex-end;background:var(--wa-bulle);color:#10301c}
.wa-b.entrant{align-self:flex-start}
.wa-b small{display:block;color:var(--mu);font-size:11.5px;margin-top:4px;white-space:normal}
.wa-b.sortant small{color:#3d5c47}
.wa-b.echec{outline:2px solid var(--rg)}
.wa-form{background:var(--sf);border-radius:16px;box-shadow:var(--ombre);padding:14px;display:grid;gap:12px;margin-top:12px}
.wa-form label{display:grid;gap:6px;font-weight:700;font-size:14px}
.wa-form textarea,.wa-form input[type=text],.wa-form input[type=password],.wa-form select{font:inherit;font-weight:400;font-size:16px;padding:11px;border:1px solid var(--bd);border-radius:12px;background:var(--sf);color:var(--tx);width:100%;box-sizing:border-box;min-height:46px}
.wa-form small{color:var(--mu);font-weight:400}
.wa-envoi{background:var(--wa);border-color:var(--wa);color:#fff}
.wa-choix{display:flex;flex-wrap:wrap;gap:8px}
.wa-choix label{display:flex;align-items:center;gap:8px;font-weight:600;border:1px solid var(--bd);border-radius:12px;padding:9px 12px;min-height:44px;cursor:pointer}
.wa-eleves{display:grid;gap:4px;max-height:320px;overflow:auto;border:1px solid var(--bd);border-radius:12px;padding:8px}
.wa-eleves label{display:flex;align-items:center;gap:10px;font-weight:500;min-height:40px}
.wa-apercu-b{background:var(--wa-bulle);color:#10301c;border-radius:14px;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}
.wa-err{background:var(--rgf);color:var(--rg);border-radius:12px;padding:10px 12px;font-weight:700}
.wa-ok{background:var(--okf);color:var(--ok);border-radius:12px;padding:10px 12px;font-weight:700;margin:0 0 12px}
.wa-carte{background:var(--sf);border-radius:16px;box-shadow:var(--ombre);padding:14px;margin:0 0 10px;min-width:0}
.wa-carte h2{margin:0 0 8px;font-size:17px}
.wa-ligne{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;border-top:1px solid var(--fd);padding:10px 0}
.wa-ligne:first-of-type{border-top:0}
.wa-ligne p{margin:0;flex:1;min-width:200px;overflow-wrap:anywhere}
.wa-actions{display:flex;gap:6px;flex-wrap:wrap}
.wa-deux{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.wa-tab{width:100%;border-collapse:collapse;font-size:14px}
.wa-tab td,.wa-tab th{padding:8px 6px;border-top:1px solid var(--fd);text-align:start;vertical-align:top}
.wa-tab td.corps{overflow-wrap:anywhere;color:var(--mu);font-size:13px}
.wa-contact{display:inline-flex;align-items:center;gap:8px;background:var(--wa);color:#fff;border-radius:14px;padding:12px 16px;text-decoration:none;font-weight:800;min-height:48px}
.wa-btn{color:var(--wa)}
@media (max-width:600px){.wa-b{max-width:92%}.wa-page h1{font-size:21px}}
html[data-theme=nuit] .wa-b.sortant,html[data-theme=nuit] .wa-apercu-b{background:#1f4a31;color:#e6f6ea}
html[data-theme=nuit] .wa-b.sortant small{color:#b9d9c3}
.wa-h2{margin:0 0 6px;font-size:17px}.wa-pt{padding:6px 12px}.wa-meta{font-size:12.5px}.wa-mt12{margin-top:12px}.wa-m0{margin:0}.wa-mt0{margin-top:0}
.wa-mt14{margin-top:14px}.wa-w560{max-width:560px}.wa-w640{max-width:640px}.wa-w820{max-width:820px}.wa-m6b{margin:6px 0 0}.wa-fs{border:0;margin:0}
.wa-m6{margin:6px 0}.wa-casse{overflow-wrap:anywhere}.wa-defil{overflow-x:auto}.wa-mb8{margin:0 0 8px}.wa-bloc14{display:block;margin-top:14px}
.wa-m14{margin:14px 0}.wa-m4{margin:4px}
