/* Chat de ayuda (#278): burbuja abajo a la derecha y panel de conversación. Usa los tokens de la página. */
.fc-bubble{position:fixed;right:24px;bottom:24px;z-index:60;width:56px;height:56px;border-radius:50%;border:0;
  background:var(--blue);color:#fff;display:grid;place-items:center;cursor:pointer;
  box-shadow:0 10px 26px rgba(37,86,241,.34);transition:transform 160ms var(--ease-out);touch-action:manipulation}
.fc-bubble:active{transform:scale(.94)}
.fc-bubble svg{width:26px;height:26px}
.fc-bubble[aria-expanded="true"]{display:none}

.fc-panel{position:fixed;right:24px;bottom:24px;z-index:61;width:380px;height:min(600px,calc(100dvh - 48px));
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--n200);border-radius:20px;box-shadow:var(--sh-xl);
  font-family:var(--font);color:var(--mid);overflow:hidden;
  transform-origin:bottom right;animation:fc-in 220ms var(--ease-out)}
.fc-panel[hidden]{display:none}
@keyframes fc-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fc-panel{animation:none}}

.fc-head{display:flex;align-items:center;gap:12px;padding:16px 16px 14px;border-bottom:1px solid var(--n200)}
.fc-head img{width:32px;height:32px;border-radius:9px}
.fc-title{font-weight:800;font-size:15px;letter-spacing:-.01em}
.fc-sub{font-size:12px;color:var(--n500);margin-top:1px}
.fc-close{margin-left:auto;width:36px;height:36px;border-radius:10px;border:0;background:transparent;color:var(--n500);
  display:grid;place-items:center;cursor:pointer}
.fc-close:hover{background:var(--mist);color:var(--mid)}

.fc-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.fc-msg{max-width:85%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.fc-msg.bot{align-self:flex-start;background:var(--mist);border-bottom-left-radius:4px}
.fc-msg.me{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:4px}
.fc-msg.err{align-self:flex-start;background:var(--warnbg);color:var(--warn)}
.fc-cta{align-self:flex-start;font-family:inherit;font-weight:700;font-size:14px;border:0;border-radius:12px;padding:10px 16px;
  background:var(--blue);color:#fff;cursor:pointer;box-shadow:0 8px 20px rgba(37,86,241,.24)}
.fc-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;background:var(--mist);border-radius:14px}
.fc-typing i{width:6px;height:6px;border-radius:50%;background:var(--n400);animation:fc-dot 1s infinite}
.fc-typing i:nth-child(2){animation-delay:.15s}.fc-typing i:nth-child(3){animation-delay:.3s}
@keyframes fc-dot{0%,80%,100%{opacity:.3}40%{opacity:1}}

.fc-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--n200)}
.fc-form textarea{flex:1;resize:none;font-family:inherit;font-size:16px;line-height:1.4;border:1px solid var(--n300);border-radius:12px;
  padding:10px 12px;max-height:120px;color:var(--mid)}
.fc-form textarea:focus{outline:2px solid var(--blue);outline-offset:-1px;border-color:transparent}
.fc-send{width:44px;border:0;border-radius:12px;background:var(--blue);color:#fff;display:grid;place-items:center;cursor:pointer}
.fc-send:disabled{opacity:.45;cursor:default}
.fc-note{font-size:11px;color:var(--n500);padding:0 14px 12px;line-height:1.4}

@media (max-width:480px){
  .fc-bubble{right:16px;bottom:16px}
  .fc-panel{inset:0;width:auto;height:100dvh;border-radius:0;border:0}
}
