/* El asistente (public/asistente.js): botón flotante con la ardilla y el chat. Igual en todas las apps de la suite;
   toma los colores del tema (vidrio-nuezbit.css), así que se ve con el color de cada app. */
.asis-fab{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:30;width:58px;height:58px;border-radius:50%;border:1px solid var(--v-linea,var(--borde));
  background:linear-gradient(140deg,var(--marca),var(--marca-osc));box-shadow:0 10px 28px rgba(0,0,0,.22);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;
  transition:transform var(--e,170ms ease);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.asis-fab:hover{transform:scale(1.06)}
.asis-fab:focus-visible{outline:3px solid var(--acento);outline-offset:3px}
.asis-fab img{width:46px;height:46px;object-fit:contain;border-radius:50%}
.asis-ia{position:absolute;top:-3px;right:-3px;background:#fff;color:var(--marca-texto);font:800 10.5px/1 var(--fuente,inherit);letter-spacing:.3px;border-radius:9px;padding:3px 6px;box-shadow:0 2px 6px rgba(0,0,0,.18)}
body.enfocado .asis-fab,body.asis-abierto .asis-fab,body:has(.hoja-fondo) .asis-fab{display:none}

.asis{position:fixed;right:24px;bottom:24px;z-index:45;width:400px;max-width:calc(100vw - 32px);height:min(620px,calc(100vh - 48px));display:flex;flex-direction:column;
  background:var(--hueso);color:var(--tinta);border:1px solid var(--borde);border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.25);overflow:hidden}
.asis[hidden]{display:none}
.asis-cab{display:flex;align-items:center;gap:10px;padding:12px 10px 10px 14px;border-bottom:1px solid var(--borde)}
.asis-ava{width:36px;height:36px;border-radius:50%;object-fit:contain;background:var(--marca-suave)}
.asis-tit{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.asis-tit b{font-size:15.5px}
.asis-tit small{font-size:12.5px;color:var(--gris);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asis-btn{width:40px;height:40px;border:0;background:transparent;color:var(--gris);border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.asis-btn:hover{background:var(--gris-claro);color:var(--tinta)}
.asis svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.asis-cuerpo{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 16px 8px;display:flex;flex-direction:column;gap:12px;-webkit-overflow-scrolling:touch}
.asis-msg{max-width:88%;font-size:15px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;flex-shrink:0}
.asis-msg.ia{align-self:flex-start;background:var(--blanco);border:1px solid var(--borde);border-radius:4px 16px 16px 16px;padding:10px 13px}
.asis-msg.yo{align-self:flex-end;background:var(--marca);color:#fff;border-radius:16px 4px 16px 16px;padding:9px 13px}
.asis-msg.sis{align-self:center;max-width:94%;background:var(--alerta-claro);color:var(--alerta);font-size:13.5px;border-radius:12px;padding:9px 12px;text-align:center}
.asis-reintentar{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:0 2px}
.asis-pensando{display:flex;gap:5px;padding:14px 16px}
.asis-pensando i{width:7px;height:7px;border-radius:50%;background:var(--gris-suave);animation:asis-punto 1.1s infinite ease-in-out}
.asis-pensando i:nth-child(2){animation-delay:.15s}.asis-pensando i:nth-child(3){animation-delay:.3s}
@keyframes asis-punto{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.asis-pensando i{animation:none;opacity:.6}}

.asis-chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 8px}
.asis-chips:empty{display:none}
.asis-chip{border:1px solid var(--borde);background:var(--marca-suave);color:var(--marca-texto);font:inherit;font-size:13.5px;font-weight:600;border-radius:999px;padding:8px 12px;cursor:pointer;min-height:36px;text-align:left}
.asis-chip:hover{border-color:var(--acento)}
.asis-pie{display:flex;align-items:flex-end;gap:8px;padding:8px 12px 6px;border-top:1px solid var(--borde)}
.asis-pie textarea{flex:1;resize:none;border:1px solid var(--borde);background:var(--blanco);color:var(--tinta);border-radius:14px;padding:11px 13px;font:inherit;font-size:16px;line-height:1.35;max-height:120px;min-height:46px}
.asis-pie textarea:focus{outline:none;border-color:var(--acento);box-shadow:0 0 0 3px var(--marca-suave)}
.asis-enviar{width:46px;height:46px;flex-shrink:0;border:0;border-radius:14px;background:var(--marca);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.asis-enviar:disabled{opacity:.5;cursor:default}
.asis-nota{margin:0;padding:0 14px calc(10px + env(safe-area-inset-bottom));font-size:11.5px;color:var(--gris-suave);text-align:center}

@media(max-width:820px){
  .asis-fab{right:14px;bottom:calc(80px + env(safe-area-inset-bottom));width:54px;height:54px}
  .asis-fab img{width:42px;height:42px}
  .asis{left:0;right:0;bottom:0;width:100%;max-width:100%;height:calc(100% - 44px - env(safe-area-inset-top));border-radius:20px 20px 0 0;border-bottom:0}
  body.asis-abierto{overflow:hidden}
}
