/* ============================================================
   ANIMA — Module Vivier de centres (B6 lot terrain)
   ------------------------------------------------------------
   Vivier + fiche centre + évaluation post-séjour. Réutilise
   tokens + primitives .glass / .auth-input / .sf-btn / .seg de
   styles.css. Aucune valeur hex en dur.
   ============================================================ */

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

/* ---------- Sections ---------- */
.ctr-section{padding:var(--sp-5); border-radius:var(--rad-lg,14px); display:flex; flex-direction:column; gap:var(--sp-4)}
.ctr-section-h{font-size:1rem; font-weight:600; color:var(--text); margin:0}
.ctr-section-hrow{display:flex; align-items:baseline; gap:var(--sp-3); flex-wrap:wrap}
.ctr-count{
  font-family:var(--font-mono); font-size:.72rem; color:var(--text-3);
  background:var(--bg-2); padding:2px 8px; border-radius:20px;
}
.ctr-note-badge{
  font-size:.82rem; color:var(--accent); border:1px solid var(--accent-glow, rgba(255,190,120,.3));
  padding:2px 8px; border-radius:6px; margin-left:auto;
}

/* ---------- Liste vivier ---------- */
.ctr-tri{align-self:flex-start}
.ctr-list{display:flex; flex-direction:column}
.ctr-row{
  display:flex; flex-direction:column; gap:var(--sp-1); text-align:left;
  padding:var(--sp-3) 0; background:none; border:0; cursor:pointer;
  border-bottom:1px solid var(--line, rgba(255,255,255,.06)); color:inherit;
}
.ctr-row:last-child{border-bottom:0}
.ctr-row-top{display:flex; align-items:baseline; gap:var(--sp-3)}
.ctr-nom{font-size:.95rem; font-weight:600; color:var(--text)}
.ctr-row-meta{font-size:.72rem; color:var(--text-3)}

/* ---------- Formulaires ---------- */
.ctr-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--sp-3)}
.ctr-field-full{grid-column:1 / -1}
.ctr-lbl{display:flex; flex-direction:column; gap:var(--sp-1); font-size:.82rem; color:var(--text-3)}
.ctr-lbl .auth-input{width:100%}
.ctr-actions{display:flex; gap:var(--sp-3); align-items:center}
.ctr-info{margin:0; font-size:.88rem; color:var(--text)}
.ctr-notes{margin:0; font-size:.82rem; color:var(--text-3); font-style:italic}

/* ---------- Moyennes par critère ---------- */
.ctr-moys{display:flex; flex-direction:column; gap:var(--sp-2)}
.ctr-moy-row{display:grid; grid-template-columns:minmax(120px, 1fr) 2fr 44px; gap:var(--sp-3); align-items:center}
.ctr-moy-lbl{font-size:.82rem; color:var(--text)}
.ctr-moy-bar{height:6px; border-radius:3px; background:var(--bg-2); overflow:hidden}
.ctr-moy-fill{height:100%; border-radius:3px; background:var(--accent)}
.ctr-moy-val{font-size:.78rem; color:var(--text-3); text-align:right}

/* ---------- Séjours liés ---------- */
.ctr-lien-row{display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap}
.ctr-lien-row .auth-input{flex:1; min-width:180px}
.ctr-lien-row .ctr-nom{flex:1}

/* ---------- Évaluation : segments 1-5 ---------- */
.ctr-eval-form{display:flex; flex-direction:column; gap:var(--sp-3)}
.ctr-crit-row{display:flex; flex-direction:column; gap:var(--sp-1)}
.ctr-crit-segs{display:flex; gap:var(--sp-1)}
.ctr-seg{
  min-width:36px; height:32px; border-radius:8px; cursor:pointer;
  background:var(--bg-2); color:var(--text-3); border:1px solid var(--line, rgba(255,255,255,.08));
  font-family:var(--font-mono); font-size:.8rem;
}
.ctr-seg.on{background:var(--accent-bg, rgba(255,190,120,.12)); color:var(--accent); border-color:var(--accent-glow, rgba(255,190,120,.4))}
.ctr-crit-comm{font-size:.8rem}
.ctr-verdict-row{display:flex; align-items:center; gap:var(--sp-2)}
.ctr-verdict{min-width:52px}
.ctr-comm-global{resize:vertical; min-height:60px}

/* ---------- Historique des évaluations ---------- */
.ctr-eval{
  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));
}
.ctr-eval:last-child{border-bottom:0}
.ctr-eval-top{display:flex; align-items:baseline; gap:var(--sp-3); flex-wrap:wrap}
.ctr-eval-sejour{font-size:.9rem; font-weight:600; color:var(--text)}
.ctr-eval-meta{font-size:.7rem; color:var(--text-3)}
.ctr-eval-comm{margin:0; font-size:.85rem; color:var(--text); line-height:1.4}
.ctr-fold-toggle{
  align-self:flex-start; background:none; border:0; cursor:pointer;
  color:var(--text-3); font-size:.78rem; padding:0;
}
.ctr-fold-body{display:flex; flex-direction:column; gap:var(--sp-1); padding-left:var(--sp-3)}
.ctr-note-row{display:flex; gap:var(--sp-2); align-items:baseline; font-size:.8rem}
.ctr-note-comm{color:var(--text-3); font-size:.75rem}

@media (max-width:560px){
  .ctr-grid{grid-template-columns:1fr}
  .ctr-moy-row{grid-template-columns:1fr; gap:var(--sp-1)}
  .ctr-moy-val{text-align:left}
}
