/* Module E — recherche en langage naturel, assistant, radar d'intention, agents, enrichissement manuel, réglages avancés.
   Jetons de couleur du thème (clair et sombre) uniquement ; tout tient à 375 px de large. */

/* ------------------------------------------------------------ recherche */
.ia-requete { gap: 10px; grid-template-columns: minmax(0, 1fr) }
.ia-requete > *, .bloc > .ia-filtres, .bloc > details, .ia-edition fieldset > * { min-width: 0 }
.ia-edition .cases { min-width: 0 }
.ia-requete-ligne { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: stretch }
.ia-requete textarea { min-height: 56px; font-size: 17px; resize: vertical }
.ia-requete-ligne .btn { min-width: 110px }
@media (max-width: 560px) { .ia-requete-ligne { grid-template-columns: minmax(0, 1fr) } .ia-requete-ligne .btn { width: 100% } .ia-requete textarea { min-height: 84px } }
.ia-exemples { display: flex; flex-wrap: wrap; gap: 6px; align-items: center }
.ia-exemples .puce { text-decoration: none; padding: 4px 10px; font-size: 13px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
.ia-exemples .puce:hover { background: var(--accent); color: var(--sur-accent) }
.ia-filtres { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px }
.ia-filtre { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--accent); background: var(--accent-soft); border-radius: 999px;
  padding: 2px 4px 2px 10px; font-size: 14px; max-width: 100%; min-width: 0 }
.ia-filtre > span { overflow-wrap: anywhere }
.ia-filtre b { font-weight: 600; color: var(--accent) }
.ia-filtre a { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; text-decoration: none; color: var(--ink); font-size: 18px; line-height: 1; flex: none }
.ia-filtre a:hover, .ia-filtre a:focus-visible { background: var(--card) }
.ia-compris { margin: 8px 0 0; padding-left: 18px; display: grid; gap: 4px; font-size: 14.5px }
.ia-note { font-size: 13.5px; color: var(--ink); background: var(--info-soft); border-left: 3px solid var(--info); padding: 7px 10px; border-radius: 0 6px 6px 0 }
.ia-edition > form { margin-top: 12px }
.ia-edition fieldset .cases { gap: 6px 14px }
.ia-edition fieldset details { margin-top: 2px }
.ia-tri { display: inline-flex; gap: 6px; align-items: center }
.ia-resultat { display: grid; gap: 0 }
.ia-resultat .lead-ligne { border-bottom-left-radius: 0; border-bottom-right-radius: 0 }
.ia-resultat .lead-ligne:only-child { border-radius: var(--rayon) }
.ia-preuves { list-style: none; margin: 0; padding: 7px 14px 9px 80px; display: grid; gap: 3px; font-size: 13px; color: var(--muted);
  background: var(--card); border: 1px solid var(--line); border-top: 0; border-radius: 0 0 var(--rayon) var(--rayon) }
.ia-preuves li { overflow-wrap: anywhere }
.ia-preuves li::before { content: "✓ "; color: var(--ok); font-weight: 700 }
@media (max-width: 600px) { .ia-preuves { padding-left: 14px } }
.ia-enregistrer form { margin-top: 8px }
.ia-enregistrer input[type="text"] { flex: 1 1 200px; width: auto }
.ia-enregistrees { list-style: none; margin: 0; padding: 0 }

/* ------------------------------------------------------------ assistant */
.ia-rapides { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px }
.ia-rapides form { display: contents }
.ia-rapides .btn { width: 100%; justify-content: flex-start; text-align: left; white-space: normal; min-height: 40px }
.ia-rapides.large { grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)) }
.ia-question { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center }
.ia-question + .ia-question { margin-top: 2px }
.ia-zone { display: grid; gap: 10px; min-width: 0 }
.ia-zone.attente { opacity: .6 }
.ia-reponse { display: grid; gap: 8px; min-width: 0 }
.ia-posee { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; justify-content: space-between }
.ia-q { font-weight: 700; font-family: var(--f-display); font-stretch: 90% }
.ia-texte { font-size: 15.5px; line-height: 1.5; overflow-wrap: anywhere }
.ia-points { margin: 0; padding-left: 22px; display: grid; gap: 6px; font-size: 14px }
.ia-points li { overflow-wrap: anywhere }
.ia-points li > span:first-child { display: block }
.ia-points .origine { display: block }
.ia-anciennes { border-top: 1px solid var(--line); padding-top: 8px }
.ia-anciennes .ia-reponse { border-top: 1px dashed var(--line); padding-top: 10px; margin-top: 10px }
.ia-choix { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px }
.ia-choix li { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline }
/* Ordre des sections sur téléphone : voir app.css (fiche lead) */

/* ------------------------------------------------------------ radar */
.ia-compteurs .kpi b { font-size: 26px }
@media (max-width: 600px) {
  .ia-compteurs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px }
  .ia-compteurs .kpi { padding: 8px 10px; min-width: 0 }
  .ia-compteurs .kpi b { font-size: 21px }
  .ia-compteurs .kpi span { font-size: 12px; line-height: 1.25 }
}
.ia-fil { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px }
.ia-evt { display: grid; grid-template-columns: 116px minmax(0, 1fr) auto; gap: 4px 12px; align-items: start; padding: 10px 12px;
  border: 1px solid var(--line); border-left: 4px solid var(--froid); border-radius: 8px; background: var(--card) }
.ia-evt[data-type="chaud"] { border-left-color: var(--chaud) }
.ia-evt[data-type="intention"] { border-left-color: var(--tiede) }
.ia-evt[data-type="audit"] { border-left-color: var(--accent) }
.ia-evt[data-type="reponse"] { border-left-color: var(--info) }
.ia-evt[data-type="alerte"] { border-left-color: var(--erreur) }
.ia-evt[data-niveau="urgent"] { background: var(--chaud-soft) }
.ia-evt-type { font: 600 12px/1.6 var(--f-body); letter-spacing: .05em; text-transform: uppercase; color: var(--muted) }
.ia-evt-corps { display: grid; gap: 2px; min-width: 0 }
.ia-evt-corps a { color: var(--ink); text-decoration: none }
.ia-evt-corps a:hover strong { text-decoration: underline }
.ia-evt-corps strong { overflow-wrap: anywhere }
.ia-evt-detail { font-size: 14px; color: var(--muted); overflow-wrap: anywhere }
.ia-evt time { white-space: nowrap }
.ia-evt.nouveau { box-shadow: 0 0 0 2px var(--accent) }
@media (prefers-reduced-motion: no-preference) { .ia-evt.nouveau { animation: ia-arrivee 1.2s ease } }
@keyframes ia-arrivee { from { background: var(--accent-soft) } to { background: var(--card) } }
@media (max-width: 600px) {
  .ia-evt { grid-template-columns: minmax(0, 1fr) auto }
  .ia-evt-corps { grid-column: 1 / -1; grid-row: 2 }
}
.ia-etat.erreur { color: var(--erreur) }

/* ------------------------------------------------------------ agents */
.ia-agents { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); gap: 18px; align-items: start }
.ia-agent.inactif { opacity: .78; border-style: dashed }
.kpi b.ia-kpi-texte { font-size: 20px; line-height: 1.25; padding-top: 6px }
.ia-compteurs-agent { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; font-size: 14.5px }
.ia-compteurs-agent b { font-weight: 600 }
.ia-resultat-tache { overflow-wrap: anywhere }
.ia-choix-mode { align-items: flex-start; font-weight: 400 }
.ia-choix-mode input { margin-top: 3px }

/* ------------------------------------------------------------ enrichissement manuel */
.ia-manuel details { border: 1px solid var(--line); border-radius: 8px; padding: 9px 12px; background: var(--card) }
.ia-manuel details[open] { border-color: var(--line-fort) }
.ia-manuel details > summary { padding: 2px 0 }
.ia-manuel details > form { margin-top: 12px }
.ia-erreur { display: block; color: var(--erreur); font-size: 13px; font-weight: 600 }
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: var(--erreur) }
.ia-traces li > span:last-child { overflow-wrap: anywhere }

/* ------------------------------------------------------------ réglages avancés */
.ia-sections-choix .champ { flex: 1 1 220px }
@media (max-width: 700px) { .ia-sections { display: none } }
@media (min-width: 701px) { .ia-sections-choix .champ:first-child { display: none } }
.ia-parametres { gap: 0 }
.ia-groupe { margin: 16px 0 4px; font-size: 15px; color: var(--accent) }
.ia-param { display: grid; gap: 5px; padding: 12px 0; border-top: 1px solid var(--line); min-width: 0 }
.ia-param:first-of-type { border-top: 0 }
.ia-param > label:not(.case) { font-weight: 600; font-size: 14.5px }
.ia-param.modifie { border-left: 3px solid var(--tiede); padding-left: 10px; margin-left: -13px }
.ia-param[hidden] { display: none }
.ia-param-info { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; font-size: 13px; min-width: 0 }
.ia-param-info code { font-size: 11.5px }
.ia-param-info .aide { flex-basis: 100% }
.ia-param-info .ia-erreur { flex-basis: 100% }
.ia-json { font: 13px/1.45 var(--f-data) }
.ia-couleur { display: inline-flex; gap: 10px; align-items: center }
.ia-couleur input[type="color"] { width: 54px; height: 38px; padding: 2px; border: 1px solid var(--line-fort); border-radius: 8px; background: var(--card) }
.ia-enregistrer-section { position: sticky; bottom: 0; background: var(--card); padding: 12px 0 4px; border-top: 1px solid var(--line); margin-top: 8px; z-index: 2 }
/* Colonne latérale étroite (bureau à fenêtre réduite) : questions et champ empilés */
@container (max-width: 300px) {
  .ia-rapides { grid-template-columns: minmax(0, 1fr) }
  .ia-question { grid-template-columns: minmax(0, 1fr) }
  .ia-question .btn { width: 100% }
}
