/* « Mon profil » natif Le Fil : js/profil/page.js. Préfixe fpf-, jetons --f-* de css/fil.css seulement. L'en-tête est l'en-tête commun (css/fil-entete.css) ;
   ici : le bouton de prochaine étape, la rangée de chiffres clés, les blocs d'une section. */
[data-interface="fil"] .fpf-action { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 18px; border-radius: 14px; background: var(--f-encre); color: var(--f-fond); text-decoration: none; font: 600 14px/1.2 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fpf-action:hover { background: var(--f-encre-2); }
[data-interface="fil"] .fpf-action-fleche, [data-interface="fil"] .fpf-action-fleche svg { display: inline-flex; width: 18px; height: 18px; flex: none; }
[data-interface="fil"] .fpf-page { padding-top: 16px; }
[data-interface="fil"] .fpf-bloc { margin: 24px 0 0; min-width: 0; }
[data-interface="fil"] .fpf-bloc:first-child { margin-top: 8px; }
[data-interface="fil"] .fpf-bloc-titre { margin: 0 0 8px; font: 600 18px/1.3 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fpf-bloc-contenu { min-width: 0; }

/* ---------- La carte « Ton profil » (js/profil/carte.js) : l'anneau, le niveau, les trois paliers, la prochaine action ---------- */
@property --pfc-p { syntax: '<number>'; inherits: false; initial-value: 0; }
[data-interface="fil"] .pfc { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px 16px; align-items: start; margin: 0 0 8px; padding: 16px; background: var(--f-surface); border: 1px solid var(--f-filet); border-radius: 24px; --pfc-ton: var(--f-encre); }
[data-interface="fil"] .pfc[data-ton="ok"] { --pfc-ton: var(--f-fait); }
[data-interface="fil"] .pfc[data-ton="alerte"] { --pfc-ton: var(--f-attention); }
[data-interface="fil"] .pfc[hidden] { display: none; }
[data-interface="fil"] .pfc[data-masquee] { display: block; padding: 0; background: none; border: 0; margin: 0; }
[data-interface="fil"] .pfc-anneau { --pfc-p: 0; position: relative; display: grid; place-items: center; flex: none; width: 72px; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(var(--pfc-ton) calc(var(--pfc-p) * 1turn), var(--f-filet) 0); transition: --pfc-p 480ms var(--f-spring); }
[data-interface="fil"] .pfc-anneau::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: var(--f-surface); }
[data-interface="fil"] .pfc-anneau-n { position: relative; display: flex; align-items: baseline; font: 600 22px/1 Inter, system-ui, sans-serif; color: var(--f-encre); }
[data-interface="fil"] .pfc-anneau-n b { font-weight: 600; }
[data-interface="fil"] .pfc-anneau-n small { margin-left: 1px; color: var(--f-encre-2); font: 400 13px/1 Inter, system-ui, sans-serif; }
[data-interface="fil"] .pfc-corps { min-width: 0; }
[data-interface="fil"] .pfc-niveau { margin: 0; font: 600 18px/1.3 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
[data-interface="fil"] .pfc-detail { margin: 4px 0 0; color: var(--f-encre-2); font: 400 14px/1.5 Inter, system-ui, sans-serif; }
[data-interface="fil"] .pfc-motif { margin: 6px 0 0; font: 400 14px/1.45 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
[data-interface="fil"] .pfc-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
[data-interface="fil"] .pfc-action { display: inline-flex; align-items: center; gap: 6px; min-height: 48px; padding: 0 16px; border: 1px solid var(--f-encre); border-radius: 14px; background: transparent; color: var(--f-encre); text-decoration: none; font: 600 14px/1.2 Inter, system-ui, sans-serif; cursor: pointer; }
[data-interface="fil"] .pfc-action:hover { background: var(--f-surface-2); }
[data-interface="fil"] .pfc-ico, [data-interface="fil"] .pfc-ico svg { display: inline-flex; width: 18px; height: 18px; flex: none; }
[data-interface="fil"] .pfc-paliers { grid-column: 1 / -1; list-style: none; margin: 0; padding: 0; min-width: 0; border-top: 1px solid var(--f-filet); }
[data-interface="fil"] .pfc-palier { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 2px 12px; align-items: center; padding: 2px 0; min-height: 52px; border-bottom: 1px solid var(--f-filet); color: var(--f-encre-2); font: 400 15px/1.4 Inter, system-ui, sans-serif; }
[data-interface="fil"] .pfc-paliers > .pfc-palier:last-child { border-bottom: 0; }
[data-interface="fil"] .pfc-puce { display: grid; place-items: center; width: 20px; height: 20px; margin-top: 0; border: 1.5px solid var(--f-encre-3); border-radius: 50%; color: var(--f-fond); }
[data-interface="fil"] .pfc-puce .pfc-ico, [data-interface="fil"] .pfc-puce .pfc-ico svg { width: 12px; height: 12px; stroke-width: 2.6; }
[data-interface="fil"] .pfc-palier[data-etat="fait"] { color: var(--f-encre); }
[data-interface="fil"] .pfc-palier[data-etat="fait"] .pfc-puce { background: var(--pfc-ton); border-color: var(--pfc-ton); }
[data-interface="fil"] .pfc-palier[data-etat="suivant"] { color: var(--f-encre); }
[data-interface="fil"] .pfc-palier[data-etat="suivant"] .pfc-puce { border-color: var(--f-encre); border-width: 2px; }
[data-interface="fil"] .pfc-palier[data-etat="sans_objet"] .pfc-puce { border-style: dashed; }
[data-interface="fil"] .pfc-palier-txt { min-width: 0; overflow-wrap: anywhere; }
[data-interface="fil"] .pfc-note { display: block; margin-top: 2px; color: var(--f-encre-2); font: 400 13px/1.4 Inter, system-ui, sans-serif; }
[data-interface="fil"] .pfc-palier-lien { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: underline; text-decoration-color: var(--f-encre-3); text-underline-offset: 3px; }
[data-interface="fil"] .pfc-palier-lien:hover { text-decoration-color: var(--f-encre); }
[data-interface="fil"] .pfc-sans { grid-column: 2; display: flex; align-items: center; gap: 10px; min-height: 48px; cursor: pointer; color: var(--f-encre); font: 400 14px/1.4 Inter, system-ui, sans-serif; }
[data-interface="fil"] .pfc-sans input { width: 22px; height: 22px; margin: 0; flex: none; accent-color: var(--f-encre); cursor: pointer; }
[data-interface="fil"] .pfc-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
[data-interface="fil"] .pfc-bas { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 16px; }
[data-interface="fil"] .pfc-fiche { flex: 1 1 100%; margin: 0; color: var(--f-encre-2); font: 400 14px/1.5 Inter, system-ui, sans-serif; }
[data-interface="fil"] .pfc-fiche b { font-weight: 600; color: var(--f-encre); }
[data-interface="fil"] .pfc-fiche-lien { color: var(--f-encre); white-space: nowrap; }
[data-interface="fil"] .pfc-erreur { flex: 1 1 100%; margin: 0; color: var(--f-urgent); font: 400 14px/1.45 Inter, system-ui, sans-serif; }
[data-interface="fil"] .pfc-masquer, [data-interface="fil"] .pfc-restaurer { min-height: 44px; margin-left: auto; padding: 0 4px; border: 0; background: none; color: var(--f-encre-2); font: 400 14px/1.2 Inter, system-ui, sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
[data-interface="fil"] .pfc-masquer:hover, [data-interface="fil"] .pfc-restaurer:hover { color: var(--f-encre); }
@media (min-width: 900px) {
  [data-interface="fil"] .pfc { grid-template-columns: auto minmax(0, 1fr) minmax(0, 1.15fr); gap: 16px 32px; }
  [data-interface="fil"] .pfc-paliers { grid-column: auto; border-top: 0; }
}
@media (prefers-reduced-motion: reduce) { [data-interface="fil"] .pfc-anneau { transition: none; } }

/* ---------- Le corps d'une section : sous-titres, avatar, photo, formulaires à plat (plus de cartes en verre) ---------- */
[data-interface="fil"] .fpf-sous-titre { display: flex; align-items: baseline; gap: 8px; margin: 28px 0 10px; font: 600 16px/1.3 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fpf-sous-compte { color: var(--f-encre-2); font: 500 14px/1 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fpf-bloc .profil-section + .profil-section { margin-top: 8px; }
[data-interface="fil"] .fpf-bloc .profil-avatar-choix { display: flex; flex-direction: column; gap: 8px; margin: 0 0 16px; }
[data-interface="fil"] .fpf-bloc .profil-avatar-choix-lbl { color: var(--f-encre-2); font: 400 14px/1.3 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fpf-bloc .profil-avatar-rangee { display: flex; flex-wrap: wrap; gap: 8px; }
[data-interface="fil"] .fpf-bloc .profil-avatar-opt { width: 48px; height: 48px; padding: 0; display: inline-grid; place-items: center; border: 1px solid var(--f-filet); border-radius: 50%; background: var(--f-surface); color: var(--f-encre); }
[data-interface="fil"] .fpf-bloc .profil-avatar-opt[aria-pressed="true"] { border-color: var(--f-encre); box-shadow: 0 0 0 1px var(--f-encre); }
[data-interface="fil"] .fpf-bloc .profil-avatar-opt .ico { width: 22px; height: 22px; }
[data-interface="fil"] .fpf-bloc .pf-photo-editor { display: flex; align-items: center; gap: 16px; padding: 0 0 16px; border-bottom: 1px solid var(--f-filet); margin-bottom: 16px; }
[data-interface="fil"] .fpf-bloc .pf-photo-portrait { width: 72px; height: 72px; flex: none; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: var(--f-surface-2); border: 1px solid var(--f-filet); color: var(--f-encre-2); }
[data-interface="fil"] .fpf-bloc .pf-photo-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-width: 0; }
[data-interface="fil"] .fpf-bloc .pf-photo-actions > strong, [data-interface="fil"] .fpf-bloc .pf-photo-actions > p { flex-basis: 100%; margin: 0; font: 400 14px/1.45 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fpf-bloc .pf-photo-actions > strong { font-weight: 600; font-size: 16px; }
[data-interface="fil"] .fpf-bloc .pf-photo-actions > p { color: var(--f-encre-2); }
[data-interface="fil"] .fpf-bloc .profil-form, [data-interface="fil"] .fpf-bloc .upload-block, [data-interface="fil"] .fpf-bloc .coffre-card { padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
[data-interface="fil"] .fpf-bloc .coffre-card { padding: 14px 0; border-bottom: 1px solid var(--f-filet); }
[data-interface="fil"] .fpf-bloc .coffre-liste { display: grid; border-top: 1px solid var(--f-filet); }
[data-interface="fil"] .fpf-bloc .profil-ident-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px 16px; margin-bottom: 16px; }
[data-interface="fil"] .fpf-bloc .profil-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
[data-interface="fil"] .fpf-bloc .profil-field > span { color: var(--f-encre-2); font: 400 14px/1.3 Inter, system-ui, sans-serif; }
@media (min-width: 700px) {
  [data-interface="fil"] .fpf-bloc .profil-ident-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
[data-interface="fil"] .fpf-bloc .profil-compte-inner { display: grid; justify-items: start; gap: 12px; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
[data-interface="fil"] .fpf-bloc .profil-compte-note { color: var(--f-encre-2); font: 400 14px/1.45 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fpf-bloc .compte-role-tag { display: inline-block; padding: 6px 12px; border: 1px solid var(--f-filet); border-radius: 99px; background: none; color: var(--f-encre-2); font: 500 13px/1 Inter, system-ui, sans-serif; }
[data-interface="fil"] .fpf-bloc :is(.profil-compte-logout, .profil-compte-comptes) { min-height: 48px; padding: 0 18px; border: 1px solid var(--f-encre); border-radius: 14px; background: transparent; color: var(--f-encre); font: 600 14px/1.2 Inter, system-ui, sans-serif; cursor: pointer; }
[data-interface="fil"] .fpf-bloc :is(.profil-compte-logout, .profil-compte-comptes):hover { background: var(--f-surface-2); }
[data-interface="fil"] .fpf-bloc .profil-section-vide { margin: 0; padding: 14px 0 0; border-top: 1px solid var(--f-filet); color: var(--f-encre-2); }
[data-interface="fil"] .fpf-bloc .cv-qualifs { border-top: 1px solid var(--f-filet); }
[data-interface="fil"] .fpf-bloc .cv-qualifs .cv-qualif { background: transparent; border: 0; border-bottom: 1px solid var(--f-filet); border-radius: 0; box-shadow: none; padding-inline: 0; margin: 0; }
[data-interface="fil"] .fpf-bloc .fiche-statut-k, [data-interface="fil"] .fpf-bloc .upload-h { display: none; }
[data-interface="fil"] .fpf-bloc > .fpf-bloc-contenu > .fiche-statut { padding: 12px 0 0; border-top: 1px solid var(--f-filet); }
