/* Numera — styles du module ia (Assistant IA et agents). Propriétaire : pôle IA.
   Uniquement les jetons de css/base.css ; classes préfixées .ia- ; mobile d'abord. */

.ia-visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- avatars sobres : initiale sur une teinte dérivée des jetons ---- */
.ia-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:1.05rem;color:var(--ink);border:1px solid var(--line);background:var(--accent-soft)}
.ia-avatar-s{width:24px;height:24px;font-size:.75rem}
.ia-av-nora{background:color-mix(in srgb, var(--accent) 22%, var(--card))}
.ia-av-hugo{background:color-mix(in srgb, var(--accent) 12%, var(--card))}
.ia-av-ines{background:color-mix(in srgb, var(--accent2) 20%, var(--card))}
.ia-av-paul{background:color-mix(in srgb, var(--ink) 10%, var(--card))}
.ia-av-maya{background:color-mix(in srgb, var(--accent2) 10%, color-mix(in srgb, var(--accent) 10%, var(--card)))}

/* ---- point d'entrée dans un pilier ---- */
.ia-slot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 18px}
.ia-slot-qui{display:flex;align-items:center;gap:10px;min-width:0}
.ia-slot-txt{display:flex;flex-direction:column;min-width:0}
.ia-slot-txt b{font-size:.9rem;color:var(--ink)}
.ia-slot-sub{font-size:.74rem;color:var(--sub)}
.ia-slot-acts{display:flex;flex-wrap:wrap;gap:6px}

.ia-chip{min-height:44px;padding:8px 14px;border-radius:22px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:.82rem;cursor:pointer;transition:border-color .15s, background .15s}
.ia-chip:hover{border-color:var(--accent)}
.ia-chip-plein{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}

/* ---- équipe d'agents (haut du pilier IA) ---- */
.ia-equipe{display:grid;grid-template-columns:1fr;gap:8px;margin:0 0 16px}
.ia-agent{display:flex;align-items:flex-start;gap:12px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer;font:inherit;color:var(--ink);min-height:44px;transition:border-color .15s, transform .15s}
.ia-agent:hover{border-color:var(--accent);transform:translateY(-1px)}
.ia-agent-txt{display:flex;flex-direction:column;gap:1px;min-width:0}
.ia-agent-txt b{font-size:.95rem}
.ia-agent-role{font-size:.76rem;color:var(--accent);font-weight:600}
.ia-agent-phrase{font-size:.8rem;color:var(--sub);line-height:1.4}
@media (min-width:700px){ .ia-equipe{grid-template-columns:repeat(5, 1fr)} .ia-agent{flex-direction:column;align-items:flex-start} }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ia-agent-role{color:var(--ink)} }
:root[data-theme="dark"] .ia-agent-role{color:var(--ink)}

/* ---- pilier IA ---- */
.ia-etat{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--sub);margin:0 0 12px}
.ia-etat-point{width:9px;height:9px;border-radius:50%;background:var(--sub);flex-shrink:0}
.ia-etat[data-mode="ia"] .ia-etat-point{background:var(--good)}
.ia-rapides{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}
.ia-rapide{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;text-align:left}
.ia-rapide:hover{border-color:var(--accent)}
@media (min-width:700px){ .ia-rapides{grid-template-columns:repeat(4, 1fr)} }
.ia-details{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-top:12px}
.ia-details summary{cursor:pointer;padding:14px 16px;font-weight:600;font-size:.9rem;min-height:44px;list-style-position:inside}
.ia-details-corps{padding:0 16px 14px;font-size:.85rem;line-height:1.55;color:var(--ink)}
.ia-details-corps p{margin:0 0 10px}
.ia-consent-btns,.ia-consent-lib{margin:6px 0 10px}
.ia-consent-btn{min-height:44px}

/* ---- chat (commun page + flottant) ---- */
.ia-chat{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;min-height:0}
.ia-chat-page{height:min(560px, 75vh)}
.ia-chat-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}
.ia-chat-av{display:flex}
.ia-chat-titre{display:flex;flex-direction:column;min-width:0;flex:1}
.ia-chat-titre b{font-size:.92rem;color:var(--ink)}
.ia-chat-role{font-size:.72rem;color:var(--sub)}
.ia-chat-agent{max-width:44%;min-height:40px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font:inherit;font-size:.78rem;padding:4px 6px}
.ia-chat-fermer{width:44px;height:44px;flex-shrink:0;border:none;background:none;color:var(--sub);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:10px}
.ia-mention{margin:0;padding:6px 12px;font-size:.72rem;color:var(--sub);background:var(--bg);border-bottom:1px solid var(--line);line-height:1.4}
.ia-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:120px;overscroll-behavior:contain}
.ia-msg{max-width:92%;padding:9px 12px;border-radius:14px;font-size:.86rem;line-height:1.5;overflow-wrap:anywhere}
.ia-user{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:4px;white-space:pre-wrap}
.ia-bot{align-self:flex-start;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:4px}
.ia-msg-qui{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.74rem;font-weight:600;color:var(--sub);margin-bottom:4px}
.ia-src{font-weight:500;padding:1px 7px;border-radius:10px;border:1px solid var(--line)}
.ia-src-ia{color:var(--ink)}
.ia-p{margin:0 0 6px}
.ia-p:last-child{margin-bottom:0}
.ia-fort{font-weight:600}
.ia-texte .ia-p{white-space:pre-wrap}
.ia-tag{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:1px 6px;border-radius:6px;margin-right:2px;border:1px solid var(--line)}
.ia-tag-fact{background:var(--accent-soft);color:var(--ink)}
.ia-tag-est{background:color-mix(in srgb, var(--accent2) 14%, var(--card));color:var(--ink)}
.ia-tag-adv{background:color-mix(in srgb, var(--ink) 8%, var(--card));color:var(--ink)}
.ia-facts{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:4px 0 6px;font-size:.82rem}
.ia-facts dt{color:var(--sub)}
.ia-facts dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.ia-calc{margin:4px 0 6px;font-size:.8rem;font-variant-numeric:tabular-nums;background:var(--card);border:1px dashed var(--line);border-radius:8px;padding:6px 8px;white-space:pre-wrap}
.ia-list{margin:4px 0 6px;padding-left:18px}
.ia-list li{margin:2px 0}
.ia-note{margin:6px 0 0;font-size:.76rem;color:var(--sub)}
.ia-links{margin:6px 0 0;font-size:.78rem}
.ia-links a{color:var(--accent);text-decoration:underline}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ia-links a{color:var(--ink)} }
:root[data-theme="dark"] .ia-links a{color:var(--ink)}
.ia-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ia-act{min-height:44px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}
.ia-act-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.ia-act:disabled{opacity:.5;cursor:default}
.ia-attente .ia-p{animation:iaPulse 1.2s ease-in-out infinite}
@keyframes iaPulse{50%{opacity:.35}}
.ia-sugg{display:flex;gap:6px;overflow-x:auto;padding:8px 12px 0;scrollbar-width:none}
.ia-sugg .ia-chip{flex-shrink:0;min-height:40px;font-size:.78rem}
.ia-form{display:flex;gap:8px;padding:10px 12px 12px}
.ia-form input{flex:1;min-width:0;min-height:44px;padding:9px 14px;border-radius:22px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:16px}
.ia-envoyer{min-height:44px;padding:9px 16px;border-radius:22px;border:none;background:var(--accent);color:var(--accent-ink);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}
.ia-occupe .ia-envoyer{opacity:.5}

/* ---- bouton et panneau flottants ---- */
.ia-bouton{position:fixed;left:16px;bottom:16px;z-index:45;display:flex;align-items:center;gap:8px;min-height:52px;padding:0 18px 0 15px;border-radius:26px;border:none;background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:600;font-size:.88rem;cursor:pointer;box-shadow:0 6px 18px color-mix(in srgb, var(--ink) 22%, transparent);transition:transform .15s, bottom .25s}
.ia-bouton:hover{transform:translateY(-2px)}
.ia-bouton[hidden]{display:none}
body.has-cookiebar .ia-bouton{bottom:130px}
.ia-panneau{position:fixed;z-index:60;left:8px;right:8px;bottom:8px;top:auto;max-height:calc(100dvh - 16px);height:calc(100dvh - 16px);display:flex;flex-direction:column}
.ia-panneau[hidden]{display:none}
.ia-panneau .ia-chat{flex:1;box-shadow:0 16px 44px color-mix(in srgb, var(--ink) 22%, transparent)}
.ia-panneau.ia-ouvert{animation:iaEntree .2s ease}
@keyframes iaEntree{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (min-width:561px){
  .ia-panneau{left:16px;right:auto;bottom:80px;width:380px;height:min(600px, calc(100dvh - 96px))}
  body.has-cookiebar .ia-panneau{bottom:194px;height:min(600px, calc(100dvh - 210px))}
}
@media (prefers-reduced-motion: reduce){
  .ia-panneau.ia-ouvert, .ia-attente .ia-p{animation:none}
  .ia-bouton, .ia-agent, .ia-chip{transition:none}
}
