/* Le Fil — Inscriptions et paiements, suivi des dossiers (js/inscriptions/, #/projet/<id>/inscriptions). Préfixe fis-, kit du budget (.fb, .fb-bouton, .fb-saisie, .fb-feuille), jetons --f-*
   (css/fil.css) et lavis du domaine Jeunes (--mv-l / --mv-t, posés par .fmv-t-orchidee). Aucune couleur en dur. La couleur a un sens : sapin (--f-fait) = fait (dossier complet, réglé),
   ambre (--f-attention) = ce qui peut coûter (il manque une pièce, un paiement à relancer), le reste à l'encre ; un dossier « à confirmer » et un paiement « non suivi » restent
   neutres, en pointillé (l'état d'un séjour qui démarre : 48 pastilles ambre seraient un mensonge). Pas de lueur ni d'ombre colorée : le focus passe par un contour. */
[data-interface="fil"] .fis { max-width: 1100px; display: grid; gap: 14px; align-content: start; --fis-haut: 68px; --fis-part: 0; }

/* ---------- En-tête : le billet dont la jauge se remplit à mesure que les familles règlent ---------- */
[data-interface="fil"] .fis-tete { display: flex; align-items: center; gap: 16px; padding: 14px 18px; border-radius: 24px; background: var(--mv-l); }
[data-interface="fil"] .fis-tete-texte { min-width: 0; }
[data-interface="fil"] .fis-colo { margin: 0 0 2px; color: var(--mv-t); font: 600 13px/1.3 Inter, system-ui, sans-serif; letter-spacing: .02em; overflow-wrap: anywhere; }
[data-interface="fil"] .fis-resume { margin: 0; color: var(--f-encre); font: 500 17px/1.35 Inter, system-ui, sans-serif; text-wrap: balance; }
[data-interface="fil"] .fis-scene { flex: none; width: 84px; }
[data-interface="fil"] .fis-dessin { display: block; width: 100%; height: auto; overflow: visible; fill: none; stroke: var(--mv-t); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
[data-interface="fil"] .fis-d-billet { fill: var(--f-surface); }
[data-interface="fil"] .fis-d-perfo { stroke-dasharray: 2 5; opacity: .55; }
[data-interface="fil"] .fis-d-ligne { opacity: .35; stroke-width: 2.6; }
[data-interface="fil"] .fis-d-jauge-fond { fill: none; opacity: .4; stroke-width: 2.4; }
[data-interface="fil"] .fis-d-jauge { fill: var(--mv-t); stroke: none; transform-box: fill-box; transform-origin: 0 50%; transform: scaleX(var(--fis-part)); transition: transform .7s var(--f-spring); }
[data-interface="fil"] .fis-d-sceau { fill: var(--mv-t); stroke: none; transform-box: fill-box; transform-origin: 50% 50%; transform: scale(0); transition: transform .5s var(--f-spring); }
[data-interface="fil"] .fis-d-sceau-coche { stroke: var(--f-surface); stroke-width: 3.4; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset .4s cubic-bezier(.6, 0, .2, 1) .25s; }
[data-interface="fil"] .fis[data-tout] .fis-d-sceau { transform: scale(1); }
[data-interface="fil"] .fis[data-tout] .fis-d-sceau-coche { stroke-dashoffset: 0; }

/* ---------- Les compteurs ---------- */
[data-interface="fil"] .fis-bande { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--f-filet); border-radius: 20px; background: var(--f-surface); }
[data-interface="fil"] .fis-stat { display: grid; gap: 3px; align-content: start; min-width: 0; padding: 12px 12px 12px 14px; border-left: 1px solid var(--f-filet); border-top: 1px solid var(--f-filet); }
[data-interface="fil"] .fis-stat:nth-child(odd) { border-left: 0; }
[data-interface="fil"] .fis-stat:nth-child(-n+2) { border-top: 0; }
[data-interface="fil"] .fis-stat-lib { color: var(--f-encre-2); font: 600 12px/1.2 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fis-stat-val { font: 600 22px/1.15 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; white-space: nowrap; }
[data-interface="fil"] .fis-stat-sous { color: var(--f-encre-2); font: 500 12px/1.3 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fis-stat-barre { display: block; height: 4px; margin: 3px 0 2px; border-radius: 2px; background: var(--f-filet); overflow: hidden; }
[data-interface="fil"] .fis-stat-barre i { display: block; height: 100%; width: calc(var(--p, 0) * 100%); background: var(--f-fait); transition: width .6s var(--f-spring); }
[data-interface="fil"] .fis-stat[data-etat="relancer"] .fis-stat-val, [data-interface="fil"] .fis-stat[data-etat="relancer"] .fis-stat-sous { color: var(--f-attention); }
[data-interface="fil"] .fis-stat[data-etat="complet"] .fis-stat-sous { color: var(--f-fait); font-weight: 600; }

/* ---------- Filtres et actions ---------- */
[data-interface="fil"] .fis-outils { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 12px; }
[data-interface="fil"] .fis-filtres { display: flex; flex-wrap: wrap; gap: 6px; }
[data-interface="fil"] .fis-filtre { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border: 1px solid var(--f-filet); border-radius: 999px; background: var(--f-surface); color: var(--f-encre-2); font: 600 14px/1.2 Inter, system-ui, sans-serif; cursor: pointer; transition: background .2s, color .2s; }
[data-interface="fil"] .fis-filtre[hidden] { display: none; }
[data-interface="fil"] .fis-filtre:hover { color: var(--f-encre); }
[data-interface="fil"] .fis-filtre[aria-pressed="true"] { border-color: var(--f-encre); background: var(--f-encre); color: var(--f-surface); }
[data-interface="fil"] .fis-filtre-n { font-variant-numeric: tabular-nums; opacity: .8; }
[data-interface="fil"] .fis-actions { display: flex; flex-wrap: wrap; gap: 8px; }
[data-interface="fil"] .fis-actions .fb-bouton[hidden] { display: none; }
[data-interface="fil"] .fis-etat-ligne { display: flex; align-items: center; gap: 10px; min-height: 20px; margin: -8px 0 -6px; }
[data-interface="fil"] .fis-etat { margin: 0; color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fis-etat[data-etat="erreur"] { color: var(--f-urgent); font-weight: 600; }
[data-interface="fil"] .fis-etat[data-etat="ok"] { color: var(--f-fait); }
[data-interface="fil"] .fis-reessayer[hidden] { display: none; }

/* ---------- La liste : une ligne par jeune ---------- */
[data-interface="fil"] .fis-zone { border: 1px solid var(--f-filet); border-radius: 20px; background: var(--f-surface); }
[data-interface="fil"] .fis-entetes { display: none; }
[data-interface="fil"] .fis-groupe-nom { display: flex; align-items: baseline; gap: 8px; margin: 0; padding: 16px 14px 6px; color: var(--f-encre-2); font: 600 13px/1.2 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fis-groupe:first-child .fis-groupe-nom { padding-top: 14px; }
[data-interface="fil"] .fis-groupe-n { font-weight: 500; font-variant-numeric: tabular-nums; opacity: .8; }
[data-interface="fil"] .fis-ligne { border-top: 1px solid var(--f-filet); }
[data-interface="fil"] .fis-ligne-bouton { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; column-gap: 10px; row-gap: 6px; width: 100%; min-height: 64px; padding: 10px 14px; border: 0; border-radius: 0; background: transparent; color: var(--f-encre); text-align: left; font: 500 15px/1.3 Inter, system-ui, sans-serif; cursor: pointer; transition: background .2s; }
[data-interface="fil"] .fis-ligne-bouton:hover, [data-interface="fil"] .fis-ligne-bouton:focus-visible { background: var(--f-surface-2); }
[data-interface="fil"] .fis[data-masse] .fis-ligne-bouton { grid-template-columns: 24px minmax(0, 1fr); }
[data-interface="fil"] .fis-ligne.est-choisi .fis-ligne-bouton { background: var(--f-surface-2); box-shadow: inset 4px 0 0 var(--f-encre); }
[data-interface="fil"] .fis-coche { grid-row: 1 / span 2; width: 24px; height: 24px; border: 2px solid var(--f-encre-3); border-radius: 7px; background: transparent; transition: background .2s, border-color .2s; }
[data-interface="fil"] .fis-coche[hidden] { display: none; }
[data-interface="fil"] .fis-ligne.est-choisi .fis-coche { border-color: var(--f-encre); background: var(--f-encre); box-shadow: inset 0 0 0 4px var(--f-surface); }
[data-interface="fil"] .fis-nom { grid-column: -2 / -1; display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; min-width: 0; }
[data-interface="fil"] .fis-nom-n { font-weight: 600; overflow-wrap: anywhere; }
[data-interface="fil"] .fis-c-note { color: var(--f-encre-2); font: 500 11px/1.2 Inter, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .04em; }
[data-interface="fil"] .fis-c-note[hidden] { display: none; }
[data-interface="fil"] .fis-chips { grid-column: -2 / -1; display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
[data-interface="fil"] .fis-chip { display: inline-flex; align-items: center; min-height: 26px; padding: 2px 10px; border: 1px solid var(--f-filet); border-radius: 999px; background: var(--f-surface-2); color: var(--f-encre-2); font: 600 12px/1.25 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
[data-interface="fil"] .fis-chip--statut[data-v="inscrit"] { display: none; }
[data-interface="fil"] .fis-chip--statut[data-v="desiste"] { border-color: var(--f-encre); background: var(--f-encre); color: var(--f-surface); }
[data-interface="fil"] .fis-chip[data-v="complet"], [data-interface="fil"] .fis-chip[data-v="regle"] { border-color: var(--f-fait); background: color-mix(in srgb, var(--f-fait) 14%, var(--f-surface)); color: var(--f-fait); }
[data-interface="fil"] .fis-chip[data-v="pieces"], [data-interface="fil"] .fis-chip[data-v="a_relancer"], [data-interface="fil"] .fis-chip[data-v="partiel"] { border-color: var(--f-attention); background: color-mix(in srgb, var(--f-attention) 12%, var(--f-surface)); color: var(--f-attention); }
[data-interface="fil"] .fis-chip[data-v="incomplet"], [data-interface="fil"] .fis-chip[data-v="non_concerne"] { border-style: dashed; border-color: var(--f-encre-3); background: transparent; color: var(--f-encre-2); font-weight: 500; }
[data-interface="fil"] .fis-ligne[data-statut="desiste"] .fis-nom-n { color: var(--f-encre-2); text-decoration: line-through; text-decoration-color: var(--f-encre-3); }
[data-interface="fil"] .fis-c-du, [data-interface="fil"] .fis-c-regle, [data-interface="fil"] .fis-c-mode { display: none; }
[data-interface="fil"] .fis-vide { margin: 0; padding: 22px 18px; border: 1px dashed var(--f-filet); border-radius: 20px; color: var(--f-encre-2); font: 400 15px/1.5 Inter, system-ui, sans-serif; text-align: center; }
[data-interface="fil"] .fis-vide[hidden] { display: none; }
[data-interface="fil"] .fis-vide--depart { display: grid; gap: 14px; justify-items: center; }
[data-interface="fil"] .fis-vide--depart p { margin: 0; max-width: 46ch; }
[data-interface="fil"] .fis-erreur { display: grid; gap: 12px; justify-items: start; }
[data-interface="fil"] .fis-pied { display: flex; justify-content: flex-end; }

/* ---------- La saisie groupée : barre collée en bas, au-dessus de la barre de navigation ---------- */
[data-interface="fil"] .fis-masse { position: sticky; bottom: calc(84px + env(safe-area-inset-bottom, 0px)); z-index: 30; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 6px 8px; padding: 8px 10px; border: 1px solid var(--f-filet); border-radius: 18px; background: var(--f-surface); box-shadow: 0 6px 20px -8px var(--f-filet); }
[data-interface="fil"] .fis-masse[hidden] { display: none; }
[data-interface="fil"] .fis-masse-n { grid-column: 1; color: var(--f-encre); font: 600 14px/1.3 Inter, system-ui, sans-serif; padding-left: 4px; }
[data-interface="fil"] .fis-masse > button[data-action="fin-saisie-groupee"] { grid-column: 2; grid-row: 1; justify-self: end; min-height: 36px; }
[data-interface="fil"] .fis-masse > button[data-action="tout-selectionner"] { grid-column: 1; grid-row: 2; }
[data-interface="fil"] .fis-masse > button[data-action="appliquer-groupe"] { grid-column: 2; grid-row: 2; }

/* ---------- La feuille d'un jeune et celle de la saisie groupée ---------- */
[data-interface="fil"] .fis-feuille-groupe { margin: -2px 0 8px; color: var(--f-encre-2); font: 500 14px/1.3 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fis-feuille-sec { display: grid; gap: 8px; padding: 12px 0; border-top: 1px solid var(--f-filet); }
[data-interface="fil"] .fis-feuille-sec:first-of-type { border-top: 0; }
[data-interface="fil"] .fis-feuille-lib { margin: 0; font: 600 15px/1.3 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fis-feuille-aide { margin: 0; color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fis-feuille-desiste { margin: 0; padding: 10px 12px; border: 1px solid var(--f-encre-3); border-radius: 12px; color: var(--f-encre-2); font: 500 14px/1.4 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fis-feuille-desiste[hidden] { display: none; }
[data-interface="fil"] .fis-feuille-lien { display: inline-block; min-height: 24px; color: var(--f-encre); font-weight: 600; text-decoration: underline; }
[data-interface="fil"] .fis-choix { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
[data-interface="fil"] .fis-choix--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-interface="fil"] .fis-choix--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-interface="fil"] .fis-option { min-height: 44px; padding: 0 6px; border: 1px solid var(--f-filet); border-radius: 12px; background: var(--f-surface); color: var(--f-encre-2); font: 600 14px/1.2 Inter, system-ui, sans-serif; cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .3s var(--f-spring); }
[data-interface="fil"] .fis-option:active { transform: scale(.97); }
[data-interface="fil"] .fis-option[data-actif="1"] { border-color: var(--f-encre); background: var(--f-encre); color: var(--f-surface); }
[data-interface="fil"] .fis-option[data-actif="1"][data-valeur="complet"], [data-interface="fil"] .fis-option[data-actif="1"][data-valeur="regle"] { border-color: var(--f-fait); background: var(--f-fait); color: var(--f-surface); }
[data-interface="fil"] .fis-option[data-actif="1"][data-valeur="a_relancer"], [data-interface="fil"] .fis-option[data-actif="1"][data-valeur="partiel"] { border-color: var(--f-attention); background: color-mix(in srgb, var(--f-attention) 14%, var(--f-surface)); color: var(--f-attention); }
[data-interface="fil"] .fis-option[data-actif="1"][data-valeur="incomplet"], [data-interface="fil"] .fis-option[data-actif="1"][data-valeur="non_concerne"] { background: var(--f-surface-2); color: var(--f-encre); }
[data-interface="fil"] .fis-pieces { display: grid; gap: 8px; }
[data-interface="fil"] .fis-pieces[hidden] { display: none; }
[data-interface="fil"] .fis-pieces-liste, [data-interface="fil"] .fis-pieces-idees { display: flex; flex-wrap: wrap; gap: 6px; }
[data-interface="fil"] .fis-pieces-liste:empty, [data-interface="fil"] .fis-pieces-idees:empty { display: none; }
[data-interface="fil"] .fis-piece, [data-interface="fil"] .fis-idee { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 999px; font: 500 14px/1.2 Inter, system-ui, sans-serif; cursor: pointer; }
[data-interface="fil"] .fis-piece { border: 1px solid var(--f-attention); background: color-mix(in srgb, var(--f-attention) 12%, var(--f-surface)); color: var(--f-attention); font-weight: 600; }
[data-interface="fil"] .fis-piece-x { font-size: 18px; line-height: 1; }
[data-interface="fil"] .fis-idee { border: 1px dashed var(--f-encre-3); background: transparent; color: var(--f-encre-2); }
[data-interface="fil"] .fis-pieces-ajout { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
[data-interface="fil"] .fis-montants { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
[data-interface="fil"] .fis-reste { margin: 0; color: var(--f-encre); font: 600 15px/1.3 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
[data-interface="fil"] .fis-reste[hidden] { display: none; }
[data-interface="fil"] .fis-regle[hidden] { display: none; }
[data-interface="fil"] .fis-copie { min-height: 180px; font-size: 14px; }

@media (min-width: 480px) {
  [data-interface="fil"] .fis-choix--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 380px) {
  [data-interface="fil"] .fis-scene { width: 70px; }
  [data-interface="fil"] .fis-resume { font-size: 16px; }
}
@media (min-width: 900px) {
  [data-interface="fil"] .fis { padding-top: 12px; }
  [data-interface="fil"] .fis-tete { padding: 18px 24px; gap: 22px; }
  [data-interface="fil"] .fis-scene { width: 108px; }
  [data-interface="fil"] .fis-resume { font-size: 20px; }
  [data-interface="fil"] .fis-bande { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  [data-interface="fil"] .fis-stat { padding: 14px 16px; border-top: 0; border-left: 1px solid var(--f-filet); }
  [data-interface="fil"] .fis-stat:nth-child(odd) { border-left: 1px solid var(--f-filet); }
  [data-interface="fil"] .fis-stat:first-child { border-left: 0; }
  [data-interface="fil"] .fis-stat-val { font-size: 26px; }
  /* Au bureau, un vrai tableau : une colonne par information, l'en-tête reste sous la barre du haut. */
  [data-interface="fil"] .fis-entetes { position: sticky; top: var(--fis-haut); z-index: 4; display: grid; grid-template-columns: var(--fis-cols); gap: 0 12px; padding: 10px 14px; border-bottom: 1px solid var(--f-filet); border-radius: 19px 19px 0 0; background: var(--f-surface); color: var(--f-encre-2); font: 600 12px/1.2 Inter, system-ui, sans-serif; }
  [data-interface="fil"] .fis-entetes[hidden] { display: none; }
  [data-interface="fil"] .fis { --fis-cols: minmax(150px, 1.3fr) 104px minmax(0, 1.5fr) minmax(0, 1.4fr) 108px 108px 150px; }
  [data-interface="fil"] .fis-entetes span:nth-child(5), [data-interface="fil"] .fis-entetes span:nth-child(6) { text-align: right; }
  [data-interface="fil"] .fis[data-masse] .fis-entetes { padding-left: 50px; }
  [data-interface="fil"] .fis-ligne-bouton, [data-interface="fil"] .fis[data-masse] .fis-ligne-bouton { column-gap: 12px; row-gap: 0; padding: 6px 14px; min-height: 56px; }
  [data-interface="fil"] .fis-ligne-bouton { grid-template-columns: var(--fis-cols); }
  [data-interface="fil"] .fis[data-masse] .fis-ligne-bouton { grid-template-columns: 24px var(--fis-cols); }
  [data-interface="fil"] .fis-coche { grid-row: auto; }
  [data-interface="fil"] .fis-nom { grid-column: auto; }
  [data-interface="fil"] .fis-chips { display: contents; }
  [data-interface="fil"] .fis-chip { justify-self: start; }
  [data-interface="fil"] .fis-chip--statut[data-v="inscrit"] { display: inline-flex; border-color: transparent; background: transparent; color: var(--f-encre-2); font-weight: 500; padding-left: 0; }
  [data-interface="fil"] .fis-c-du, [data-interface="fil"] .fis-c-regle, [data-interface="fil"] .fis-c-mode { display: block; color: var(--f-encre-2); font: 500 14px/1.3 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
  [data-interface="fil"] .fis-c-du, [data-interface="fil"] .fis-c-regle { text-align: right; }
}
@media (prefers-reduced-motion: reduce) {
  [data-interface="fil"] .fis *, [data-interface="fil"] .fis-d-jauge { transition: none !important; animation: none !important; }
}
