/* ============================================================
   ANIMA — Module Convoyage
   ------------------------------------------------------------
   Transport aller/retour + bascules participants. Réutilise
   les tokens et primitives .glass / .auth-input / .sf-btn /
   .auth-error / .profil-note de styles.css. Aucune valeur hex.
   ============================================================ */

.conv-shell{display:flex; flex-direction:column; gap:var(--sp-6); padding:var(--sp-4) 0 56px}
.conv-loading{color:var(--text-3); font-family:var(--font-mono); font-size:.82rem}

/* ---------- Sections ---------- */
.conv-section{
  padding:var(--sp-5);
  border-radius:var(--rad-lg,14px);
  display:flex; flex-direction:column; gap:var(--sp-4);
}
.conv-section-h{font-size:1rem; font-weight:600; color:var(--text); margin:0}
.conv-section-hrow{display:flex; align-items:baseline; gap:var(--sp-3)}
.conv-count{
  font-family:var(--font-mono); font-size:.72rem;
  color:var(--text-3); background:var(--bg-2); padding:2px 8px;
  border-radius:20px;
}

/* ---------- Formulaire aller/retour ---------- */
.conv-form{display:flex; flex-direction:column; gap:var(--sp-4)}
.conv-leg-head{
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--accent); padding-bottom:var(--sp-1);
  border-bottom:1px solid var(--accent-glow, rgba(100,180,190,.25));
}
.conv-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--sp-3)}
.conv-field{display:flex; flex-direction:column}
.conv-field-full{grid-column:1 / -1}
.conv-lbl{display:flex; flex-direction:column; gap:var(--sp-1); font-size:.82rem; color:var(--text-3)}
.conv-lbl span{font-size:.82rem; color:var(--text-3)}
.conv-lbl .auth-input{width:100%}
.conv-textarea{resize:vertical; min-height:72px; width:100%}

/* ---------- Liste participants ---------- */
.conv-plist{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--sp-2)}
.conv-prow{
  display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
  padding:var(--sp-3) var(--sp-4);
  border-radius:var(--rad-md,10px);
  background:var(--bg-2);
  border:1px solid var(--line);
}
.conv-pname{font-size:.88rem; color:var(--text-2); flex:1; min-width:0}

/* Toggle bascule convoyage / parents */
.conv-toggle{display:flex; align-items:center; gap:8px; cursor:pointer; user-select:none}
.conv-toggle-inp{display:none}
.conv-toggle-lbl{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.04em;
  color:var(--text-3); background:var(--bg-1); border:1px solid var(--line);
  padding:3px 10px; border-radius:20px; transition:color .15s, background .15s;
}
.conv-toggle-inp:checked + .conv-toggle-lbl,
.conv-toggle-lbl.on{
  color:var(--accent); background:var(--accent-bg); border-color:var(--accent-glow,rgba(100,180,190,.4));
}

/* Erreur flash inline (toggle) */
.conv-err-flash{
  font-family:var(--font-mono); font-size:.7rem; color:var(--crit,#E87070);
  animation:fadein .2s;
}
@keyframes fadein{from{opacity:0}to{opacity:1}}

/* ---------- Responsive ---------- */
@media(max-width:600px){
  .conv-grid{grid-template-columns:1fr}
  .conv-section{padding:var(--sp-4)}
}
