/* Surfaces de travail du portail : mêmes blancs, contours fins et typographie. */
.espace { padding-block: 32px 64px; }
.espace h1 { font-size: clamp(27px,3vw,36px); }
.espace h2 { font-size: 23px; }
.espace h3 { font-size: 18px; }
.espace__entete,.rangee { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.espace__entete { margin-bottom:24px; }
.discret { color:var(--texte-doux); font-size:14px; }
.onglets { display:flex; gap:20px; border-bottom:1px solid var(--trait); margin-bottom:28px; flex-wrap:wrap; }
.onglets a { padding:12px 0; text-decoration:none; color:var(--texte-doux); font-size:15px; border-bottom:1px solid transparent; }
.onglets a[aria-current] { color:var(--texte); border-bottom:2px solid var(--action); font-weight:600; }
.message { padding:12px 0; font-size:15px; margin-bottom:16px; }
.message--erreur { color:var(--erreur); }
.atelier { display:grid; grid-template-columns:minmax(240px,310px) minmax(0,1fr); gap:36px; }
.file { min-width:0; }
.file__liste { display:grid; gap:0; margin-top:16px; max-height:74vh; overflow:auto; }
.file__fiche { font:inherit; text-align:left; background:white; border:0; border-bottom:1px solid var(--trait); padding:16px 4px; cursor:pointer; color:var(--texte); width:100%; }
.file__fiche strong { display:block; font-size:15px; font-weight:500; line-height:1.45; margin:4px 0; }
.file__fiche[aria-current] strong { text-decoration:underline; text-underline-offset:4px; font-weight:600; }
.file__fiche span { display:block; font-size:13px; color:var(--texte-doux); }
.fiche-revue { min-width:0; }
.fiche-revue h2 { margin:12px 0; line-height:1.35; }
.pile { display:grid; gap:20px; }
.champs { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.champ-espace { display:grid; gap:7px; font-size:14px; color:var(--texte); min-width:0; }
.champ-espace input,.champ-espace textarea,.champ-espace select,select.controle { width:100%; min-width:0; border:1px solid var(--controle); border-radius:var(--r-m); padding:10px 12px; background:#fff; color:var(--texte); font:inherit; font-size:16px; }
.champ-espace textarea { min-height:110px; resize:vertical; line-height:1.5; }
.case { display:flex; align-items:flex-start; gap:10px; font-size:15px; }
.case input { margin-top:5px; flex-shrink:0; }
.separation { border-top:1px solid var(--trait); padding-top:20px; margin-top:24px; }
.informations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:16px 0 24px; }
.informations div { font-size:14px; }
.informations dt { color:var(--texte-doux); font-size:13px; }
.informations dd { margin:4px 0 0; }
.comparaison { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding-top:14px; font-size:15px; }
.comparaison p { white-space:pre-wrap; }
/* Action principale : violet d'action Polideo (nom de classe historique conservé). */
.bouton--noir { background:var(--action); color:white; }
.bouton--noir:hover { background:var(--action-survol); color:white; }
.actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.vide { padding:32px 0; }
.vide p { color:var(--texte-doux); font-size:16px; margin-top:8px; }
.sujet { display:block; border-top:1px solid var(--trait); padding:22px 0; color:var(--texte); text-decoration:none; }
.sujet:hover { color:var(--texte); }
.sujet h2 { font-size:20px; margin:8px 0; }
.sujet:hover h2 { text-decoration:underline; text-underline-offset:4px; }
.contenu-message { white-space:pre-wrap; overflow-wrap:anywhere; font-size:17px; line-height:1.65; margin:20px 0; }
.lecture { max-width:780px; }
.reponse { border-top:1px solid var(--trait); padding:24px 0; }
.filtre-forum { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin:24px 0; }
.filtre-forum .champ-espace:first-child { flex:1; min-width:200px; }
.compte { max-width:460px; }
.mini { font-size:13px; color:var(--texte-doux); }
.tableau { width:100%; border-collapse:collapse; font-size:14px; }
.tableau td,.tableau th { text-align:left; padding:12px 8px; border-bottom:1px solid var(--trait); vertical-align:top; }
.edition { border-top:1px solid var(--trait); padding-top:20px; margin-top:20px; }
.edition ul { padding-left:22px; }
.edition li { margin:12px 0; }
/* Détail d'un retour bêta dans l'administration : question puis réponse, sans marges de lecture longue. */
.retour-reponse { margin-top:18px; }
.retour-reponse h3 { margin:0 0 6px; font-size:16px; }
.retour-reponse p, .retour-reponse .contenu-message { margin:0; font-size:16px; }
[hidden] { display:none!important; }
@media(max-width:760px) {
  .atelier { grid-template-columns:1fr; gap:28px; }
  .file__liste { max-height:270px; }
  .champs,.comparaison { grid-template-columns:1fr; }
  .informations { grid-template-columns:1fr 1fr; }
  .espace__entete { align-items:flex-start; }
}
@media(max-width:380px) { .informations { grid-template-columns:1fr; } }
