/* VSF — épuration (décision de Stéphane, 2026-11-01). À charger en dernier, sur toutes les pages.
   1. Plus aucune ligne grise : les groupes se séparent par l'espace blanc seulement.
   3. Champs : pas de cadre ; un champ vide montre un curseur noir qui clignote, un champ rempli n'affiche que son texte.
   (Les icônes sont dans vsf-icones.css.) Cette règle remplace « listes séparées par un filet fin ». */

/* Code de couleur commun de la progression : rond de 20 px, jaune = la chose à faire maintenant, vert avec coche = fait.
   Aucun rond = pas encore ouvert. Même code dans les diagnostics (entreprise, travailleur) et dans le parcours. */
.nvd{width:20px;height:20px;border-radius:50% !important;background:var(--jaune,#ffc400);flex:none;display:inline-block;border:0 !important;margin:0}
.nvd.ok{background:var(--vert,#009e73) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 12.5l3.5 3.5 7.5-8' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}

/* 1 — lignes */
:root{--line:transparent;--line-strong:transparent}
/* espacements fixes, identiques sur toutes les pages : 8 px entre une question et sa réponse, 32 px entre deux questions, 64 px entre deux étapes */
:root{--espace-qr:8px;--espace-question:32px;--espace-etape:64px;--jaune:#ffc400;--vert:#009e73}
.haut,.bar{border-bottom:0}
.filet{border:0;margin:20px 0}
hr{border:0;margin:28px 0}
.ligne{border:0 !important;padding:16px 0 !important}
.bouton.discret,a.discret{text-decoration:none}
.progTrack{background:#f2f2f2 !important}
.panel,.constellation-frame,.card,.statusCard{border-color:transparent}

/* 3 — champs : aucun cadre, aucune ligne */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]),
textarea,select,.input,.select{border:0 !important;border-radius:0 !important;background-color:transparent !important;box-shadow:none !important}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]):focus,
textarea:focus,select:focus,.input:focus,.select:focus{outline:none;box-shadow:0 2px 0 0 #111 !important}
/* curseur noir qui clignote à gauche d'un champ vide ; il disparaît dès que le champ est pris ou rempli */
input:placeholder-shown,textarea:placeholder-shown{padding-left:12px;background-image:linear-gradient(#111,#111);background-repeat:no-repeat;background-position:0 50%;background-size:2px 1.15em;animation:vsf-curseur 1.1s steps(1) infinite}
textarea:placeholder-shown{background-position:0 14px}
input:placeholder-shown:focus,textarea:placeholder-shown:focus{background-image:none;animation:none;padding-left:0}
input::placeholder,textarea::placeholder{color:#767676;opacity:1}
@keyframes vsf-curseur{50%{background-size:0 0}}
@media (prefers-reduced-motion:reduce){input:placeholder-shown,textarea:placeholder-shown{animation:none}}

/* Déconnexion : un mot et son icône, dans l'en-tête de toutes les pages connectées */
.vsf-deco{background:none;border:0;padding:0;margin-left:auto;display:inline-flex;align-items:center;gap:8px;min-height:44px;font:inherit;font-size:14px;font-weight:800;color:#111;cursor:pointer;text-decoration:none}
.vsf-deco .ico{width:20px;height:20px}
.nav-right a{white-space:nowrap}
