/* Simulateur (Tests), calé sur docs/maquettes/maquette-tests.png. */
.simulator{display:grid;gap:16px}
.sim-actions{display:flex;gap:8px;flex-wrap:wrap}
.sim-options{margin:0;padding:16px 20px}
.sim-option-row .field{margin:0}
.sim-mode-label strong{font-size:14px}
.sim-recette{margin-top:14px}
.sim-steps{margin:0;padding:12px 16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sim-step{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-weight:700;font-size:13px;white-space:nowrap}
.sim-step b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--line);color:var(--ink-2);font-size:11px}
.sim-step.done{background:var(--soft);color:var(--primary)}
.sim-step.active{background:var(--action);color:var(--action-ink)}
.sim-step.active b{background:rgba(255,255,255,.25);color:var(--action-ink)}
.sim-tag{font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--line);color:var(--ink-2)}
.sim-tag-start{background:var(--ok-bg);color:var(--ok)}
.sim-tag-unreachable{background:var(--warn-bg);color:var(--warn)}
.sim-step.unreachable{border:1px dashed var(--line-2);color:var(--muted);background:transparent}
.sim-step.active .sim-tag{background:rgba(255,255,255,.25);color:var(--action-ink)}
.sim-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;align-items:start}
.sim-chat{margin:0;padding:0;display:flex;flex-direction:column;min-height:520px}
.sim-chat .card-head h3{margin:0}
.sim-messages{flex:1;overflow:auto;padding:18px 20px;display:flex;flex-direction:column;gap:12px;max-height:520px}
.sim-msg{display:flex;gap:10px;align-items:flex-start;max-width:86%}
.sim-msg-user{align-self:flex-end;flex-direction:row-reverse}
.sim-msg-info{align-self:center;max-width:100%}
.sim-avatar{flex:none;min-width:30px;height:30px;padding:0 6px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;background:var(--soft);color:var(--primary)}
.sim-msg-user .sim-avatar{background:var(--surface-2);color:var(--ink-2);border-radius:15px}
.sim-bubble{padding:10px 14px;border-radius:14px;background:var(--soft);line-height:1.45}
.sim-msg-user .sim-bubble{background:var(--surface-2);border:1px solid var(--line)}
.sim-msg-info .sim-bubble{background:var(--warn-bg);color:var(--warn)}
.sim-typing .sim-bubble{color:var(--muted);letter-spacing:2px}
.sim-input{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}
.sim-input input{flex:1}
.sim-state{margin:0;background:#141024;border-color:#141024;color:#f3f0fb;box-shadow:0 8px 30px rgba(20,16,36,.25)}
.sim-state .card-head{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:14px;margin-bottom:14px}
.sim-state h3{color:#fff;margin:0}.sim-state .card-head small{color:#a9a2c2}
.sim-state .card-head>.ic{color:#34d399;width:22px;height:22px}
.sim-facts{display:grid;gap:4px;margin:0}
.sim-facts dt{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8f88a8;margin-top:10px}
.sim-facts dd{margin:0;font-weight:600;font-size:14px;word-break:break-word}
.sim-facts code{background:rgba(255,255,255,.08);color:#d9ccff}
.sim-accent{color:#34d399}
.sim-dim{color:#8f88a8;font-weight:400}
.sim-events{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px;font-size:12.5px;font-weight:500}
.sim-events li{position:relative;padding-left:14px}
.sim-events li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:#34d399}
.sim-events li.tech::before{background:#6d6690}
.sim-events li span{color:#8f88a8}
.sim-state .badge{font-size:10.5px}
.sim-state a{color:#c4b5fd}
@media(max-width:1200px){.sim-grid{grid-template-columns:1fr}}
.sim-step b[hidden]{display:none}
/* Info-bulle des étapes (raison d'inaccessibilité, départ) */
.sim-step[data-tip]{position:relative;cursor:help}
.sim-step[data-tip]:hover::after,.sim-step[data-tip]:focus::after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 8px);z-index:20;width:max-content;max-width:320px;
  white-space:normal;padding:9px 12px;border-radius:10px;background:var(--ink);color:var(--surface);font-size:12.5px;font-weight:500;line-height:1.45;box-shadow:0 10px 24px rgba(22,17,42,.2)}
.sim-step[data-tip]:hover::before,.sim-step[data-tip]:focus::before{content:"";position:absolute;left:18px;top:calc(100% + 3px);border:5px solid transparent;border-bottom-color:var(--ink);z-index:20}
.sim-step[data-tip]:focus{outline:2px solid var(--primary);outline-offset:2px}
/* Parcours testé : sélecteur à sa taille, aide discrète sous la ligne. */
.sim-option-row [data-sim-flow]{align-self:flex-start;justify-self:start;width:max-content}
.sim-option-row .field .help{max-width:260px;font-size:11.5px;line-height:1.35}
.sim-option-row{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}
.segmented button.warn{color:var(--warn)}
/* Actions du test dans l'en-tête du bloc Conversation ; historique en bouton à icône à côté d'« Envoyer ». */
.sim-chat .card-head{padding:18px 20px 12px;border-bottom:1px solid var(--line);align-items:center;gap:12px;flex-wrap:wrap}
.sim-chat .sim-actions{align-items:center;gap:8px;margin-left:auto}
.sim-chat .sim-timer{margin-right:4px}
.sim-input .icon-btn{width:42px;min-width:42px;padding:0;justify-content:center}
.sim-input .icon-btn i.ic{font-size:15px}
