/* ============================================================
   ANIMA — Module Projet pédagogique co-écrit (F6/F11, spec 2026-09-15)
   ------------------------------------------------------------
   Squelette 13 sections + interrupteur global ouvert_equipe (directeur) ;
   édition simple des sections négociables (animateur). Réutilise tokens +
   primitives .glass / .auth-input / .sf-btn / .panel-centre de styles.css.
   Aucune valeur hex en dur.
   ============================================================ */

.pp-shell{max-width:760px; padding:var(--sp-4) 0 56px}
.pp-loading{color:var(--text-3); font-family:var(--font-mono); font-size:.82rem}
.pp-error{color:var(--danger); font-family:var(--font-mono); font-size:.82rem}

/* ---------- États vides ---------- */
.pp-empty{display:flex; flex-direction:column; gap:var(--sp-3); align-items:flex-start; padding:var(--sp-5) 0}
.pp-empty-title{font-size:1.1rem; font-weight:600; color:var(--text); margin:0}
.pp-empty-txt{color:var(--text-3); font-size:.9rem; line-height:1.5; max-width:52ch}
.pp-cta{margin-top:var(--sp-2)}

/* ---------- Écran (directeur + animateur) ---------- */
.pp-shell-in{display:flex; flex-direction:column; gap:var(--sp-5)}
.pp-head{display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); flex-wrap:wrap}
.pp-title{font-size:1.1rem; font-weight:600; color:var(--text); margin:0}
.pp-head-note{color:var(--text-3); font-size:.8rem; line-height:1.5; margin-top:calc(var(--sp-2) * -1)}

.pp-toggle-global{display:flex; align-items:center; gap:var(--sp-2); cursor:pointer; font-size:.85rem}
.pp-toggle-global input{width:34px; height:20px; cursor:pointer}
.pp-toggle-lbl{color:var(--text); font-weight:600}

/* ---------- Liste de sections ---------- */
.pp-list{display:flex; flex-direction:column; gap:var(--sp-4)}
.pp-section{
  padding:var(--sp-4); border-radius:var(--rad-lg,14px); display:flex; flex-direction:column;
  gap:var(--sp-3); background:var(--bg-2); border:1px solid var(--line);
}
.pp-section-head{display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap}
.pp-section-num{color:var(--text-3); font-size:.78rem}
.pp-section-titre{flex:1; font-weight:600; color:var(--text); font-size:.94rem}

.pp-neg-toggle{display:flex; align-items:center; gap:6px; cursor:pointer; font-size:.72rem; color:var(--text-3)}
.pp-neg-toggle input{cursor:pointer}
.pp-neg-lbl{white-space:nowrap}

.pp-hist-btn{
  font-size:.72rem; padding:4px 10px; color:var(--text-3); cursor:pointer;
  background:none; border:1px solid var(--line); border-radius:8px;
}
.pp-hist-btn:hover{color:var(--text)}

/* ---------- Éditeur de contenu ---------- */
.pp-editor{display:flex; flex-direction:column; gap:var(--sp-2)}
.pp-textarea{width:100%; resize:vertical; font-family:var(--font-sans); line-height:1.5; padding:var(--sp-3)}
.pp-section-actions{display:flex; align-items:center; gap:var(--sp-3)}
.pp-save-status{font-size:.75rem; color:var(--text-3)}

/* ---------- Historique ---------- */
.pp-hist-panel{
  padding-top:var(--sp-3); border-top:1px solid var(--line);
  display:flex; flex-direction:column; gap:var(--sp-2); font-size:.8rem; color:var(--text-3);
}
.pp-hist-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--sp-3)}
.pp-hist-item{display:flex; flex-direction:column; gap:4px}
.pp-hist-meta{color:var(--text-3); font-size:.7rem}
.pp-hist-contenu{color:var(--text); font-size:.82rem; white-space:pre-wrap}
.pp-hist-empty{margin:0}

/* ---------- PP libre (sans séjour, spec 2026-09-16 bis) ---------- */
.pp-libre-creator{display:flex; gap:var(--sp-3); align-items:center; flex-wrap:wrap}
.pp-libre-creator input{flex:1; min-width:200px}

.pp-libre-list{display:flex; flex-direction:column; gap:var(--sp-2)}
.pp-libre-card{
  display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3);
  width:100%; text-align:left; font:inherit; color:inherit; cursor:pointer;
  padding:var(--sp-3) var(--sp-4); border-radius:var(--rad-lg,14px);
  background:var(--bg-2); border:1px solid var(--line);
}
.pp-libre-card:hover{border-color:var(--survol-filet)}
.pp-libre-card h3{margin:0; font-size:.94rem; font-weight:600; color:var(--text)}
.pp-libre-date{color:var(--text-3); font-size:.72rem; white-space:nowrap}

.pp-libre-titre{flex:1; min-width:200px; font-weight:600}

@media (max-width:560px){
  .pp-head{align-items:flex-start; flex-direction:column}
  .pp-libre-card{flex-direction:column; align-items:flex-start}
}
