:root{
  --accent:#0E5E5A; --accent-ink:#0B4A47; --accent-soft:#E3EFEE; --accent-on:#FFFFFF;
  --ink:#1B1F23; --ink-2:#3E454B; --muted:#5B636A; --bg:#FBFAF7; --card:#FFFFFF; --sand:#EFECE6; --sand-2:#F7F5F1;
  --line:#DDD8D0; --line-soft:#E7E3DC; --amber:#F6DFAE; --amber-ink:#5A3A05; --danger:#A3261B; --danger-soft:#FBEBEB;
  --radius:16px; --shadow:0 1px 2px rgba(27,31,35,.05),0 6px 24px rgba(27,31,35,.05);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.5}
h1,h2,h3,.titre{font-family:'Outfit','Manrope',system-ui,sans-serif;letter-spacing:-.015em;line-height:1.15;margin:0}
h1{font-size:30px;font-weight:600}
h2{font-size:21px;font-weight:600}
h3{font-size:17px;font-weight:600}
a{color:var(--accent-ink)}
a:hover{color:var(--ink)}
p{margin:0}
.muted{color:var(--muted)}
.petit{font-size:13.5px}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid #7FB8B4;outline-offset:2px}

/* barre du haut */
.barre{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;max-width:1120px;margin:0 auto}
.logo{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}
.logo-carre{width:34px;height:34px;border-radius:10px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:700;font-size:17px}
.logo-nom{font-family:'Outfit',sans-serif;font-weight:700;font-size:21px;letter-spacing:-.01em}
.barre nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.lien-discret{color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;padding:10px 12px;border-radius:10px}
.lien-discret:hover{background:var(--sand);color:var(--ink)}

main.page{max-width:1120px;margin:0 auto;padding:8px 20px 64px}
.entete{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:8px 0 24px}
.entete .sur{font-size:13.5px;font-weight:600;color:var(--muted);margin-bottom:6px}
.fil{font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;min-height:32px}
.fil:hover{color:var(--ink)}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:13px;border:0;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn-principal{background:var(--accent);color:#fff}
.btn-principal:hover{background:var(--accent-ink);color:#fff}
.btn-noir{background:var(--ink);color:#fff}
.btn-noir:hover{background:#000;color:#fff}
.btn-clair{background:var(--card);color:var(--ink);border:1.5px solid var(--line)}
.btn-clair:hover{border-color:var(--ink-2);color:var(--ink)}
.btn-danger{background:transparent;color:var(--danger);border:1.5px solid #E7B9B4}
.btn-danger:hover{background:var(--danger-soft)}
.btn-whatsapp{background:#1F7A4D;color:#fff}
.btn-whatsapp:hover{background:#17603C;color:#fff}
.btn-large{width:100%;min-height:56px;font-size:16px;border-radius:16px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn svg{flex:none}

/* cartes */
.carte{background:var(--card);border:1px solid var(--line-soft);border-radius:20px;box-shadow:var(--shadow)}
.grille-offres{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.offre-carte{display:flex;flex-direction:column;gap:14px;padding:20px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.offre-carte:hover{border-color:#BFD9D7;transform:translateY(-1px);color:var(--ink)}
.offre-carte .haut{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.chiffres{display:flex;gap:8px;flex-wrap:wrap}
.chiffre{display:flex;flex-direction:column;padding:10px 12px;border-radius:12px;background:var(--sand-2);min-width:82px}
.chiffre b{font-family:'Outfit',sans-serif;font-size:22px;font-weight:600;line-height:1.1}
.chiffre span{font-size:12.5px;color:var(--muted);font-weight:600}
.chiffre.vif{background:var(--accent-soft)}
.chiffre.vif b,.chiffre.vif span{color:var(--accent-ink)}

.pastille{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:999px;white-space:nowrap}
.p-ouverte{background:var(--accent-soft);color:var(--accent-ink)}
.p-fermee{background:var(--sand);color:var(--muted)}
.p-a_ecouter{background:var(--amber);color:var(--amber-ink)}
.p-retenu{background:var(--accent-soft);color:var(--accent-ink)}
.p-ecarte{background:var(--sand);color:var(--muted)}
.p-encours{background:var(--sand);color:var(--ink-2)}
.etiq{font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--sand);padding:5px 10px;border-radius:8px}
.etiq.ok{background:var(--accent-soft);color:var(--accent-ink)}
.etiq.non{background:var(--danger-soft);color:var(--danger)}
.etiqs{display:flex;flex-wrap:wrap;gap:6px}

.vide{padding:40px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.vide .rond{width:64px;height:64px;border-radius:50%;background:var(--accent-soft);display:flex;align-items:center;justify-content:center}

/* formulaire */
.form{display:flex;flex-direction:column;gap:22px;max-width:760px}
.bloc{padding:22px;display:flex;flex-direction:column;gap:18px}
.bloc-titre{display:flex;flex-direction:column;gap:4px}
.champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.champ{display:flex;flex-direction:column;gap:7px;font-size:13.5px;font-weight:700;color:var(--ink-2)}
.champ.plein{grid-column:1/-1}
.champ input,.champ select,.champ textarea{height:48px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;font-size:15.5px;font-weight:500;color:var(--ink);width:100%}
.champ textarea{height:auto;min-height:96px;padding:12px 14px;line-height:1.45;resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
.champ .aide{font-weight:500;color:var(--muted);font-size:13px}
.puces{display:flex;flex-wrap:wrap;gap:8px}
.puce{position:relative}
.puce input{position:absolute;opacity:0;pointer-events:none}
.puce span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-size:14.5px;font-weight:600;cursor:pointer;user-select:none}
.puce input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.puce input:focus-visible+span{outline:3px solid #7FB8B4;outline-offset:2px}
.erreurs{background:var(--danger-soft);color:var(--danger);border-radius:14px;padding:14px 16px;font-weight:600;font-size:14.5px}

.situ-liste{display:flex;flex-direction:column;gap:10px}
.situ{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1.5px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}
.situ:has(input:checked){border-color:var(--accent);background:#F4FAF9}
.situ input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--accent);flex:none}
.situ .txt{display:flex;flex-direction:column;gap:6px;font-size:14.5px}
.situ .grille{font-size:13px;color:var(--muted)}
.compteur{font-size:13.5px;font-weight:700;color:var(--accent-ink)}
.compteur.trop{color:var(--danger)}
.socle{background:var(--accent-soft);color:var(--accent-ink);border-radius:14px;padding:12px 14px;font-size:14px;font-weight:600}

.actions{display:flex;gap:10px;flex-wrap:wrap}

/* page offre */
.deux-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;align-items:start}
.partage{padding:20px;display:flex;flex-direction:column;gap:14px}
.lien-boite{display:flex;gap:8px;align-items:center;background:var(--sand-2);border-radius:12px;padding:6px 6px 6px 12px}
.lien-boite code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--ink-2)}
.message{white-space:pre-wrap;background:var(--sand-2);border-radius:12px;padding:12px 14px;font-size:14px;color:var(--ink-2);max-height:220px;overflow:auto}
.onglets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.onglet{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;text-decoration:none;font-weight:700;font-size:14px;color:var(--ink-2);background:var(--sand)}
.onglet b{font-weight:700;opacity:.7}
.onglet.actif{background:var(--ink);color:#fff}
.liste-cand{display:flex;flex-direction:column;gap:10px}
.cand{display:flex;gap:14px;align-items:center;padding:16px;text-decoration:none;color:var(--ink)}
.cand:hover{border-color:#BFD9D7;color:var(--ink)}
.avatar{flex:none;width:46px;height:46px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:600;font-size:16px}
.cand .milieu{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.cand .nom{font-weight:700;font-size:16px}
.kit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kit-site{padding:20px;display:flex;flex-direction:column;gap:14px}
.kit-tete{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.kit-champ{display:flex;flex-direction:column;gap:6px}
.kit-ligne{display:flex;justify-content:space-between;align-items:center;gap:10px}
.kit-ligne span{font-size:13px;font-weight:700;color:var(--ink-2)}
.kit-copier{min-height:36px;padding:0 14px;font-size:13.5px}
.kit-valeur{background:var(--sand-2);border-radius:12px;padding:10px 12px;font-size:14.5px;white-space:pre-wrap;word-break:break-word}
.kit-valeur.long{max-height:200px;overflow:auto;font-size:14px;color:var(--ink-2)}
.assistant{padding:20px;display:flex;flex-direction:column;gap:14px;border-color:#BFD9D7;background:linear-gradient(#FFFFFF,#FFFFFF)}
.assistant-tete{display:flex;gap:12px;align-items:center}
.assistant-icone{width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;flex:none}
.assistant-score{font-size:15px;color:var(--ink-2)}
.assistant-score b{font-family:'Outfit',sans-serif;font-size:24px;color:var(--accent-ink);margin-right:4px}
.question-entretien{background:var(--amber);color:var(--amber-ink);border-radius:12px;padding:10px 12px;font-size:14px}
.question-entretien b{display:block;font-size:12px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px}
.assistant-attente{display:flex;gap:12px;align-items:center;background:var(--sand-2);border-radius:12px;padding:12px 14px;font-size:14.5px;color:var(--ink-2)}
.roue{width:20px;height:20px;border-radius:50%;border:3px solid var(--accent-soft);border-top-color:var(--accent);animation:tourne 1s linear infinite;flex:none}
@keyframes tourne{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.roue{animation:none}}
.lien-relancer{background:none;border:0;padding:0;color:var(--muted);font-weight:600;font-size:13.5px;text-decoration:underline;cursor:pointer;min-height:32px}
.ia-score{color:var(--accent-ink);font-weight:700}
.transcription,.votre-grille{border-radius:12px;background:var(--sand-2);padding:10px 12px;font-size:14px}
.transcription summary,.votre-grille summary{cursor:pointer;font-weight:700;color:var(--ink-2);min-height:28px;display:list-item}
.transcription p{margin-top:8px;font-style:italic;color:var(--ink-2)}
.votre-grille .grille-j{margin-top:10px}
.avis-situ{display:flex;gap:10px;align-items:flex-start;font-size:14.5px}
.avis-situ .pastille{flex:none;margin-top:1px}
.ap-rassurant{background:var(--accent-soft);color:var(--accent-ink)}
.ap-mitige{background:var(--amber);color:var(--amber-ink)}
.ap-inquietant{background:var(--danger-soft);color:var(--danger)}
.signaux{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:13.5px}
.signaux li{padding-left:20px;position:relative;color:var(--ink-2)}
.signaux li::before{position:absolute;left:2px;top:0;font-weight:700}
.signaux li.plus::before{content:"+";color:var(--accent-ink)}
.signaux li.moins::before{content:"!";color:var(--danger)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;font-size:14.5px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:50}
.toast.vu{opacity:1}
.bandeau{background:var(--accent-soft);color:var(--accent-ink);border-radius:16px;padding:16px 18px;font-weight:600;display:flex;gap:10px;align-items:flex-start;margin-bottom:18px}

/* fiche candidat */
.fiche-tete{padding:22px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.fiche-tete .avatar{width:60px;height:60px;font-size:20px}
.infos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding:0 22px 22px}
.info{display:flex;flex-direction:column;gap:2px}
.info span{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.info b{font-weight:600}
.reponse{padding:20px;display:flex;flex-direction:column;gap:12px}
.reponse .num{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--amber-ink);background:var(--amber);align-self:flex-start;padding:5px 10px;border-radius:999px}
.reponse .question{font-family:'Outfit',sans-serif;font-size:17px;font-weight:500;line-height:1.4}
.reponse audio{width:100%;height:44px}
.reponse .ecrit{background:var(--sand-2);border-radius:12px;padding:12px 14px;font-style:italic;color:var(--ink-2);white-space:pre-wrap}
.grille-j{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.grille-j div{border-radius:12px;padding:10px 12px;font-size:13.5px;line-height:1.45}
.grille-j .ok{background:#EEF6F5;color:#174B47}
.grille-j .ko{background:#FBF1EF;color:#7A2219}
.grille-j b{display:block;font-size:12px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px}
.suivi{padding:20px;display:flex;flex-direction:column;gap:14px;position:sticky;top:16px}
.choix-statut{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;background:var(--sand);border-radius:14px}
.choix-statut button{min-height:44px;border:0;border-radius:11px;background:transparent;font-weight:700;font-size:14px;color:var(--ink-2);cursor:pointer}
.choix-statut button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(27,31,35,.14)}
.choix-statut button[data-v=retenu][aria-pressed=true]{background:var(--accent);color:#fff}
.seul-mobile{display:none!important}
.nav-cand{display:flex;justify-content:space-between;gap:8px}

/* connexion */
.centre{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.boite-connexion{width:100%;max-width:400px;padding:28px;display:flex;flex-direction:column;gap:20px}

@media (max-width:860px){
  .deux-col,.kit{grid-template-columns:1fr}
  .partage,.suivi{position:static}
  .seul-mobile{display:inline-flex!important}
}
@media (max-width:560px){
  h1{font-size:26px}
  .champs,.infos,.grille-j{grid-template-columns:1fr}
  .barre{padding:14px 16px}
  main.page{padding:4px 16px 56px}
  .bloc{padding:18px}
  .cand{padding:14px;gap:12px}
}
