/* Fransou · Juridique et Risques v2 (18/10/2026) · dosage de la Banque « après » (v4) :
   fond Encre, nuances d'Encre pour les cartes, une seule carte mise en avant, la casquette SOIE à la même place sur chaque page.
   Tout est sous .ju2 : rien ne touche aux autres pages. Rien sous 12 px, cibles de 44 px, un seul bouton plein par écran.
   Jetons à deux valeurs : sombre par défaut, clair au choix (data-ju-mode="clair"), contrastes mesurés dans chacun.
   Palette de données, pour les graphiques seulement : Brume, Sauge, Sable, Terre, Gris (contraste mesuré sur Encre et sur Blanc).
   Les polices sont celles que Devis et factures v2 sert déjà (/factures-v2/fonts/). */
@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}
.ju2{
  --coque:#0C181C; --page:#162125; --carte:#1D282C; --carte-n:#1A2428; --actif:#273135; --filet:#2E383C; --contour:#536066;
  --texte:#FFFFFF; --sec:#B9BFC1; --plein-fond:#FFFFFF; --plein-texte:#0C181C;
  --avant:#F3F4F3; --avant-texte:#0C181C; --avant-sec:#536066; --avant-filet:#D7DDDE; --avant-contour:#AAB5B8;
  --nuit:#0B121B; --nuit-sec:#A9B6C8;
  --d1:#7FB3C8; --d2:#9CC59A; --d3:#D8B47A; --d4:#C99AB8; --d5:#8E9BA0;
  --alerte:#F2A7A0; --soie-op:.045;
  --police:'Fransou Texte',system-ui,sans-serif; --r-pastille:4px; --r-champ:6px; --r-bouton:8px; --r-carte:12px;
  --courbe:cubic-bezier(.23,1,.32,1);
  position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;z-index:1;
  background:var(--page);color:var(--texte);font:400 15px/1.55 var(--police);font-synthesis:none;font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%;text-align:left;letter-spacing:normal
}
/* Le clair : les mêmes nuances, de l'autre côté (jetons des maquettes v4 du 18/10, commun-v4/v4.css). */
.ju2[data-ju-mode="clair"]{
  --coque:#F3F4F3; --page:#FFFFFF; --carte:#F6F7F6; --carte-n:#FAFBFA; --actif:#E5E8E8; --filet:#D7DDDE; --contour:#AAB5B8;
  --texte:#0C181C; --sec:#536066; --plein-fond:#0C181C; --plein-texte:#FFFFFF;
  --avant:#0C181C; --avant-texte:#FFFFFF; --avant-sec:#B9BFC1; --avant-filet:#2E383C; --avant-contour:#536066;
  --nuit:#EBF0F6; --nuit-sec:#4A5868;
  --d1:#3F6E8C; --d2:#4E7A5A; --d3:#8A6420; --d4:#875070; --d5:#5E6B70; --alerte:#A4362D; --soie-op:.04
}
.ju2 *,.ju2 *::before,.ju2 *::after{box-sizing:border-box}
.ju2 a{color:inherit;text-decoration:none}
.ju2 button,.ju2 input,.ju2 textarea,.ju2 select{font:inherit;color:inherit;letter-spacing:normal;margin:0}
.ju2 button{cursor:pointer;background:transparent;border:0;padding:0;text-align:inherit}
.ju2 button:disabled{cursor:default;opacity:.5}
.ju2 svg{width:20px;height:20px;flex:none}
.ju2 h1,.ju2 h2,.ju2 h3,.ju2 p,.ju2 ul,.ju2 ol{margin:0}
.ju2 ul,.ju2 ol{list-style:none;padding:0}
.ju2 :focus-visible{outline:2px solid var(--texte);outline-offset:3px;border-radius:6px}
.ju2 .ju2-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ju2 .ju2-chargement{padding:28px 40px;color:var(--sec)}
body:has(.ju2) #fi-conversations{display:none}

/* La casquette : même place sur chaque page, très effacée, elle recule au défilement */
.ju2 .ju2-casquette{position:absolute;left:38%;top:-150px;width:540px;pointer-events:none;z-index:0;opacity:var(--soie-op)}
.ju2 .ju2-casquette img{display:block;width:100%;height:auto}
.ju2 .ju2-entete{position:relative;overflow:hidden}
.ju2 .ju2-entete > *:not(.ju2-casquette){position:relative;z-index:1}
.ju2[data-ju-mode="clair"] .ju2-casquette img,.ju2[data-ju-mode="clair"] .ju2-sig img,.ju2[data-ju-mode="clair"] img.ju2-soie{filter:invert(1)}
.ju2 > header,.ju2 > .ju2-espaces,.ju2 > main{position:relative;z-index:1}

/* En-tête */
.ju2 .ju2-entete{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px;padding:0 40px;background:var(--coque);border-bottom:1px solid var(--coque)}
.ju2 .ju2-gauche{display:flex;align-items:center;gap:32px;min-width:0}
.ju2 .ju2-sig{display:inline-flex;align-items:center;min-height:44px}
.ju2 .ju2-sig img{height:20px;width:auto;display:block}
.ju2 .ju2-ariane{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--sec);white-space:nowrap;min-width:0;overflow:hidden}
.ju2 .ju2-ariane a:hover{color:var(--texte)}
.ju2 .ju2-ariane b{font-weight:500;color:var(--texte);overflow:hidden;text-overflow:ellipsis}
.ju2 .ju2-ariane i{font-style:normal}
.ju2 .ju2-droite{display:flex;align-items:center;gap:10px}
.ju2 .ju2-loupe-tel{display:none}

/* Les espaces */
.ju2 .ju2-espaces{display:flex;align-items:center;gap:6px;min-height:60px;padding:0 40px;background:var(--coque);border-bottom:1px solid var(--coque)}
.ju2 .ju2-nom-app{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sec);margin-right:10px}
.ju2 .ju2-espaces nav{display:flex;align-items:stretch;gap:2px;align-self:stretch}
.ju2 .ju2-espaces nav a{display:inline-flex;align-items:center;gap:9px;padding:0 12px;color:var(--sec);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color 160ms var(--courbe)}
.ju2 .ju2-espaces nav a svg{width:18px;height:18px}
.ju2 .ju2-espaces nav a:hover{color:var(--texte)}
.ju2 .ju2-espaces nav a.ju2-actif{color:var(--texte);border-bottom-color:var(--texte)}
.ju2 .ju2-n{min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border:1px solid var(--contour);border-radius:11px;font-size:12px;font-weight:600;color:var(--texte)}
.ju2 .ju2-outils-h{margin-left:auto;display:flex;align-items:center;gap:10px}
.ju2 .ju2-cherche-h{display:flex;align-items:center;gap:10px;width:260px;min-height:40px;padding:0 12px;border:1px solid var(--contour);border-radius:var(--r-champ);color:var(--sec);font-size:14px}
.ju2 .ju2-cherche-h input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:14px;color:var(--texte)}
.ju2 .ju2-cherche-h svg{width:16px;height:16px}
.ju2 .ju2-cherche-h:focus-within{border-color:var(--texte)}
.ju2 .ju2-barre-tel{display:none}

/* Boutons, liens, champs */
.ju2 .ju2-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(--contour);color:var(--texte);font:500 15px/1.2 var(--police);white-space:nowrap;transition:background-color 160ms var(--courbe),border-color 160ms var(--courbe),transform 120ms var(--courbe)}
.ju2 .ju2-btn:hover:not(:disabled){border-color:var(--texte);background:var(--carte-n)}
.ju2 .ju2-btn:active:not(:disabled){transform:scale(.97)}
.ju2 .ju2-btn.ju2-plein{background:var(--plein-fond);border-color:var(--plein-fond);color:var(--plein-texte);font-weight:600;min-height:48px;padding:12px 22px}
.ju2 .ju2-btn.ju2-plein:hover:not(:disabled){background:var(--plein-fond);opacity:.92}
.ju2 .ju2-btn.ju2-petit{font-size:14px;padding:8px 14px;min-height:40px}
.ju2 .ju2-btn.ju2-nu{border-color:transparent}
.ju2 .ju2-btn.ju2-nu:hover:not(:disabled){border-color:var(--contour)}
.ju2 .ju2-btn[aria-pressed="true"]{border-color:var(--texte);background:var(--actif)}
.ju2 .ju2-btn.ju2-off{opacity:.5;pointer-events:none}
.ju2 .ju2-btn svg{width:18px;height:18px}
.ju2 .ju2-lien{display:inline-flex;align-items:center;gap:6px;min-height:36px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;font-weight:500}
.ju2 .ju2-lien svg{width:16px;height:16px}
.ju2 .ju2-icone{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--contour);border-radius:var(--r-bouton);flex:none;transition:background-color 160ms var(--courbe),border-color 160ms var(--courbe),transform 120ms var(--courbe)}
.ju2 .ju2-icone:hover:not(:disabled){border-color:var(--texte);background:var(--carte-n)}
.ju2 .ju2-icone:active:not(:disabled){transform:scale(.94)}
.ju2 .ju2-icone[aria-expanded="true"]{border-color:var(--texte);background:var(--actif)}
.ju2 .ju2-icone svg{width:18px;height:18px}
.ju2 kbd{font:500 12px/1 var(--police);border:1px solid var(--contour);border-radius:var(--r-pastille);padding:3px 6px;color:var(--sec)}
.ju2 .ju2-choix{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 6px 0 12px;border:1px solid var(--contour);border-radius:var(--r-bouton);font-size:14px;white-space:nowrap}
.ju2 .ju2-choix span{color:var(--sec)}
.ju2 .ju2-choix select{border:0;background:transparent;font-weight:500;min-height:36px;max-width:240px}
.ju2 select option{background:var(--page);color:var(--texte)}
.ju2 .ju2-champ{display:flex;flex-direction:column;gap:6px;min-width:0}
.ju2 .ju2-champ > span{font-size:13px;color:var(--sec)}
.ju2 .ju2-champ input,.ju2 .ju2-champ select,.ju2 .ju2-champ textarea,.ju2 .ju2-ecrire textarea,.ju2 .ju2-quoi input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--contour);border-radius:var(--r-champ);background:var(--carte-n);color:var(--texte);font-size:15px;outline:none}
.ju2 .ju2-champ input:focus,.ju2 .ju2-champ select:focus,.ju2 textarea:focus,.ju2 .ju2-quoi input:focus{border-color:var(--texte)}
.ju2 textarea{resize:vertical;line-height:1.55}
.ju2 input[type=datetime-local]{color-scheme:dark}
.ju2[data-ju-mode="clair"] input[type=datetime-local]{color-scheme:light}
.ju2 .ju2-bascule{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--filet);cursor:pointer}
.ju2 .ju2-bascule input{width:20px;height:20px;margin-top:3px;accent-color:var(--texte);flex:none}
.ju2 .ju2-bascule b{display:block;font-weight:600}

/* Page */
.ju2 .ju2-page{max-width:1280px;margin:0 auto;padding:32px 40px 96px;animation:ju2-arrive .18s var(--courbe)}
@keyframes ju2-arrive{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ju2 .ju2-page{animation:none}.ju2 *{transition:none!important}}
.ju2 .ju2-surtitre{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sec);margin-bottom:10px;overflow-wrap:anywhere}
.ju2 .ju2-tete{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}
.ju2 .ju2-texte{min-width:0}
.ju2 .ju2-tete-act{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:none}
.ju2 h1{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.015em;overflow-wrap:anywhere}
.ju2 .ju2-sous{font-size:17px;color:var(--sec);margin-top:10px;max-width:760px}
.ju2 .ju2-note{font-size:13px;line-height:1.5;color:var(--sec)}
.ju2 .ju2-pied{margin-top:28px}
.ju2 .ju2-attention{color:var(--texte)}
.ju2 h2{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sec)}
.ju2 h2 b{color:var(--texte);margin-left:6px}
.ju2 h3{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;line-height:1.35;margin-bottom:12px}
.ju2 h3 svg{width:18px;height:18px}
.ju2 .ju2-gros{font-size:30px;line-height:1.1;font-weight:500;letter-spacing:-.015em;white-space:nowrap}
.ju2 .ju2-sous-onglets{display:flex;gap:26px;border-bottom:1px solid var(--filet);margin:-6px 0 26px;overflow-x:auto;scrollbar-width:none}
.ju2 .ju2-sous-onglets a{display:inline-flex;align-items:center;gap:8px;min-height:46px;color:var(--sec);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.ju2 .ju2-sous-onglets a b{font-weight:600;font-size:13px}
.ju2 .ju2-sous-onglets a.ju2-actif{color:var(--texte);border-bottom-color:var(--texte)}
.ju2 .ju2-carte{background:var(--carte);border:1px solid var(--carte);border-radius:var(--r-carte);padding:24px;min-width:0;display:flex;flex-direction:column;gap:10px}
.ju2 .ju2-avant{background:var(--avant);color:var(--avant-texte);border-color:var(--avant);--texte:var(--avant-texte);--sec:var(--avant-sec);--filet:var(--avant-filet);--contour:var(--avant-contour);--plein-fond:var(--avant-texte);--plein-texte:var(--avant);--carte-n:transparent;--actif:transparent}
.ju2 .ju2-avant select option{background:var(--avant);color:var(--avant-texte)}
.ju2 .ju2-deux{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;margin-bottom:28px}
.ju2 .ju2-colonne{display:flex;flex-direction:column;gap:16px;min-width:0}
.ju2 .ju2-grille2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:28px}
.ju2 .ju2-grille3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:12px}
.ju2 .ju2-carte > .ju2-btn,.ju2 .ju2-carte > .ju2-lien,.ju2 .ju2-carte > a.ju2-btn{align-self:flex-start}
.ju2 .ju2-kv{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-bottom:1px solid var(--filet);font-size:15px}
.ju2 .ju2-kv:last-child{border-bottom:0}
.ju2 .ju2-kv > span:first-child{color:var(--sec)}
.ju2 .ju2-kv > *:last-child{text-align:right}
.ju2 .ju2-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ju2 .ju2-pas{display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:0 7px;border:1px solid var(--contour);border-radius:var(--r-pastille);font-size:12px;font-weight:500;white-space:nowrap;color:var(--texte)}
.ju2 .ju2-pas.ju2-fort{border-color:var(--texte);font-weight:600}
.ju2 .ju2-etat{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 9px 0 7px;border:1px solid var(--contour);border-radius:var(--r-pastille);font-size:13px;font-weight:500;white-space:nowrap}
.ju2 .ju2-etat svg{width:14px;height:14px}
.ju2 .ju2-etat.ju2-fort{border-color:var(--texte);font-weight:600}
.ju2 .ju2-etat.ju2-calme{color:var(--sec)}
.ju2 .ju2-av{width:36px;height:36px;border-radius:50%;border:1px solid var(--contour);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex:none}
.ju2 .ju2-av svg{width:16px;height:16px}
.ju2 .ju2-texte{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
.ju2 .ju2-extrait{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;color:var(--sec)}
.ju2 .ju2-vide{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:40px 24px;border:1px dashed var(--contour);border-radius:var(--r-carte);margin:16px 0}
.ju2 .ju2-vide b{font-size:20px;font-weight:600}
.ju2 .ju2-squelette{display:flex;flex-direction:column;gap:12px;margin:12px 0}
.ju2 .ju2-squelette i{display:block;height:64px;border-radius:var(--r-carte);background:var(--carte);animation:ju2-pulse 1.2s ease-in-out infinite alternate}
@keyframes ju2-pulse{from{opacity:.55}to{opacity:1}}
.ju2 .ju2-erreur{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--alerte);border-radius:var(--r-carte);margin:0 0 20px}
.ju2 .ju2-erreur > div{flex:1;min-width:0}
.ju2 .ju2-erreur b{display:block}
.ju2 .ju2-bandeau{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--contour);border-radius:var(--r-carte);margin:0 0 20px;font-size:14px}
.ju2 .ju2-bandeau > span{flex:1;min-width:0}
.ju2 .ju2-annonce{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:6px 10px 6px 14px;border:1px dashed var(--sec);border-radius:var(--r-champ);margin:8px 0 16px;font-size:14px;animation:ju2-arrive .2s var(--courbe)}
.ju2 .ju2-annonce > span{display:flex;align-items:center;gap:10px;min-width:0}
.ju2 .ju2-annonce svg{width:16px;height:16px}
.ju2 .ju2-annonce-erreur{border-color:var(--alerte)}
.ju2 .ju2-confirmer{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--alerte);border-radius:var(--r-carte);margin:0 0 18px}

/* Barre d'actions */
.ju2 .ju2-barre{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.ju2 .ju2-barre-espace{flex:1}
.ju2 .ju2-filtre-t{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;border:1px solid var(--contour);border-radius:var(--r-champ);color:var(--sec);min-width:240px}
.ju2 .ju2-filtre-t input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:14px;color:var(--texte)}
.ju2 .ju2-filtre-t svg{width:16px;height:16px}
.ju2 .ju2-selection{display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 12px;border:1px solid var(--texte);border-radius:var(--r-bouton);font-size:14px}


/* Graphiques */
.ju2 .ju2-graph{display:flex;flex-direction:column;gap:12px;margin:0}
.ju2 svg.ju2-g{display:block;width:100%;max-width:820px;height:auto;overflow:visible}
.ju2 .ju2-g text{font-family:var(--police);font-size:11px;fill:var(--sec)}
.ju2 .ju2-g text.ju2-f{fill:var(--texte);font-weight:600}
.ju2 .ju2-g a{cursor:pointer}
.ju2 .ju2-g a:hover rect,.ju2 .ju2-g a:hover polyline{opacity:.8}
.ju2 svg.ju2-spark{width:140px;height:auto;max-width:100%}

/* Listes et lignes : une grille par sorte de ligne, une seule pile sur téléphone */
.ju2 .ju2-section{margin:0 0 28px}
.ju2 .ju2-section h2{display:flex;justify-content:space-between;padding:0 4px 10px;border-bottom:1px solid var(--filet)}
.ju2 .ju2-liste{display:flex;flex-direction:column;margin:0 0 24px}
.ju2 .ju2-ligne{position:relative;display:grid;grid-template-columns:28px minmax(0,1.5fr) minmax(0,1fr) minmax(0,.9fr) auto;align-items:center;gap:12px 16px;min-height:72px;padding:12px 8px;border-bottom:1px solid var(--filet);transition:background-color 160ms var(--courbe)}
.ju2 .ju2-ligne:hover{background:var(--carte-n)}
.ju2 .ju2-ligne.ju2-forte{border:1px solid var(--texte);border-radius:var(--r-carte);margin:6px 0}
.ju2 .ju2-ligne.ju2-eteinte{opacity:.6}
.ju2 .ju2-ligne.ju2-ouverte{background:var(--carte-n)}
.ju2 .ju2-ligne-g,.ju2 .ju2-ligne-e,.ju2 .ju2-ligne-r,.ju2 .ju2-ligne-s,.ju2 .ju2-ligne-w,.ju2 .ju2-ligne-j,.ju2 .ju2-ligne-v,.ju2 .ju2-ligne-m,.ju2 .ju2-ligne-p{grid-template-columns:28px minmax(0,1.6fr) minmax(0,.9fr) auto}
.ju2 .ju2-ligne-k{grid-template-columns:28px minmax(0,1.6fr) 140px auto auto}
.ju2 .ju2-ligne-m{grid-template-columns:36px minmax(0,1fr) auto auto}
.ju2 .ju2-ligne-j{grid-template-columns:96px minmax(0,1fr) auto auto}
.ju2 .ju2-ligne-r{grid-template-columns:28px minmax(0,1.4fr) auto auto}
.ju2 .ju2-ligne-c{grid-template-columns:28px minmax(0,1.5fr) minmax(0,1fr) minmax(0,.9fr) auto}
.ju2 .ju2-ligne-e{grid-template-columns:28px minmax(0,1.7fr) auto auto}
.ju2 .ju2-editeur{grid-column:1/-1;display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--filet);border-radius:var(--r-carte);background:var(--page)}
.ju2 .ju2-editeur > .ju2-texte{max-height:420px;overflow:auto}
.ju2 .ju2-coche{display:inline-flex;align-items:center;justify-content:center;width:28px;height:44px;cursor:pointer}
.ju2 .ju2-coche input{width:16px;height:16px;accent-color:var(--texte)}
.ju2 .ju2-quoi{display:flex;flex-direction:column;gap:4px;min-width:0}
.ju2 .ju2-quoi > b,.ju2 .ju2-nom{font-weight:600;overflow-wrap:anywhere}
.ju2 .ju2-nom{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.ju2 .ju2-quoi > span{font-size:14px;color:var(--sec);overflow-wrap:anywhere}
.ju2 .ju2-quoi > p{font-size:15px}
.ju2 .ju2-dates{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--sec)}
.ju2 .ju2-dates b{color:var(--texte);font-weight:600}
.ju2 .ju2-marques{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.ju2 .ju2-gestes{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.ju2 .ju2-gestes .ju2-icone{width:40px;height:40px}
.ju2 .ju2-heure{font-size:14px;font-weight:600;white-space:nowrap}

/* À faire */
.ju2 .ju2-points{display:flex;flex-direction:column;gap:12px;counter-reset:p;margin-bottom:24px}
.ju2 .ju2-point{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;border:1px solid var(--filet);border-radius:var(--r-carte);background:var(--carte)}
.ju2 .ju2-point.ju2-fort{background:var(--avant);color:var(--avant-texte);border-color:var(--avant);--texte:var(--avant-texte);--sec:var(--avant-sec);--filet:var(--avant-filet);--contour:var(--avant-sec);--plein-fond:var(--avant-texte);--plein-texte:var(--avant);--carte-n:var(--avant-filet)}
.ju2 .ju2-point p{font-size:15px;margin-top:4px}
.ju2 .ju2-pic{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--contour);border-radius:50%}
.ju2 .ju2-etroit{max-width:880px}

/* Conseils sourcés, constats, limite */
.ju2 .ju2-conseil{display:flex;flex-direction:column;gap:10px;padding:22px 24px;border:1px solid var(--filet);border-radius:var(--r-carte);margin:0 0 16px;max-width:880px}
.ju2 .ju2-conseil h3{margin:0}
.ju2 .ju2-conseil p{max-width:76ch}
.ju2 .ju2-source{font-size:13px;color:var(--sec);line-height:1.5}
.ju2 .ju2-source a{text-decoration:underline;text-underline-offset:4px}
.ju2 .ju2-verif{font-size:13px;font-weight:600}
.ju2 .ju2-verif-verifie{color:var(--texte)}
.ju2 .ju2-verif-recoupe,.ju2 .ju2-verif-a_verifier{color:var(--texte);font-style:italic}
.ju2 .ju2-limite{display:flex;gap:10px;align-items:flex-start;margin:28px 0 0;padding:14px 0 0;border-top:1px solid var(--filet);font-size:13px;color:var(--sec);line-height:1.5;max-width:880px}
.ju2 .ju2-limite svg{width:16px;height:16px;margin-top:2px}
.ju2 .ju2-constat{display:flex;flex-direction:column;gap:12px;padding:22px 24px;border:1px solid var(--filet);border-radius:var(--r-carte);background:var(--carte);margin-bottom:16px}
.ju2 .ju2-constat h3{margin:0}
.ju2 .ju2-appuis{display:flex;flex-wrap:wrap;gap:6px}
.ju2 .ju2-question{font-size:16px}

/* Formulaires */
.ju2 .ju2-formulaire{display:flex;flex-direction:column;gap:14px;padding:22px 24px;border:1px solid var(--filet);border-radius:var(--r-carte);background:var(--carte);margin:0 0 20px}
.ju2 .ju2-champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ju2 .ju2-champs .ju2-large,.ju2 .ju2-large{grid-column:1/-1}
.ju2 .ju2-origine{font-size:12px;color:var(--sec)}
.ju2 .ju2-lue{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--texte)}
.ju2 .ju2-lue svg{width:14px;height:14px}
.ju2 .ju2-auto{position:relative}
.ju2 .ju2-propositions{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:6;display:flex;flex-direction:column;padding:6px;background:var(--page);border:1px solid var(--contour);border-radius:var(--r-carte);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.ju2 .ju2-propositions button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:48px;padding:8px 12px;border-radius:var(--r-champ);text-align:left}
.ju2 .ju2-propositions button:hover,.ju2 .ju2-propositions button:focus-visible{background:var(--actif)}
.ju2 .ju2-propositions span{font-size:13px;color:var(--sec)}
.ju2 .ju2-erreurs{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--alerte);border-radius:var(--r-champ);font-size:14px}
.ju2 .ju2-erreurs svg{width:16px;height:16px;margin-top:3px;flex:none}
.ju2 .ju2-manque{color:var(--texte);font-weight:500}
.ju2 .ju2-resultat{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px dashed var(--contour);border-radius:var(--r-champ);margin:8px 0}
.ju2 .ju2-apercu{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px dashed var(--contour);border-radius:var(--r-carte)}
.ju2 pre.ju2-texte{white-space:pre-wrap;overflow-wrap:anywhere;font:400 14px/1.6 var(--police);margin:0;max-height:520px;overflow:auto}
.ju2 .ju2-diff{border:1px solid var(--filet);padding:10px;border-radius:var(--r-champ)}
.ju2 .ju2-atelier{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;margin:8px 0 28px}
.ju2 .ju2-modele{gap:12px}
.ju2 .ju2-modele.ju2-selectionnee{border-color:var(--texte)}
.ju2 .ju2-bandeau-alerte{border-color:var(--alerte)}
.ju2 .ju2-controles{display:flex;flex-direction:column;gap:8px}
.ju2 .ju2-controles li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.ju2 .ju2-puce{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--contour);flex:none;margin-top:1px}
.ju2 .ju2-puce svg{width:13px;height:13px}
.ju2 .ju2-puce-ok{background:var(--plein-fond);color:var(--plein-texte);border-color:var(--plein-fond)}
.ju2 .ju2-puce-ko{border-color:var(--alerte);color:var(--alerte)}
.ju2 .ju2-bascule span{font-weight:400}
.ju2 .ju2-simple{display:flex;flex-direction:column;gap:6px;list-style:none;padding:0}
.ju2 .ju2-simple li{font-size:15px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.ju2 .ju2-etapes{display:flex;flex-direction:column;gap:10px;margin:0 0 24px;counter-reset:e}
.ju2 .ju2-etape{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--filet);border-radius:var(--r-carte)}
.ju2 .ju2-etape.ju2-fait{opacity:.7}
.ju2 .ju2-num{width:32px;height:32px;border:1px solid var(--contour);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600}
.ju2 .ju2-barre-types{gap:4px;margin:-6px 0 16px}
.ju2 .ju2-figee{font-size:13px}

/* Risques : la matrice et les niveaux (palette de données, contraste mesuré) */
.ju2 .ju2-niveau{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:var(--r-pastille);border:1px solid var(--contour);font-size:13px;font-weight:600;white-space:nowrap}
.ju2 .ju2-niveau-faible{border-color:var(--d2)}
.ju2 .ju2-niveau-moyen{border-color:var(--d3)}
.ju2 .ju2-niveau-eleve{border-color:var(--d4);background:color-mix(in srgb,var(--d4) 18%,transparent)}
.ju2 .ju2-matrice{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-areas:"axe grille" ". etiq";gap:8px 12px}
.ju2 .ju2-axe{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sec);text-align:center}
.ju2 .ju2-axe-g{display:none}
.ju2 .ju2-grille-m{display:grid;grid-template-columns:96px repeat(4,minmax(0,1fr));gap:6px}
.ju2 .ju2-etiq-p{display:flex;align-items:center;font-size:12px;color:var(--sec)}
.ju2 .ju2-etiq-g{display:grid;grid-template-columns:96px repeat(4,minmax(0,1fr));gap:6px;font-size:12px;color:var(--sec);text-align:center;grid-column:2}
.ju2 .ju2-matrice .ju2-etiq-g{grid-area:etiq}
.ju2 .ju2-case{position:relative;min-height:92px;padding:30px 8px 8px;border-radius:var(--r-champ);border:1px solid var(--filet);display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.ju2 .ju2-case.ju2-niveau-faible{background:color-mix(in srgb,var(--d2) 14%,var(--carte))}
.ju2 .ju2-case.ju2-niveau-moyen{background:color-mix(in srgb,var(--d3) 16%,var(--carte))}
.ju2 .ju2-case.ju2-niveau-eleve{background:color-mix(in srgb,var(--d4) 22%,var(--carte))}
.ju2 .ju2-case-ajout{position:absolute;inset:0;border-radius:var(--r-champ);display:flex;align-items:flex-start;justify-content:flex-end;padding:6px 8px;color:var(--sec)}
.ju2 .ju2-case-ajout:hover{background:color-mix(in srgb,var(--texte) 6%,transparent)}
.ju2 .ju2-case-ajout small{font-size:12px}
.ju2 .ju2-pastille-risque{position:relative;z-index:1;font-size:12px;line-height:1.3;padding:3px 7px;border-radius:var(--r-pastille);background:var(--page);border:1px solid var(--contour);text-decoration:none}
.ju2 .ju2-case small{position:relative;z-index:1;font-size:12px;color:var(--sec)}

/* Impression : seul le document s'imprime */
.ju2 .ju2-impression{display:none}
@media print{
  .ju2 > *:not(.ju2-impression){display:none!important}
  .ju2 .ju2-impression{display:block;position:static;color:#000;background:#fff;padding:0}
  .ju2 .ju2-impression pre{white-space:pre-wrap;font:12pt/1.5 'Fransou Texte',system-ui,sans-serif}
}

/* Tablette et téléphone */
@media (max-width:1100px){
  .ju2 .ju2-ligne,.ju2 .ju2-ligne-c{grid-template-columns:28px minmax(0,1.4fr) minmax(0,1fr) auto}
  .ju2 .ju2-ligne .ju2-dates{display:none}
  .ju2 .ju2-cherche-h{width:200px}
  .ju2 .ju2-deux,.ju2 .ju2-atelier{grid-template-columns:minmax(0,1fr) 300px}
}
@media (max-width:760px){
  .ju2{font-size:15px}
  .ju2 .ju2-entete{height:64px;padding:0 16px}
  .ju2 .ju2-ariane{display:none}
  .ju2 .ju2-espaces{display:none}
  .ju2 .ju2-barre-tel{display:flex;position:sticky;bottom:0;z-index:4;justify-content:space-around;background:var(--coque);border-top:1px solid var(--filet);padding:4px 2px calc(4px + env(safe-area-inset-bottom))}
  .ju2 .ju2-barre-tel a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:44px;min-height:52px;font-size:11px;color:var(--sec)}
  .ju2 .ju2-barre-tel a.ju2-actif{color:var(--texte)}
  .ju2 .ju2-barre-tel svg{width:20px;height:20px}
  .ju2 .ju2-page{padding:20px 16px 40px}
  .ju2 .ju2-casquette{width:300px;left:30%;top:-90px}
  .ju2 .ju2-tete{flex-direction:column;align-items:stretch;gap:16px}
  .ju2 .ju2-tete-act{align-items:stretch}
  .ju2 .ju2-tete-act .ju2-btn{width:100%}
  .ju2 h1{font-size:26px}
  .ju2 .ju2-sous{font-size:15px}
  .ju2 .ju2-deux,.ju2 .ju2-grille2,.ju2 .ju2-grille3,.ju2 .ju2-champs,.ju2 .ju2-atelier{grid-template-columns:minmax(0,1fr)}
  .ju2 .ju2-ligne,.ju2 .ju2-ligne-c,.ju2 .ju2-ligne-g,.ju2 .ju2-ligne-e,.ju2 .ju2-ligne-r,.ju2 .ju2-ligne-s,.ju2 .ju2-ligne-w,.ju2 .ju2-ligne-j,.ju2 .ju2-ligne-v,.ju2 .ju2-ligne-m,.ju2 .ju2-ligne-p,.ju2 .ju2-ligne-k{grid-template-columns:minmax(0,1fr);gap:8px;padding:14px 4px}
  .ju2 .ju2-ligne .ju2-coche{display:none}
  .ju2 .ju2-ligne .ju2-dates{display:flex}
  .ju2 .ju2-marques,.ju2 .ju2-gestes{justify-content:flex-start}
  .ju2 .ju2-point{grid-template-columns:44px minmax(0,1fr)}
  .ju2 .ju2-point > .ju2-btn{grid-column:1/-1}
  .ju2 .ju2-etape{grid-template-columns:34px minmax(0,1fr)}
  .ju2 .ju2-grille-m,.ju2 .ju2-etiq-g{grid-template-columns:56px repeat(4,minmax(0,1fr));gap:4px}
  .ju2 .ju2-case{min-height:64px;padding:24px 4px 4px}
  .ju2 .ju2-pastille-risque{font-size:11px;padding:2px 4px}
  .ju2 .ju2-etiq-p,.ju2 .ju2-etiq-g{font-size:11px}
  .ju2 .ju2-filtre-t{min-width:0;flex:1 1 100%}
  .ju2 .ju2-barre-espace{display:none}
  .ju2 .ju2-choix select{max-width:170px}
  .ju2 .ju2-sous-onglets{gap:18px}
  .ju2 .ju2-conseil,.ju2 .ju2-constat,.ju2 .ju2-formulaire{padding:16px}
}
/* Téléphone étroit : le nom, le mode, l'autre application et le chat tiennent sur une ligne sans se toucher. */
@media (max-width:480px){
  .ju2 .ju2-entete{gap:8px}
  .ju2 .ju2-gauche{min-width:0;flex:0 1 auto}
  .ju2 .ju2-sig img{height:16px}
  .ju2 .ju2-droite{gap:6px;flex:none}
  .ju2 .ju2-droite .ju2-btn.ju2-petit{padding:6px 10px;font-size:14px;min-height:44px}
  .ju2 .ju2-droite .ju2-icone{width:44px;height:44px}
}
@media (max-width:760px){.ju2 .ju2-btn{white-space:normal;max-width:100%;text-align:center}}
/* Les contrôles natifs (cases, listes, dates) suivent le mode de l'écran. */
.ju2{color-scheme:dark}
.ju2[data-ju-mode="clair"]{color-scheme:light}
