  /* =========================================================
     RETOURS UTILISATEURS (js/96) — formulaire joueur + dépouillement admin
     ---------------------------------------------------------
     2026-09-03, demande Pixel : « une option retour utilisateur… catégorisée
     gameplay / bug / design / autre, avec qui a écrit et quand ; côté admin
     une page de visu avec pris en compte / fait / non retenu / non lu ».
     Même grammaire que #adminPanel (css/07) : carte plein cadre, z-index 26.
  ========================================================= */
  #feedbackModal, #feedbackAdmin{
    position:absolute; inset:0; display:none;
    align-items:center; justify-content:center;
    background:rgba(8,6,12,.92); z-index:26;
  }
  #feedbackModal.show, #feedbackAdmin.show{ display:flex }
  #feedbackModal .card{ max-width:min(480px, 94vw); text-align:left }
  #feedbackAdmin .card{ max-width:min(680px, 94vw); max-height:88vh; overflow-y:auto; text-align:left }

  /* ---------- Formulaire ---------- */
  .fb-cats{ display:flex; gap:6px; flex-wrap:wrap; margin:8px 0 4px }
  .fb-cat{
    flex:1 1 auto; display:flex; align-items:center; gap:5px; justify-content:center;
    background:#1a2228; color:var(--ink-dim); border:1px solid var(--panel-edge);
    border-radius:8px; padding:7px 8px; font-size:.8rem; cursor:pointer;
  }
  .fb-cat span{ font-size:1rem }
  .fb-cat:hover{ color:var(--ink); border-color:var(--target) }
  .fb-cat.active{ background:var(--accent-dim); color:#1a1424; border-color:var(--accent); font-weight:600 }
  .fb-cat-hint{ color:var(--ink-dim); font-size:.72rem; min-height:1.1em; margin-bottom:8px }
  #fbText{
    width:100%; resize:vertical; min-height:90px;
    background:#1a1626; color:var(--ink); border:1px solid var(--panel-edge);
    border-radius:8px; padding:9px 10px; font:inherit; font-size:.85rem; line-height:1.4;
  }
  #fbText:focus{ outline:none; border-color:var(--accent-dim) }
  .fb-card .lp-auth-msg.ok{ color:#8fe0a8 }

  /* ---------- Dépouillement admin ---------- */
  .fb-filters{ display:flex; gap:6px; flex-wrap:wrap; margin:6px 0 10px }
  .fb-filter{
    font:inherit; font-size:.72rem; padding:5px 9px; border-radius:7px;
    border:1px solid var(--panel-edge); background:#1a2228; color:var(--ink-dim); cursor:pointer;
  }
  .fb-filter:hover{ color:var(--ink); border-color:var(--target) }
  .fb-filter.active{ background:var(--accent-dim); color:#1a1424; border-color:var(--accent); font-weight:600 }
  .fb-filter.st-pris_en_compte.active{ background:#3a6fae; border-color:#5a90ce }
  .fb-filter.st-fait.active{ background:#2c7a4c; border-color:#4aa86e }
  .fb-filter.st-non_retenu.active{ background:#5a2a2a; border-color:#8a4444 }
  #fbAdmList{ display:flex; flex-direction:column; gap:9px }
  .fb-item{
    border:1px solid var(--panel-edge,#3a3050); border-radius:10px;
    padding:9px 11px; background:#1a1626;
  }
  .fb-item.st-non_lu{ border-left:3px solid var(--accent-dim) }
  .fb-item.st-pris_en_compte{ border-left:3px solid #5a90ce }
  .fb-item.st-fait{ border-left:3px solid #4aa86e; opacity:.82 }
  .fb-item.st-non_retenu{ border-left:3px solid #8a4444; opacity:.6 }
  .fb-item-head{ display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin-bottom:5px }
  .fb-tag{
    font-size:.68rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
    padding:2px 7px; border-radius:6px; background:#2a2438; color:#c8bce0;
  }
  .fb-tag.cat-bug{ background:#4a2424; color:#f0a0a0 }
  .fb-tag.cat-design{ background:#4a3a1c; color:#f0c880 }
  .fb-tag.cat-gameplay{ background:#1c3a4a; color:#8fd0f0 }
  .fb-who{ font-weight:600; font-size:.82rem; color:var(--ink) }
  .fb-when{ font-size:.7rem; color:var(--ink-dim); margin-left:auto }
  .fb-text{ font-size:.84rem; line-height:1.45; color:var(--ink); white-space:pre-wrap; overflow-wrap:anywhere }
  .fb-meta{ font-size:.7rem; color:var(--ink-dim); margin-top:3px }
  .fb-actions{ display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; border-top:1px solid var(--panel-edge,#3a3050); padding-top:8px }
  .fb-st{
    font:inherit; font-size:.7rem; padding:4px 8px; border-radius:6px; cursor:pointer;
    border:1px solid var(--panel-edge); background:#20202c; color:var(--ink-dim);
  }
  .fb-st:hover{ color:var(--ink); border-color:var(--target) }
  .fb-st.active{ color:#fff; font-weight:600 }
  .fb-st.st-pris_en_compte.active{ background:#3a6fae; border-color:#5a90ce }
  .fb-st.st-fait.active{ background:#2c7a4c; border-color:#4aa86e }
  .fb-st.st-non_retenu.active{ background:#5a2a2a; border-color:#8a4444 }
  .fb-st.st-non_lu.active{ background:#4a3f22; border-color:var(--accent-dim) }
  /* DÉCOUPER : action d'ORGANISATION, pas de jugement — d'où un ton neutre,
     distinct des quatre statuts (qui tranchent) et du rouge de la suppression
     (qui détruit). Elle reste collée aux statuts, la corbeille garde sa droite. */
  .fb-split{
    font:inherit; font-size:.7rem; padding:4px 8px; border-radius:6px; cursor:pointer;
    border:1px dashed var(--panel-edge); background:#242430; color:var(--ink-dim);
  }
  .fb-split:hover{ color:var(--ink); border-color:var(--target); border-style:solid }
  .fb-split:disabled{ opacity:.5; cursor:default }
  .fb-del{
    margin-left:auto; padding:4px 8px; border-radius:6px;
    border:1px solid #7a3030; background:#3a1c1c; color:#ff9a8a; cursor:pointer; font-size:.72rem;
  }
  .fb-del:hover{ background:#5a2424; border-color:#c05050 }

  @media (max-width:560px){
    .fb-cats{ flex-direction:column }
    .fb-item-head{ gap:5px }
    .fb-when{ margin-left:0 }
  }

/* Bulle « avis non lus » sur l'entrée de menu admin (2026-09-07, avis #3 de
   Pixel). Posée dans le flux du bouton, à sa suite : un badge en position
   absolue chevaucherait le libellé sur les entrées longues, le menu n'ayant
   pas de largeur fixe. */
#miFeedbackAdmin .fb-bulle{
  display:inline-block; margin-left:8px; min-width:1.35em;
  padding:1px 6px; border-radius:999px;
  background:#c8443c; color:#fff;
  font-size:.72rem; font-weight:800; line-height:1.5;
  text-align:center; vertical-align:middle;
  box-shadow:0 0 0 1px rgba(0,0,0,.35);
}
