/* Fransou · Agenda v2 · la feuille (18/10/2026). Thème Encre (maquette v2 validée), mode clair au choix.
   Tout est sous .ag2 : aucune règle ne touche le reste de l'appli. Rien sous 12 px. Un seul bouton plein par écran.
   Quatre teintes de données, pour les graphiques seulement (Glacier, Sauge, Sable, Poudre), contraste mesuré sur Encre et sur Blanc. */
@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}

.ag2{
  /* Les jetons v4 (commun-v4/v4.css, maquettes validées le 18/10) : coque, page, carte, actif, filets, carte claire, voix bleu nuit, quatre teintes de données. */
  --fond:#0C181C; --page:#162125; --carte:#1D282C; --survol:#273135; --filet-doux:#2E383C; --filet:#536066;
  --texte:#FFFFFF; --sec:#B9BFC1; --plein-fond:#FFFFFF; --plein-texte:#0C181C; --faire-fond:#D7DDDE; --faire-texte:#0C181C;
  --avant-fond:#F3F4F3; --avant-carte:#E9ECEC; --avant-texte:#0C181C; --avant-sec:#536066; --nuit:#0B121B; --nuit-sec:#A9B6C8; --soie-op:.045;
  --d-glacier:#7FB3C8; --d-sauge:#9CC59A; --d-sable:#D8B47A; --d-poudre:#C99AB8; --d-gris:#7D8B90; --sur-teinte:#0C181C;
  --police:'Fransou Texte',system-ui,sans-serif; --r-pastille:4px; --r-champ:6px; --r-bouton:8px; --r-carte:12px;
  --ease:cubic-bezier(.23,1,.32,1);
  position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;z-index:1;isolation:isolate;background:var(--page);color:var(--texte);font:400 15px/1.55 var(--police);font-synthesis:none;font-variant-numeric:tabular-nums
}
.ag2[data-ag2-mode="clair"]{
  --fond:#F3F4F3; --page:#FFFFFF; --carte:#F6F7F6; --survol:#E5E8E8; --filet-doux:#D7DDDE; --filet:#C9D0D2;
  --texte:#0C181C; --sec:#536066; --plein-fond:#0C181C; --plein-texte:#FFFFFF; --faire-fond:#0C181C; --faire-texte:#FFFFFF;
  --avant-fond:#0C181C; --avant-carte:#162125; --avant-texte:#FFFFFF; --avant-sec:#B9BFC1; --nuit:#EBF0F6; --nuit-sec:#4A5868; --soie-op:.04;
  --d-glacier:#3F6E8C; --d-sauge:#4E7A5A; --d-sable:#8A6420; --d-poudre:#875070; --d-gris:#6B787D; --sur-teinte:#FFFFFF
}
:where(.ag2) *{box-sizing:border-box}
:where(.ag2) a{color:inherit;text-decoration:none}
:where(.ag2) button{font:inherit;color:inherit;background:transparent;border:0;padding:0;cursor:pointer}
:where(.ag2) :where(h1,h2,h3,p,ul,ol,blockquote){margin:0}
:where(.ag2) :where(ul,ol){padding:0;list-style:none}
.ag2 [hidden],.ag2 .ag2-cache{position:absolute!important;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
.ag2 :focus-visible{outline:2px solid currentColor;outline-offset:3px}
.ag2 .ag2-ic{flex:none}
.ag2-chargement{padding:48px;color:#B9BFC1}
@media (prefers-reduced-motion:reduce){.ag2 *{transition-duration:.01ms!important;animation-duration:.01ms!important}.ag2-soie{transform:none!important}}

/* En-tête : le nom seul, le fil d'Ariane, le bouton du mode, « Parler à Fransou » ; le signe SOIE en motif, même place sur chaque page. */
.ag2-entete{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:0 40px;background:var(--fond)}
.ag2-soie{position:absolute;left:38%;top:-150px;width:540px;aspect-ratio:632/288;pointer-events:none;background:var(--texte);opacity:var(--soie-op);-webkit-mask:url('/agenda-v2/soie.svg') center/contain no-repeat;mask:url('/agenda-v2/soie.svg') center/contain no-repeat;will-change:transform}
.ag2-gauche{position:relative;display:flex;align-items:center;gap:32px;min-width:0}
.ag2-sig{display:inline-flex;align-items:center;min-height:44px}
.ag2-sig img{height:20px;width:auto}
.ag2[data-ag2-mode="clair"] .ag2-sig img{filter:brightness(0)}
.ag2-ariane{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--sec);white-space:nowrap;min-width:0;overflow:hidden}
.ag2-ariane a:hover{color:var(--texte)}
.ag2-ariane b{font-weight:500;color:var(--texte);overflow:hidden;text-overflow:ellipsis}
.ag2-ariane i{font-style:normal}
.ag2-droite{position:relative;display:flex;align-items:center;gap:12px;flex:none}
.ag2-mode{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--filet);border-radius:var(--r-bouton);color:var(--texte);transition:transform .14s var(--ease),border-color .14s}
.ag2-mode:hover{border-color:var(--texte)}
.ag2-mode:active{transform:scale(.97)}
.ag2-heure{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--sec);white-space:nowrap;flex:none}
.ag2-icone,.ag2-icone-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-bouton);color:var(--sec);transition:background .14s var(--ease),color .14s}
.ag2-icone-btn{border:1px solid var(--filet);color:var(--texte)}
.ag2-icone:hover,.ag2-icone-btn:hover{background:var(--survol);color:var(--texte)}
/* La barre des espaces, du ton du cadre ; l'espace ouvert est souligné. */
.ag2-espaces{background:var(--fond)}
.ag2-dedans{display:flex;align-items:center;gap:24px;min-height:56px;padding:0 40px}
.ag2-titre-app{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sec);white-space:nowrap;padding-right:20px;border-right:1px solid var(--filet-doux)}
.ag2-liste-esp{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.ag2-liste-esp a{display:inline-flex;align-items:center;gap:9px;min-height:54px;padding:0 14px;color:var(--sec);font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;transition:color .14s}
.ag2-liste-esp a:hover{color:var(--texte)}
.ag2-liste-esp a.actif{color:var(--texte);border-bottom-color:var(--texte)}
.ag2 .n{min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--filet);border-radius:11px;font-size:12px;font-weight:600;color:var(--texte);padding:0 6px}
.ag2-liste-esp a.actif .n{background:var(--plein-fond);color:var(--plein-texte);border-color:var(--plein-fond)}
.ag2-bas{display:none}

/* Page */
.ag2-principal{padding:28px 40px 72px;background:var(--page);min-width:0}
.ag2-page{max-width:1360px;margin:0}
.ag2-page[data-ag2-etat="charge"] .ag2-tete h1{opacity:.55}
.ag2-sous{display:flex;gap:28px;border-bottom:1px solid var(--filet);margin-bottom:24px;overflow-x:auto;scrollbar-width:none}
.ag2-sous a{display:inline-flex;align-items:center;min-height:44px;color:var(--sec);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.ag2-sous a.actif{color:var(--texte);border-bottom-color:var(--texte)}
.ag2-sous-rdv{margin-top:-8px}
.ag2-retour{display:inline-flex;align-items:center;gap:6px;min-height:36px;font-size:14px;font-weight:500;color:var(--sec);margin:-8px 0 6px}
.ag2-surtitre{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sec);margin-bottom:8px}
.ag2-tete{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:20px}
.ag2-texte{min-width:0}
.ag2-tete h1{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-.015em;text-wrap:balance}
.ag2-sous-titre{font-size:17px;color:var(--sec);margin-top:8px;max-width:780px}
.ag2-tete-act{display:flex;align-items:center;gap:12px;flex:none}
.ag2 h2{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sec);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.ag2-h2-ligne{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap}
.ag2-h2-ligne h2{margin:0}
.ag2-h2-espace{margin-top:22px!important}
.ag2-phrase{font-size:16px;font-weight:500;line-height:1.4;margin:-4px 0 14px;max-width:680px}
.ag2-note{font-size:13px;line-height:1.5;color:var(--sec)}
.ag2-bloc{margin-top:32px}
.ag2-carte{border:1px solid var(--carte);border-radius:var(--r-carte);padding:22px;min-width:0;background:var(--carte)}
.ag2-carte.forte{background:var(--avant-fond);border-color:var(--avant-fond);color:var(--avant-texte);--sec:var(--avant-sec);--texte:var(--avant-texte);--filet:#C9D0D2;--plein-fond:var(--avant-texte);--plein-texte:var(--avant-fond);--survol:var(--avant-carte)}
.ag2-g21{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;margin-top:20px}
.ag2-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.ag2-esp{flex:1}

/* Boutons, liens, champs */
.ag2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:var(--r-bouton);border:1px solid var(--filet);color:var(--texte);font:500 15px/1.2 var(--police);white-space:nowrap;transition:background .14s var(--ease),transform .14s var(--ease),border-color .14s}
.ag2-btn:hover{background:var(--survol);border-color:var(--sec)}
.ag2-btn:active{transform:scale(.97)}
.ag2-btn.plein{background:var(--plein-fond);border-color:var(--plein-fond);color:var(--plein-texte);font-weight:600;min-height:48px;padding:12px 22px}
.ag2-btn.plein:hover{opacity:.9}
.ag2-btn.petit{min-height:36px;font-size:14px;padding:6px 12px}
.ag2-lien{display:inline-flex;align-items:center;gap:6px;min-height:32px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;font-weight:500;cursor:pointer}
.ag2-gestes{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ag2-carte .ag2-gestes{margin-top:14px}
.ag2-champ{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--filet);border-radius:var(--r-champ);background:transparent;color:var(--texte);font:400 15px/1.4 var(--police)}
.ag2-champ:focus{border-color:var(--texte);outline:none}
.ag2-champ.petit{width:auto;max-width:100%;min-height:36px;padding:6px 10px;font-size:14px}
.ag2 select.ag2-champ option{background:var(--fond);color:var(--texte)}
.ag2 textarea.ag2-champ{resize:vertical;min-height:120px}
.ag2-champ-l{display:flex;flex-direction:column;gap:6px;min-width:0}
.ag2-champ-l > span{font-size:13px;color:var(--sec)}
.ag2-form{display:flex;flex-direction:column;gap:16px}
.ag2-rang3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ag2-rapide{display:flex;gap:10px;margin-top:20px}
.ag2-rapide input{flex:1;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--filet);border-radius:var(--r-champ);background:transparent;color:var(--texte);font:inherit}
.ag2-modifiable{display:inline-flex;align-items:center;gap:6px;border-bottom:1px dashed var(--sec);line-height:1.35;cursor:text;max-width:100%}
.ag2-modifiable .ag2-ic{color:var(--sec)}
.ag2-grand{font-size:22px;font-weight:500;margin-bottom:8px}
.ag2-edition{max-width:420px}
.ag2-kv{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--filet);font-size:15px;min-height:46px}
.ag2-kv:last-of-type{border-bottom:0}
.ag2-kv > span:first-child{color:var(--sec);white-space:nowrap}
.ag2-kv > span:last-child{text-align:right;min-width:0}
.ag2-ligne-choix{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.ag2-choix{display:flex;flex-direction:column;gap:6px;min-width:200px}
.ag2-choix > span{font-size:13px;color:var(--sec)}
.ag2-etat{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 9px;border:1px solid var(--filet);border-radius:var(--r-pastille);font-size:13px;font-weight:500;white-space:nowrap}
.ag2-etat.fort{border-color:var(--texte);font-weight:600}
.ag2-etat.calme{color:var(--sec)}
.ag2-interrupteur{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--sec);white-space:nowrap}
.ag2-regle{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--filet)}
.ag2-regle > span{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.ag2-regle small{font-size:13px;color:var(--sec)}
.ag2-regle input[type=checkbox]{margin-top:4px;width:18px;height:18px;accent-color:var(--texte);flex:none}
.ag2-regle .ag2-ligne-choix{flex:none}

/* Voix de Fransou, toasts, échecs */
.ag2-voix{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;padding:16px 18px;margin:12px 0;background:var(--nuit);border-radius:var(--r-carte);--sec:var(--nuit-sec)}
.ag2-voix p b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sec);font-weight:600;margin-bottom:2px}
.ag2-voix-signe{display:inline-block;width:26px;height:12px;margin-top:6px;flex:none;background:var(--texte);-webkit-mask:url('/agenda-v2/soie.svg') center/contain no-repeat;mask:url('/agenda-v2/soie.svg') center/contain no-repeat}
.ag2-voix-signe.petit{width:20px;height:10px}
.ag2-dire{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;max-width:min(640px,calc(100vw - 32px))}
.ag2-toast{display:flex;align-items:center;gap:16px;padding:12px 16px;border:1px solid var(--texte);border-radius:var(--r-champ);background:var(--fond);font-size:14px;box-shadow:0 12px 40px rgba(0,0,0,.35);animation:ag2-monte .22s var(--ease)}
@keyframes ag2-monte{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ag2-echec{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px dashed var(--sec);border-radius:var(--r-champ);margin:12px 0}
.ag2-squelette{padding:14px 0;color:var(--sec);font-size:14px}
.ag2-citation{margin:12px 0 0;padding:10px 14px;border-left:2px solid var(--filet);color:var(--sec);font-size:14px;white-space:pre-wrap}

/* Barre d'actions */
.ag2-outils{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 20px;padding:10px 0;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.ag2-cherche{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--filet);border-radius:var(--r-champ);color:var(--sec);min-width:240px}
.ag2-cherche input{border:0;background:transparent;color:var(--texte);font:inherit;min-width:0;flex:1;outline:none;min-height:38px}
.ag2-outils .ag2-btn{min-height:40px;padding:6px 12px;font-size:14px}
.ag2-sel{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.ag2-sel > span{display:inline-flex;gap:8px}

/* Filtres, puces, segments */
.ag2-filtres{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.ag2-puces{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ag2-puce{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid var(--filet);border-radius:var(--r-bouton);font-size:14px;white-space:nowrap;transition:border-color .14s}
.ag2-puce b{font-weight:600}
.ag2-puce.actif{background:var(--faire-fond);border-color:var(--faire-fond);color:var(--faire-texte)}
.ag2-puce.actif .ag2-puce-teinte{outline:1px solid var(--faire-texte)}
.ag2-puce-teinte{width:10px;height:10px;border-radius:2px;display:inline-block}
.ag2-puce-teinte.t-pointille{border:1.5px dashed var(--sec)}
.ag2-segment{display:inline-flex;border:1px solid var(--filet);border-radius:var(--r-bouton);padding:3px;gap:2px;flex-wrap:wrap}
.ag2-segment a,.ag2-segment label{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:6px;color:var(--sec);font-weight:500;cursor:pointer;white-space:nowrap}
.ag2-segment .actif{background:var(--faire-fond);color:var(--faire-texte)}

/* Teintes de données */
.ag2 .t-glacier{background:var(--d-glacier);fill:var(--d-glacier);stroke:var(--d-glacier)}
.ag2 .t-sauge{background:var(--d-sauge);fill:var(--d-sauge);stroke:var(--d-sauge)}
.ag2 .t-sable{background:var(--d-sable);fill:var(--d-sable);stroke:var(--d-sable)}
.ag2 .t-poudre{background:var(--d-poudre);fill:var(--d-poudre);stroke:var(--d-poudre)}
.ag2 .t-gris{background:var(--d-gris);fill:var(--d-gris);stroke:var(--d-gris)}
.ag2 .t-bord-glacier{border-left:3px solid var(--d-glacier)}.ag2 .t-bord-sauge{border-left:3px solid var(--d-sauge)}.ag2 .t-bord-sable{border-left:3px solid var(--d-sable)}.ag2 .t-bord-poudre{border-left:3px solid var(--d-poudre)}.ag2 .t-bord-gris{border-left:3px solid var(--d-gris)}
.ag2-legende{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--sec);margin:4px 0 10px}
.ag2-legende span{display:inline-flex;align-items:center;gap:6px}
.ag2-legende i{width:10px;height:10px;border-radius:2px;display:inline-block}

/* Décisions */
.ag2-decisions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ag2-decision{display:flex;flex-direction:column;gap:12px}
.ag2-rang{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ag2-t{font-size:16px;line-height:1.45}
.ag2-decision .ag2-gestes{margin-top:auto}
.ag2-plus{display:flex;align-items:center;gap:10px;justify-content:center;color:var(--sec)}
.ag2-plus b{font-size:28px;color:var(--texte);font-weight:500}

/* Graphiques */
.ag2-graph{width:100%;height:auto;display:block;overflow:visible}
.ag2-graph [data-href]{cursor:pointer}
.ag2-graph rect[data-href]:hover{opacity:.8}
.ag2-axe{fill:var(--sec);font-size:12px;font-family:var(--police)}
.ag2-repere{stroke:var(--texte);stroke-width:2;stroke-dasharray:4 3}
.ag2-aire{opacity:.85;stroke:none}
.ag2-courbe-n1{fill:none;stroke:var(--texte);stroke-width:1.6;stroke-dasharray:5 4}
.ag2-courbe{fill:none;stroke-width:2}
.ag2-courbe.c2{stroke:var(--texte)}
.ag2-courbe.c1{stroke:var(--sec);stroke-dasharray:6 4}
.ag2-courbe.c0{stroke:var(--filet);stroke-dasharray:2 4}
.ag2-zone{fill:transparent}
.ag2-zone:hover{fill:var(--survol)}
.ag2-jauge{width:180px;height:auto;display:block;margin:4px auto 6px}
.ag2-jauge-fond{fill:none;stroke:var(--filet);stroke-width:12;stroke-linecap:round}
.ag2-jauge-plein{fill:none;stroke:var(--d-sauge);stroke-width:12;stroke-linecap:round}
.ag2-jauge-txt{fill:var(--texte);font-size:20px;font-weight:600;font-family:var(--police)}
.ag2-anneau{width:170px;height:170px;display:block;margin:0 auto 8px}
.ag2-anneau [data-href]{cursor:pointer}
.ag2-entonnoir{display:flex;flex-direction:column;gap:12px}
.ag2-ent-ligne,.ag2-bh{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) auto 44px;gap:12px;align-items:center;font-size:14px}
.ag2-bh{grid-template-columns:minmax(110px,220px) minmax(0,1fr) auto;min-height:32px;border-radius:6px}
a.ag2-bh:hover{background:var(--survol)}
.ag2-barresh{display:flex;flex-direction:column;gap:6px}
.ag2-ent-nom,.ag2-bh-nom{color:var(--sec);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag2-ent-piste{height:12px;border-radius:6px;background:var(--survol);overflow:hidden}
.ag2-ent-piste i{display:block;height:100%;border-radius:6px;transition:width .4s var(--ease)}
.ag2-ent-ligne small{color:var(--sec)}
.ag2-chaleur{display:grid;gap:4px;font-size:12px}
.ag2-chaleur-col{color:var(--sec);text-align:center;white-space:nowrap;overflow:hidden}
.ag2-chaleur-lig{color:var(--sec);align-self:center}
.ag2-chaleur-case{min-height:30px;border-radius:4px;display:flex;align-items:center;justify-content:center;background:var(--survol);color:var(--sur-teinte);font-weight:600}
.ag2-chaleur-case[data-n="1"]{background:color-mix(in srgb,var(--d-glacier) 30%,transparent);color:var(--texte)}
.ag2-chaleur-case[data-n="2"]{background:color-mix(in srgb,var(--d-glacier) 52%,transparent);color:var(--texte)}
.ag2-chaleur-case[data-n="3"]{background:color-mix(in srgb,var(--d-glacier) 76%,transparent)}
.ag2-chaleur-case[data-n="4"]{background:var(--d-glacier)}
a.ag2-chaleur-case:hover{outline:1px solid var(--texte)}

/* La frise d'une journée */
.ag2-frise{position:relative;height:84px;border:1px solid var(--filet);border-radius:var(--r-carte);margin-top:22px;overflow:visible}
.ag2-frise-h{position:absolute;top:-20px;transform:translateX(-50%);font-size:12px;color:var(--sec);white-space:nowrap}
.ag2-frise-h:last-of-type{transform:translateX(-100%)}
.ag2-frise-h:first-child{transform:none}
.ag2-frise-ev{position:absolute;top:10px;bottom:10px;border-radius:6px;padding:6px 8px;color:var(--sur-teinte);overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .14s var(--ease)}
.ag2-frise-ev:hover{transform:translateY(-2px)}
.ag2-frise-ev b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag2-frise-ev small{font-size:12px;opacity:.85;white-space:nowrap}
.ag2-frise-ev.propose{background:transparent!important;border:1.5px dashed var(--d-glacier);color:var(--texte)}
.ag2-frise-libre{position:absolute;top:22px;bottom:22px;border:1px dashed var(--filet);border-radius:6px;color:var(--sec);font-size:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ag2-frise-libre:hover{border-color:var(--d-sauge);color:var(--texte)}
.ag2-frise-maintenant{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--texte);transform:translateX(-1px)}
.ag2-frise-maintenant small{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-size:12px;white-space:nowrap;font-weight:600}
.ag2-frise-ligne{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;margin-top:8px}
.ag2-frise-ligne .ag2-frise{height:56px;margin-top:20px}
.ag2-frise-ligne .ag2-frise-ev small{display:none}

/* Listes */
.ag2-liste{display:flex;flex-direction:column}
.ag2-ligne{display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 0;border-bottom:1px solid var(--filet)}
.ag2-ligne:last-child{border-bottom:0}
.ag2-ligne.eteint{opacity:.55}
.ag2-ligne.propose .ag2-pastille{background:transparent!important;border:1.5px dashed var(--d-glacier)}
.ag2-ligne input[type=checkbox]{width:18px;height:18px;accent-color:var(--texte);flex:none}
.ag2-pastille{width:10px;height:10px;border-radius:3px;flex:none;display:inline-block}
.ag2-ligne-txt{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}
.ag2-ligne-txt b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag2-ligne-txt small{font-size:13px;color:var(--sec);overflow:hidden;text-overflow:ellipsis}
.ag2-ligne .ag2-gestes{flex:none}
.ag2-poignee{display:inline-flex;color:var(--sec);cursor:grab;flex:none}
.ag2-coches li{display:flex;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid var(--filet)}
.ag2-coches label{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer}
.ag2-coches input{width:18px;height:18px;accent-color:var(--texte);flex:none}
.ag2-coches .fait{text-decoration:line-through;color:var(--sec)}
.ag2-sait li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--filet)}
.ag2-sait li:last-child{border-bottom:0}
.ag2-suite li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--filet)}
.ag2-suite li:last-child{border-bottom:0}
.ag2-suite li > span:first-child{min-width:0}
.ag2-journal li{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--filet)}
.ag2-journal li > span:nth-child(2){min-width:0}
.ag2-journal small{display:block;color:var(--sec);font-size:13px}
.ag2-journal-n{font-size:13px;color:var(--sec);font-weight:500}
.ag2-chrono li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--filet);font-size:14px}
.ag2-jamais li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;font-size:14px}
.ag2-etapes{list-style:decimal;padding-left:20px;display:flex;flex-direction:column;gap:10px}
.ag2-table{width:100%;border-collapse:collapse;font-size:14px}
.ag2-table th{text-align:left;font-weight:500;color:var(--sec);padding:8px 10px;border-bottom:1px solid var(--filet);white-space:nowrap}
.ag2-table td{padding:10px;border-bottom:1px solid var(--filet)}
.ag2-table td .ag2-pastille{margin-right:8px}
.ag2-nav-jours{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ag2-nav-jours b{font-weight:600;margin-left:6px}
.ag2-barre-sem{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.ag2-barre-sem .ag2-filtres{margin:0}

/* La semaine */
.ag2-semaine{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.ag2-semaine.avec-panneau{grid-template-columns:minmax(0,1fr) 320px}
.ag2-grille-cadre{max-height:640px;overflow:auto;background:var(--carte);border:1px solid var(--filet-doux);border-radius:var(--r-carte);overscroll-behavior:contain}
.ag2-grille{display:grid;grid-template-rows:auto 1fr;position:relative;min-width:640px}
.ag2-col-tete{display:flex;flex-direction:column;gap:4px;padding:10px 8px;border-bottom:1px solid var(--filet);border-left:1px solid var(--filet);position:sticky;top:0;background:var(--carte);z-index:3;font-size:13px;color:var(--sec)}
.ag2-col-tete b{font-size:20px;color:var(--texte);font-weight:500;line-height:1}
.ag2-col-tete.auj b{display:inline-flex;align-items:center;justify-content:center;background:var(--plein-fond);color:var(--plein-texte);border-radius:4px;padding:2px 6px;width:max-content}
.ag2-charge{display:flex;height:4px;gap:1px;border-radius:2px;overflow:hidden;background:var(--survol)}
.ag2-charge i{display:block;height:100%}
.ag2-heures{position:relative;grid-row:2;height:calc(var(--hh,11) * 56px)}
.ag2-heures span{position:absolute;right:8px;transform:translateY(-50%);font-size:12px;color:var(--sec)}
.ag2-heures span:first-child{transform:none}
.ag2-col{position:relative;grid-row:2;height:calc(var(--hh,11) * 56px);border-left:1px solid var(--filet);background-image:linear-gradient(var(--filet) 1px,transparent 1px);background-size:100% 56px}
.ag2-case{position:absolute;left:0;right:0;border-radius:0}
.ag2-case:hover{background:var(--survol)}
.ag2-ev{position:absolute;padding:5px 7px;border-radius:6px;color:var(--texte);background:var(--carte)!important;overflow:hidden;text-align:left;display:flex;flex-direction:column;gap:1px;border:1px solid var(--filet);border-left-width:3px;z-index:2;cursor:grab;touch-action:none;transition:box-shadow .14s,transform .14s var(--ease);font-size:13px}
.ag2-ev b{font-weight:600;font-size:13px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ag2-ev small{font-size:12px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag2-ev-type{display:inline-flex;align-items:center;gap:4px}
.ag2-ev.propose{background:var(--fond)!important;border:1.5px dashed var(--d-glacier);color:var(--texte)}
.ag2-ev.lecture{background:transparent!important;border:1px solid var(--d-gris);color:var(--sec);cursor:default}
.ag2-ev.choisi{box-shadow:0 0 0 2px var(--texte)}
.ag2-ev.tenu{opacity:.75;z-index:9;cursor:grabbing;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.ag2-ev[data-cible]::after{content:attr(data-cible);position:absolute;bottom:-1px;left:4px;font-size:12px;font-weight:600;background:var(--fond);color:var(--texte);padding:0 4px;border-radius:3px}
.ag2-maintenant{position:absolute;left:0;right:0;height:2px;background:var(--texte);z-index:1;pointer-events:none}
.ag2-maintenant::before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--texte)}
.ag2-journee{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.ag2-panneau{border:1px solid var(--texte);border-radius:var(--r-carte);padding:18px;display:flex;flex-direction:column;gap:6px;align-self:start;position:sticky;top:12px}
.ag2-pan-tete{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ag2-pan-titre{font-size:18px;font-weight:500;margin:6px 0 0}
.ag2-pan-pied{margin-top:10px}

/* Le mois */
.ag2-mois{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--filet);border-left:1px solid var(--filet)}
.ag2-mois-tete{padding:8px;font-size:13px;color:var(--sec);border-right:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.ag2-mois-jour{position:relative;min-height:116px;padding:6px;border-right:1px solid var(--filet);border-bottom:1px solid var(--filet);display:flex;flex-direction:column;gap:3px;min-width:0}
.ag2-mois-jour.hors{opacity:.45}
.ag2-mois-jour.auj .ag2-mois-n{background:var(--plein-fond);color:var(--plein-texte)}
.ag2-mois-n{align-self:flex-start;font-weight:600;font-size:14px;padding:1px 6px;border-radius:4px}
.ag2-mois-ev{font-size:12px;line-height:1.3;padding:2px 6px;border-radius:3px;background:var(--survol);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab}
.ag2-mois-ev.propose{border-style:dashed}
.ag2-mois-plus{position:absolute;top:6px;right:6px;color:var(--sec);opacity:0;transition:opacity .14s}
.ag2-mois-jour:hover .ag2-mois-plus{opacity:1}

/* Les dates d'une ressource */
.ag2-dates{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px}
.ag2-date{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:var(--r-carte);border:1px solid var(--filet);min-height:96px;text-align:left;min-width:0;transition:transform .14s var(--ease)}
.ag2-date:hover{transform:translateY(-2px)}
.ag2-date b{font-size:24px;font-weight:500;line-height:1}
.ag2-date small{font-size:12px;color:var(--sec)}
.ag2-date span{font-size:13px;margin-top:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag2-date.vendu{background:var(--d-poudre);border-color:var(--d-poudre);color:var(--sur-teinte)}
.ag2-date.vendu small{color:inherit;opacity:.8}
.ag2-date.option{border:1.5px dashed var(--d-sable)}
.ag2-date.libre{border-style:solid;color:var(--sec)}
.ag2-date.libre:hover{border-color:var(--texte);color:var(--texte)}

/* La réservation en ligne */
.ag2-url{font-size:15px;word-break:break-all;padding:12px;border:1px solid var(--filet);border-radius:var(--r-champ);margin-bottom:10px}
.ag2-qr-carte{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.ag2-qr{border-radius:8px;background:#fff}
.ag2-telephone{max-width:390px;margin:0 auto 24px;border:1px solid var(--filet);border-radius:28px;padding:24px 18px}
.ag2-public h3{font-size:24px;font-weight:600;margin:0 0 10px}

/* Barre du bas et téléphone */
@media (max-width:1100px){.ag2-decisions{grid-template-columns:repeat(2,minmax(0,1fr))}.ag2-g3{grid-template-columns:1fr}}
@media (max-width:760px){
  .ag2-entete{padding:0 16px;min-height:60px}
  .ag2-ariane,.ag2-heure{display:none}
  .ag2-droite .ag2-btn{display:none}
  .ag2-espaces{display:none}
  .ag2-soie{left:auto;right:-160px;width:380px;top:-110px}
  .ag2-principal{padding:20px 16px 110px}
  .ag2-tete{flex-direction:column;align-items:stretch;gap:16px}
  .ag2-tete h1{font-size:26px}
  .ag2-sous-titre{font-size:15px}
  .ag2-tete-act{flex-direction:column;align-items:stretch}
  .ag2-tete-act .ag2-btn{width:100%}
  .ag2-sous{gap:20px}
  .ag2-decisions,.ag2-g21,.ag2-g3,.ag2-rang3{grid-template-columns:minmax(0,1fr)}
  .ag2-semaine.avec-panneau{grid-template-columns:minmax(0,1fr)}
  .ag2-panneau{position:static}
  .ag2-outils{gap:8px}
  .ag2-cherche{min-width:0;flex:1 1 100%}
  .ag2-outils .ag2-btn{flex:1 1 auto}
  .ag2-ligne{flex-wrap:wrap}
  .ag2-ligne .ag2-gestes{width:100%;justify-content:flex-end}
  .ag2-journal li{grid-template-columns:minmax(0,1fr)}
  .ag2-ent-ligne{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
  .ag2-ent-ligne .ag2-ent-piste{grid-column:1/-1;grid-row:2}
  .ag2-ent-ligne small{display:none}
  .ag2-bh{grid-template-columns:minmax(0,96px) minmax(0,1fr) auto}
  .ag2-suite li{flex-direction:column;align-items:flex-start}
  .ag2-kv{flex-wrap:wrap}
  .ag2-kv > span:last-child{text-align:left}
  .ag2-ligne-choix{justify-content:flex-start}
  .ag2-mois-jour{min-height:78px;padding:4px}
  .ag2-mois-ev{font-size:12px;padding:1px 3px}
  .ag2-frise-h:nth-child(even){display:none}
  .ag2-frise-ev small{display:none}
  .ag2-dates{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ag2-chaleur-col{font-size:12px;writing-mode:vertical-rl;transform:rotate(180deg);height:44px}
  .ag2-chaleur-case{min-height:24px;font-size:12px}
  .ag2-table{font-size:13px}
  .ag2-table th,.ag2-table td{padding:6px}
  .ag2-dire{bottom:88px}
  .ag2-bas{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--fond);border-top:1px solid var(--filet);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .ag2-bas a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:52px;justify-content:center;font-size:12px;color:var(--sec);min-width:0}
  .ag2-bas a.actif{color:var(--texte)}
  .ag2-bas-ic{position:relative;display:inline-flex}
  .ag2-bas-ic .n{position:absolute;top:-6px;right:-14px;min-width:18px;height:18px;font-size:12px;background:var(--fond)}
}
@media print{.ag2-entete,.ag2-espaces,.ag2-bas,.ag2-outils,.ag2-dire,.ag2-casquette{display:none!important}.ag2{background:#fff;color:#000;--texte:#000;--sec:#444;--filet:#bbb;--fond:#fff}.ag2-grille-cadre{max-height:none;overflow:visible}}

.ag2-logo{width:14px;height:14px;vertical-align:-2px;flex:none}
.ag2-g21 .ag2-frise-h:nth-child(even),.ag2-frise-ligne .ag2-frise-h:nth-child(even){display:none}
.ag2-trouve{margin-bottom:20px}
.ag2-questions{display:flex;flex-direction:column;gap:14px;margin-top:12px}
.ag2-question p{font-weight:500}

.ag2-page > .ag2-carte, .ag2-page > form.ag2-carte, .ag2-page > .ag2-bloc + .ag2-carte, .ag2-page > .ag2-carte + .ag2-bloc{margin-top:20px}
.ag2-defile{overflow-x:auto;max-width:100%}
.ag2-ligne-choix{min-width:0;max-width:100%}
@media (max-width:760px){.ag2 .ag2-btn{white-space:normal;text-align:center}.ag2-dates{gap:12px}}
.ag2-pied-page{margin-top:24px}
.ag2-grille.j7{grid-template-columns:52px repeat(7,minmax(0,1fr))}
.ag2-grille.j5{grid-template-columns:52px repeat(5,minmax(0,1fr))}
.ag2-chaleur.c12{grid-template-columns:56px repeat(12,minmax(0,1fr))}
.ag2-chaleur.c4{grid-template-columns:72px repeat(4,minmax(0,1fr))}
.ag2-chaleur.c24{grid-template-columns:56px repeat(24,minmax(0,1fr))}

.ag2-ev.t-glacier{border-left-color:var(--d-glacier)}.ag2-ev.t-sauge{border-left-color:var(--d-sauge);border-style:dashed;border-left-style:solid}.ag2-ev.t-sable{border-left-color:var(--d-sable)}.ag2-ev.t-poudre{border-left-color:var(--d-poudre)}.ag2-ev.t-gris{border-left-color:var(--d-gris)}
.ag2-ev small{color:var(--sec)}
.ag2-frise-ev{background:var(--carte)!important;color:var(--texte);border:1px solid var(--filet);border-left-width:3px}
.ag2-frise-ev.t-glacier{border-left-color:var(--d-glacier)}.ag2-frise-ev.t-sauge{border-left-color:var(--d-sauge)}.ag2-frise-ev.t-sable{border-left-color:var(--d-sable)}.ag2-frise-ev.t-poudre{border-left-color:var(--d-poudre)}.ag2-frise-ev.t-gris{border-left-color:var(--d-gris)}
.ag2-outils{border-top-color:var(--filet-doux);border-bottom-color:var(--filet-doux)}
.ag2-sous{border-bottom-color:var(--filet-doux)}
/* v4 : la ligne forte d'une décision (date, échéance, durée), comme la maquette. */
.ag2-gros{font-size:28px;line-height:1.15;font-weight:600;letter-spacing:-.01em;margin:6px 0 0;font-variant-numeric:tabular-nums;color:inherit}
@media (max-width:760px){.ag2-gros{font-size:24px}}
.ag2-ev b svg{width:12px;height:12px;vertical-align:-1px}
.ag2-ev.court{padding:1px 6px;justify-content:center}.ag2-ev.court b,.ag2-ev.moyen b{-webkit-line-clamp:1;font-size:12px}.ag2-ev.court small,.ag2-ev.court .ag2-ev-type{display:none}
.ag2-ev.court b,.ag2-ev.moyen b{display:block;white-space:nowrap;text-overflow:ellipsis}
.ag2-quand{display:inline-flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.ag2-quand .ag2-champ.petit{min-width:0}
