#mado-ag{--navy:#0b1631;--vert:#0fa958;--mint:#00ffc6;--rule:rgba(255,255,255,.09);--doux:#9fb2d4;position:fixed;right:16px;bottom:16px;z-index:99990;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
#mado-ag.libre{right:auto;bottom:auto}
#mado-ag.ouvert{left:auto !important;top:auto !important;right:16px;bottom:16px}
#mado-ag *{box-sizing:border-box}
#mado-ag [hidden]{display:none !important}
#mado-ag .ecran-lecteur{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#mado-ag-ouvrir{display:flex;align-items:center;gap:8px;background:var(--navy);color:#fff;border:0;border-radius:999px;padding:5px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 10px 30px -10px rgba(11,22,49,.6);transition:opacity .5s ease,padding .3s ease,background .2s ease,box-shadow .3s ease}
#mado-ag-ouvrir:hover{background:#152244}
#mado-ag-ouvrir:focus-visible,#mado-ag button:focus-visible,#mado-ag textarea:focus-visible{outline:3px solid var(--vert);outline-offset:2px}
#mado-ag-robot{display:block;position:relative;flex:none;width:76px;height:76px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 28%,#2a3a60 0%,#0b1631 74%)}
#mado-ag-robot canvas,#mado-ag-robot svg{display:block;width:100%;height:100%}
#mado-ag-bulle{position:absolute;right:4px;bottom:calc(100% + 14px);max-width:230px;padding:9px 14px;border-radius:16px 16px 6px 16px;background:#fff;color:var(--navy);font-size:13.5px;font-weight:650;line-height:1.3;white-space:nowrap;box-shadow:0 16px 34px -16px rgba(11,22,49,.55),0 2px 6px rgba(11,22,49,.1);transform-origin:bottom right;animation:mado-ag-pop .5s cubic-bezier(.16,1,.3,1) both;transition:opacity .35s ease,transform .35s ease;pointer-events:none}
#mado-ag-bulle::after{content:'';position:absolute;right:18px;bottom:-6px;width:14px;height:14px;background:#fff;border-radius:0 0 4px 0;transform:rotate(45deg);box-shadow:4px 4px 8px -6px rgba(11,22,49,.5)}
@keyframes mado-ag-pop{from{opacity:0;transform:translateY(10px) scale(.88)}to{opacity:1;transform:none}}
#mado-ag-libelle{display:block}
#mado-ag.repos #mado-ag-ouvrir{opacity:.34;padding:5px;box-shadow:0 6px 18px -12px rgba(11,22,49,.5)}
#mado-ag.repos #mado-ag-bulle{opacity:0;transform:translateY(8px) scale(.9)}
#mado-ag.ouvert #mado-ag-bulle,#mado-ag.deplace #mado-ag-bulle{opacity:0;visibility:hidden}
#mado-ag.deplace #mado-ag-ouvrir{opacity:1;transition:none;box-shadow:0 18px 40px -14px rgba(11,22,49,.75);transform:scale(1.04)}
#mado-ag-fenetre{display:flex;flex-direction:column;width:min(384px,calc(100vw - 24px));height:min(540px,calc(100dvh - 110px));background:linear-gradient(180deg,#16213c 0%,#0a1densite 100%);background:linear-gradient(180deg,#16213c 0%,#080f22 100%);border:1px solid var(--rule);border-radius:20px;overflow:hidden;box-shadow:0 28px 70px -22px rgba(0,0,0,.75)}
#mado-ag-fenetre header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--rule);background:rgba(255,255,255,.03)}
#mado-ag-ident{display:flex;align-items:center;gap:10px;min-width:0}
#mado-ag-pastille{flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;background:linear-gradient(135deg,#1d2c4f,#0b1631);border:1px solid rgba(0,255,198,.35);box-shadow:0 0 14px -4px rgba(0,255,198,.5)}
#mado-ag-fenetre header strong{display:block;font-size:14.5px;color:#fff;letter-spacing:.01em}
#mado-ag-fenetre header span{display:block;font-size:11.5px;color:var(--doux);margin-top:1px}
#mado-ag-fermer{background:rgba(255,255,255,.06);border:0;color:#cfdaf0;font-size:20px;line-height:1;cursor:pointer;width:32px;height:32px;border-radius:10px;flex:none}
#mado-ag-fermer:hover{background:rgba(255,255,255,.12);color:#fff}
#mado-ag-fil{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:14px;display:flex;flex-direction:column;gap:12px}
.mado-ag-msg{display:flex;align-items:flex-end;gap:8px;max-width:94%}
.mado-ag-msg.moi{align-self:flex-end;flex-direction:row-reverse}
.mado-ag-msg.bot,.mado-ag-msg.patiente{align-self:flex-start}
.mado-ag-av{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;line-height:1;background:linear-gradient(135deg,#1d2c4f,#0b1631);border:1px solid rgba(255,255,255,.12)}
.mado-ag-msg.moi .mado-ag-av{background:linear-gradient(135deg,#12b565,#0b8f4a);border-color:rgba(255,255,255,.2)}
.mado-ag-bul{padding:10px 14px;border-radius:16px;font-size:14.5px;line-height:1.55;overflow-wrap:anywhere}
.mado-ag-bul p{margin:0 0 8px}.mado-ag-bul p:last-child{margin:0}
.mado-ag-msg.bot .mado-ag-bul,.mado-ag-msg.patiente .mado-ag-bul{background:rgba(255,255,255,.07);border:1px solid var(--rule);color:#e9f0fb;border-bottom-left-radius:6px}
.mado-ag-msg.moi .mado-ag-bul{background:linear-gradient(135deg,#12b565,#0fa958);color:#fff;border-bottom-right-radius:6px;box-shadow:0 10px 24px -12px rgba(15,169,88,.9)}
.mado-ag-pt{display:flex;gap:5px;align-items:center;padding:13px 14px}
.mado-ag-pt i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.6);animation:mado-ag-pt 1s ease-in-out infinite}
.mado-ag-pt i:nth-child(2){animation-delay:.15s}.mado-ag-pt i:nth-child(3){animation-delay:.3s}
@keyframes mado-ag-pt{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
.mado-ag-vite{display:flex;flex-wrap:wrap;gap:7px;padding-left:38px}
.mado-ag-vite button{background:rgba(255,255,255,.06);border:1px solid var(--rule);border-radius:999px;padding:7px 13px;font-size:13px;color:#dce6f7;cursor:pointer;font-family:inherit}
.mado-ag-vite button:hover{border-color:var(--mint);color:var(--mint)}
#mado-ag-form{display:flex;gap:8px;align-items:flex-end;padding:11px;border-top:1px solid var(--rule);background:rgba(255,255,255,.03)}
#mado-ag-saisie{flex:1;border:1px solid var(--rule);border-radius:14px;padding:11px 13px;font-size:16px;font-family:inherit;resize:none;max-height:110px;line-height:1.45;background:rgba(255,255,255,.06);color:#fff}
#mado-ag-saisie::placeholder{color:#8296b8}
#mado-ag-saisie:focus{outline:none;border-color:rgba(0,255,198,.5);background:rgba(255,255,255,.09)}
#mado-ag-form button{background:linear-gradient(135deg,#12b565,#0fa958);color:#fff;border:0;border-radius:13px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
#mado-ag-form button[disabled]{opacity:.4;cursor:default}
.mado-ag-pied{margin:0;padding:0 14px 11px;font-size:11px;color:var(--doux);background:transparent;line-height:1.45}
@media(max-width:600px){#mado-ag{right:12px;bottom:calc(14px + env(safe-area-inset-bottom))}#mado-ag-robot{width:54px;height:54px}#mado-ag-ouvrir{padding:4px;gap:6px}#mado-ag-bulle{font-size:12px;padding:7px 12px;max-width:190px;right:2px;bottom:calc(100% + 11px)}#mado-ag.repos #mado-ag-ouvrir{padding:4px}#mado-ag.ouvert{left:10px !important;right:10px;top:auto !important;bottom:calc(10px + env(safe-area-inset-bottom))}#mado-ag.ouvert #mado-ag-fenetre{width:100%;height:min(480px,calc(var(--vvh,100dvh) - 130px));animation:none !important}.mado-ag-pied{display:none}}
@media(prefers-reduced-motion:no-preference){#mado-ag-fenetre{animation:mado-ag-in .18s ease-out}@keyframes mado-ag-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){#mado-ag-ouvrir{transition:none}}
/* Sur ordinateur, rien ne s'efface : il y a un curseur, la place ne manque
   pas, et un robot delave au-dessus d'une section claire fait sale. La mise
   en veille reste reservee aux ecrans tactiles, ou la bulle peut gener. */
@media (hover: hover) and (pointer: fine) {
	#mado-ag.repos #mado-ag-ouvrir { opacity: 1; padding: 5px; box-shadow: 0 10px 30px -10px rgba(11,22,49,.6); }
	#mado-ag.repos #mado-ag-bulle { opacity: 1; transform: none; }
}

/* ---------------------------------------------------------------
 * Armure : sur les gabarits maison (espace client, boutique), les
 * feuilles du site repeignaient nos boutons en vert, gonflaient la
 * saisie et effacaient l'icone d'envoi. Tout ce qui touche a l'allure
 * de la fenetre est donc verrouille ici.
 * ------------------------------------------------------------ */
#mado-ag-fenetre, #mado-ag-fenetre *, #mado-ag-fenetre *::before, #mado-ag-fenetre *::after { box-sizing: border-box !important; letter-spacing: normal !important; text-transform: none !important; text-shadow: none !important; list-style: none !important; }
#mado-ag.ouvert { z-index: 2147480000 !important; }
#mado-ag-fenetre { display: flex !important; flex-direction: column !important; background: linear-gradient(180deg, #16213c 0%, #080f22 100%) !important; border: 1px solid var(--rule) !important; border-radius: 20px !important; overflow: hidden !important; }
#mado-ag-fil { flex: 1 1 auto !important; min-height: 0 !important; overflow-y: auto !important; padding: 14px !important; display: flex !important; flex-direction: column !important; gap: 12px !important; background: none !important; }
/* Les suggestions : des pastilles sobres, jamais les gros boutons du site. */
#mado-ag-fenetre .mado-ag-vite { display: flex !important; flex-wrap: wrap !important; gap: 7px !important; padding: 0 0 0 38px !important; margin: 0 !important; background: none !important; }
#mado-ag-fenetre .mado-ag-vite button { display: inline-flex !important; align-items: center !important; width: auto !important; max-width: 100% !important; min-width: 0 !important; min-height: 0 !important; height: auto !important; padding: 7px 13px !important; margin: 0 !important; font-size: 13px !important; font-weight: 500 !important; line-height: 1.3 !important; color: #dce6f7 !important; background: rgba(255,255,255,.06) !important; background-image: none !important; border: 1px solid var(--rule) !important; border-radius: 999px !important; box-shadow: none !important; text-decoration: none !important; }
#mado-ag-fenetre .mado-ag-vite button:hover { border-color: var(--mint) !important; color: var(--mint) !important; background: rgba(255,255,255,.09) !important; }
#mado-ag-fenetre .mado-ag-vite button::before, #mado-ag-fenetre .mado-ag-vite button::after { content: none !important; display: none !important; }
/* La barre de saisie : un champ, un bouton rond, rien d'autre. */
#mado-ag-form { display: flex !important; flex: 0 0 auto !important; gap: 8px !important; align-items: flex-end !important; padding: 11px !important; margin: 0 !important; border-top: 1px solid var(--rule) !important; background: rgba(255,255,255,.03) !important; }
#mado-ag-saisie { flex: 1 1 auto !important; width: auto !important; min-width: 0 !important; min-height: 0 !important; height: auto !important; max-height: 110px !important; padding: 11px 13px !important; margin: 0 !important; font-size: 16px !important; line-height: 1.45 !important; color: #fff !important; background: rgba(255,255,255,.06) !important; background-image: none !important; border: 1px solid var(--rule) !important; border-radius: 14px !important; box-shadow: none !important; resize: none !important; -webkit-appearance: none !important; appearance: none !important; text-indent: 0 !important; }
#mado-ag-saisie::before, #mado-ag-saisie::after { content: none !important; display: none !important; }
#mado-ag-saisie::placeholder { color: #8296b8 !important; opacity: 1 !important; }
#mado-ag-form button { flex: 0 0 auto !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 44px !important; height: 44px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 13px !important; background: linear-gradient(135deg, #12b565, #0fa958) !important; color: #fff !important; box-shadow: none !important; font-size: 0 !important; }
#mado-ag-form button svg { display: block !important; width: 18px !important; height: 18px !important; fill: currentColor !important; opacity: 1 !important; visibility: visible !important; }
#mado-ag-form button::before, #mado-ag-form button::after { content: none !important; display: none !important; }
/* L'en-tete, les bulles, la mention du bas. */
#mado-ag-fenetre header { flex: 0 0 auto !important; display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 13px 14px !important; margin: 0 !important; background: rgba(255,255,255,.03) !important; border-bottom: 1px solid var(--rule) !important; }
#mado-ag-fenetre .mado-ag-msg { display: flex !important; align-items: flex-end !important; gap: 8px !important; max-width: 94% !important; margin: 0 !important; padding: 0 !important; background: none !important; }
#mado-ag-fenetre .mado-ag-bul { padding: 10px 14px !important; margin: 0 !important; border-radius: 16px !important; font-size: 14.5px !important; line-height: 1.55 !important; }
#mado-ag-fenetre .mado-ag-av { width: 30px !important; height: 30px !important; flex: 0 0 auto !important; border-radius: 50% !important; font-size: 15px !important; }
#mado-ag-fenetre .mado-ag-pied { flex: 0 0 auto !important; display: block !important; margin: 0 !important; padding: 0 14px 11px !important; font-size: 11px !important; line-height: 1.45 !important; color: var(--doux) !important; background: none !important; }
#mado-ag-fermer { flex: 0 0 auto !important; width: 32px !important; height: 32px !important; padding: 0 !important; border: 0 !important; border-radius: 10px !important; background: rgba(255,255,255,.06) !important; color: #cfdaf0 !important; font-size: 20px !important; line-height: 1 !important; }
/* Sur ordinateur, rien ne s'efface : il y a un curseur, la place ne manque
   pas, et un robot delave au-dessus d'une section claire fait sale. La mise
   en veille reste reservee aux ecrans tactiles, ou la bulle peut gener. */
@media (hover: hover) and (pointer: fine) {
	#mado-ag.repos #mado-ag-ouvrir { opacity: 1; padding: 5px; box-shadow: 0 10px 30px -10px rgba(11,22,49,.6); }
	#mado-ag.repos #mado-ag-bulle { opacity: 1; transform: none; }
}

/* ---------------------------------------------------------------
 * Armure : sur les gabarits maison (espace client, boutique), les
 * feuilles du site repeignaient nos boutons en vert, gonflaient la
 * saisie et effacaient l'icone d'envoi. Tout ce qui touche a l'allure
 * de la fenetre est donc verrouille ici.
 * ------------------------------------------------------------ */
#mado-ag-fenetre, #mado-ag-fenetre *, #mado-ag-fenetre *::before, #mado-ag-fenetre *::after { box-sizing: border-box !important; letter-spacing: normal !important; text-transform: none !important; text-shadow: none !important; list-style: none !important; }
#mado-ag.ouvert { z-index: 2147480000 !important; }
#mado-ag-fenetre { display: flex !important; flex-direction: column !important; background: linear-gradient(180deg, #16213c 0%, #080f22 100%) !important; border: 1px solid var(--rule) !important; border-radius: 20px !important; overflow: hidden !important; }
#mado-ag-fil { flex: 1 1 auto !important; min-height: 0 !important; overflow-y: auto !important; padding: 14px !important; display: flex !important; flex-direction: column !important; gap: 12px !important; background: none !important; }
/* Les suggestions : des pastilles sobres, jamais les gros boutons du site. */
#mado-ag-fenetre .mado-ag-vite { display: flex !important; flex-wrap: wrap !important; gap: 7px !important; padding: 0 0 0 38px !important; margin: 0 !important; background: none !important; }
#mado-ag-fenetre .mado-ag-vite button { display: inline-flex !important; align-items: center !important; width: auto !important; max-width: 100% !important; min-width: 0 !important; min-height: 0 !important; height: auto !important; padding: 7px 13px !important; margin: 0 !important; font-size: 13px !important; font-weight: 500 !important; line-height: 1.3 !important; color: #dce6f7 !important; background: rgba(255,255,255,.06) !important; background-image: none !important; border: 1px solid var(--rule) !important; border-radius: 999px !important; box-shadow: none !important; text-decoration: none !important; }
#mado-ag-fenetre .mado-ag-vite button:hover { border-color: var(--mint) !important; color: var(--mint) !important; background: rgba(255,255,255,.09) !important; }
#mado-ag-fenetre .mado-ag-vite button::before, #mado-ag-fenetre .mado-ag-vite button::after { content: none !important; display: none !important; }
/* La barre de saisie : un champ, un bouton rond, rien d'autre. */
#mado-ag-form { display: flex !important; flex: 0 0 auto !important; gap: 8px !important; align-items: flex-end !important; padding: 11px !important; margin: 0 !important; border-top: 1px solid var(--rule) !important; background: rgba(255,255,255,.03) !important; }
#mado-ag-saisie { flex: 1 1 auto !important; width: auto !important; min-width: 0 !important; min-height: 0 !important; height: auto !important; max-height: 110px !important; padding: 11px 13px !important; margin: 0 !important; font-size: 16px !important; line-height: 1.45 !important; color: #fff !important; background: rgba(255,255,255,.06) !important; background-image: none !important; border: 1px solid var(--rule) !important; border-radius: 14px !important; box-shadow: none !important; resize: none !important; -webkit-appearance: none !important; appearance: none !important; text-indent: 0 !important; }
#mado-ag-saisie::before, #mado-ag-saisie::after { content: none !important; display: none !important; }
#mado-ag-saisie::placeholder { color: #8296b8 !important; opacity: 1 !important; }
#mado-ag-form button { flex: 0 0 auto !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 44px !important; height: 44px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 13px !important; background: linear-gradient(135deg, #12b565, #0fa958) !important; color: #fff !important; box-shadow: none !important; font-size: 0 !important; }
#mado-ag-form button svg { display: block !important; width: 18px !important; height: 18px !important; fill: currentColor !important; opacity: 1 !important; visibility: visible !important; }
#mado-ag-form button::before, #mado-ag-form button::after { content: none !important; display: none !important; }
/* L'en-tete, les bulles, la mention du bas. */
#mado-ag-fenetre header { flex: 0 0 auto !important; display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 13px 14px !important; margin: 0 !important; background: rgba(255,255,255,.03) !important; border-bottom: 1px solid var(--rule) !important; }
#mado-ag-fenetre .mado-ag-msg { display: flex !important; align-items: flex-end !important; gap: 8px !important; max-width: 94% !important; margin: 0 !important; padding: 0 !important; background: none !important; }
#mado-ag-fenetre .mado-ag-bul { padding: 10px 14px !important; margin: 0 !important; border-radius: 16px !important; font-size: 14.5px !important; line-height: 1.55 !important; }
#mado-ag-fenetre .mado-ag-av { width: 30px !important; height: 30px !important; flex: 0 0 auto !important; border-radius: 50% !important; font-size: 15px !important; }
#mado-ag-fenetre .mado-ag-pied { flex: 0 0 auto !important; display: block !important; margin: 0 !important; padding: 0 14px 11px !important; font-size: 11px !important; line-height: 1.45 !important; color: var(--doux) !important; background: none !important; }
#mado-ag-fermer { flex: 0 0 auto !important; width: 32px !important; height: 32px !important; padding: 0 !important; border: 0 !important; border-radius: 10px !important; background: rgba(255,255,255,.06) !important; color: #cfdaf0 !important; font-size: 20px !important; line-height: 1 !important; }
/* Bouton d'action sous une reponse (ex. passer a un conseiller). */
#mado-ag-fenetre a.mado-ag-act { display: inline-flex !important; align-items: center !important; gap: 6px !important; margin: 10px 0 2px !important; padding: 9px 14px !important; border-radius: 12px !important; background: linear-gradient(135deg, #12b565, #0fa958) !important; color: #fff !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.3 !important; text-decoration: none !important; box-shadow: 0 8px 20px -10px rgba(15,169,88,.9) !important; }
#mado-ag-fenetre a.mado-ag-act:hover { filter: brightness(1.08) !important; }