/* Fransou · Devis et factures v2 · thème Encre (charte v0.3, § 3 à 5), repris de la maquette validée du 17/10.
   Toutes les classes portent le préfixe fv- et tout est rangé sous .fv2 : aucune règle ne déborde sur le reste de l'appli,
   aucune règle de l'appli ne déborde ici. Six jetons, aucun effet (ni dégradé, ni ombre, ni verre), rien sous 12 px,
   un seul bouton plein par écran. Sur Encre, le texte secondaire est #BCC6C9 ; #536066 ne sert qu'aux filets. */
@font-face{font-family:'Fransou Texte';src:url('factures-v2/fonts/FransouTexte-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Fransou Texte';src:url('factures-v2/fonts/FransouTexte-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Fransou Texte';src:url('factures-v2/fonts/FransouTexte-Semibold.woff2') format('woff2');font-weight:600;font-display:swap}

.fv2{
  --encre:#0C181C; --blanc:#FFFFFF; --surface:#F3F4F3; --ligne:#D7DDDE; --sec-clair:#536066; --sec:#BCC6C9; --filet:#536066;
  --police:'Fransou Texte',system-ui,sans-serif;
  --r-pastille:4px; --r-champ:5px; --r-bouton:8px; --r-carte:10px; --r-bloc:12px;
  --duree:160ms; --courbe:cubic-bezier(.2,.7,.2,1);
  position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;z-index:1;
  background:var(--encre);color:var(--blanc);font:400 15px/1.6 var(--police);font-synthesis:none;font-kerning:normal;font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%;text-align:left;letter-spacing:normal
}
.fv2 *,.fv2 *::before,.fv2 *::after{box-sizing:border-box}
.fv2 a{color:inherit;text-decoration:none}
.fv2 button,.fv2 input,.fv2 textarea,.fv2 select{font:inherit;color:inherit;letter-spacing:normal;margin:0}
.fv2 button{cursor:pointer;background:transparent;border:0;padding:0;text-align:inherit}
.fv2 button:disabled{cursor:default;opacity:.6}
.fv2 img{display:block;max-width:100%}
.fv2 svg{width:20px;height:20px;flex:none}
.fv2 h1,.fv2 h2,.fv2 h3,.fv2 p,.fv2 ul{margin:0}
.fv2 table{border-spacing:0}
.fv2 :focus-visible{outline:2px solid var(--blanc);outline-offset:3px}
.fv2 .fv-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fv2 .fv-chargement{padding:28px 40px;color:var(--sec)}

/* En-tête (charte p. 20) : le nom seul dans l'en-tête des applis (décision du fondateur, 17/10, 5 h 10) */
.fv2 .fv-entete{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px;padding:0 40px;border-bottom:1px solid var(--filet)}
.fv2 .fv-gauche{display:flex;align-items:center;gap:32px;min-width:0}
.fv2 .fv-sig{display:inline-flex;align-items:center;min-height:44px}
.fv2 .fv-sig img{height:20px;width:auto}
.fv2 .fv-ariane{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--sec);white-space:nowrap}
.fv2 .fv-ariane a{color:var(--sec)}
.fv2 .fv-ariane a:hover{color:var(--blanc)}
.fv2 .fv-ariane b{font-weight:500;color:var(--blanc)}
.fv2 .fv-ariane i{font-style:normal;color:var(--sec)}

/* Boutons et liens */
.fv2 .fv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--r-bouton);border:1px solid var(--filet);background:transparent;color:var(--blanc);font:500 15px/1.2 var(--police);white-space:nowrap;cursor:pointer;transition:border-color var(--duree) var(--courbe),transform 90ms var(--courbe),background-color var(--duree) var(--courbe)}
.fv2 .fv-btn:hover{border-color:var(--blanc)}
.fv2 .fv-btn:active{transform:scale(.98)}
.fv2 .fv-btn.fv-plein{background:var(--blanc);border-color:var(--blanc);color:var(--encre);font-weight:600;min-height:48px;padding:12px 22px}
.fv2 .fv-btn.fv-petit{min-height:44px;padding:8px 14px;font-size:14px}
.fv2 .fv-btn svg{width:18px;height:18px}
.fv2 .fv-lien{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--blanc);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;font-weight:500}
.fv2 .fv-lien.fv-sec{color:var(--sec)}
.fv2 .fv-lien.fv-sec:hover{color:var(--blanc)}
.fv2 .fv-lien svg{width:16px;height:16px}
.fv2 .fv-icone{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--filet);border-radius:var(--r-bouton)}
.fv2 .fv-icone svg{width:18px;height:18px}
.fv2 .fv-icone-s{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--sec);border-radius:var(--r-bouton);transition:color var(--duree)}
.fv2 .fv-icone-s:hover{color:var(--blanc)}
.fv2 .fv-icone-s svg{width:17px;height:17px}

/* Cadre : barre de côté et page */
.fv2 .fv-cadre{display:grid;grid-template-columns:264px minmax(0,1fr)}
@media (min-width:761px){.fv2 .fv-cadre{min-height:calc(100% - 72px)}}
.fv2 .fv-cote{padding:28px 20px 40px;border-right:1px solid var(--filet)}
.fv2 .fv-titre-app{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sec);padding:0 12px 10px}
.fv2 .fv-nav{display:flex;flex-direction:column;gap:4px}
.fv2 .fv-nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:var(--r-bouton);border:1px solid transparent;color:var(--sec);font-weight:500;transition:color var(--duree),border-color var(--duree)}
.fv2 .fv-nav a:hover{color:var(--blanc)}
.fv2 .fv-nav a svg{width:18px;height:18px}
.fv2 .fv-nav a .fv-n{margin-left:auto;font-size:13px;color:var(--sec)}
.fv2 .fv-nav a.fv-actif{color:var(--blanc);border-color:var(--filet)}
.fv2 .fv-nav a.fv-actif .fv-n{color:var(--blanc)}
.fv2 .fv-bloc-cote{margin-top:28px;padding-top:20px;border-top:1px solid var(--filet)}
.fv2 .fv-bloc-cote .fv-titre-app{padding:0 12px 6px}
.fv2 .fv-ligne-cote{display:flex;flex-direction:column;padding:8px 12px}
.fv2 .fv-ligne-cote b{font-weight:500;font-size:14px;overflow-wrap:anywhere}
.fv2 .fv-ligne-cote span{font-size:13px;color:var(--sec);line-height:1.45}
.fv2 .fv-cote .fv-lien{padding:0 12px;font-size:14px}
.fv2 .fv-principal{padding:28px 40px 72px;min-width:0}
.fv2 .fv-arrive{animation:fv-arrive var(--duree) var(--courbe)}
.fv2 .fv-onglets{display:none}

/* Tête de page (charte p. 22) */
.fv2 .fv-surtitre{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sec);margin-bottom:10px}
.fv2 .fv-tete{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--filet)}
.fv2 .fv-texte{min-width:0;flex:1}
.fv2 .fv-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;flex:none}
.fv2 h1{font-size:32px;line-height:1.15;font-weight:600;letter-spacing:-.012em;margin-bottom:8px;color:var(--blanc)}
.fv2 .fv-etat-phrase{font-size:17px;line-height:1.5}
.fv2 .fv-action-phrase{font-size:15px;color:var(--sec);margin-top:2px;max-width:720px}
.fv2 .fv-retour{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:5px;margin-bottom:0}
.fv2 .fv-retour svg{width:18px;height:18px}
.fv2 .fv-note{font-size:13px;line-height:1.5;color:var(--sec)}
.fv2 .fv-vide{padding:14px 0;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.fv2 .fv-compte{margin-top:10px}
.fv2 .fv-alerte{font-size:14px;line-height:1.5;padding:10px 12px;border:1px solid var(--blanc);border-radius:var(--r-carte);margin-top:12px}
.fv2 h2{font-size:16px;font-weight:600;line-height:1.3;color:var(--blanc)}
.fv2 .fv-h2-ligne{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:26px 0 10px}
.fv2 .fv-h2-ligne .fv-note{white-space:nowrap}
.fv2 .fv-etiquette{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sec);margin-bottom:8px}

/* États : un mot et une icône, jamais une couleur seule */
.fv2 .fv-etat{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 9px 0 7px;border:1px solid var(--filet);border-radius:var(--r-pastille);font-size:13px;font-weight:500;white-space:nowrap;color:var(--blanc)}
.fv2 .fv-etat svg{width:14px;height:14px}
.fv2 .fv-etat.fv-fort{border-color:var(--blanc);font-weight:600}
.fv2 .fv-etat.fv-calme{color:var(--sec)}
.fv2 .fv-kv{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--filet);font-size:14px}
.fv2 .fv-kv span:first-child{color:var(--sec)}
.fv2 .fv-kv span:last-child{text-align:right;overflow-wrap:anywhere}
.fv2 .fv-barre-seg{display:flex;gap:6px;margin-top:20px}
.fv2 .fv-barre-seg i{height:4px;flex:1;background:var(--blanc)}
.fv2 .fv-barre-seg i.fv-r{background:var(--filet)}
.fv2 .fv-parcours{font-size:13px;color:var(--sec);margin-top:10px}
.fv2 .fv-parcours b{color:var(--blanc);font-weight:600}

/* Squelette de lecture : jamais un écran blanc */
.fv2 .fv-squelette{display:flex;flex-direction:column;gap:12px}
.fv2 .fv-squelette i{display:block;height:64px;border:1px solid var(--filet);border-radius:var(--r-carte);animation:fv-respire 1.2s ease-in-out infinite}
.fv2 .fv-squelette i:nth-child(4){width:70%}

/* ---------- Vue d'ensemble ---------- */
.fv2 .fv-chiffres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.fv2 .fv-chiffre{border:1px solid var(--filet);border-radius:var(--r-carte);padding:16px 18px 14px;display:flex;flex-direction:column;gap:4px;min-width:0;text-align:left;transition:border-color var(--duree),transform 90ms var(--courbe)}
.fv2 .fv-chiffre:hover{border-color:var(--sec)}
.fv2 .fv-chiffre:active{transform:scale(.99)}
.fv2 .fv-chiffre.fv-fort{border-color:var(--blanc)}
.fv2 .fv-chiffre .fv-l{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;font-weight:500}
.fv2 .fv-chiffre .fv-l svg{width:16px;height:16px;color:var(--sec)}
.fv2 .fv-chiffre .fv-v{font-size:34px;font-weight:400;line-height:1.15;letter-spacing:-.01em;white-space:nowrap}
.fv2 .fv-chiffre .fv-d{font-size:14px;color:var(--sec);line-height:1.45}
.fv2 .fv-chiffre .fv-src{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--sec);line-height:1.45;margin-top:6px;padding-top:8px;border-top:1px solid var(--filet)}
.fv2 .fv-chiffre .fv-src svg{width:14px;height:14px;margin-top:2px}
.fv2 .fv-ensemble{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;margin-top:4px}
.fv2 .fv-decider{display:flex;flex-direction:column}
.fv2 .fv-dec{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--filet);animation:fv-apparait var(--duree) var(--courbe)}
.fv2 .fv-dec:first-child{border-top:1px solid var(--filet)}
.fv2 .fv-dec .fv-ic{width:36px;height:36px;border:1px solid var(--filet);border-radius:var(--r-bouton);display:inline-flex;align-items:center;justify-content:center}
.fv2 .fv-dec .fv-ic svg{width:18px;height:18px}
.fv2 .fv-dec .fv-t b{display:block;font-weight:600;font-size:15px;line-height:1.35}
.fv2 .fv-dec .fv-t span{display:block;font-size:13px;color:var(--sec);line-height:1.45}
.fv2 .fv-dec .fv-m{font-size:16px;font-weight:500;white-space:nowrap;text-align:right}
.fv2 .fv-dec .fv-m small{display:block;font-size:12px;color:var(--sec);font-weight:400}
.fv2 .fv-flux{display:flex;flex-direction:column;gap:10px}
.fv2 .fv-semaine{display:grid;grid-template-columns:108px minmax(0,1fr) 96px;gap:12px;align-items:center;font-size:14px}
.fv2 .fv-semaine .fv-q{color:var(--sec)}
.fv2 .fv-piste{height:10px;border:1px solid var(--filet);border-radius:var(--r-pastille);position:relative;overflow:hidden}
.fv2 .fv-piste i{position:absolute;left:0;top:0;bottom:0;background:var(--blanc);transition:width 240ms var(--courbe)}
.fv2 .fv-piste i.fv-retard{background:var(--sec)}
.fv2 .fv-semaine .fv-s{text-align:right;font-weight:500;white-space:nowrap}
.fv2 .fv-compta{border:1px solid var(--filet);border-radius:var(--r-carte);padding:14px 16px;margin-top:18px}
.fv2 .fv-compta .fv-ct{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;margin-bottom:4px}
.fv2 .fv-compta .fv-ct svg{width:18px;height:18px}
.fv2 .fv-docs{width:100%;border-collapse:collapse;font-size:14px}
.fv2 .fv-docs th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sec);font-weight:500;text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--filet);white-space:nowrap}
.fv2 .fv-docs td{padding:10px 10px 10px 0;border-bottom:1px solid var(--filet);vertical-align:middle}
.fv2 .fv-docs tr{animation:fv-apparait var(--duree) var(--courbe)}
.fv2 .fv-docs td.fv-num,.fv2 .fv-docs th.fv-num{text-align:right;white-space:nowrap}
.fv2 .fv-docs .fv-num-lien{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--filet);display:inline-flex;min-height:44px;align-items:center;white-space:nowrap}
.fv2 .fv-docs .fv-cl{font-weight:500}
.fv2 .fv-docs .fv-sub,.fv2 .fv-sub{display:block;font-size:13px;color:var(--sec)}
.fv2 .fv-docs td.fv-suppr{width:44px;padding-right:0;text-align:right}
.fv2 .fv-filtres{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.fv2 .fv-filtres button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid var(--filet);border-radius:var(--r-bouton);font-size:14px;font-weight:500;color:var(--sec);transition:color var(--duree),border-color var(--duree)}
.fv2 .fv-filtres button.fv-actif{color:var(--blanc);border-color:var(--blanc)}
.fv2 .fv-filtres button b{font-weight:600;color:var(--blanc)}
.fv2 .fv-filtres .fv-nouv{border-color:transparent;color:var(--blanc);text-decoration:underline;text-underline-offset:5px;margin-right:8px;padding:0 4px}
.fv2 .fv-filtres .fv-nouv svg{width:16px;height:16px}
.fv2 .fv-docs-mobile{display:none}
.fv2 .fv-barre-liste{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:20px 0 10px}
.fv2 .fv-recherche{min-width:260px}

/* Le papier : aperçu du document, fond Blanc, texte Encre, tel que le client le recevra */
.fv2 .fv-papier{background:var(--blanc);color:var(--encre);border-radius:var(--r-champ);padding:28px 28px 22px;font-size:12px;line-height:1.45;margin-top:4px}
.fv2 .fv-papier .fv-s{display:block;color:var(--sec-clair)}
.fv2 .fv-pp-tete{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--ligne)}
.fv2 .fv-pp-marque{font-size:20px;font-weight:600;letter-spacing:.01em;line-height:1.1}
.fv2 .fv-pp-marque small{display:block;font-size:12px;font-weight:400;color:var(--sec-clair);letter-spacing:0;margin-top:4px}
.fv2 .fv-pp-doc{text-align:right}
.fv2 .fv-pp-doc b{display:block;font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.fv2 .fv-pp-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 0}
.fv2 .fv-pp-parties .fv-t{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sec-clair);margin-bottom:2px}
.fv2 .fv-pp-parties b{font-weight:600}
.fv2 .fv-pp-objet{padding:8px 10px;background:var(--surface);border-radius:var(--r-pastille);margin-bottom:10px}
.fv2 .fv-pp-lignes{width:100%;border-collapse:collapse}
.fv2 .fv-pp-lignes th{font-size:12px;font-weight:500;color:var(--sec-clair);text-align:left;padding:5px 6px 5px 0;border-bottom:1px solid var(--encre)}
.fv2 .fv-pp-lignes td{padding:6px 6px 6px 0;border-bottom:1px solid var(--ligne);vertical-align:top}
.fv2 .fv-pp-lignes .fv-r{text-align:right;white-space:nowrap}
.fv2 .fv-pp-bas{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:18px;margin-top:10px;align-items:start}
.fv2 .fv-pp-tva{width:100%;border-collapse:collapse}
.fv2 .fv-pp-tva td,.fv2 .fv-pp-tva th{padding:3px 6px 3px 0;text-align:right;font-weight:400}
.fv2 .fv-pp-tva th{color:var(--sec-clair);font-weight:500}
.fv2 .fv-pp-tva td:first-child,.fv2 .fv-pp-tva th:first-child{text-align:left}
.fv2 .fv-kvp{display:flex;justify-content:space-between;padding:3px 0}
.fv2 .fv-kvp.fv-ttc-p{border-top:1px solid var(--encre);margin-top:4px;padding-top:6px;font-size:14px;font-weight:600}
.fv2 .fv-pp-cond{margin-top:12px;padding-top:10px;border-top:1px solid var(--ligne);color:var(--sec-clair)}
.fv2 .fv-pp-accord{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.fv2 .fv-pp-accord div{border:1px solid var(--ligne);border-radius:var(--r-pastille);padding:8px 10px;min-height:58px}
.fv2 .fv-pp-pied{margin-top:12px;font-size:12px;color:var(--sec-clair);text-align:center}
.fv2 .fv-pdf-pret{display:flex;gap:12px;align-items:center;margin-top:14px;padding:10px 12px;border:1px solid var(--filet);border-radius:var(--r-carte)}
.fv2 .fv-pdf-pret b{display:block;font-weight:500;font-size:14px}
.fv2 .fv-pdf-pret span{font-size:13px;color:var(--sec)}
.fv2 .fv-pdf-pret .fv-btn{margin-left:auto}
.fv2 .fv-manques p{margin:10px 0 6px}
.fv2 .fv-manques ul{padding-left:20px;margin-bottom:16px;font-size:14px;line-height:1.6}

/* ---------- Éditeur ---------- */
.fv2 .fv-editeur-page{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;margin-top:20px;align-items:start}
.fv2 .fv-entete-doc{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:12px;margin-bottom:12px}
.fv2 .fv-champ-l{display:flex;flex-direction:column;gap:4px;min-width:0}
.fv2 .fv-champ-l label,.fv2 .fv-lb{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sec)}
.fv2 .fv-objet{display:flex;flex-direction:column;gap:4px;margin-bottom:18px}
.fv2 .fv-saisie{width:100%;min-height:44px;padding:9px 10px;border:1px solid var(--filet);border-radius:var(--r-champ);background:transparent;color:var(--blanc);font-size:15px;line-height:1.4;transition:border-color var(--duree)}
.fv2 .fv-saisie.fv-num{text-align:right}
.fv2 .fv-saisie:focus{outline:none;border-color:var(--blanc)}
.fv2 .fv-saisie[aria-invalid="true"]{border-style:dashed;border-color:var(--blanc)}
.fv2 .fv-saisie.fv-lu{border-style:dashed;color:var(--sec);display:flex;align-items:center}
.fv2 .fv-saisie::placeholder{color:var(--sec);opacity:.8}
.fv2 select.fv-saisie{appearance:none;-webkit-appearance:none;padding-right:26px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23BCC6C9' stroke-width='2'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:16px}
.fv2 select.fv-saisie option{background:var(--encre);color:var(--blanc)}
.fv2 input[type=date].fv-saisie{color-scheme:dark}
.fv2 .fv-lien-champ{flex-direction:column;justify-content:center;align-items:flex-start;line-height:1.3;font-weight:500;color:var(--blanc)}
.fv2 .fv-lien-champ span{font-size:12px;color:var(--sec);font-weight:400}
.fv2 .fv-client-neuf{display:flex;gap:6px;align-items:center}
.fv2 .fv-client-neuf .fv-saisie{flex:1}
.fv2 .fv-lignes{width:100%;border-collapse:collapse}
.fv2 .fv-lignes th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sec);font-weight:500;text-align:left;padding:0 8px 8px 0;border-bottom:1px solid var(--filet);white-space:nowrap}
.fv2 .fv-lignes th.fv-r,.fv2 .fv-lignes td.fv-r{text-align:right}
.fv2 .fv-lignes td{padding:8px 8px 8px 0;border-bottom:1px solid var(--filet);vertical-align:middle}
.fv2 .fv-lignes tbody tr{animation:fv-apparait var(--duree) var(--courbe)}
.fv2 .fv-lignes td.fv-tot{text-align:right;font-weight:500;white-space:nowrap;width:104px;padding-right:0}
.fv2 .fv-lignes .fv-poignee{width:26px;padding-right:2px}
.fv2 .fv-poignee-b{display:inline-flex;align-items:center;justify-content:center;width:26px;height:44px;color:var(--sec);cursor:grab;touch-action:none;border-radius:var(--r-champ)}
.fv2 .fv-poignee-b:active{cursor:grabbing}
.fv2 .fv-poignee-b svg{width:16px;height:16px}
.fv2 textarea.fv-des-t{display:block;resize:none;overflow:hidden;field-sizing:content;font-family:var(--police)}
.fv2 .fv-des-t{width:100%;min-width:160px;min-height:44px;font-size:15px;font-weight:500;line-height:1.35;padding:6px 8px;margin-left:-8px;border:1px solid transparent;border-radius:var(--r-champ);background:transparent;color:var(--blanc);transition:border-color var(--duree)}
.fv2 .fv-des-t:hover,.fv2 .fv-des-t:focus{border-color:var(--filet);outline:none}
.fv2 .fv-des-t:focus{border-color:var(--blanc)}
.fv2 .fv-des-t::placeholder{color:var(--sec)}
.fv2 .fv-des-lu{font-weight:500}
.fv2 .fv-c-qte{width:70px}
.fv2 .fv-c-prix{width:104px}
.fv2 .fv-c-tva{width:96px}
.fv2 .fv-c-unite{width:120px}
.fv2 .fv-lignes .fv-saisie{font-size:14px;padding:8px 9px}
.fv2 .fv-nat-b{display:inline-flex;align-items:center;justify-content:space-between;gap:4px;min-height:44px;width:96px;padding:0 6px 0 10px;border:1px solid var(--filet);border-radius:var(--r-champ);font-size:14px;font-weight:500;transition:border-color var(--duree)}
.fv2 .fv-nat-b:hover{border-color:var(--blanc)}
.fv2 .fv-nat-b.fv-a-preciser{border-style:dashed;color:var(--sec)}
.fv2 .fv-nat-b svg{width:14px;height:14px;color:var(--sec)}
.fv2 .fv-nat-lu{font-size:14px;color:var(--sec)}
.fv2 .fv-lignes td.fv-suppr{width:44px;padding-right:0;text-align:right}
.fv2 .fv-lignes tr.fv-glisse{opacity:.35}
.fv2 .fv-lignes tr.fv-depot td{padding:4px 0;border-bottom:1px solid var(--filet)}
.fv2 .fv-lignes tr.fv-depot span{display:flex;align-items:center;justify-content:center;height:52px;border:1px dashed var(--blanc);border-radius:var(--r-champ);font-size:13px;color:var(--sec)}
.fv2 .fv-lignes tr.fv-supprime td{padding:6px 0;border-bottom:1px solid var(--filet);font-size:14px}
.fv2 .fv-supprime td > span{display:inline-flex;align-items:center;gap:8px;color:var(--sec)}
.fv2 .fv-supprime td > span b{color:var(--blanc);font-weight:600}
.fv2 .fv-supprime td > span svg{width:16px;height:16px}
.fv2 .fv-supprime .fv-lien{float:right;min-height:44px}
.fv2 .fv-vide-l td{padding:14px 0}
.fv2 .fv-ed-gauche{position:relative}
.fv2 .fv-flottant{position:absolute;left:-10px;right:10px;top:0;background:var(--encre);border:1px solid var(--blanc);border-radius:var(--r-carte);padding:0 10px;transform:rotate(-.8deg);pointer-events:none;z-index:3}
.fv2 .fv-flottant .fv-lignes td{border-bottom:0}
.fv2 .fv-flottant .fv-poignee-b{color:var(--blanc)}
.fv2 .fv-main-g{position:absolute;right:12px;top:-13px;display:inline-flex;align-items:center;gap:4px;background:var(--encre);border:1px solid var(--blanc);border-radius:var(--r-pastille);padding:0 8px;font-size:12px;font-weight:600;line-height:22px;white-space:nowrap}
.fv2 .fv-main-g svg{width:14px;height:14px}
.fv2 .fv-ajout-ligne{display:flex;gap:16px;align-items:center;padding:4px 0;border-bottom:1px solid var(--filet)}
.fv2 .fv-ajout-ligne .fv-lien{font-size:14px}
.fv2 .fv-cat-op{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:12px 14px;border:1px solid var(--filet);border-radius:var(--r-carte);font-size:14px;line-height:1.5}
.fv2 .fv-cat-op svg{width:18px;height:18px;margin-top:2px}
.fv2 .fv-enregistre{margin-top:10px}
.fv2 .fv-pied-doc{margin-top:6px}
.fv2 .fv-totaux{border:1px solid var(--blanc);border-radius:var(--r-bloc);padding:18px 20px}
.fv2 .fv-ligne-titre{display:flex;justify-content:space-between}
.fv2 .fv-totaux .fv-kv{font-size:15px}
.fv2 .fv-ttc{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0 6px}
.fv2 .fv-ttc span{font-size:15px;font-weight:500}
.fv2 .fv-ttc b{font-size:30px;font-weight:500;letter-spacing:-.01em;white-space:nowrap}
.fv2 .fv-reste{display:flex;justify-content:space-between;gap:8px;font-size:15px;padding:8px 0 0;border-top:1px solid var(--filet)}
.fv2 .fv-reste b{font-weight:600}
.fv2 .fv-direct{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--sec)}
.fv2 .fv-direct i{width:6px;height:6px;border-radius:50%;background:var(--blanc)}
.fv2 .fv-ecriture{margin-top:16px;border:1px solid var(--filet);border-radius:var(--r-carte);padding:14px 16px}
.fv2 .fv-ecriture table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:6px}
.fv2 .fv-ecriture th{font-size:12px;color:var(--sec);font-weight:500;text-align:left;padding:4px 6px 4px 0;border-bottom:1px solid var(--filet)}
.fv2 .fv-ecriture th.fv-r,.fv2 .fv-ecriture td.fv-r{text-align:right;white-space:nowrap;padding-right:0}
.fv2 .fv-ecriture td{padding:5px 6px 5px 0;border-bottom:1px solid var(--filet)}
.fv2 .fv-ecriture tr:last-child td{border-bottom:0}
.fv2 .fv-ecriture .fv-s{display:block;color:var(--sec);font-size:12px}

/* ---------- Relecture et envoi (page type de la charte, p. 22) ---------- */
.fv2 .fv-envoi{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:36px;margin-top:22px;align-items:start}
.fv2 .fv-relecture{display:flex;flex-direction:column}
.fv2 .fv-rl{display:grid;grid-template-columns:44px 120px minmax(0,1fr) auto;gap:8px 12px;align-items:start;padding:10px 0;border-bottom:1px solid var(--filet);transition:background-color var(--duree)}
.fv2 .fv-rl:first-child{border-top:1px solid var(--filet)}
.fv2 .fv-rl.fv-manque .fv-cc{outline:2px dashed var(--blanc);outline-offset:3px}
.fv2 .fv-cc{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;position:relative}
.fv2 .fv-cc::before{content:"";position:absolute;width:22px;height:22px;border:1px solid var(--blanc);border-radius:var(--r-champ);transition:background-color var(--duree)}
.fv2 .fv-cc svg{position:relative;width:14px;height:14px}
.fv2 .fv-cc.fv-fait{color:var(--encre)}
.fv2 .fv-cc.fv-fait::before{background:var(--blanc)}
.fv2 .fv-rl .fv-k{color:var(--sec);font-size:14px;padding-top:11px}
.fv2 .fv-rl .fv-v{font-size:15px;line-height:1.5;padding-top:10px;min-width:0}
.fv2 .fv-rl .fv-v b{font-weight:600}
.fv2 .fv-rl .fv-v .fv-s{display:block;font-size:13px;color:var(--sec)}
.fv2 .fv-rl .fv-lien{font-size:14px}
.fv2 .fv-a{margin:6px 0 2px;max-width:420px}
.fv2 .fv-objet-mail{display:flex;align-items:center;gap:8px;font-weight:500}
.fv2 .fv-objet-mail span{white-space:nowrap}
.fv2 .fv-message{display:block;width:100%;min-height:190px;resize:vertical;background:transparent;border:1px solid var(--filet);border-radius:var(--r-champ);padding:12px 14px;font-size:15px;line-height:1.55;color:var(--blanc);margin-top:8px}
.fv2 .fv-message:focus{outline:none;border-color:var(--blanc)}
.fv2 .fv-pj{display:flex;gap:12px;align-items:center;margin-top:10px;padding:10px 12px;border:1px solid var(--filet);border-radius:var(--r-carte)}
.fv2 .fv-vign{width:38px;height:50px;background:var(--blanc);border-radius:3px;flex:none;padding:6px 5px;display:flex;flex-direction:column;gap:3px}
.fv2 .fv-vign i{display:block;height:2px;background:var(--ligne)}
.fv2 .fv-vign i.fv-f{background:var(--encre);width:60%}
.fv2 .fv-pj b{display:block;font-weight:500;font-size:14px}
.fv2 .fv-pj span{font-size:13px;color:var(--sec)}
.fv2 .fv-pj .fv-lien{margin-left:auto;font-size:14px}
.fv2 .fv-carte-etat{border:1px solid var(--filet);border-radius:var(--r-bloc);padding:18px 20px 20px}
.fv2 .fv-gros{font-size:30px;font-weight:500;letter-spacing:-.01em;line-height:1.15}
.fv2 .fv-kvs{margin-top:14px}
.fv2 .fv-bloc-boutons{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.fv2 .fv-bloc-boutons .fv-btn{width:100%}
.fv2 .fv-confirmer{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed var(--blanc);border-radius:var(--r-carte);animation:fv-apparait var(--duree) var(--courbe)}
.fv2 .fv-confirmer p{font-size:14px;line-height:1.5}
.fv2 .fv-garde{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--sec);margin-top:14px}
.fv2 .fv-garde svg{width:16px;height:16px;margin-top:2px;color:var(--blanc)}
.fv2 .fv-apres{margin-top:18px}
.fv2 .fv-ap{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;font-size:14px;line-height:1.45;padding:6px 0}
.fv2 .fv-ap svg{width:16px;height:16px;margin-top:2px}

/* ---------- Relances ---------- */
.fv2 .fv-auto-barre{display:flex;align-items:center;gap:16px;padding:12px 16px;border:1px solid var(--filet);border-radius:var(--r-carte);margin:20px 0 4px}
.fv2 .fv-auto-barre > svg{width:20px;height:20px}
.fv2 .fv-auto-barre .fv-t{flex:1;min-width:0;font-size:14px;line-height:1.45}
.fv2 .fv-auto-barre .fv-t b{font-weight:600}
.fv2 .fv-relances{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:36px;margin-top:4px;align-items:start}
.fv2 .fv-regles{display:flex;flex-direction:column}
.fv2 .fv-regle{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--filet)}
.fv2 .fv-regle:first-child{border-top:1px solid var(--filet)}
.fv2 .fv-regle .fv-j{font-size:22px;font-weight:500;line-height:1.1;white-space:nowrap}
.fv2 .fv-regle .fv-j small{display:block;font-size:12px;color:var(--sec);font-weight:400;margin-top:3px;white-space:normal}
.fv2 .fv-regle .fv-rn{font-size:15px;font-weight:600;line-height:1.35}
.fv2 .fv-regle .fv-rd{font-size:13px;color:var(--sec);line-height:1.5;margin-top:2px}
.fv2 .fv-regle-val{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--sec)}
.fv2 .fv-regle-val .fv-saisie{width:76px}
.fv2 .fv-file{display:flex;flex-direction:column}
.fv2 .fv-fl{padding:13px 0;border-bottom:1px solid var(--filet)}
.fv2 .fv-fl:first-child{border-top:1px solid var(--filet)}
.fv2 .fv-fl .fv-h{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.fv2 .fv-fl .fv-h b{font-weight:600;font-size:15px}
.fv2 .fv-fl .fv-h span{font-weight:500;white-space:nowrap}
.fv2 .fv-fl .fv-m{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--sec);margin-top:4px}
.fv2 .fv-apercu-rel{margin-top:10px;padding:8px 12px;border-left:2px solid var(--blanc);font-size:14px;line-height:1.5}
.fv2 .fv-bl{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.fv2 .fv-journal{list-style:none;margin:0;padding:0}
.fv2 .fv-journal li{position:relative;padding:0 0 14px 24px;font-size:14px;line-height:1.45}
.fv2 .fv-journal li::before{content:"";position:absolute;left:4px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--blanc)}
.fv2 .fv-journal li::after{content:"";position:absolute;left:8px;top:19px;bottom:0;width:1px;background:var(--filet)}
.fv2 .fv-journal li:last-child::after{display:none}
.fv2 .fv-journal li.fv-vide::before{background:var(--encre);border:1px solid var(--blanc)}
.fv2 .fv-journal .fv-h{display:block;color:var(--sec);font-size:13px}

/* ---------- Catalogue ---------- */
.fv2 .fv-catalogue{margin-top:20px}
.fv2 .fv-catalogue .fv-des-t{margin-left:0}
.fv2 .fv-catalogue .fv-sub{padding-left:9px}
.fv2 .fv-choix-cat{display:flex;flex-direction:column;margin-top:14px}
.fv2 .fv-choix{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:56px;padding:10px 12px;border-bottom:1px solid var(--filet);text-align:left;transition:background-color var(--duree)}
.fv2 .fv-choix:first-child{border-top:1px solid var(--filet)}
.fv2 .fv-choix:hover b{text-decoration:underline;text-underline-offset:4px}
.fv2 .fv-choix b{font-weight:600}
.fv2 .fv-choix span{font-size:13px;color:var(--sec)}

/* ---------- Le panneau d'agrandissement : la page reste derrière, un retour ramène où l'on était ---------- */
.fv2 .fv-voile{position:fixed;inset:72px 0 0 0;background:var(--encre);opacity:.6;z-index:5;animation:fv-voile var(--duree) var(--courbe)}
.fv2 .fv-panneau{position:fixed;top:72px;right:0;bottom:0;width:560px;max-width:100%;background:var(--encre);border-left:1px solid var(--blanc);padding:16px 28px 28px;overflow:auto;z-index:6;animation:fv-glisse-in 180ms var(--courbe)}
.fv2 .fv-pan-tete{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.fv2 .fv-pan-act{display:flex;align-items:center;gap:12px}
.fv2 .fv-pan-h{font-size:28px;font-weight:600;line-height:1.15;letter-spacing:-.01em;margin-bottom:6px}
.fv2 .fv-pan-doc{border:1px solid var(--filet);border-radius:var(--r-carte);padding:14px 16px 16px;margin-top:16px}
.fv2 .fv-pd-h{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.fv2 .fv-pd-h b{display:block;font-weight:600;font-size:16px}
.fv2 .fv-pd-h .fv-s{display:block;font-size:13px;color:var(--sec);line-height:1.45}
.fv2 .fv-pd-m{text-align:right;font-size:18px;font-weight:500;white-space:nowrap}
.fv2 .fv-pd-m small{display:block;font-size:13px;color:var(--sec);font-weight:400}
.fv2 .fv-pd-b{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}

/* ---------- Dire en une phrase, avec Annuler ---------- */
.fv2 .fv-dire{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:8;display:flex;align-items:center;gap:16px;max-width:min(680px,calc(100% - 32px));min-height:52px;padding:6px 8px 6px 18px;background:var(--encre);border:1px solid var(--blanc);border-radius:var(--r-carte);font-size:15px;line-height:1.45;animation:fv-dire-in var(--duree) var(--courbe)}
.fv2 .fv-dire span{padding:8px 0}
.fv2 .fv-dire .fv-lien{padding:0 10px;flex:none}

@keyframes fv-arrive{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes fv-apparait{from{opacity:0}to{opacity:1}}
@keyframes fv-glisse-in{from{transform:translateX(24px);opacity:.5}to{transform:none;opacity:1}}
@keyframes fv-voile{from{opacity:0}to{opacity:.6}}
@keyframes fv-dire-in{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes fv-respire{0%,100%{opacity:.45}50%{opacity:.9}}

/* ---------- Téléphone (référence 390 px, charte p. 21) ---------- */
@media (max-width:760px){
  .fv2 .fv-entete{height:64px;padding:0 20px}
  .fv2 .fv-ariane{display:none}
  .fv2 .fv-gauche{gap:0}
  .fv2 .fv-cadre{grid-template-columns:minmax(0,1fr)}
  .fv2 .fv-cote{display:none}
  .fv2 .fv-onglets{display:flex;gap:2px;overflow-x:auto;padding:0 20px;border-bottom:1px solid var(--filet);scrollbar-width:none}
  .fv2 .fv-onglets::-webkit-scrollbar{display:none}
  .fv2 .fv-onglets a{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 10px;white-space:nowrap;color:var(--sec);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}
  .fv2 .fv-onglets a.fv-actif{color:var(--blanc);border-bottom-color:var(--blanc)}
  .fv2 .fv-onglets a .fv-n{font-size:13px}
  .fv2 .fv-principal{padding:18px 20px 96px}
  .fv2 h1{font-size:26px}
  .fv2 .fv-etat-phrase{font-size:16px}
  .fv2 .fv-tete{flex-direction:column;align-items:stretch;gap:16px}
  .fv2 .fv-actions{flex-direction:column;align-items:stretch;justify-content:flex-start}
  .fv2 .fv-actions .fv-btn{width:100%}
  .fv2 .fv-actions .fv-btn.fv-plein{order:-1}
  .fv2 .fv-h2-ligne{flex-direction:column;gap:2px}
  .fv2 .fv-h2-ligne .fv-note{white-space:normal}
  .fv2 .fv-chiffres{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:18px}
  .fv2 .fv-chiffre{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;padding:14px 16px 12px}
  .fv2 .fv-chiffre .fv-l,.fv2 .fv-chiffre .fv-d,.fv2 .fv-chiffre .fv-src{grid-column:1/3}
  .fv2 .fv-chiffre .fv-v{font-size:28px;grid-column:1/2}
  .fv2 .fv-ensemble{grid-template-columns:minmax(0,1fr);gap:8px}
  .fv2 .fv-dec{grid-template-columns:36px minmax(0,1fr);gap:4px 12px;align-items:start}
  .fv2 .fv-dec .fv-ic{grid-row:1/3}
  .fv2 .fv-dec .fv-m{grid-column:2;text-align:left;display:flex;gap:8px;align-items:baseline}
  .fv2 .fv-dec .fv-m small{display:inline}
  .fv2 .fv-dec .fv-btn{grid-column:2;width:100%;margin-top:6px}
  .fv2 .fv-semaine{grid-template-columns:96px minmax(0,1fr) 84px;gap:8px;font-size:13px}
  .fv2 .fv-docs,.fv2 .fv-filtres-bureau{display:none}
  .fv2 .fv-docs-mobile{display:flex;flex-direction:column}
  .fv2 .fv-dm{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:12px 0;border-bottom:1px solid var(--filet);min-height:56px}
  .fv2 .fv-dm:first-child{border-top:1px solid var(--filet)}
  .fv2 .fv-dm b{font-weight:500}
  .fv2 .fv-dm .fv-mt{text-align:right;font-weight:500;white-space:nowrap}
  .fv2 .fv-dm .fv-s{font-size:13px;color:var(--sec)}
  .fv2 .fv-dm .fv-e{text-align:right}
  .fv2 .fv-recherche{min-width:0;width:100%}
  .fv2 .fv-editeur-page{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:16px}
  .fv2 .fv-entete-doc{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fv2 .fv-entete-doc .fv-champ-l:first-child{grid-column:1/3}
  .fv2 .fv-lignes thead{display:none}
  .fv2 .fv-lignes,.fv2 .fv-lignes tbody{display:block}
  .fv2 .fv-lignes tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:8px;padding:14px 0;border-bottom:1px solid var(--filet);position:relative}
  .fv2 .fv-lignes td{display:block;padding:0;border:0;width:auto}
  .fv2 .fv-lignes td.fv-poignee{position:absolute;left:-6px;top:10px;width:auto}
  .fv2 .fv-lignes td.fv-des{grid-column:1/4;padding:0 44px 0 22px}
  .fv2 .fv-lignes td.fv-nat{grid-column:1/4}
  .fv2 .fv-lignes td.fv-tot{grid-column:1/4;text-align:right;font-size:15px;width:auto}
  .fv2 .fv-lignes td[data-l]::before{content:attr(data-l);display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sec);margin-bottom:4px}
  .fv2 .fv-lignes td.fv-tot::before{display:inline;margin-right:8px}
  .fv2 .fv-lignes td.fv-suppr{position:absolute;right:0;top:8px;width:auto}
  .fv2 .fv-des-t{margin-left:0;min-width:0}
  .fv2 .fv-lignes tr.fv-depot,.fv2 .fv-lignes tr.fv-supprime,.fv2 .fv-lignes tr.fv-vide-l{display:block;padding:8px 0}
  .fv2 .fv-lignes tr.fv-depot td,.fv2 .fv-lignes tr.fv-supprime td,.fv2 .fv-lignes tr.fv-vide-l td{display:block;border:0;padding:0}
  .fv2 .fv-supprime .fv-lien{float:none;display:inline-flex;margin-left:24px}
  .fv2 .fv-flottant{left:-6px;right:-6px}
  .fv2 .fv-flottant .fv-lignes tr{border-bottom:0}
  .fv2 .fv-ajout-ligne{flex-wrap:wrap;gap:0 16px}
  .fv2 .fv-catalogue tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
  .fv2 .fv-catalogue td:first-child{grid-column:1/4;padding-right:44px}
  .fv2 .fv-c-qte,.fv2 .fv-c-prix,.fv2 .fv-c-tva,.fv2 .fv-c-unite{width:auto}
  .fv2 .fv-envoi{grid-template-columns:minmax(0,1fr);gap:24px}
  .fv2 .fv-rl{grid-template-columns:44px minmax(0,1fr) auto;gap:0 8px}
  .fv2 .fv-rl .fv-k{grid-column:2}
  .fv2 .fv-rl .fv-v{grid-column:1/4;padding-top:4px}
  .fv2 .fv-rl > .fv-lien,.fv2 .fv-rl > span:last-child{grid-column:3;grid-row:1}
  .fv2 .fv-pj{flex-wrap:wrap}
  .fv2 .fv-pj .fv-lien{margin-left:0}
  .fv2 .fv-objet-mail{flex-direction:column;align-items:stretch;gap:4px}
  .fv2 .fv-auto-barre{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px}
  .fv2 .fv-auto-barre > svg{display:none}
  .fv2 .fv-relances{grid-template-columns:minmax(0,1fr);gap:8px}
  .fv2 .fv-regle{grid-template-columns:64px minmax(0,1fr);gap:4px 12px}
  .fv2 .fv-regle .fv-j{grid-row:1/3}
  .fv2 .fv-regle-val{grid-column:2}
  .fv2 .fv-fl .fv-bl .fv-btn{flex:1}
  .fv2 .fv-voile{display:none}
  .fv2 .fv-panneau{position:fixed;inset:0;width:auto;border-left:0;padding:8px 20px 32px;z-index:7}
  .fv2.fv-avec-panneau{overflow:hidden}
  .fv2 .fv-pan-act .fv-lien{display:none}
  .fv2 .fv-pd-b{flex-direction:column}
  .fv2 .fv-pd-b .fv-btn{width:100%}
  .fv2 .fv-pd-b .fv-btn.fv-plein{order:-1}
  .fv2 .fv-papier{padding:20px 16px 18px}
  .fv2 .fv-pp-tete{flex-direction:column;gap:10px}
  .fv2 .fv-pp-doc{text-align:left}
  .fv2 .fv-pp-lignes .fv-cache-tel{display:none}
  .fv2 .fv-pp-bas{grid-template-columns:minmax(0,1fr);gap:10px}
  .fv2 .fv-pp-accord{grid-template-columns:minmax(0,1fr)}
  .fv2 .fv-pdf-pret{flex-wrap:wrap}
  .fv2 .fv-pdf-pret .fv-btn{margin-left:0;width:100%}
  .fv2 .fv-dire{bottom:16px}
}
/* La bulle de conversation flottante de l'appli recouvrait les filtres : sur cet écran, « Parler à Fransou » est dans l'en-tête. */
body:has(.fv2) #fi-conversations{display:none}
/* Les régions d'annonce de la bibliothèque partagée : lues par les lecteurs d'écran, jamais visibles. */
.frc-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){.fv2 *{transition:none!important;animation:none!important}}
