/* Équipe native Le Fil (js/equipe/, js/accueils/equipe.js ; spec docs/specs/2026-10-07-le-fil-design.md). Style de Le Fil : encre, filets, couleur rare (ambre = ce qui
   demande un geste, sapin = fait), pleine largeur, cibles de 44 px et plus, sept tailles de texte (12, 14, 16, 18, 24, 30, 64), aucun effet décoratif.
   Réutilise la fabrique et les classes du budget (css/fil-budget.css : .fb, .fb-carte, .fb-bouton, .fb-feuille…) ; ce fichier ne porte que ce qui est propre à l'équipe.
   Remplace les règles classiques de l'ancien panneau (styles.css, porte-sejour.css, reglementation.css, parcours.css : supprimées). */

/* Barre d'actions : Inviter (plein) · Ajouter · Mon rôle */
.feq-barre { margin: 0 0 12px; }
.feq-barre .fb-bouton { flex: 0 0 auto; }
@media (max-width: 520px) { .feq-barre .fb-bouton { flex: 1 1 0; padding: 0 8px; } }

/* Liste : une ligne = une personne (ou un créneau), un toucher */
.feq-liste { display: flex; flex-direction: column; margin-top: 6px; }
.feq-membre { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; column-gap: 12px; width: 100%; min-height: 64px; padding: 10px 0; border: 0; border-top: 1px solid var(--f-filet); background: transparent; color: var(--f-encre); text-align: left; font: inherit; }
.feq-membre:first-child { border-top: 0; }
button.feq-membre { cursor: pointer; }
button.feq-membre:hover { background: var(--f-surface-2); }
.feq-membre--creneau { grid-template-columns: minmax(0, 1fr) minmax(0, 40%); }
.feq-disque { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--f-filet); border-radius: 50%; background: var(--f-surface-2); color: var(--f-encre-2); font: 600 14px/1 Inter, system-ui, sans-serif; }
.feq-membre-lib { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.feq-membre-nom { font: 500 16px/1.3 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.feq-membre-nom--vide { color: var(--f-encre-3); }
.feq-membre-sous { color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.feq-membre-etats { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.feq-encadrants-noms { color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; text-align: right; overflow-wrap: anywhere; }
.feq-encadrants-noms--vide { color: var(--f-encre-3); }
@media (max-width: 420px) { .feq-membre { grid-template-columns: 40px minmax(0, 1fr); } .feq-membre-etats { grid-column: 2; justify-content: flex-start; } .feq-membre--creneau { grid-template-columns: minmax(0, 1fr); } .feq-encadrants-noms { text-align: left; } }

/* Recrutement d'un séjour : une fiche de poste = un lien */
a.feq-membre { text-decoration: none; cursor: pointer; }
a.feq-membre:hover { background: var(--f-surface-2); }
.feq-fiche { grid-template-columns: minmax(0, 1fr) auto; }
.feq-fiche-total { color: var(--f-encre-2); font: 500 12px/1 Inter, system-ui, sans-serif; white-space: nowrap; }
@media (max-width: 420px) { .feq-fiche { grid-template-columns: minmax(0, 1fr); } .feq-fiche .feq-membre-etats { grid-column: 1; } }

/* Réunion : points et notes */
.feq-reunion-ligne { grid-template-columns: minmax(0, 1fr) auto; }
.feq-reunion-texte { margin: 0; font: 500 16px/1.4 Inter, system-ui, sans-serif; white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 420px) { .feq-reunion-ligne { grid-template-columns: minmax(0, 1fr); } .feq-reunion-ligne .feq-membre-etats { grid-column: 1; justify-content: flex-start; } }
.feq-traites { margin-top: 8px; }
.feq-traite { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 10px 0; border-top: 1px solid var(--f-filet); }
.feq-traite:first-child { border-top: 0; }
.feq-traite-texte { display: flex; flex: 1 1 200px; flex-direction: column; gap: 2px; min-width: 0; }

/* Trombinoscope : vignettes carrées, photo ou initiales */
.feq-recherche { flex: 1 1 200px; width: auto; }
.feq-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 14px 10px; margin-top: 10px; }
.feq-vignette { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; text-align: center; }
.feq-vignette[hidden] { display: none; }
.feq-vignette[data-occupe] { opacity: .5; }
.feq-vignette-face { position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 1; padding: 0; border: 1px solid var(--f-filet); border-radius: 18px; overflow: hidden; background: var(--f-surface-2); color: inherit; font: inherit; }
button.feq-vignette-face { cursor: pointer; }
.feq-vignette-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.feq-vignette-initiales { color: var(--f-encre-2); font: 600 24px/1 Inter, system-ui, sans-serif; user-select: none; }
.feq-vignette-nom { font: 500 14px/1.3 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.feq-vignette-sous { color: var(--f-encre-2); font: 400 12px/1.3 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.feq-vignette-retirer { display: none; width: 100%; padding: 0 6px; }
.est-edition .feq-vignette-retirer:not([hidden]) { display: inline-flex; }
@media (max-width: 420px) { .feq-grille { grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); } }

/* Choix larges (inviter, vivier) */
.feq-choix { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; width: 100%; min-height: 64px; margin: 0 0 8px; padding: 10px 16px; border: 1px solid var(--f-filet); border-radius: 18px; background: var(--f-surface); color: var(--f-encre); text-align: left; font: inherit; cursor: pointer; }
.feq-choix:hover { background: var(--f-surface-2); }
.feq-choix:disabled { opacity: .5; cursor: default; }
.feq-choix-titre { font: 500 16px/1.3 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.feq-choix-sous { color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.feq-vivier { display: flex; flex-direction: column; margin-top: 10px; }
.feq-ajout-barre { margin: 14px 0 12px; }
.feq-ajout-barre .fb-segments { width: 100%; }
.feq-compte { margin-top: 14px; padding-top: 4px; border-top: 1px solid var(--f-filet); }
.feq-compte-zone .fb-actions { margin-top: 10px; }

/* Liens en cours */
.feq-lien { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 10px 0; border-top: 1px solid var(--f-filet); }
.feq-lien:first-child { border-top: 0; }
.feq-lien-texte { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 200px; }
.feq-lien-titre { font: 500 16px/1.3 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.feq-lien-sous { color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.feq-lien-actions { display: flex; flex-wrap: wrap; gap: 6px; }

/* Conformité */
.feq-portee { margin: 12px 0 4px; padding: 12px 14px; border: 1px solid var(--f-filet); border-left: 3px solid var(--f-attention); border-radius: 14px; background: var(--f-surface-2); }
.feq-portee strong { font: 600 14px/1.4 Inter, system-ui, sans-serif; }
.feq-portee p { margin: 4px 0 0; }
.feq-portee-liste { color: var(--f-encre-2); font: 400 14px/1.45 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.feq-portee-liens { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.feq-pastille { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 14px; border: 1px solid var(--f-filet); border-radius: 22px; background: var(--f-surface); color: var(--f-encre); text-decoration: none; font: 500 14px/1.3 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
a.feq-pastille:hover { background: var(--f-surface-2); }
.feq-pastille--texte { color: var(--f-encre-2); font-weight: 400; }
.feq-checks { margin-top: 8px; }
.feq-check { border-top: 1px solid var(--f-filet); }
.feq-check:first-child { border-top: 0; }
.feq-check-tete { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 60px; padding: 8px 0; list-style: none; cursor: pointer; }
.feq-check-tete::-webkit-details-marker { display: none; }
.feq-check-tete::before { content: ''; width: 8px; height: 8px; flex: none; border-right: 2px solid var(--f-encre-3); border-bottom: 2px solid var(--f-encre-3); transform: rotate(-45deg); transition: transform 160ms ease; }
.feq-check[open] > .feq-check-tete::before { transform: rotate(45deg); }
.feq-check-texte { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.feq-check-titre { font: 500 16px/1.3 Inter, system-ui, sans-serif; }
.feq-check-valeur { color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.feq-check-tete .fb-puce { flex: none; }
.feq-check-corps { padding: 0 0 12px 18px; }
.feq-check-ref { margin: 4px 0 0; color: var(--f-encre-3); font: 400 12px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.feq-check-ref .fb-lien { display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; }
.feq-source { margin-top: 8px; }

/* Calculateur d'encadrement */
.feq-calcul-sortie { margin-top: 14px; }
.feq-hero { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 10px 0; }
.feq-hero-n { font: 600 64px/1 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.feq-hero-l { font: 500 18px/1.3 Inter, system-ui, sans-serif; }
.feq-hero-plus { flex-basis: 100%; color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; }
.feq-calcul-lignes { list-style: none; margin: 0 0 8px; padding: 0; }
.feq-calcul-ligne { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; padding: 8px 0; border-top: 1px solid var(--f-filet); font: 400 14px/1.4 Inter, system-ui, sans-serif; }
.feq-calcul-ligne:first-child { border-top: 0; }
.feq-calcul-lib { font-weight: 500; }
.feq-calcul-val { font-variant-numeric: tabular-nums; text-align: right; }
.feq-calcul-det, .feq-calcul-ref { grid-column: 1 / -1; color: var(--f-encre-2); }
.feq-calcul-ref { color: var(--f-encre-3); font-size: 12px; }
.feq-calcul-ligne[data-statut="alerte"] .feq-calcul-val, .feq-calcul-ligne[data-statut="a-verifier"] .feq-calcul-val { color: var(--f-attention); }

/* Mon rôle */
.feq-role { max-width: 720px; }
.feq-cases { display: block; }
.feq-case { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; column-gap: 14px; min-height: 60px; padding: 10px 0; border-top: 1px solid var(--f-filet); cursor: pointer; }
.feq-case:first-child { border-top: 0; }
.feq-case input { width: 24px; height: 24px; margin: 0; accent-color: var(--f-encre); }
.feq-case-corps { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.feq-case-titre { font: 500 16px/1.3 Inter, system-ui, sans-serif; }
.feq-case-sous { color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }

/* Impression : la liste de l'équipe seule */
@media print { .feq .feq-barre, .feq .fb-actions, .feq .feq-conformite, .feq .feq-liens { display: none !important; } }
