/* ===== Chat de soporte (compartido: página de visitante y burbuja del jugador) ===== */
.sc { display: flex; flex-direction: column; min-height: 0; height: 100%; font-family: 'Poppins', sans-serif; color: #fff; text-align: left; }
.sc [hidden], .sc[hidden] { display: none !important; }
.sc-inicio { padding: 16px; overflow-y: auto; }
.sc-hola { margin: 0 0 12px; color: #c9cde8; font-size: .9rem; line-height: 1.5; }
.sc-temas { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.sc-tema { padding: 7px 12px; border-radius: 20px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.05); color: #e6e8fb; font: 500 .78rem 'Poppins', sans-serif; cursor: pointer; transition: all .15s ease; }
.sc-tema:hover { border-color: #ff3da4; background: rgba(255,61,164,.12); }
.sc-campo { margin-bottom: 12px; }
.sc-campo label { display: block; margin-bottom: 5px; font-size: .8rem; font-weight: 600; color: #c9cde8; }
.sc-campo input, .sc-campo textarea, .sc-form textarea {
  width: 100%; box-sizing: border-box; padding: 11px 13px; border-radius: 12px; border: 1px solid rgba(255,255,255,.12);
  background: #10143d; color: #fff; font: .9rem 'Poppins', sans-serif; outline: none; resize: none;
}
.sc-campo input:focus, .sc-campo textarea:focus, .sc-form textarea:focus { border-color: #ff3da4; box-shadow: 0 0 0 3px rgba(255,61,164,.15); }
.sc-btn-iniciar { width: 100%; padding: 13px; border: 0; border-radius: 12px; cursor: pointer; color: #fff; font: 700 .95rem 'Poppins', sans-serif;
  background: linear-gradient(135deg, #ff1684, #8b3dff); box-shadow: 0 8px 20px rgba(255,22,132,.3); }
.sc-btn-iniciar:disabled { opacity: .6; cursor: wait; }
.sc-error { margin: 0 0 10px; padding: 9px 12px; border-radius: 10px; background: rgba(255,69,103,.12); border: 1px solid rgba(255,69,103,.3); color: #ff9caa; font-size: .82rem; }
.sc-error-chat { margin: 0 12px 10px; }

.sc-chat { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.sc-mensajes { flex: 1; min-height: 0; overflow-y: auto; padding: 14px 12px; display: flex; flex-direction: column; gap: 10px; scroll-behavior: smooth; }
.sc-msj { display: flex; flex-direction: column; max-width: 84%; }
.sc-msj.usuario { align-self: flex-end; align-items: flex-end; }
.sc-msj.master { align-self: flex-start; }
.sc-msj.sistema { align-self: center; max-width: 92%; text-align: center; }
.sc-burbuja { padding: 9px 13px; border-radius: 16px; font-size: .88rem; line-height: 1.45; word-wrap: break-word; overflow-wrap: anywhere; }
.sc-msj.usuario .sc-burbuja { background: linear-gradient(135deg, #ff1684, #c42bd8); border-bottom-right-radius: 4px; }
.sc-msj.master .sc-burbuja { background: #1d2463; border: 1px solid rgba(255,255,255,.08); border-bottom-left-radius: 4px; }
.sc-msj.sistema .sc-burbuja { background: rgba(255,191,36,.1); border: 1px dashed rgba(255,191,36,.35); color: #ffd98a; font-size: .78rem; }
.sc-quien { font-size: .7rem; font-weight: 700; color: #ffbf24; margin: 0 0 3px 4px; }
.sc-hora { font-size: .66rem; color: #8d93b8; margin: 3px 6px 0; }
.sc-msj.sistema .sc-hora { display: none; }
.sc-cerrada { margin: 0 12px 12px; padding: 11px 13px; border-radius: 12px; background: rgba(255,255,255,.05); color: #c9cde8; font-size: .82rem; text-align: center; }
.sc-nueva { border: 0; background: none; color: #ff3da4; font: 700 .82rem 'Poppins', sans-serif; cursor: pointer; text-decoration: underline; }
.sc-form { display: flex; gap: 8px; align-items: flex-end; padding: 10px 12px 12px; border-top: 1px solid rgba(255,255,255,.08); }
.sc-form textarea { flex: 1; max-height: 110px; padding: 10px 13px; border-radius: 20px; }
.sc-form button { flex-shrink: 0; width: 42px; height: 42px; border: 0; border-radius: 50%; cursor: pointer; color: #fff; display: grid; place-items: center;
  background: linear-gradient(135deg, #ff1684, #8b3dff); }

/* ===== Burbuja flotante del jugador ===== */
.sc-flotante { position: fixed; right: 20px; bottom: 20px; z-index: 900; font-family: 'Poppins', sans-serif; }
.sc-lanzador {
  position: relative; display: flex; align-items: center; gap: 8px; padding: 13px 18px 13px 14px; border: 0; border-radius: 40px; cursor: pointer;
  color: #fff; font: 700 .9rem 'Poppins', sans-serif; background: linear-gradient(135deg, #ff1684, #8b3dff);
  box-shadow: 0 10px 28px rgba(255,22,132,.4), 0 0 0 3px rgba(255,255,255,.08); transition: transform .2s ease;
}
.sc-lanzador:hover { transform: translateY(-2px); }
.sc-lanzador svg { width: 22px; height: 22px; }
.sc-lanzador .sc-badge { position: absolute; top: -6px; right: -4px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: #ffbf24; color: #3b2300;
  font-size: .75rem; font-weight: 800; display: grid; place-items: center; box-shadow: 0 0 0 3px #0b0f33; }
.sc-lanzador .sc-badge[hidden] { display: none; }
.sc-lanzador.pulsa { animation: scPulsa 1.2s ease-in-out 3; }
@keyframes scPulsa { 50% { transform: scale(1.08); box-shadow: 0 10px 28px rgba(255,22,132,.6), 0 0 0 8px rgba(255,191,36,.25); } }
.sc-panel {
  position: absolute; right: 0; bottom: 64px; width: 360px; height: 520px; max-height: calc(100vh - 110px);
  display: flex; flex-direction: column; border-radius: 20px; overflow: hidden;
  background: #0b0f33; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 24px 60px rgba(0,0,0,.55);
  transform-origin: bottom right; animation: scAbre .2s ease;
}
.sc-panel[hidden] { display: none; }
@keyframes scAbre { from { opacity: 0; transform: scale(.92) translateY(8px); } }
.sc-cabeza { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: linear-gradient(135deg, #2b1470, #7a1d8f); }
.sc-cabeza img { width: 38px; height: 38px; border-radius: 50%; }
.sc-cabeza strong { display: block; font-size: .95rem; }
.sc-cabeza small { display: flex; align-items: center; gap: 5px; font-size: .72rem; color: #d8cff5; }
.sc-cabeza small::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #22c77a; }
.sc-cabeza button { margin-left: auto; width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 1.1rem; cursor: pointer; }
.sc-cuerpo { flex: 1; min-height: 0; display: flex; flex-direction: column; }

@media (max-width: 520px) {
  .sc-flotante { right: 14px; bottom: 14px; }
  .sc-lanzador span.txt { display: none; }
  .sc-lanzador { padding: 14px; }
  .sc-panel { position: fixed; inset: 0; width: auto; height: auto; max-height: none; border-radius: 0; bottom: 0; }
}

/* ===== Wolf 46: jugador sin administrador ===== */
.sc-wolf { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; padding: 12px; border-radius: 14px; background: linear-gradient(135deg, rgba(255,191,36,.14), rgba(139,61,255,.12)); border: 1px solid rgba(255,191,36,.35); }
.sc-wolf-img { width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; }
.sc-wolf b { display: block; color: #ffd76a; font-size: .9rem; }
.sc-wolf p { margin: 3px 0 0; font-size: .82rem; line-height: 1.45; color: #e6e8fb; }
.sc-btn-buscar { margin-top: 10px; padding: 9px 14px; border: 0; border-radius: 10px; cursor: pointer; color: #3b2300; font: 700 .82rem 'Poppins', sans-serif; background: linear-gradient(180deg, #ffe08a, #f2a81d); }
.sc-wolf-banner, .sc-sol-ok { display: flex; align-items: center; gap: 10px; margin: 0 12px 8px; padding: 8px 10px; border-radius: 12px; background: rgba(255,191,36,.1); border: 1px solid rgba(255,191,36,.3); font-size: .8rem; color: #ffe3a1; }
.sc-wolf-banner .sc-wolf-img, .sc-sol-ok .sc-wolf-img { width: 28px; height: 28px; }
.sc-wolf-banner span { flex: 1; }
.sc-wolf-banner .sc-btn-buscar { margin: 0; padding: 7px 10px; font-size: .76rem; }
.sc-sol { padding: 16px; overflow-y: auto; }
.sc-sol small { font-weight: 400; color: #8d93b8; }
.sc-fila2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sc-volver { width: 100%; margin-top: 8px; padding: 11px; border-radius: 12px; border: 1px solid rgba(255,255,255,.18); background: transparent; color: #c9cde8; font: 600 .88rem 'Poppins', sans-serif; cursor: pointer; }
