/* ============================================================
   ANIMA — Module Congés (B7 lot terrain)
   ------------------------------------------------------------
   Tirage au sort des congés (vue directeur) + liste validés
   (vue équipe). Réutilise tokens + primitives .glass /
   .auth-input / .sf-btn de styles.css. Aucune valeur hex.
   ============================================================ */

.cng-shell{display:flex; flex-direction:column; gap:var(--sp-5); padding:var(--sp-4) 0 56px}
.cng-loading{color:var(--text-3); font-family:var(--font-mono); font-size:.82rem}
.cng-err-flash{color:var(--danger, #c66); font-size:.78rem; font-family:var(--font-mono); margin-left:var(--sp-2)}

/* ---------- Sections ---------- */
.cng-section{padding:var(--sp-5); border-radius:var(--rad-lg,14px); display:flex; flex-direction:column; gap:var(--sp-4)}
.cng-section-h{font-size:1rem; font-weight:600; color:var(--text); margin:0}
.cng-section-hrow{display:flex; align-items:baseline; gap:var(--sp-3)}
.cng-count{
  font-family:var(--font-mono); font-size:.72rem; color:var(--text-3);
  background:var(--bg-2); padding:2px 8px; border-radius:20px;
}
.cng-sub-h{
  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(255,190,120,.25));
}

/* ---------- Membres : coche + durée ---------- */
.cng-membres{display:flex; flex-direction:column; gap:var(--sp-2)}
.cng-mem-row{
  display:flex; align-items:center; gap:var(--sp-3); cursor:pointer;
  padding:var(--sp-1) 0;
}
.cng-mem-chk{accent-color:var(--accent); flex:none}
.cng-mem-nom{flex:1; font-size:.9rem; color:var(--text); overflow-wrap:anywhere}
.cng-mem-role{font-family:var(--font-mono); font-size:.66rem; color:var(--text-3); text-transform:uppercase; letter-spacing:.05em}
.cng-pduree{width:72px; text-align:right}

/* ---------- Paramètres du tirage ---------- */
.cng-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--sp-3)}
.cng-field{display:flex; flex-direction:column}
.cng-lbl{display:flex; flex-direction:column; gap:var(--sp-1); font-size:.82rem; color:var(--text-3)}
.cng-lbl .auth-input{width:100%}

/* ---------- Plages bloquées ---------- */
.cng-blocs{display:flex; flex-direction:column; gap:var(--sp-2)}
.cng-bloc-list{display:flex; flex-direction:column; gap:var(--sp-2)}
.cng-bloc-row{display:flex; gap:var(--sp-2); align-items:center; flex-wrap:wrap}

/* ---------- Alerte CEE (informative) ---------- */
.cng-cee-warn{
  font-size:.82rem; color:var(--text); line-height:1.4;
  border:1px solid var(--accent-glow, rgba(255,190,120,.35));
  border-radius:var(--rad-md,10px); padding:var(--sp-3);
  background:var(--accent-bg, rgba(255,190,120,.06));
}

/* ---------- Proposition tirée ---------- */
.cng-plist{list-style:none; margin:0; padding:0; display:flex; flex-direction:column}
.cng-prow{
  display:flex; flex-direction:column; gap:var(--sp-1);
  padding:var(--sp-3) 0; border-bottom:1px solid var(--line, rgba(255,255,255,.06));
}
.cng-prow:last-child{border-bottom:0}
.cng-prow-top{display:flex; align-items:baseline; gap:var(--sp-3); flex-wrap:wrap}
.cng-pnom{font-size:.92rem; font-weight:600; color:var(--text)}
.cng-prow-cren{display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap}
.cng-cren{font-family:var(--font-mono); font-size:.78rem; color:var(--text-2, var(--text-3))}
.cng-prow-edit{display:flex; gap:var(--sp-2); align-items:center; flex-wrap:wrap}
.cng-prop-actions{display:flex; gap:var(--sp-3); align-items:center; flex-wrap:wrap}

/* ---------- Validés ---------- */
.cng-vlist{list-style:none; margin:0; padding:0; display:flex; flex-direction:column}
.cng-vrow{
  display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap;
  padding:var(--sp-2) 0; border-bottom:1px solid var(--line, rgba(255,255,255,.06));
}
.cng-vrow:last-child{border-bottom:0}
.cng-vrow .sf-btn{margin-left:auto}
.cng-vrow button.is-armed{color:var(--danger, #c66); border-color:var(--danger, #c66)}

@media (max-width:560px){
  .cng-grid{grid-template-columns:1fr}
}
