/* ================= Module Réclamations ================= */

/* États d'une réclamation */
.etiquette-en_attente_universite { background: var(--fond-bleu); color: var(--bleu-inst); }
.etiquette-en_retard { background: var(--avert-fond); color: #6b5a00; }
.etiquette-confirmee { background: var(--succes-fond); color: #0f5a4b; }
.etiquette-contestee { background: #fdeee0; color: #8a4600; }
.etiquette-fondee { background: var(--succes-fond); color: #0f5a4b; }
.etiquette-rejetee { background: var(--alerte-fond); color: #9b231f; }

/* Compte à rebours de l'échéance */
.echeance { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: 13px; font-weight: 700; white-space: nowrap; background: var(--fond); color: var(--gris); }
.echeance-ok { background: var(--fond-bleu); color: var(--bleu-inst); }
.echeance-proche { background: var(--avert-fond); color: #6b5a00; }
.echeance-depassee { background: var(--alerte-fond); color: #9b231f; }
.echeance-date { display: block; margin-top: 4px; color: var(--gris); font-size: 12.5px; font-weight: 500; }

/* Indicateurs : chiffre d'alerte */
.indicateur.attention b { color: #9b231f; }
.indicateur.prudence b { color: #8a5b00; }

/* Tableaux : liens de dossier */
.tableau .ref { font-weight: 700; text-decoration: none; }
.tableau .ref:hover { text-decoration: underline; }
.tableau .personne b { display: block; }

/* Fiche de dossier */
.dossier-entete { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 18px; }
.dossier-entete .mono { font-size: 15px; font-weight: 700; color: var(--sombre); }
.texte-libre { white-space: pre-line; overflow-wrap: anywhere; font-weight: 500; line-height: 1.55; }
.citation { background: var(--fond); border-radius: 10px; padding: 14px 16px; margin-top: 6px; }
.citation .auteur { display: block; margin-top: 8px; color: var(--gris); font-size: 13px; }
.piece { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; background: var(--fond); border-radius: 10px; padding: 14px 16px; }
.piece .icone-piece { width: 42px; height: 42px; border-radius: 10px; background: var(--blanc); color: var(--bleu-inst); display: flex; align-items: center; justify-content: center; flex: none; }
.piece .infos { flex: 1 1 180px; min-width: 0; }
.piece .infos b { display: block; }
.panneau .aide-action { color: var(--gris); font-size: 14px; margin-bottom: 14px; }
.panneau form + form { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--trait); }
.panneau .champ textarea { min-height: 96px; }
.panneau .form-actions { margin-top: 12px; }

/* Choix de la décision du Ministère */
.choix-decision { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; border: 0; padding: 0; }
.choix-decision legend { font-weight: 600; font-size: 14px; margin-bottom: 8px; padding: 0; }
.choix-decision label { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 10px; background: var(--fond); cursor: pointer; }
.choix-decision label:has(input:checked) { background: var(--fond-bleu); }
.choix-decision input { margin-top: 3px; accent-color: var(--bleu-inst); width: 18px; height: 18px; flex: none; }
.choix-decision b { display: block; font-size: 15px; }
.choix-decision span { display: block; color: var(--gris); font-size: 13px; }
.choix-decision .erreur { grid-column: 1 / -1; color: #b42318; font-size: 13px; }

/* Mes réclamations (étudiant) */
.liste-dossiers { display: grid; gap: 14px; }
.dossier-carte { background: var(--blanc); border: 1px solid var(--trait); border-radius: 12px; padding: clamp(16px, 2vw, 22px); }
.dossier-carte .haut { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 14px; margin-bottom: 10px; }
.dossier-carte .haut .mono { font-weight: 700; }
.dossier-carte p { color: var(--gris); font-size: 14px; }
.dossier-carte .citation { margin-top: 12px; }
.dossier-carte .bas { margin-top: 12px; }

/* Suivi public */
.suivi-form { max-width: 780px; }
.suivi-form .champs { align-items: start; }
.suivi-resultat .details { flex-direction: column; gap: 18px; }
.suivi-resultat .chronologie { margin-top: 4px; }
.statut.info { background: var(--bleu-inst); color: var(--blanc); }

@media (max-width: 640px) {
  .choix-decision { grid-template-columns: minmax(0, 1fr); }
  .piece .btn { width: 100%; }
  .dossier-carte .haut { align-items: flex-start; }
}

/* Sur tablette et téléphone, les actions et le suivi passent avant le détail du dossier */
@media (max-width: 960px) {
  .dossier .colonne-laterale { order: -1; }
}

/* Logo de l'université sur la fiche d'un dossier */
.universite-dossier { display: flex; align-items: center; gap: 10px; }
.universite-dossier img { width: 36px; height: 36px; object-fit: contain; border-radius: 6px; background: var(--blanc); flex: none; }
