/* au-cabinet.fr — Vaccins : cas particuliers de la page (le reste : /_commun/gabarit-mdph.css).
   Tailles en rem ; trois registres visuellement distincts :
   Calendrier (encre pleine), HAS (tirets ambre), Europe (bleu, pointillés). */
.vx,.vx-impression{--vx-cal:#1B2B38;--vx-has:#8A5410;--vx-has-fond:#FBF0DC;--vx-eu:#3B5F8A;--vx-eu-fond:#E6EEF6;--vx-ok:#2F6B4F;--vx-ok-fond:#DCECC4;--vx-ko:#A8123B;--vx-ko-fond:#F9DCE4}
:root[data-contrast="high"] .vx{--vx-has:#6A3A00;--vx-has-fond:#fff;--vx-eu:#1B3A60;--vx-eu-fond:#fff}

/* ---------- registres ---------- */
.vx-reg{display:inline-block;padding:.05rem .45rem;border-radius:3px;font-family:var(--ac-mono);font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;vertical-align:.1em;white-space:nowrap}
.vx-reg-cal{background:var(--vx-cal);color:#FFFDF7;border:1.5px solid var(--vx-cal)}
.vx-reg-has{background:var(--vx-has-fond);color:var(--vx-has);border:1.5px dashed var(--vx-has)}
.vx-reg-eu{background:var(--vx-eu-fond);color:var(--vx-eu);border:1.5px dotted var(--vx-eu)}
.vx-legende{display:flex;flex-wrap:wrap;gap:.4rem .9rem;align-items:center;margin:.25rem 0 .75rem;font-size:.9rem;color:var(--gm-encre-2)}
.vx-ob{display:inline-block;padding:0 .3rem;border-radius:3px;background:var(--gm-rub-doux);color:var(--gm-rub-txt);font-family:var(--ac-mono);font-size:.72rem;font-weight:600;letter-spacing:.04em}
.vx-ref{font-family:var(--ac-mono);font-size:.78rem;white-space:nowrap;text-decoration:none;color:var(--gm-rub-txt)}
.vx-ref:hover{text-decoration:underline}
.vx-dec{font-family:var(--ac-mono);font-size:.78rem;padding:0 .2rem;border:1px solid var(--gm-filet);border-radius:3px;text-decoration:none}
.vx-petit{font-size:.88rem;color:var(--gm-encre-3)}
.vx-rien{color:var(--gm-encre-3)}
.vx-date{font-family:var(--ac-mono);font-size:.78rem;color:var(--gm-encre-3);font-weight:400;white-space:nowrap}
.vx-geste{font-family:var(--ac-display);font-weight:700;font-size:1.15rem;margin-bottom:.4rem}
.vx-millesime{margin:.75rem 0 0;padding:.6rem .9rem;background:var(--gm-rose);border-left:6px solid var(--gm-rouge);border-radius:3px;color:var(--gm-encre)}

/* ---------- grille par âge ---------- */
.vx-grille table{min-width:0}
.vx-cap{caption-side:top;text-align:left;padding:0 0 .5rem;font-size:.88rem;color:var(--gm-encre-3)}
.vx-grille th[scope=row]{white-space:nowrap;font-family:var(--ac-display);font-size:1.05rem;color:var(--gm-encre);vertical-align:top;background:var(--gm-papier)}
.vx-grille td{vertical-align:top}
.vx-doses,.vx-has-l,.vx-eu-l{list-style:none;margin:0;padding:0}
/* listes à présentation propre : pas de puce du gabarit */
.vx-doses>li::before,.vx-has-l>li::before,.vx-eu-l>li::before,.vx-paysl>li::before,.vx-couv>li::before{display:none}
.vx-paysl>li{padding:0}
.vx-dose{margin:0 0 .35rem;padding:.2rem 0 .2rem .55rem;border-left:4px solid var(--vx-cal);line-height:1.4}
.vx-dose-v{font-weight:700;color:var(--gm-encre)}
/* refonte du 02/10/2026 : le gras est réservé au nom du vaccin ; dose, produits en poids normal ; notes en petit */
.vx-dose-c,.vx-dose-n{font-weight:400;color:var(--gm-encre-2)}
.vx-prod{display:block;margin-top:.1rem;font-size:.92rem;color:var(--gm-encre)}
.vx-prod-n{font-weight:400}
.vx-prod-d{color:var(--gm-encre-3);font-size:.85rem}
.vx-prod-alerte{display:inline-block;margin-left:.2rem;padding:0 .3rem;border:1px dashed var(--vx-has);border-radius:3px;color:var(--vx-has);font-size:.78rem;line-height:1.35}
.vx-pref{display:block;margin-top:.2rem;font-size:.82rem;line-height:1.4;color:var(--gm-encre-3)}
.vx-pref-bloc{margin:0 0 .4rem}
.vx-pref .vx-reg{font-size:.66rem}
.vx-has-v{font-weight:600;color:var(--gm-encre)}
.vx-quand{display:block;margin-top:.15rem;font-family:var(--ac-mono);font-size:.74rem;font-weight:400;letter-spacing:.02em;color:var(--gm-encre-3)}
.vx-noms th[scope=row]{min-width:11rem;vertical-align:top}
.vx-noms td{vertical-align:top}
.vx-prod-l{list-style:none;margin:0 0 .2rem;padding:0}
.vx-prod-l>li{padding:0 0 .15rem;margin:0}
.vx-prod-l>li::before{display:none}
.vx-src-l{font-size:.8rem}
.vx-col-has li{margin:0 0 .35rem;padding:.2rem .45rem;border:1.5px dashed var(--vx-has);border-radius:3px;background:var(--vx-has-fond);color:var(--gm-encre-2);font-size:.95rem}
.vx-col-eu li{margin:0 0 .35rem;padding:.2rem .45rem;border:1.5px dotted var(--vx-eu);border-radius:3px;background:var(--vx-eu-fond);color:var(--gm-encre-2);font-size:.92rem}
.vx-pays{display:block;font-size:.82rem;color:var(--gm-encre-3)}
.vx-v-menb,.vx-v-menacwy{border-left-color:#6E4A8A}
.vx-v-pneumocoque{border-left-color:#3A8288}
.vx-v-rotavirus{border-left-color:#D08A35}
.vx-v-rougeole{border-left-color:#B5462C}
.vx-v-hpv{border-left-color:#9468B0}
.vx-v-vrs,.vx-v-grippe,.vx-v-covid19{border-left-color:#4F6FAE}
.vx-v-zona{border-left-color:#7A5230}
@media (max-width:760px){
  .vx-grille table,.vx-grille thead,.vx-grille tbody,.vx-grille tr,.vx-grille th,.vx-grille td{display:block;width:100%}
  .vx-grille thead{display:none}
  .vx-grille tr{border-bottom:2px solid var(--gm-filet);padding:.4rem 0}
  .vx-grille td{border:0!important;padding:.2rem .6rem;background:none!important}
  .vx-grille td.vx-col-has:has(.vx-rien),.vx-grille td.vx-col-eu:has(.vx-rien){display:none}
  .vx-grille th[scope=row]{padding:.4rem .6rem;border:0}
  .vx-grille caption{display:block;width:auto}
  .vx-couv-t table,.vx-couv-t tbody,.vx-couv-t tr,.vx-couv-t td,.vx-couv-t th{display:block;width:100%;white-space:normal}
  .vx-couv-t thead{display:none}
  .vx-couv-t tr{padding:.4rem 0;border-bottom:2px solid var(--gm-filet)}
  .vx-couv-t td{display:flex;justify-content:space-between;gap:.6rem;border:0!important;padding:.1rem .6rem!important;background:none!important}
  .vx-couv-t td::before{content:attr(data-l);color:var(--gm-encre-3);font-size:.85rem}
}

/* ---------- règles en liste (populations, vaccins) ---------- */
.vx-det{margin:.5rem 0;border:1.5px solid var(--gm-filet);border-radius:3px;background:var(--gm-carte)}
.vx-det>summary{cursor:pointer;padding:.65rem .9rem .65rem 2rem;position:relative;font-weight:600;color:var(--gm-encre);list-style:none}
.vx-det>summary::-webkit-details-marker{display:none}
.vx-det>summary::before{content:"";position:absolute;left:.8rem;top:1.05rem;border:.35rem solid transparent;border-left:.5rem solid var(--gm-rub);border-right:0;transition:transform .15s}
.vx-det[open]>summary::before{transform:rotate(90deg)}
@media (prefers-reduced-motion:reduce){.vx-det>summary::before{transition:none}}
.vx-det[open]>summary{border-bottom:1px solid var(--gm-filet)}
.vx-det>:not(summary){margin-left:.9rem;margin-right:.9rem}
.vx-det>:last-child{margin-bottom:.8rem}
.vx-det-mini summary{cursor:pointer;font-size:.85rem;color:var(--gm-rub-txt)}
.vx-regles{margin:.6rem 0;padding-left:1.1rem}
.vx-regles li{margin:0 0 .45rem;line-height:1.5}
.vx-regles ul{padding-left:1.1rem;margin:.3rem 0}
.vx-st{display:inline-block;padding:0 .35rem;border-radius:3px;background:var(--gm-papier-2);font-size:.8rem;color:var(--gm-encre-2);white-space:nowrap}
.vx-st-obligatoire{background:var(--gm-rub-doux);color:var(--gm-rub-txt)}
.vx-st-grave{background:var(--vx-ko-fond);color:var(--vx-ko)}
.vx-incoh{font-size:.88rem;color:var(--gm-rouge-txt)}
.vx-refs{padding-left:1.6rem}
.vx-refs li{margin:0 0 .5rem;line-height:1.5}
.vx-refs li:target{background:var(--gm-jaune)}
.vx-texte p{max-width:82ch}
.vx-mono{font-family:var(--ac-mono);font-size:.85rem;white-space:nowrap}
tr:target td,tr:target th{background:var(--gm-jaune)!important}

/* ---------- formulaires ---------- */
.vx-form{margin:.5rem 0 1rem}
.vx-l{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin:.25rem .9rem .25rem 0;font-size:1rem;color:var(--gm-encre-2)}
.vx-form input[type=date],.vx-form input[type=number],.vx-form input[type=text],.vx-form select,.vx-select,.vx-dl input,.vx-oc input{
  min-height:2.75rem;padding:.4rem .6rem;border:2px solid var(--gm-encre);border-radius:3px;background:var(--gm-carte);color:var(--gm-encre);font:inherit;font-size:1rem;max-width:100%}
.vx-form input[type=number]{width:5.5rem}
.vx-select{width:100%;max-width:30rem}
.vx-age .gm-chipset{margin-bottom:.5rem}
.vx-ligne{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.vx-ligne .gm-libelle{margin:0}
.vx-sitg{margin:0 0 .6rem}
.vx-sitg-t{display:block;margin:0 0 .3rem;font-size:.85rem;font-weight:600;color:var(--gm-encre-3)}
.vx-sits .gm-chip{min-height:2.75rem}
.vx-mini{padding:.35rem .7rem;font-size:.9rem;min-height:2.5rem}
.vx-chron{margin:.4rem 0 .6rem;padding:.5rem;border-left:4px solid var(--gm-rub);background:var(--gm-rub-doux)}
.vx-sit-plus{margin-top:.4rem}
/* aide d'une situation cochée, définitions du calendrier, campagnes (retours du 03/10/2026) */
.vx-sit-aide{margin:.4rem 0 0;padding:.4rem .6rem;border-left:3px solid var(--gm-filet);font-size:.9rem;line-height:1.45}
.vx-sit-qui{margin:.4rem 0 0;font-size:.9rem}
.vx-sit-qui>summary{cursor:pointer;color:var(--gm-encre-2,inherit);min-height:2.75rem;display:flex;align-items:center}
.vx-sit-qui dl{margin:.3rem 0 .4rem}
.vx-sit-qui dt{font-weight:600;margin-top:.45rem}
.vx-sit-qui dd{margin:.1rem 0 0 0;line-height:1.45}
.vx-sit-pied{margin:.35rem 0 0}
.vx-saison-info{margin:.4rem 0 0;font-size:.9rem;line-height:1.45}
.vx-saison-info ul{margin:0;padding-left:1.1rem}
.vx-saison-info li{margin:.15rem 0}
.vx-plus>summary{font-weight:600}
.vx-date-calc{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem}
.vx-date-calc .gm-libelle{margin:0}

/* saisie rapide */
.vx-rapide{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr));gap:.45rem}
.vx-rap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem .6rem;padding:.45rem .6rem;border:1.5px solid var(--gm-filet);border-radius:3px;background:var(--gm-carte)}
.vx-rap.on{border-color:var(--gm-encre);box-shadow:3px 3px 0 var(--gm-rub)}
.vx-rap-nom b{display:block;color:var(--gm-encre);line-height:1.25}
.vx-rap-nom span{display:block;font-size:.8rem;color:var(--gm-encre-3);line-height:1.3}
.vx-pas{display:inline-flex;align-items:center;gap:.2rem}
.vx-pas-b{width:2.75rem;height:2.75rem;border:2px solid var(--gm-encre);border-radius:3px;background:var(--gm-carte);font-size:1.4rem;line-height:1;cursor:pointer;color:var(--gm-encre);touch-action:manipulation}
.vx-pas-b:active{background:var(--gm-jaune)}
.vx-pas-n{min-width:1.6rem;text-align:center;font-family:var(--ac-display);font-weight:700;font-size:1.3rem}
.vx-rap-age{grid-column:1/-1;font-size:.9rem;color:var(--gm-encre-2);display:flex;align-items:center;flex-wrap:wrap;gap:.3rem}
.vx-rap-age[hidden]{display:none}
.vx-rap-age input{width:4.5rem!important;min-height:2.5rem;padding:.25rem .4rem;border:2px solid var(--gm-encre);border-radius:3px;font:inherit}
.vx-rap-age select{min-height:2.5rem;border:2px solid var(--gm-encre);border-radius:3px;font:inherit;background:var(--gm-carte)}
/* saisie avec dates */
.vx-dates{display:flex;flex-direction:column;gap:.4rem;margin:0 0 .5rem}
.vx-dl{display:grid;grid-template-columns:minmax(0,1fr) auto 2.75rem;gap:.4rem;align-items:center}
.vx-dl input[type=text]{width:100%}
.vx-x{width:2.75rem;height:2.75rem;border:2px solid var(--gm-encre);border-radius:3px;background:var(--gm-carte);font-size:1.3rem;cursor:pointer}
@media (max-width:520px){.vx-dl{grid-template-columns:minmax(0,1fr) 2.75rem}.vx-dl input[type=date]{grid-column:1;grid-row:2}}
.vx-seros-g{display:flex;flex-wrap:wrap;gap:0 .6rem}
.vx-risque{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:.5rem;margin:.3rem 0}
.vx-risque input{margin-top:.3rem;width:1.25rem;height:1.25rem;flex:none}
/* photo */
.vx-photo-btns{display:flex;flex-wrap:wrap;gap:.6rem;margin:.6rem 0}
.vx-fichier{position:relative;overflow:hidden;cursor:pointer;min-height:3rem}
.vx-fichier input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.vx-ocr-etat{font-weight:600;margin:.5rem 0 .25rem}
.vx-ocr progress{width:100%;height:.6rem}
.vx-ocr-img{margin:.5rem 0}
.vx-ocr-img canvas{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;border:2px solid var(--gm-encre);border-radius:3px;background:#fff}
.vx-ocr-rot{display:flex;gap:.5rem;margin:.4rem 0}
.vx-oc-l{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.vx-oc{padding:.6rem .75rem;border:2px solid var(--gm-filet);border-left-width:8px;border-radius:3px;background:var(--gm-carte)}
.vx-oc-a_relire{border-left-color:var(--gm-ambre)}
.vx-oc-confirmee{border-color:var(--vx-ok);background:var(--vx-ok-fond)}
.vx-oc-rejetee{opacity:.6;border-left-color:#999;background:var(--gm-papier-2)}
.vx-oc.actif{box-shadow:4px 4px 0 var(--gm-flamme)}
.vx-oc-t{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;margin:0 0 .4rem}
.vx-oc-n{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--gm-encre);color:#FFFDF7;font-weight:700}
.vx-oc-etat{margin-left:auto;font-weight:700}
.vx-niv{font-size:.82rem;padding:0 .4rem;border-radius:3px}
.vx-niv-haute{background:var(--vx-ok-fond);color:var(--vx-ok)}
.vx-niv-moyenne{background:var(--gm-ambre-doux);color:var(--gm-ambre-txt)}
.vx-niv-basse{background:var(--vx-ko-fond);color:var(--vx-ko)}
.vx-oc-champs{display:flex;flex-wrap:wrap;gap:.3rem .8rem}
.vx-oc-champs .vx-l{margin:0}
.vx-oc-champs input[data-f=produit]{width:min(100%,16rem)}
.vx-oc-champs input[data-f=lot]{width:8rem}
.vx-oc-al{margin:.3rem 0;padding-left:1.1rem;font-size:.88rem;color:var(--gm-ambre-txt)}
.vx-oc-src{overflow-wrap:anywhere}
.vx-oc-act{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}
.vx-oc-act .gm-btn{min-height:2.75rem}
.vx-oc-msg{margin:.3rem 0 0;color:var(--gm-rouge-txt);font-weight:600}
.vx-oc-msg:empty{display:none}
.vx-ocr-pied{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .8rem;padding:.4rem .6rem;background:var(--gm-papier);border:2px solid var(--gm-encre);border-radius:3px}
.vx-ocr-pied p{margin:0;font-size:.92rem}
.vx-ocr-pied .gm-btn{padding:.5rem .9rem;min-height:2.75rem}
.vx-oc-al-t{margin:.3rem 0 0;font-size:.85rem;font-weight:600;color:var(--gm-ambre-txt)}
.vx-oc-al-vieux{opacity:.7;text-decoration:line-through;text-decoration-color:rgba(0,0,0,.35)}

/* ---------- résultats ---------- */
.vx-resultat:empty{display:none}
.vx-resultat,.vx-plan{margin-top:1rem}
.vx-res-titre{margin:0 0 .6rem;font-size:1.1rem}
.vx-bloc{margin:.8rem 0;padding:.6rem .8rem;border:1.5px solid var(--gm-filet);border-left:6px solid var(--vx-cal);border-radius:3px;background:var(--gm-carte)}
.vx-bloc h3{margin:0 0 .4rem;font-size:1.08rem}
.vx-bloc-has{border-left-style:dashed;border-left-color:var(--vx-has);background:var(--vx-has-fond)}
.vx-bloc-ci{border-left-color:var(--gm-rouge)}
.vx-bloc-suite{border-left-color:var(--gm-rub)}
.vx-items{margin:0;padding-left:1.1rem}
.vx-items li{margin:0 0 .4rem;line-height:1.5}
.vx-vac{color:var(--gm-encre)}
.vx-vals{display:block;font-size:.85rem;color:var(--gm-encre-3)}
.vx-txt{display:block;font-size:.9rem}
.vx-cond{display:inline-block;padding:0 .35rem;border-radius:3px;background:var(--gm-ambre-doux);color:var(--gm-ambre-txt);font-size:.8rem}
.vx-notes ul{padding-left:1.1rem}
.vx-notes li{margin:0 0 .35rem;font-size:.95rem}
.vx-regle{font-family:var(--ac-mono);font-size:.75rem;color:var(--gm-encre-3)}
.vx-attente{animation:vx-pulse 1.2s ease-in-out infinite alternate}
@keyframes vx-pulse{from{opacity:.55}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.vx-attente{animation:none}}

/* plan par séance */
.vx-seances{list-style:none;margin:.6rem 0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.vx-seance{padding:.6rem .8rem;border:2px solid var(--gm-encre);border-radius:3px;background:var(--gm-carte);box-shadow:4px 4px 0 var(--gm-rub)}
.vx-seance-t{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .7rem;margin:0 0 .4rem}
.vx-moment{font-family:var(--ac-mono);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.05rem .45rem;background:var(--gm-encre);color:#FFFDF7;border-radius:3px}
.vx-seance-t b{font-size:1.1rem}
.vx-actes,.vx-inj,.vx-sero{margin:0 0 .3rem;padding-left:1.1rem}
.vx-sous{margin:.35rem 0 .15rem;font-family:var(--ac-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gm-encre-3)}
.vx-prod{color:var(--gm-encre-2)}
.vx-rappel{padding:.5rem .8rem;background:var(--gm-rub-doux);border-radius:3px}
.vx-etats td,.vx-etats th{font-size:.95rem}
.vx-etat{font-weight:600}
.vx-et-a_faire .vx-etat,.vx-et-rappel_du .vx-etat,.vx-et-incomplet .vx-etat,.vx-et-inconnu .vx-etat{color:var(--gm-rouge-txt)}
.vx-et-complet .vx-etat,.vx-et-a_jour .vx-etat,.vx-et-immun .vx-etat{color:var(--vx-ok)}
@media (max-width:640px){.vx-etats table,.vx-etats tbody,.vx-etats tr,.vx-etats td,.vx-etats th{display:block}.vx-etats thead{display:none}.vx-etats tr{padding:.35rem 0;border-bottom:1px solid var(--gm-filet)}.vx-etats td,.vx-etats th{border:0!important;padding:.1rem .5rem}}
/* migrant */
.vx-pays-t{margin:.8rem 0 .4rem}
.vx-intro .vx-in-oui td{color:var(--vx-ok)}
.vx-intro .vx-in-non td{color:var(--gm-rouge-txt);font-weight:600}
.vx-intro .vx-in-tard td{color:var(--gm-ambre-txt)}
.vx-intro .vx-in-incoh td{color:var(--gm-encre-2);font-style:italic}
.vx-couv{list-style:none;padding:0;margin:.3rem 0}
.vx-couv li{position:relative;margin:0 0 .3rem;padding:.2rem .5rem;border-radius:3px;overflow:hidden;background:var(--gm-papier-2)}
.vx-couv-b{position:absolute;inset:0 auto 0 0;width:var(--p);background:var(--gm-rub-doux);z-index:0}
.vx-couv li>*:not(.vx-couv-b){position:relative;z-index:1}
.vx-code{font-family:var(--ac-mono);font-size:.78rem;padding:0 .25rem;background:var(--gm-papier-2);border-radius:3px}
.vx-calpays li{font-size:.92rem}

/* panneau */
.vx-pan-t{margin:0 0 .5rem;font-size:1.1rem}
.vx-pan-l{margin:0 0 .6rem;padding-left:1.1rem}
.vx-pan-l li{margin:0 0 .35rem;line-height:1.4}
.vx-reg-l-has{list-style:none;margin-left:-1.1rem!important}
.vx-pan-b{display:flex;flex-direction:column;gap:.4rem}
.vx-alerte{color:var(--gm-rouge-txt)}

/* ---------- pourquoi ---------- */
.vx-valchips{margin:.4rem 0 .9rem}
.vx-valchips .gm-chip{padding:.45rem .8rem;min-height:2.75rem}
.vx-fiche-a h3{font-size:1.4rem;margin:.3rem 0 .6rem}
.vx-h{margin:1.2rem 0 .4rem;padding-bottom:.2rem;border-bottom:2px solid var(--gm-encre);font-size:1.12rem}
.vx-fiche-a h4:not(.vx-h){margin:.7rem 0 .3rem;font-size:1rem;color:var(--gm-encre-2)}
.vx-chs{margin:0;padding-left:1.1rem}
.vx-ch{margin:0 0 .45rem;line-height:1.5}
.vx-ch-v{font-family:var(--ac-display);font-size:1.08rem;color:var(--gm-encre)}
.vx-ch-v span{font-family:var(--ac-body);font-size:.85rem;font-weight:400}
.vx-nns{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:.6rem}
.vx-nn{padding:.6rem .75rem;border:2px solid var(--gm-encre);border-radius:3px;background:var(--gm-carte)}
.vx-nn p{margin:0 0 .3rem}
.vx-nn-grave{border-color:var(--vx-ko)}
.vx-nn-t{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem}
.vx-nn-k{font-family:var(--ac-mono);font-size:.78rem;font-weight:600}
.vx-nn-v{font-family:var(--ac-display);font-size:1.5rem;line-height:1.1}
.vx-est{display:inline-block;padding:0 .35rem;border:1.5px dashed var(--gm-encre-3);border-radius:3px;font-size:.75rem;font-weight:400;color:var(--gm-encre-3);font-family:var(--ac-mono);text-transform:uppercase;letter-spacing:.06em}
.vx-nn details summary{cursor:pointer;font-size:.88rem;color:var(--gm-rub-txt)}
.vx-nn details ul{padding-left:1.1rem;font-size:.9rem}
.vx-num{text-align:right;white-space:nowrap}
.vx-nnt-t details summary{cursor:pointer;font-size:.85rem;color:var(--gm-rub-txt)}
.vx-nnt-t details ul{font-size:.88rem;padding-left:1.1rem}
.vx-refs-f{font-size:.92rem}
.vx-refs-f li{overflow-wrap:anywhere}

/* ---------- Europe et monde ---------- */
.vx-paysl{list-style:none;margin:.4rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:.35rem}
.vx-pl-b{display:block;width:100%;text-align:left;padding:.45rem .6rem;border:1.5px solid var(--gm-filet);border-radius:3px;background:var(--gm-carte);font:inherit;color:var(--gm-encre-2);cursor:pointer;min-height:2.75rem}
.vx-pl-b:hover{border-color:var(--gm-encre)}
.vx-pl-recommande_tous .vx-pl-b{border-left:6px solid var(--vx-eu)}
.vx-pl-groupes_specifiques .vx-pl-b{border-left:6px dotted var(--vx-eu)}
.vx-pl-non_liste .vx-pl-b{opacity:.75}
.vx-fra .vx-pl-b{box-shadow:3px 3px 0 var(--gm-rub)}
.vx-sym{display:inline-block;width:1.3rem;color:var(--vx-eu);font-size:1.1rem}
.vx-ages{display:block;font-size:.82rem;color:var(--gm-encre-3);margin-left:1.3rem}
.vx-detail:not(:empty){margin:.6rem 0;padding:.6rem .8rem;border:2px solid var(--vx-eu);border-radius:3px;background:var(--vx-eu-fond)}
.vx-detail h4{margin:0 0 .3rem}
.vx-matrice table{font-size:.85rem}
.vx-matrice th,.vx-matrice td{padding:.25rem .3rem!important;text-align:center}
.vx-matrice th[scope=row]{text-align:left;white-space:nowrap;position:sticky;left:0;background:var(--gm-carte);z-index:1}
.vx-m-b{width:2rem;height:2rem;border:0;background:none;font-size:1rem;cursor:pointer;color:var(--vx-eu)}
.vx-m-obl .vx-m-b{text-decoration:underline;font-weight:700}
.vx-m-non_liste .vx-m-b{color:var(--gm-encre-3)}
.vx-matrice tr.vx-fra th,.vx-matrice tr.vx-fra td{background:var(--gm-rub-doux)}
.vx-couv-t td,.vx-couv-t th{font-size:.92rem;white-space:nowrap}
.vx-couv-t th[scope=row]{white-space:normal;min-width:10rem}
.vx-bas{color:var(--gm-rouge-txt)}
.vx-haut{color:var(--vx-ok)}
.vx-intl td{font-size:.9rem;min-width:9rem}
.vx-i-universel b{color:var(--vx-ok)}
.vx-i-non b,.vx-i-non_liste b{color:var(--gm-encre-3)}

/* en-têtes de ligne : police de lecture (le gabarit met les th en capitales à chasse fixe, fait pour les en-têtes de colonne) */
.vx .gm-tableau tbody th[scope=row]{font-family:var(--ac-body);text-transform:none;letter-spacing:normal;font-size:.98rem;font-weight:700;color:var(--gm-encre);background:transparent;border-bottom:1px solid var(--gm-filet)}
.vx .vx-grille tbody th[scope=row]{font-family:var(--ac-display);font-size:1.05rem;background:var(--gm-papier)}
.vx .vx-couv-t tbody th[scope=row] .vx-petit{font-weight:400}

/* tableaux larges : fiches empilées sur téléphone (chaque cellule porte son intitulé dans data-l) */
@media (max-width:640px){
  .vx-pile table,.vx-pile tbody,.vx-pile tr,.vx-pile td,.vx-pile th{display:block;width:100%;white-space:normal}
  .vx-pile thead{display:none}
  .vx-pile tr{padding:.45rem 0;border-bottom:2px solid var(--gm-filet)}
  .vx-pile td,.vx-pile th{border:0!important;padding:.15rem .6rem!important;background:none!important;min-width:0!important}
  .vx-pile td[data-l]::before{content:attr(data-l);display:block;font-family:var(--ac-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gm-encre-3)}
  .vx-pile td.vx-num{text-align:left}
}

/* copie (cachée) */
.vx-copie{white-space:pre-wrap}

/* ---------- impression ---------- */
.vx-impression{display:none}
@media print{
  body.vx-imprime .vx-impression{display:block!important;font-size:11pt;color:#000}
  .vx-impression .vx-pr-tete{border-bottom:2px solid #000;margin-bottom:10pt}
  .vx-impression .vx-pr-site{font-size:9pt;margin:0}
  .vx-impression h1{font-size:16pt;margin:2pt 0}
  .vx-impression .vx-pr-meta{font-size:9pt;margin:0 0 4pt}
  .vx-impression details{display:block}
  .vx-impression details>summary{list-style:none;font-weight:700}
  .vx-impression details>*{display:block}
  .vx-impression .vx-seance{box-shadow:none;break-inside:avoid;border:1pt solid #000}
  .vx-impression .vx-bloc{break-inside:avoid;border:1pt solid #000;background:none}
  .vx-impression a{color:#000;text-decoration:none}
  .vx-impression .gm-tableau{overflow:visible}
  .vx-pr-tab{width:100%;border-collapse:collapse;margin:8pt 0}
  .vx-pr-tab th,.vx-pr-tab td{border:1pt solid #000;padding:6pt;vertical-align:top;text-align:left}
  .vx-pr-case{width:1.6cm}
  .vx-pr-signe{margin-top:18pt}
  .vx .gm-boutons,.vx-oc-act,.vx-ocr-pied{display:none!important}
}

/* ---------- refonte du 02/10/2026 : outils d'abord, référence ensuite ---------- */
/* barre d'onglets : un filet et une étiquette séparent les outils (Aujourd'hui, Rattrapage, Voyage) de la référence */
.vx-onglets-sep .gm-onglets button[data-gm-tab="aujourdhui"],.vx-onglets-sep .gm-onglets button[data-gm-tab="calendrier"]{position:relative}
.vx-onglets-sep .gm-onglets button[data-gm-tab="calendrier"]{margin-left:1.6rem}
.vx-onglets-sep .gm-onglets button[data-gm-tab="calendrier"]::before{content:"";position:absolute;left:-.85rem;top:.45rem;bottom:.35rem;border-left:2px solid rgba(255,255,255,.45)}
.vx-onglets-sep .gm-onglets button[data-gm-tab="aujourdhui"]::after,.vx-onglets-sep .gm-onglets button[data-gm-tab="calendrier"]::after{position:absolute;left:.95rem;top:.05rem;font-family:var(--ac-mono);font-size:.6rem;font-weight:600;letter-spacing:.12em;color:#FFD84F;text-transform:uppercase}
.vx-onglets-sep .gm-onglets button[data-gm-tab="aujourdhui"]::after{content:"outils"}
.vx-onglets-sep .gm-onglets button[data-gm-tab="calendrier"]::after{content:"référence"}

/* situations : sélecteur et vue d'ensemble */
.vx-sit-ages .gm-chip{min-height:2.75rem}
.vx-sitres-age{margin:0 0 .5rem;color:var(--gm-encre-2)}
.vx-bloc-sero{border-left-color:var(--vx-eu)}
.vx-bloc-sero h3,.vx-bloc-texte h3{font-size:1rem}
.vx-liens-pop{display:flex;flex-wrap:wrap;gap:.4rem;margin:.3rem 0 0;padding:0;list-style:none}
.vx-liens-pop>li::before{display:none}
.vx-liens-pop>li{padding:0;margin:0}
.vx-liens-pop a{display:inline-block;padding:.35rem .6rem;border:1.5px solid var(--gm-filet);border-radius:3px;text-decoration:none;font-size:.9rem}
.vx-comme-tous{font-size:.88rem;color:var(--gm-encre-3)}
.vx-sitmat .gm-tableau{overflow-x:auto}
.vx-sitmat table{font-size:.85rem;min-width:0}
.vx-sitmat th,.vx-sitmat td{padding:.3rem .35rem!important;text-align:center;vertical-align:middle}
.vx-sitmat thead th{font-family:var(--ac-body);text-transform:none;letter-spacing:0;font-size:.78rem;font-weight:600;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);max-height:9rem}
.vx-sitmat tbody th[scope=row]{text-align:left;position:sticky;left:0;z-index:1;background:var(--gm-carte);min-width:10rem;max-width:14rem;white-space:normal;font-size:.88rem}
.vx-sitmat tbody th button{all:unset;cursor:pointer;color:var(--gm-rub-txt);text-decoration:underline;text-underline-offset:2px}
.vx-sitmat tbody th button:focus-visible{outline:3px solid var(--gm-rub);outline-offset:2px}
.vx-sitmat .vx-c-plus{color:var(--vx-ok);font-weight:700}
.vx-sitmat .vx-c-cond{color:var(--vx-ok)}
.vx-sitmat .vx-c-has{color:var(--vx-has);font-weight:700}
.vx-sitmat .vx-c-ci{color:var(--vx-ko);font-weight:700;background:var(--vx-ko-fond)}
.vx-sitmat .vx-c-vide{color:var(--gm-filet)}
.vx-sitmat tr.vx-grp th{background:var(--gm-papier);font-family:var(--ac-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gm-encre-3);text-align:left}
.vx-mat-leg{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:.2rem 0 .6rem;font-size:.88rem;color:var(--gm-encre-2)}

/* voyage */
.vx-voy .vx-ligne{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:flex-end}
.vx-voy .vx-select{max-width:100%}
.vx-voy input[type=text]{min-width:0;max-width:100%}
.vx-voy-duree{font-family:var(--ac-mono);font-size:.85rem;color:var(--gm-encre-2)}
.vx-voy-recap{margin:.2rem 0 .6rem;padding:0;list-style:none}
.vx-voy-recap>li::before{display:none}
.vx-voy-recap>li{padding:.1rem 0;margin:0}
@media (max-width:640px){.vx-onglets-sep .gm-onglets button[data-gm-tab="calendrier"]{margin-left:1.2rem}}
/* pastilles à trois caractères (SP1…SP3) : un cran plus petites pour tenir dans le rond du rail */
.vx .gm-rail li[data-gm-pour="sit-choix"] .n,.vx .gm-rail li[data-gm-pour="sit-matrice"] .n,.vx .gm-rail li[data-gm-pour="cal-pop"] .n{font-size:.6rem;letter-spacing:-.04em}
.vx-vac-t{font-weight:400;color:var(--gm-encre)}
.vx-sitmat thead th:first-child{writing-mode:horizontal-tb;transform:none;vertical-align:bottom;text-align:left}
/* ---------- consultation du voyageur (moteur vax-voyage-moteur.js) ---------- */
.vx-etape{margin:0 0 .5rem;padding:.4rem .6rem;border-left:3px solid var(--gm-rub);background:var(--gm-papier)}
.vx-etape-dates summary{cursor:pointer;font-size:.85rem;color:var(--gm-rub-txt)}
.vx-etapes .vx-select{max-width:min(100%,22rem)}
.vx-voy-bloc h3 .vx-petit{font-family:var(--ac-body);font-weight:400;text-transform:none;letter-spacing:0}
.vx-voy-b-obligatoire{border-left-color:var(--gm-rouge)}
.vx-voy-b-recommande{border-left-color:var(--vx-cal)}
.vx-voy-b-a_discuter{border-left-color:var(--vx-has);border-left-style:dashed}
.vx-voy-b-contre_indique{border-left-color:var(--vx-ko);background:var(--vx-ko-fond)}
.vx-bloc-palu{border-left-color:#4F6FAE}
.vx-voy-it{margin:0 0 .8rem}
.vx-raisons{margin:.2rem 0 .3rem;padding-left:1.1rem;font-size:.94rem}
.vx-raisons>li{margin:0 0 .15rem}
.vx-precaution{margin:.2rem 0;padding:.25rem .5rem;border-left:3px solid var(--vx-has);background:var(--vx-has-fond);font-size:.92rem}
.vx-delai{margin:.2rem 0;font-size:.9rem;color:var(--vx-ok)}
.vx-delai-ko{color:var(--vx-ko);font-weight:600}
.vx-st-obligatoire{background:var(--gm-rose);color:var(--gm-rouge-txt)}
.vx-st-contre_indique{background:var(--vx-ko-fond);color:var(--vx-ko)}
.vx-st-a_discuter{background:var(--vx-has-fond);color:var(--vx-has)}
.vx-reg-est{background:#fff;color:var(--gm-encre-3);border:1px solid var(--gm-filet);font-size:.62rem}
.vx-chiffres table{width:100%;border-collapse:collapse;font-size:.88rem;margin:.3rem 0}
.vx-chiffres th,.vx-chiffres td{border-bottom:1px solid var(--gm-filet);padding:.25rem .35rem;text-align:left;vertical-align:top}
.vx-voy-src{margin-top:1rem}
@media (max-width:640px){
  .vx-chiffres table,.vx-chiffres tbody,.vx-chiffres tr,.vx-chiffres td{display:block;width:100%}
  .vx-chiffres thead{display:none}
  .vx-chiffres tr{padding:.3rem 0;border-bottom:2px solid var(--gm-filet)}
  .vx-chiffres td{border:0}
  .vx-chiffres td[data-l]::before{content:attr(data-l) " : ";color:var(--gm-encre-3);font-size:.8rem}
}
.vx-chiffre-cle{margin:.3rem 0;padding:.3rem .5rem;border-left:3px solid #4F6FAE;background:var(--gm-papier);font-size:.93rem}
@media print{
  .vx-impression .vx-voy-bloc,.vx-impression .vx-bloc-palu{break-inside:auto}
  .vx-impression .vx-voy-it,.vx-impression .vx-items>li{break-inside:auto}
  .vx-impression .vx-chiffre-cle,.vx-impression .vx-precaution{break-inside:avoid}
  .vx-impression .vx-chiffres table{font-size:9pt}
}
/* ---------- balance bénéfice / risque ---------- */
.vx-bal{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1rem;margin:.5rem 0;padding:.6rem .7rem;border:1.5px solid var(--gm-filet);border-radius:3px;background:var(--gm-carte)}
.vx-bal-tete,.vx-bal-pied{grid-column:1/-1;margin:0}
.vx-bal h5{margin:0 0 .3rem;font-size:.95rem;font-family:var(--ac-body)}
.vx-bal-g{border-right:2px solid var(--gm-filet);padding-right:.8rem}
.vx-bal-g h5{color:var(--vx-ok)}
.vx-bal-d h5{color:var(--vx-ko)}
.vx-bal-ul,.vx-bal-txt{list-style:none;margin:0;padding:0}
.vx-bal-ul>li::before,.vx-bal-txt>li::before{display:none}
.vx-bal-l{margin:0 0 .5rem;padding:0;font-size:.92rem;line-height:1.35}
.vx-bal-v{font-weight:700;font-variant-numeric:tabular-nums}
.vx-bal-barre{position:relative;display:block;height:.55rem;margin-top:.2rem;background:var(--gm-papier);border-radius:2px;overflow:hidden}
.vx-bal-b{position:absolute;left:0;top:0;bottom:0;border-radius:2px}
.vx-bal-b-b{background:var(--vx-ok)}
.vx-bal-b-r{background:var(--vx-ko)}
.vx-bal-haut{opacity:.35}
.vx-bal-txt>li{font-size:.85rem;color:var(--gm-encre-2);margin:0 0 .2rem}
.vx-bal-nc{margin:0;font-size:.92rem}
@media (max-width:640px){.vx-bal{grid-template-columns:1fr}.vx-bal-g{border-right:0;border-bottom:2px solid var(--gm-filet);padding:0 0 .5rem}}
@media print{.vx-bal-barre{border:1px solid #888}.vx-bal-b-b{background:#2F6B4F!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.vx-bal-b-r{background:#A8123B!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.vx-sit-rares{margin:.4rem 0 0}
.vx-sit-rares>summary{cursor:pointer;min-height:2.75rem;display:flex;align-items:center;font-size:.92rem;font-weight:600}
.vx-sit-rares .gm-chipset{margin-top:.3rem}
/* ---------- renvois [n] et fenêtre de référence (retours du 03/10/2026) ---------- */
.vx-ref{cursor:pointer;padding:.1rem 0}
.vx-ref:focus-visible{outline:2px solid var(--gm-rub);outline-offset:2px}
.vx-pop{position:absolute;z-index:1000;max-width:min(32rem,calc(100vw - 16px));padding:.6rem .8rem .7rem;border:2px solid var(--gm-encre);border-radius:4px;background:var(--gm-carte);box-shadow:var(--gm-ombre);color:var(--gm-encre);font-size:.92rem;line-height:1.45}
.vx-pop:focus{outline:none}
.vx-pop-t{display:flex;align-items:center;gap:.4rem;margin:0 0 .35rem;font-family:var(--ac-mono);font-size:.82rem}
.vx-pop-x{margin-left:auto;min-width:2.75rem;min-height:2.75rem;border:0;background:none;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--gm-encre)}
.vx-pop-c a{word-break:break-word}
.vx-pop-a{margin:.5rem 0 0}
.vx-pop-a a{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:600}
@media (max-width:639px){.vx-pop{position:fixed;left:8px!important;right:8px;bottom:8px;top:auto!important;max-width:none;max-height:60vh;overflow:auto}}
.vx-refs li.vx-cible{background:var(--gm-jaune);transition:background .3s}
.vx-src-citees{margin-top:1rem;border-top:1px solid var(--gm-filet)}
.vx-src-citees h2{font-size:1rem}
.vx-src-citees .vx-refs li{font-size:.85rem;margin:0 0 .25rem}
@media print{.vx-pop{display:none!important}.vx-ref{color:inherit}}
/* ---------- voyage : ville ou lieu, carte (03/10/2026) ---------- */
.vx-lieu{position:relative;margin:0 0 .4rem;max-width:36rem}
.vx-lieu>label{display:block;font-weight:600;margin:0 0 .2rem}
.vx-lieu-q{width:100%;min-height:2.75rem;box-sizing:border-box}
.vx-lieu-l{position:absolute;z-index:50;left:0;right:0;margin:.15rem 0 0;padding:0;list-style:none;border:1.5px solid var(--gm-encre);border-radius:4px;background:var(--gm-carte);box-shadow:var(--gm-ombre);max-height:20rem;overflow:auto}
.vx-lieu-l li{padding:.55rem .7rem;min-height:2.75rem;box-sizing:border-box;cursor:pointer;border-top:1px solid var(--gm-filet);line-height:1.35}
.vx-lieu-l li::before{display:none}
.vx-lieu-l li:first-child{border-top:0}
.vx-lieu-l li.on,.vx-lieu-l li:hover{background:var(--gm-rub-doux)}
.vx-lieu-l .vx-lieu-vide{cursor:default;color:var(--gm-encre-3)}
.vx-lieu-info{margin:.35rem 0 0;padding:.4rem .6rem;border-left:3px solid var(--gm-filet);font-size:.92rem;line-height:1.45}
.vx-lieu-alt{display:inline-block;margin-top:.2rem;font-weight:600}
.vx-lieux-l{padding-left:1.4rem}
.vx-lieux-l li{margin:0 0 .5rem;line-height:1.45}
.vx-carte-barre{margin:0 0 .5rem}
.vx-carte-src{margin:.4rem 0 0}
.vx-pr-carte{break-inside:avoid;page-break-inside:avoid}
.vx-pr-carte svg{max-width:100%;height:auto;max-height:11cm}
.vx-carte .vxc li::before{display:none}
.vx-carte .vxc-source,.vx-pr-carte .vxc-source{display:none}   /* doublon : la ligne des sources avec [n] est sous la carte */
/* ---------- âge ou naissance : composant commun ; prématurité (retours de J. Favre, 03/10/2026) ---------- */
.vx-age-ligne{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .9rem;margin-top:.35rem}
.vx-age-ligne .vx-l{margin:0}
.vx-prema{margin:.5rem 0 0;padding:.5rem .7rem;border-left:4px solid var(--gm-rub);background:var(--gm-rub-doux);border-radius:0 3px 3px 0}
.vx-prema-q{font-weight:600;display:block;margin:0 0 .3rem}
.vx-prema .vx-ligne{margin-top:.4rem}
.vx-prema-aide{margin:.4rem 0 0;line-height:1.45}
