/* Fugami · estilos propios (violeta) */
:root{
  --fondo:#f1f5f9; --panel:#fff; --borde:#e2e8f0; --texto:#0f172a; --suave:#64748b;
  --azul:#7c3aed; --azul-suave:#ede9fe; --rojo:#dc2626; --sombra:0 1px 2px rgba(15,23,42,.06);
  --radio:12px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--fondo);
  color:var(--texto);font-size:16px;line-height:1.35;
  padding:env(safe-area-inset-top) 0 0;min-height:100vh;overflow-x:hidden}
.oculto{display:none !important}
h1{font-size:1.35rem;margin:0 0 8px}
h2.sec{font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;color:var(--suave);
  margin:22px 14px 8px}
.ayuda{color:var(--suave);font-size:.86rem;margin:4px 0}
.ayuda.chico{font-size:.78rem}
.error{color:var(--rojo);font-size:.88rem;min-height:20px;margin:8px 0 0;font-weight:600}
.vacio{color:var(--suave);text-align:center;padding:28px 16px;font-size:.9rem}

/* Cabecera */
.cab{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:10px 14px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--borde)}
.cab strong{font-size:1.02rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quien{font-size:.74rem;color:var(--suave);font-weight:700;max-width:34vw;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.volver{font-size:.76rem;color:var(--azul);text-decoration:none;font-weight:700}
.ajustes-btn{width:42px;height:42px;border-radius:12px;border:1px solid #ddd6fe;background:#f5f3ff;
  color:#5b21b6;font-size:1.2rem;line-height:1;flex:none;cursor:pointer}
.ajustes-btn:hover{background:#ede9fe}
@media (max-width:430px){ .quien{display:none} }

/* Ajustes */
.panel{background:#fff;border:1px solid var(--borde);border-radius:14px;padding:16px;
  box-shadow:var(--sombra)}
.panel h3{font-size:.95rem;margin:18px 0 8px;color:#334155}
.panel h3:first-child{margin-top:0}
.fila-check{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:6px;
  background:#f8fafc;border:1px solid var(--borde);border-radius:10px;font-size:.9rem;
  font-weight:600;cursor:pointer}
.fila-check input{width:20px;height:20px;accent-color:#7c3aed;flex:none}

/* Selector grande del centro de trabajo (Ajustes) */
.caja-centro{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:14px;padding:14px;
  margin-bottom:10px}
.etiqueta-centro{display:block;font-size:.76rem;font-weight:800;color:#6b21a8;
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.selector-centro{display:block;width:100%;padding:16px 14px;font-size:1.2rem;font-weight:800;
  color:#3b0764;background:#fff;border:2px solid #a78bfa;border-radius:12px;
  line-height:1.2;-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:46px}
.selector-centro:focus{outline:none;border-color:#7c3aed;
  box-shadow:0 0 0 4px rgba(124,58,237,.18)}
.caja-centro .ayuda{margin:8px 2px 0}

/* Lista de centros (Ajustes → Administración) */
.fila-centro{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-top:6px;
  background:#f8fafc;border:1px solid var(--borde);border-radius:10px}
.datos-centro{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.datos-centro strong{font-size:.9rem;color:#334155;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.datos-centro .ayuda{margin:0;font-size:.78rem}

/* Botones */
button{font:inherit;cursor:pointer}
.primario{background:var(--azul);color:#fff;border:0;border-radius:10px;padding:10px 14px;font-weight:700}
.primario:disabled{opacity:.6}
.secundario{background:#fff;color:#5b21b6;border:1px solid #ddd6fe;border-radius:10px;
  padding:8px 12px;font-weight:700}
.peligro{background:#fef2f2;color:var(--rojo);border:1px solid #fecaca;border-radius:10px;
  padding:8px 12px;font-weight:700}
.mini{font-size:.8rem;padding:7px 11px}
.ancho{width:100%;margin-top:6px}
.olvidar{background:none;border:0;color:var(--suave);font-size:.78rem;text-decoration:underline;
  padding:6px 0;width:100%;margin-top:2px}

/* Entrada */
.entrada{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
#bloqueo{position:fixed;inset:0;z-index:60;min-height:0;background:var(--fondo);overflow:auto}
#bloqueo{flex-direction:column;gap:8px;padding:24px 16px 32px;
  background:
    radial-gradient(700px 420px at 50% -10%, #ede9fe 0%, rgba(237,233,254,0) 62%),
    linear-gradient(180deg, #fdfbff 0%, #f1f5f9 100%)}
#bloqueo .caja{border-radius:26px;border:1px solid #e9e3fb;
  box-shadow:0 26px 60px rgba(76,29,149,.16)}
#bloqueo .titulo-caja{font-size:1.06rem;font-weight:800;color:#4c1d95;margin:0 0 4px;
  text-align:center}
#bloqueo label{color:#5b21b6}
#bloqueo input{border-radius:14px;border:1.5px solid #e4e0f5;background:#f9f8ff;padding:13px 14px}
#bloqueo input:focus{outline:none;border-color:#a78bfa;background:#fff;
  box-shadow:0 0 0 4px rgba(124,58,237,.14)}
#bloqueo .secundario{border-radius:14px;padding:12px;border:1.5px solid #ddd6fe}
#bloqueo .primario{border-radius:14px;padding:14px;
  background:linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
  box-shadow:0 12px 24px rgba(124,58,237,.30)}
.fresa-grande.chica{font-size:clamp(96px, 26vw, 130px)}
.entrada .caja{background:#fff;border:1px solid var(--borde);border-radius:18px;padding:22px;
  width:100%;max-width:420px;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.entrada label{display:block;font-weight:700;font-size:.82rem;color:#334155;margin:14px 0 6px}
.entrada input{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;
  font-size:1rem;margin-top:5px}

/* Pantalla de acceso: fresa grande y tarjeta moderna */
#entrada{flex-direction:column;gap:14px;padding:28px 16px 36px;
  background:
    radial-gradient(780px 430px at 50% -8%, #ede9fe 0%, rgba(237,233,254,0) 62%),
    radial-gradient(620px 380px at 108% 104%, #fce7f3 0%, rgba(252,231,243,0) 58%),
    linear-gradient(180deg, #fdfbff 0%, #f1f5f9 100%)}

.heroe{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.halo{position:absolute;top:-24px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle, rgba(168,85,247,.22), rgba(168,85,247,0) 70%);
  filter:blur(8px);pointer-events:none}
.fresa-grande{position:relative;font-size:clamp(140px, 38vw, 200px);line-height:1;
  filter:drop-shadow(0 18px 30px rgba(124,58,237,.28));
  animation:flotar 5s ease-in-out infinite}
.marca{font-size:clamp(1.6rem, 5.5vw, 2rem);font-weight:900;color:#4c1d95;
  letter-spacing:.01em;margin-top:2px}
.marca-sub{font-size:.72rem;font-weight:800;color:#8b7bb8;text-transform:uppercase;
  letter-spacing:.16em;margin-top:3px}

@keyframes flotar{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-9px) rotate(2deg)}}
@media (prefers-reduced-motion:reduce){.fresa-grande{animation:none}}
@media (max-height:700px){.fresa-grande{font-size:clamp(96px, 26vw, 140px)}}

/* Sin cabecera mientras se está en la pantalla de acceso */
body.solo-entrada .cab{display:none}

#entrada .caja{border-radius:26px;padding:24px 22px 20px;border:1px solid #e9e3fb;
  box-shadow:0 26px 60px rgba(76,29,149,.16), 0 2px 8px rgba(15,23,42,.05)}
#entrada .titulo-caja{font-size:1.06rem;font-weight:800;color:#4c1d95;margin:0 0 4px;
  text-align:center}
#entrada label{color:#5b21b6}
#entrada input{border-radius:14px;border:1.5px solid #e4e0f5;background:#f9f8ff;padding:13px 14px}
#entrada input:focus{outline:none;border-color:#a78bfa;background:#fff;
  box-shadow:0 0 0 4px rgba(124,58,237,.14)}
#entrada .primario{border-radius:14px;padding:14px;font-size:1rem;
  background:linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
  box-shadow:0 12px 24px rgba(124,58,237,.30)}
#entrada .primario:active{transform:translateY(1px)}
#entrada .secundario{border-radius:14px;padding:12px;border:1.5px solid #ddd6fe;background:#fff}
#entrada .ayuda.chico{text-align:center}
.campo-clave{position:relative;display:block}
.campo-clave input{padding-right:46px}
.ojo{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:transparent;
  font-size:1.05rem;padding:8px;cursor:pointer;line-height:1;border-radius:8px}
.ojo:hover{background:#f1f5f9}

/* Tarjeta para activar la entrada con huella */
.aviso-huella{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:12px;padding:12px 14px;
  margin-bottom:14px}
.aviso-huella strong{display:block;font-size:.95rem;color:#5b21b6;margin-bottom:2px}
.aviso-huella p{margin:0 0 10px}

/* Ventanas (diálogos) */
dialog{border:0;border-radius:16px;padding:18px;max-width:420px;width:92vw;
  box-shadow:0 20px 60px rgba(15,23,42,.3);color:var(--texto)}
dialog::backdrop{background:rgba(15,23,42,.45)}

/* Reenviar: elegir destino */
.lista-reenvio{display:flex;flex-direction:column;gap:6px;max-height:52vh;overflow:auto;margin:10px 0}
.fila-reenvio{text-align:left;background:#f8fafc;border:1px solid var(--borde);border-radius:10px;
  padding:11px 12px;font-weight:700;color:#334155}
.fila-reenvio:hover{background:#f5f3ff;border-color:#c4b5fd}

/* Menú del mensaje (mantener pulsado o clic derecho) */
.velo-menu{position:fixed;inset:0;z-index:70;background:rgba(15,23,42,.35)}
.menu-msg{position:fixed;left:8px;right:8px;bottom:8px;z-index:71;background:#fff;border-radius:18px;
  padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom));max-height:72vh;overflow:auto;
  box-shadow:0 24px 60px rgba(15,23,42,.32)}
.reacciones-menu{display:flex;gap:8px;justify-content:center;padding:4px 0 10px;
  border-bottom:1px solid var(--borde);margin-bottom:6px}
.reacciones-menu button{font-size:1.45rem;line-height:1;background:#f8fafc;border:1px solid var(--borde);
  border-radius:12px;padding:7px 14px;cursor:pointer}
.reacciones-menu button:hover{background:#f5f3ff}
.menu-msg .opcion{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;
  border:0;padding:13px 12px;border-radius:12px;font-weight:700;color:#334155;font-size:.96rem;
  cursor:pointer}
.menu-msg .opcion:hover{background:#f5f3ff}
.menu-msg .opcion .ico{width:22px;text-align:center;font-size:1.05rem;flex:none}
.menu-msg .opcion.peligro{color:#b91c1c}
@media (hover:none){ .msg{-webkit-user-select:none;user-select:none} }
@media (min-width:640px){ .menu-msg{left:auto;right:24px;bottom:24px;width:340px} }

/* Pantalla del PIN (teclado numérico) */
.velo-pin{position:fixed;inset:0;z-index:85;background:rgba(15,23,42,.45);
  display:flex;align-items:flex-end;justify-content:center;backdrop-filter:blur(2px)}
@media (min-height:720px){ .velo-pin{align-items:center} }
.caja-pin{width:100%;max-width:380px;background:#fff;border-radius:26px 26px 0 0;
  padding:20px 18px calc(14px + env(safe-area-inset-bottom));
  box-shadow:0 -12px 50px rgba(15,23,42,.28);animation:subirPin .22s ease-out}
@media (min-height:720px){ .caja-pin{border-radius:26px;box-shadow:0 24px 60px rgba(15,23,42,.3)} }
@keyframes subirPin{from{transform:translateY(26px);opacity:.55}to{transform:none;opacity:1}}
.pin-cab{text-align:center}
.pin-icono{font-size:1.9rem;line-height:1;display:block}
.pin-cab h2{font-size:1.08rem;margin:6px 0 2px;color:#4c1d95}
.pin-cab .ayuda{margin:0}
.pin-puntos{display:flex;justify-content:center;gap:10px;margin:16px 0 2px}
.pin-puntos span{width:14px;height:14px;border-radius:50%;background:#ede9fe;border:1px solid #ddd6fe;
  transition:background .12s ease,transform .12s ease}
.pin-puntos span.lleno{background:#7c3aed;border-color:#7c3aed;transform:scale(1.08)}
.pin-teclado{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px}
.pin-teclado button{font-size:1.35rem;font-weight:800;color:#334155;background:#f8fafc;
  border:1px solid var(--borde);border-radius:15px;padding:15px 0;line-height:1;cursor:pointer;
  transition:background .1s ease,transform .08s ease}
.pin-teclado button:active{background:#ede9fe;transform:scale(.96)}
.pin-teclado .pin-borrar{color:#b45309;background:#fffbeb;border-color:#fde68a}
.pin-teclado .pin-ok{color:#fff;border:0;
  background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%);
  box-shadow:0 8px 18px rgba(124,58,237,.28)}
.pin-teclado .pin-ok:disabled{opacity:.4;box-shadow:none}
#pinError{min-height:18px;text-align:center;margin:8px 0 0;font-size:.84rem}
.caja-pin .olvidar{margin-top:10px}
dialog h2{font-size:1.05rem;margin:0 0 10px}
dialog label{display:block;font-weight:700;font-size:.82rem;color:#334155;margin:10px 0 6px}
dialog input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:1rem}
dialog textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:1rem;
  font-family:inherit;resize:vertical}
.campo-clave input{padding-right:46px}
.botones-modal{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.codigo{font-family:ui-monospace,Consolas,monospace;font-size:1.25rem;letter-spacing:.08em;
  text-align:center;background:#f5f3ff;border:1px dashed #c4b5fd;border-radius:12px;padding:14px 10px;
  margin:10px 0;font-weight:700;color:#5b21b6;word-break:break-all}

/* Respondiendo a */
.respondiendo{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:6px;
  background:#f5f3ff;border-left:3px solid var(--azul);border-radius:8px;font-size:.82rem;color:#334155}
.respondiendo .r-texto{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--suave)}
.cita{border-left:3px solid #c4b5fd;background:rgba(124,58,237,.07);border-radius:6px;
  padding:5px 9px;margin-bottom:6px;font-size:.88rem;color:#4c1d95}
.cita strong{display:block;font-size:.82rem;color:#5b21b6}

/* Buscador */
.buscador{display:flex;gap:8px;margin-bottom:10px}
.buscador input{flex:1;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:.95rem}
.res-titulo{font-size:.8rem;color:var(--suave);font-weight:700;margin:4px 2px 8px}
main{max-width:760px;margin:0 auto;padding:14px 14px 40px}
.barra{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;
  position:sticky;top:var(--alto-cab,60px);z-index:15;background:var(--fondo);
  padding:8px 0;margin:-8px 0 12px}
.barra strong{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:560px){
  .barra{gap:7px}
  .barra-chat strong{display:none}
  .barra .mini{padding:7px 10px}
}
.lista{display:flex;flex-direction:column;gap:8px}
.fila{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#fff;
  border:1px solid var(--borde);border-radius:var(--radio);padding:11px 13px;box-shadow:var(--sombra)}
.fila:hover{border-color:#c4b5fd;background:#f5f3ff}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--azul-suave);color:#5b21b6;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;flex:none;
  overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.chip-foto{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:none}
.foto-cab{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:none}
#cajaMiFoto{display:flex;align-items:center;gap:12px;margin:6px 0 10px}
#miAvatar{width:56px;height:56px;font-size:1.1rem}
.datos{flex:1;min-width:0}
.nombre{display:block;font-weight:800;font-size:.94rem}
.ultimo{display:block;font-size:.82rem;color:var(--suave);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.punto{background:var(--rojo);color:#fff;border-radius:999px;font-size:.72rem;font-weight:800;
  padding:2px 8px;flex:none}
.chips{display:flex;flex-wrap:wrap;gap:8px}

/* Centro en el que estoy trabajando (pantalla de chats) */
.centro-actual{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;padding:6px 12px;
  background:#fff;border:1px solid var(--borde);border-radius:999px;font-size:.82rem;
  color:#334155;box-shadow:var(--sombra)}
.centro-actual strong{font-size:.86rem;color:#5b21b6;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;max-width:52vw}
.centro-actual .mini-tit{font-size:.66rem;color:var(--suave);font-weight:800;text-transform:uppercase;
  letter-spacing:.04em}

/* Avatar de grupo con su insignia de personas */
.avatar-caja{position:relative;flex:none;display:flex}
.ico-grupo{position:absolute;right:-3px;bottom:-3px;width:17px;height:17px;border-radius:50%;
  background:#fff;border:1px solid var(--borde);display:flex;align-items:center;
  justify-content:center;font-size:.6rem;line-height:1;
  box-shadow:0 1px 3px rgba(15,23,42,.14)}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:12px;
  background:#fff;border:1px solid var(--borde);font-weight:700;font-size:.9rem;box-shadow:var(--sombra)}
.chip:hover{border-color:#c4b5fd;background:#f5f3ff}
.n{background:#ede9fe;color:#5b21b6;border-radius:999px;padding:1px 8px;font-size:.74rem}

/* Conversación */
.hilo{display:flex;flex-direction:column;gap:10px;padding:8px 0 100px}
.chat-dia{text-align:center;font-size:.8rem;color:var(--suave);font-weight:700;margin:14px 0 4px}
.msg{display:flex;flex-direction:column;max-width:90%;align-items:flex-start}
.msg.mio{align-self:flex-end;align-items:flex-end}
.msg-autor{font-size:.76rem;color:var(--suave);font-weight:700;margin:0 6px 2px}
.burbuja{background:#fff;border:1px solid var(--borde);border-radius:16px 16px 16px 5px;
  padding:11px 15px;font-size:1.08rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;
  box-shadow:var(--sombra)}
.msg.mio .burbuja{background:var(--azul-suave);border-color:#ddd6fe;border-radius:16px 16px 5px 16px}
.burbuja.borrado{font-style:italic;color:var(--suave);background:#f8fafc !important}
.hora{font-size:.73rem;color:var(--suave);margin:3px 6px 0}
.reacciones{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.chip-reaccion{border:1px solid #ddd6fe;background:#f5f3ff;color:#5b21b6;border-radius:999px;
  padding:1px 8px;font-size:.74rem;font-weight:700;cursor:pointer;line-height:1.5}
.chip-reaccion.mia{background:#7c3aed;border-color:#7c3aed;color:#fff}

/* Menciones */
.mencion{color:#7c3aed;font-weight:800;background:#f5f3ff;border-radius:5px;padding:0 3px}

/* Selector de menciones */
#menciones{position:fixed;left:8px;right:8px;bottom:96px;z-index:70;background:#fff;border:1px solid var(--borde);
  border-radius:14px;box-shadow:0 10px 30px rgba(15,23,42,.18);padding:8px;max-height:45vh;overflow:auto}
#menciones button{display:block;width:100%;text-align:left;border:0;background:#f8fafc;border-radius:9px;
  padding:9px 11px;margin-bottom:4px;font-weight:700;font-size:.9rem;color:#334155}

/* Buscador dentro de la conversación */
#panelBusqueda{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:8px;margin-bottom:8px}
#panelBusqueda input{width:100%;padding:9px 11px;border:1px solid #cbd5e1;border-radius:9px;font-size:.95rem}
#resultadosBusqueda{margin-top:8px;display:flex;flex-direction:column;gap:6px;max-height:40vh;overflow:auto}
#resultadosBusqueda button{text-align:left;border:1px solid var(--borde);background:#f8fafc;border-radius:9px;
  padding:8px 10px;font-size:.84rem;color:#334155}
.msg.destacado .burbuja{box-shadow:0 0 0 3px #c4b5fd}
#hilo.arrastrando{outline:3px dashed #c4b5fd;outline-offset:6px;border-radius:12px}
#miembrosGrupoLista{max-height:50vh;overflow:auto;margin-bottom:8px}
.fila-miembro{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #f1f5f9;font-size:.92rem}
.fila-miembro img{width:28px;height:28px;border-radius:50%;object-fit:cover}
.fila-miembro .creador{margin-left:auto;font-size:.72rem;color:#7c3aed;font-weight:800}

/* Fijados y no leídos */
.chat-pin{border:0;background:transparent;font-size:.9rem;padding:2px 4px;cursor:pointer;color:#94a3b8}
.chat-pin.activo{color:#7c3aed}
.x{border:0;background:transparent;color:#94a3b8;font-size:.72rem;padding:0 2px;margin-left:4px}
.x:hover{color:var(--rojo)}

/* Adjuntos */
.adjunto-vista{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-bottom:6px;
  background:#f8fafc;border:1px solid var(--borde);border-radius:10px;font-size:.82rem}
.adjunto-vista img{width:44px;height:44px;object-fit:cover;border-radius:8px;flex:none}
.adjunto-vista .a-nombre{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adjunto-vista .a-peso{color:var(--suave);font-size:.74rem;flex:none}
.img-caja{display:block;margin-top:6px}
img.adj{max-width:280px;max-height:320px;border-radius:10px;border:1px solid var(--borde);display:block}
.a-pie{font-size:.78rem;color:var(--suave);margin-top:4px;max-width:280px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.a-file{display:flex;align-items:center;gap:8px;margin-top:6px;padding:9px 11px;border-radius:10px;
  background:#fff;border:1px solid var(--borde);text-decoration:none;color:inherit;font-size:.92rem}
.a-file:hover{border-color:#c4b5fd;background:#f5f3ff}
.a-icono{font-size:1.25rem;flex:none}
.a-nombre{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:210px}
.a-peso{color:var(--suave);font-size:.76rem;flex:none}

/* Caja de escribir */
.envio{display:flex;gap:8px;align-items:flex-end;position:sticky;bottom:0;
  background:linear-gradient(to top,#f1f5f9 65%,rgba(241,245,249,0));padding:8px 0 6px}
.envio textarea{flex:1;resize:none;max-height:120px;font-size:.96rem;padding:10px 12px;
  border:1px solid #cbd5e1;border-radius:12px;font-family:inherit}
.clip{border:0;background:#f5f3ff;border-radius:12px;font-size:1.15rem;padding:10px 12px;line-height:1;flex:none}
.clip:hover{background:#ede9fe}
.clip.grabando{background:#fee2e2;animation:pulso 1.2s infinite}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(220,38,38,.35)}100%{box-shadow:0 0 0 12px rgba(220,38,38,0)}}
.grabacion{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:6px;
  background:#fef2f2;border:1px solid #fecaca;border-radius:10px;font-size:.86rem;font-weight:700;color:#991b1b}
.punto-rojo{width:10px;height:10px;border-radius:50%;background:#dc2626;flex:none;animation:parpadeo 1s infinite}
@keyframes parpadeo{0%,100%{opacity:1}50%{opacity:.25}}
.grabando-texto{font-weight:600}
.adjunto-vista audio{height:38px;max-width:210px;flex:none}
.audio-msg{width:240px;max-width:100%;margin-top:2px}
.audio-caja{display:flex;flex-direction:column}

/* Caja de escribir: mensaje a lo ancho y botones debajo */
.envio{display:block;position:sticky;bottom:0;
  background:linear-gradient(to top,#f1f5f9 65%,rgba(241,245,249,0));padding:8px 0 6px}
.envio textarea{width:100%;min-height:58px;max-height:140px;font-size:1.05rem;line-height:1.4;
  padding:12px 13px;border:1px solid #cbd5e1;border-radius:12px;font-family:inherit;resize:none}
.envio-botones{display:flex;align-items:center;gap:8px;margin-top:8px}
.envio-botones .espacio{flex:1}

/* Menú de menciones encima de la caja, sin tapar nada */
#menciones{position:static;margin-bottom:8px;max-height:220px}

/* Reproductor propio de audio (barra grande) */
.reproductor{display:flex;align-items:center;gap:8px;margin-top:4px;width:100%;max-width:290px}
.reproductor audio{display:none}
.rp-play{border:0;background:#ede9fe;color:#5b21b6;border-radius:50%;width:36px;height:36px;
  font-size:.95rem;flex:none;cursor:pointer;line-height:1;padding:0}
.rp-play:active{transform:scale(.95)}
.rp-barra{-webkit-appearance:none;appearance:none;flex:1;min-width:80px;height:28px;
  background:transparent;margin:0;cursor:pointer}
.rp-barra::-webkit-slider-runnable-track{height:10px;border-radius:999px;background:#ddd6fe}
.rp-barra::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;
  background:#7c3aed;border:3px solid #fff;box-shadow:0 1px 4px rgba(15,23,42,.3);margin-top:-8px}
.rp-barra::-moz-range-track{height:10px;border-radius:999px;background:#ddd6fe}
.rp-barra::-moz-range-thumb{width:22px;height:22px;border:3px solid #fff;border-radius:50%;background:#7c3aed}
.rp-tiempo{font-size:.7rem;color:var(--suave);font-variant-numeric:tabular-nums;flex:none}
.rp-vel{border:0;background:transparent;color:#5b21b6;font-weight:800;font-size:.76rem;
  flex:none;cursor:pointer;padding:2px 4px}
