/* Asistente — burbuja flotante + panel de chat. Claro/oscuro por variables del tema. */
.ea-asis-fab{
  position:fixed; right:22px; bottom:22px; z-index:1200;
  width:56px; height:56px; border-radius:50%; border:none; cursor:pointer;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff; font-size:22px; box-shadow:0 8px 24px rgba(0,0,0,.28);
  display:flex; align-items:center; justify-content:center; transition:transform .15s ease;
}
.ea-asis-fab:hover{ transform:translateY(-2px) scale(1.03); }
.ea-asis-fab.oculto{ display:none; }

.ea-asis-panel{
  position:fixed; right:22px; bottom:22px; z-index:1201;
  width:min(400px,calc(100vw - 32px)); height:min(620px,calc(100vh - 40px));
  background:var(--card); color:var(--text);
  border:1px solid var(--border); border-radius:16px; box-shadow:0 18px 50px rgba(0,0,0,.35);
  display:none; flex-direction:column; overflow:hidden;
}
.ea-asis-panel.abierto{ display:flex; }

.ea-asis-head{
  display:flex; align-items:center; gap:10px; padding:12px 14px;
  background:linear-gradient(135deg,var(--primary),var(--accent)); color:#fff;
}
.ea-asis-head .ea-asis-title{ font-family:'Space Grotesk',system-ui,sans-serif; font-weight:600; font-size:15px; flex:1; }
.ea-asis-head button{ background:transparent; border:none; color:#fff; cursor:pointer; font-size:15px; opacity:.9; padding:4px 6px; border-radius:6px; }
.ea-asis-head button:hover{ background:rgba(255,255,255,.18); opacity:1; }

.ea-asis-body{ flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:10px; background:var(--bg); }
.ea-asis-msg{ max-width:85%; padding:9px 12px; border-radius:12px; font-size:14px; line-height:1.45; white-space:pre-wrap; word-wrap:break-word; }
.ea-asis-msg.user{ align-self:flex-end; background:var(--primary); color:var(--primary-fg,#fff); border-bottom-right-radius:4px; }
.ea-asis-msg.bot{ align-self:flex-start; background:var(--card); border:1px solid var(--border); border-bottom-left-radius:4px; }
.ea-asis-msg.err{ align-self:flex-start; background:#fdecea; color:#611a15; border:1px solid #f5c6c3; }
:root[data-theme="dark"] .ea-asis-msg.err{ background:#3b1a17; color:#f5c6c3; border-color:#7a2e28; }

.ea-asis-chips{ display:flex; flex-wrap:wrap; gap:6px; align-self:flex-start; }
.ea-asis-chip{ font-size:12px; padding:3px 9px; border-radius:20px; background:var(--accent-soft,var(--primary-soft)); color:var(--text); border:1px solid var(--border); }
.ea-asis-chip.ok::before{ content:"✓ "; color:#1a8a4a; }
.ea-asis-chip.bad::before{ content:"⚠ "; color:#c23; }

.ea-asis-conf{ display:flex; gap:8px; align-self:flex-start; margin-top:2px; }
.ea-asis-conf button{ border:none; border-radius:8px; padding:7px 16px; font-size:13px; cursor:pointer; font-weight:600; }
.ea-asis-si{ background:var(--primary); color:#fff; }
.ea-asis-no{ background:var(--card); color:var(--text); border:1px solid var(--border) !important; }

.ea-asis-typing{ align-self:flex-start; color:var(--muted); font-size:13px; font-style:italic; padding:4px 8px; }
.ea-asis-typing span{ animation:eaBlink 1.2s infinite; }
@keyframes eaBlink{ 0%,60%,100%{opacity:.3} 30%{opacity:1} }

.ea-asis-foot{ border-top:1px solid var(--border); padding:10px; background:var(--card); }
.ea-asis-adj{ font-size:12px; color:var(--muted); padding:0 2px 6px; display:none; align-items:center; gap:6px; }
.ea-asis-adj.on{ display:flex; }
.ea-asis-adj button{ background:none; border:none; color:var(--accent); cursor:pointer; font-size:13px; }
.ea-asis-inrow{ display:flex; align-items:flex-end; gap:8px; }
.ea-asis-inrow textarea{
  flex:1; resize:none; max-height:120px; min-height:40px; padding:9px 12px; border-radius:10px;
  border:1px solid var(--border); background:var(--bg); color:var(--text); font-size:14px; font-family:inherit;
}
.ea-asis-inrow textarea:focus{ outline:none; border-color:var(--primary); box-shadow:0 0 0 3px var(--ring); }
.ea-asis-ico{ width:40px; height:40px; flex:none; border-radius:10px; border:1px solid var(--border); background:var(--bg); color:var(--text); cursor:pointer; font-size:15px; }
.ea-asis-ico:hover{ border-color:var(--primary); color:var(--primary); }
.ea-asis-send{ background:var(--primary); color:#fff; border-color:var(--primary); }
.ea-asis-send:hover{ color:#fff; opacity:.92; }
.ea-asis-mic.rec{ background:var(--accent); color:#fff; border-color:var(--accent); }
.ea-asis-uso{ font-size:11px; color:var(--muted); padding:4px 2px 0; text-align:right; }
