.bsai-root, .bsai-root * { box-sizing: border-box; }
.bsai-root {
  --bsai-primary:#20e3c2;
  --bsai-secondary:#5b8cff;
  --bsai-bg:#030914;
  --bsai-panel:#071426;
  position:fixed;
  z-index:2147483000;
  bottom:22px;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.bsai-position-right{right:22px}
.bsai-position-left{left:22px}
.bsai-toggle{
  width:62px;height:62px;border:0;border-radius:50%;cursor:pointer;font-size:27px;
  background:linear-gradient(135deg,var(--bsai-primary),var(--bsai-secondary));
  box-shadow:0 16px 40px rgba(0,0,0,.38),0 0 0 7px rgba(32,227,194,.08);
}
.bsai-window{
  position:absolute;bottom:76px;width:min(410px,calc(100vw - 24px));height:min(690px,calc(100vh - 110px));
  display:none;grid-template-rows:auto 1fr auto auto auto auto;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);border-radius:25px;color:#f7fbff;
  background:linear-gradient(180deg,#06101d,#030814);box-shadow:0 34px 90px rgba(0,0,0,.58);
}
.bsai-position-right .bsai-window{right:0}
.bsai-position-left .bsai-window{left:0}
.bsai-window.is-open{display:grid}
.bsai-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;background:linear-gradient(135deg,#07101d,#0b6f68)}
.bsai-brand{display:flex;align-items:center;gap:11px;min-width:0}
.bsai-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#11334d;font-size:23px}
.bsai-brand strong{display:block;font-size:15px;line-height:1.2}
.bsai-brand small{display:flex;align-items:center;gap:6px;margin-top:5px;color:#d5e2ed}
.bsai-brand small i{width:9px;height:9px;border-radius:50%;background:#32e48f;box-shadow:0 0 0 4px rgba(50,228,143,.12)}
.bsai-close{width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.13);color:#fff;font-size:28px;cursor:pointer}
.bsai-messages{padding:16px;overflow:auto;background:linear-gradient(180deg,#071426,#030914)}
.bsai-message{width:fit-content;max-width:88%;margin:0 0 12px;padding:13px 14px;border:1px solid rgba(255,255,255,.10);border-radius:17px;line-height:1.48;font-size:14px}
.bsai-bot{background:#09172a;border-bottom-left-radius:5px}
.bsai-user{margin-left:auto;background:linear-gradient(135deg,var(--bsai-primary),var(--bsai-secondary));color:#04121c;border:0;border-bottom-right-radius:5px}
.bsai-error{background:#3b1018;border-color:#7f2636}
.bsai-typing{display:flex;gap:5px;padding:10px 12px;width:fit-content;border-radius:15px;background:#09172a}
.bsai-typing[hidden]{display:none}
.bsai-typing span{width:7px;height:7px;border-radius:50%;background:#9eb1c4;animation:bsaiDot 1s infinite}
.bsai-typing span:nth-child(2){animation-delay:.15s}.bsai-typing span:nth-child(3){animation-delay:.3s}
@keyframes bsaiDot{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
.bsai-quick-actions{display:flex;gap:8px;padding:12px 14px;overflow-x:auto;border-top:1px solid rgba(255,255,255,.07);background:#06101d}
.bsai-quick-actions button{flex:0 0 auto;padding:9px 12px;border:1px solid rgba(32,227,194,.35);border-radius:999px;background:#071426;color:#fff;font-weight:700;cursor:pointer}
.bsai-voice{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid rgba(255,255,255,.07);background:#06101d}
.bsai-status{color:#96d8ff;font-size:11px;line-height:1.3}
.bsai-voice-buttons{display:flex;gap:7px}
.bsai-voice-buttons button{width:40px;height:40px;border:1px solid rgba(32,227,194,.3);border-radius:12px;background:#08172a;color:#fff;cursor:pointer;font-size:17px}
.bsai-voice-buttons button.is-active{background:linear-gradient(135deg,var(--bsai-primary),var(--bsai-secondary));color:#04121c}
.bsai-voice-buttons button.is-listening{background:linear-gradient(135deg,#ff6767,#ff9f43);animation:bsaiPulse 1s infinite}
.bsai-voice-buttons button:disabled{opacity:.4;cursor:not-allowed}
@keyframes bsaiPulse{50%{box-shadow:0 0 0 8px rgba(255,103,103,0)}}
.bsai-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 14px 14px;background:#06101d}
.bsai-form input{min-width:0;height:50px;padding:0 14px;border:1px solid rgba(32,227,194,.28);border-radius:14px;background:#071426;color:#fff;outline:none}
.bsai-form button{min-width:88px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--bsai-primary),var(--bsai-secondary));color:#04121c;font-weight:900;cursor:pointer}
.bsai-window footer{padding:9px;text-align:center;color:#8093a8;background:#030914;font-size:11px}
@media(max-width:600px){
  .bsai-root{right:12px!important;left:12px!important;bottom:12px}
  .bsai-toggle{margin-left:auto;display:block}
  .bsai-position-left .bsai-toggle{margin-left:0}
  .bsai-window{right:0!important;left:0!important;width:100%;height:min(720px,calc(100vh - 92px));bottom:72px}
}


/* BigSolutions AI Assistant v1.1 · Derivación a WhatsApp */
.bsai-handoff{
  display:grid;
  gap:12px;
  margin:2px 0 14px;
  padding:15px;
  border:1px solid rgba(37,211,102,.34);
  border-radius:17px;
  background:linear-gradient(145deg,rgba(37,211,102,.12),rgba(91,140,255,.08));
  box-shadow:0 14px 32px rgba(0,0,0,.20);
}
.bsai-handoff-copy strong{
  display:block;
  margin-bottom:4px;
  color:#f5fff9;
  font-size:14px;
}
.bsai-handoff-copy span{
  display:block;
  color:#b8c9d9;
  font-size:12px;
  line-height:1.45;
}
.bsai-handoff-button{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:11px 15px;
  border-radius:13px;
  color:#04130c !important;
  background:linear-gradient(135deg,#25d366,#80f0a8);
  font-size:13px;
  font-weight:900;
  text-decoration:none !important;
  box-shadow:0 12px 26px rgba(37,211,102,.18);
}
.bsai-handoff-button:hover{
  transform:translateY(-1px);
}
