/* Asistente de ayuda flotante (solo en la pantalla de login) */
/* z-index por debajo de modales (500) y overlays (8000+): el asistente no los tapa */
#helpbot{position:fixed;right:20px;bottom:20px;z-index:450;font-family:'Inter',Arial,sans-serif;}
#helpbot[hidden]{display:none;}

.hb-launcher{
  display:flex;align-items:center;gap:10px;
  background:#e91e4a;color:#fff;border:none;border-radius:999px;
  padding:12px 20px 12px 14px;cursor:pointer;
  font:700 13px 'Montserrat',Arial,sans-serif;
  box-shadow:0 8px 24px rgba(233,30,74,0.35);
  transition:transform .15s,box-shadow .15s,background .15s;
}
.hb-launcher:hover{transform:translateY(-2px);background:#d01844;box-shadow:0 12px 28px rgba(233,30,74,0.4);}
.hb-launcher:focus-visible,.hb-opt:focus-visible,.hb-close:focus-visible{outline:3px solid #0ea5e9;outline-offset:2px;}
.hb-launcher svg{width:22px;height:22px;flex:none;}
.hb-launcher.pulse{animation:hbPulse 2.2s ease-out 2;}
@keyframes hbPulse{0%{box-shadow:0 0 0 0 rgba(233,30,74,.55),0 8px 24px rgba(233,30,74,.35);}70%{box-shadow:0 0 0 16px rgba(233,30,74,0),0 8px 24px rgba(233,30,74,.35);}100%{box-shadow:0 0 0 0 rgba(233,30,74,0),0 8px 24px rgba(233,30,74,.35);}}

.hb-panel{
  position:absolute;right:0;bottom:62px;
  width:360px;max-width:calc(100vw - 32px);
  height:500px;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);
  display:none;flex-direction:column;overflow:hidden;
  background:#fff;border:1px solid #e2e8f0;border-radius:16px;
  box-shadow:0 20px 50px rgba(15,23,42,0.2);
}
.hb-panel.open{display:flex;animation:hbIn .18s ease;}
@keyframes hbIn{from{opacity:0;transform:translateY(10px) scale(.98);}to{opacity:1;transform:none;}}

.hb-head{
  position:relative;display:flex;align-items:center;gap:10px;
  padding:14px 14px 12px;background:#fff;border-bottom:1px solid #e2e8f0;
}
.hb-head::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#e91e4a,#f08330 60%,#94a3b8);}
.hb-avatar{width:36px;height:36px;border-radius:50%;background:#fdecef;display:flex;align-items:center;justify-content:center;flex:none;}
.hb-avatar svg{width:20px;height:20px;}
.hb-title{font:800 14px 'Montserrat',Arial,sans-serif;color:#1e293b;line-height:1.2;}
.hb-sub{font-size:11px;color:#64748b;}
.hb-close{margin-left:auto;background:none;border:none;color:#64748b;cursor:pointer;width:32px;height:32px;border-radius:8px;font-size:18px;line-height:1;}
.hb-close:hover{background:#f1f5f9;color:#1e293b;}

.hb-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#f8fafc;scroll-behavior:smooth;}
.hb-msg{max-width:88%;padding:10px 12px;border-radius:14px;font-size:13.5px;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere;}
.hb-bot{align-self:flex-start;background:#fff;border:1px solid #e2e8f0;color:#1e293b;border-bottom-left-radius:4px;}
.hb-user{align-self:flex-end;background:#e91e4a;color:#fff;border-bottom-right-radius:4px;}

.hb-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;border-bottom-left-radius:4px;}
.hb-typing i{width:6px;height:6px;border-radius:50%;background:#94a3b8;animation:hbDot 1s infinite ease-in-out;}
.hb-typing i:nth-child(2){animation-delay:.15s;}
.hb-typing i:nth-child(3){animation-delay:.3s;}
@keyframes hbDot{0%,80%,100%{opacity:.3;transform:translateY(0);}40%{opacity:1;transform:translateY(-3px);}}

.hb-opts{align-self:stretch;display:flex;flex-direction:column;gap:8px;margin-top:2px;}
.hb-opt{
  display:block;width:100%;text-align:left;text-decoration:none;cursor:pointer;
  background:#fff;color:#e91e4a;border:1.5px solid #e91e4a;border-radius:12px;
  padding:10px 12px;font:600 13px 'Inter',Arial,sans-serif;line-height:1.3;
  transition:background .12s,color .12s;
}
.hb-opt:hover{background:#e91e4a;color:#fff;}
.hb-opt.wa{color:#15803d;border-color:#16a34a;}
.hb-opt.wa:hover{background:#16a34a;color:#fff;}
.hb-opt.mail{color:#1d4ed8;border-color:#3b82f6;}
.hb-opt.mail:hover{background:#2563eb;color:#fff;}
.hb-opt.ghost{color:#475569;border-color:#cbd5e1;font-weight:500;}
.hb-opt.ghost:hover{background:#f1f5f9;color:#1e293b;}

@media(max-width:480px){
  #helpbot{right:12px;bottom:12px;}
  .hb-launcher{padding:13px;}
  .hb-launcher .hb-label{display:none;}
  .hb-panel{bottom:60px;height:70vh;height:70dvh;}
}
/* Dentro de la app en celular: por encima del menú inferior (60px + zona segura del iPhone) */
@media(max-width:680px){
  #helpbot.in-app{bottom:calc(72px + env(safe-area-inset-bottom,0px));}
  #helpbot.in-app .hb-panel{height:70vh;height:70dvh;max-height:calc(100vh - 200px);max-height:calc(100dvh - 200px);}
}
@media(prefers-reduced-motion:reduce){
  .hb-launcher.pulse,.hb-panel.open,.hb-typing i{animation:none;}
  .hb-msgs{scroll-behavior:auto;}
}
