
/* ── El asistente (conversación) y el botón de ayuda ───────────────── */
#as-scrim{
  position:fixed; inset:0; z-index:99800; background:rgba(8,11,18,0.28);
  opacity:0; transition:opacity .22s ease;
  /* Cuando no se ve, no existe para el dedo: si no, esta cortina
     invisible se tragaría los toques de toda la app. */
  pointer-events:none;
}
#as-scrim.visible{ opacity:1; pointer-events:auto; }
#as-hoja{
  position:fixed; left:0; right:0; bottom:0; z-index:99810;
  display:flex; flex-direction:column;
  height:min(72vh, 560px);
  background:var(--bg-card,var(--p-gr100)); color:var(--text-main,var(--p-az14a));
  border-radius:20px 20px 0 0;
  box-shadow:0 -14px 44px rgba(8,11,18,0.30);
  transform:translateY(102%); transition:transform .26s cubic-bezier(.22,.9,.35,1);
}
#as-hoja{ visibility:hidden; pointer-events:none; }
#as-hoja.abierta{ transform:translateY(0); visibility:visible; pointer-events:auto; }
#as-cab{
  flex:0 0 auto; display:flex; align-items:center; gap:10px;
  padding:13px 15px;
  background-color:var(--fusion-cab-plano, var(--primary-btn,var(--p-az48)));
  background-image:var(--fusion-cab, none);
  color:var(--p-gr100); border-radius:20px 20px 0 0;
}
#as-cab *{ color:var(--p-gr100) !important; }
#as-cuerpo{
  flex:1 1 auto; overflow-y:auto; padding:14px 14px 6px;
  background:var(--bg-app, var(--p-az97a));
  display:flex; flex-direction:column; gap:9px;
}
body.dark-mode #as-cuerpo{ background:var(--tema-tinte-osc, var(--p-az08)); }
.as-bur{
  max-width:86%; padding:10px 13px; border-radius:15px;
  font-size:0.86rem; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere;
}
.as-bot{
  align-self:flex-start; border-bottom-left-radius:5px;
  background:var(--gama-f1, var(--p-az95a)); color:var(--gama-t3, var(--text-main,var(--p-az14a)));
  border:1px solid var(--tema-borde, var(--border,var(--p-az91)));
}
.as-yo{
  align-self:flex-end; border-bottom-right-radius:5px;
  background-color:var(--fusion-plano, var(--primary-btn,var(--p-az48)));
  background-image:var(--fusion, none); color:var(--p-gr100);
}
.as-yo *{ color:var(--p-gr100) !important; }
#as-pie{
  flex:0 0 auto; padding:10px 14px calc(13px + env(safe-area-inset-bottom));
  border-top:1px solid var(--tema-borde, var(--border,var(--p-az91)));
  background:var(--bg-card,var(--p-gr100));
}
.as-op{
  display:block; width:100%; margin-top:7px; text-align:left;
  border-radius:11px; padding:11px 13px;
  font-family:inherit; font-size:0.84rem; font-weight:800; cursor:pointer;
  background:transparent; border:1.5px solid var(--tema-borde, var(--border,var(--p-az91)));
  color:var(--primary-txt, var(--primary,var(--p-az48)));
}
.as-op.principal{
  background-color:var(--fusion-plano, var(--primary-btn,var(--p-az48)));
  background-image:var(--fusion, none); color:var(--p-gr100); border-color:transparent;
}
.as-op.principal *{ color:var(--p-gr100) !important; }
.as-op.suave{ border:none; color:var(--text-muted,var(--p-az41)); font-weight:700; text-align:center; }
#as-escribe{ display:flex; gap:8px; align-items:flex-end; }
#as-escribe textarea{
  flex:1; min-height:44px; max-height:120px; resize:vertical;
  border-radius:11px; border:1.5px solid var(--tema-borde, var(--border,var(--p-az91)));
  padding:11px 12px; font-family:inherit; font-size:0.86rem;
  background:var(--bg-card,var(--p-gr100)); color:var(--text-main,var(--p-az14a)); box-sizing:border-box;
}
#as-chip{
  position:fixed; right:14px; z-index:99790;
  bottom:calc(env(safe-area-inset-bottom) + 74px);
  display:none; align-items:center; gap:8px;
  background-color:var(--fusion-plano, var(--primary-btn,var(--p-az48)));
  background-image:var(--fusion, none);
  color:var(--p-gr100); border:none; border-radius:999px;
  padding:10px 15px; font-weight:800; font-size:0.8rem;
  font-family:inherit; cursor:pointer;
  box-shadow:0 8px 22px rgba(8,11,18,0.32);
}
#as-chip.visible{ display:inline-flex; }
#as-chip *{ color:var(--p-gr100) !important; }
#gd-ayuda-flota{
  position:fixed; right:14px; z-index:99700;
  bottom:calc(env(safe-area-inset-bottom) + 74px);
  width:50px; height:50px; border-radius:50%;
  background-color:var(--fusion-plano, var(--primary-btn,var(--p-az48)));
  background-image:var(--fusion, none);
  color:var(--p-gr100); border:2px solid rgba(255,255,255,0.32);
  font-size:1.28rem; font-weight:900; font-family:inherit;
  cursor:pointer; box-shadow:0 8px 22px rgba(8,11,18,0.30);
  display:flex; align-items:center; justify-content:center;
  opacity:0.92; transition:opacity .2s, transform .2s;
}
#gd-ayuda-flota:hover,#gd-ayuda-flota:focus{ opacity:1; transform:scale(1.05); }
#gd-ayuda-flota *{ color:var(--p-gr100) !important; }
#gd-ayuda-menu{
  position:fixed; right:14px; z-index:99710;
  bottom:calc(env(safe-area-inset-bottom) + 132px);
  width:min(268px, calc(100vw - 28px));
  background:var(--bg-card,var(--p-gr100)); color:var(--text-main,var(--p-az14a));
  border:1.5px solid var(--tema-borde, var(--border,var(--p-az91)));
  border-radius:15px; box-shadow:0 14px 40px rgba(8,11,18,0.30);
  padding:7px; display:none;
}
#gd-ayuda-menu.abierto{ display:block; }
#gd-ayuda-menu button{
  display:block; width:100%; text-align:left;
  background:transparent; border:none; border-radius:10px;
  padding:11px 12px; font-family:inherit; font-size:0.85rem; font-weight:700;
  color:var(--text-main,var(--p-az14a)); cursor:pointer; line-height:1.35;
}
#gd-ayuda-menu button:hover{ background:var(--gama-f1, rgba(127,127,127,0.10)); }
#gd-ayuda-menu button small{ display:block; font-weight:500; font-size:0.72rem; color:var(--text-muted,var(--p-az41)); margin-top:2px; }
#gd-ayuda-menu .sep{ height:1px; background:var(--border,var(--p-az91)); margin:5px 8px; }
body.as-abierto #gd-ayuda-flota,body.as-abierto #gd-ayuda-menu{ display:none; }
/* Con el botón de ayuda puesto, la página deja un poco más de aire abajo
   para que nunca tape lo último de la pantalla. */
body.gd-ayuda-on{ padding-bottom:122px !important; }
@media(min-width:768px){
  #as-chip,#gd-ayuda-flota{ bottom:calc(env(safe-area-inset-bottom) + 20px); }
  #gd-ayuda-menu{ bottom:calc(env(safe-area-inset-bottom) + 78px); }
  #as-hoja{ left:auto; right:20px; bottom:20px; width:400px; border-radius:20px; height:min(76vh,600px); }
  #as-cab{ border-radius:20px 20px 0 0; }
}
