/* ============================================================
   LEXIA · Chat interno  ·  chat.css  ·  v20260604a
   Reutiliza las variables de tema de lexia.css
   (--bg-card, --border, --text, --text-muted, --text-dim, --gold)
   ============================================================ */

.lex-chat-wrap{
  display:grid;
  grid-template-columns:300px 1fr;
  gap:14px;
  height:calc(100vh - 150px);
  min-height:480px;
}

/* ---------- Columna izquierda: lista ---------- */
.lex-chat-side{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:10px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.lex-chat-side-head{
  padding:12px 14px;
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.lex-chat-side-title{
  font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);font-weight:600;
}
.lex-chat-new{
  background:var(--gold);color:#1a1208;border:none;border-radius:6px;
  font-size:12px;font-weight:600;padding:6px 10px;cursor:pointer;white-space:nowrap;
}
.lex-chat-new:hover{ filter:brightness(1.07); }
.lex-chat-list{ flex:1;overflow-y:auto; }

.lex-chat-conv{
  display:flex;align-items:center;gap:10px;padding:11px 14px;
  border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s;
}
.lex-chat-conv:hover{ background:rgba(255,255,255,0.03); }
.lex-chat-conv.active{ background:rgba(184,150,90,0.12); }
.lex-chat-conv .meta{ flex:1;min-width:0; }
.lex-chat-conv .nm{
  font-size:13px;color:var(--text);font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  display:flex;align-items:center;gap:6px;
}
.lex-chat-conv .last{
  font-size:11px;color:var(--text-muted);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.lex-chat-conv .time{ font-size:10px;color:var(--text-dim);flex:none; }
.lex-chat-unread{
  background:#d9534f;color:#fff;font-size:10px;font-weight:700;
  min-width:18px;height:18px;border-radius:9px;padding:0 5px;
  display:inline-flex;align-items:center;justify-content:center;flex:none;
}

/* ---------- Avatares ---------- */
.lex-chat-av{
  width:38px;height:38px;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:600;color:#fff;overflow:hidden;
  background:linear-gradient(135deg,#3f6ea5,#1c3a66);
}
.lex-chat-av img{ width:100%;height:100%;object-fit:cover; }
.lex-chat-av.sm{ width:30px;height:30px;font-size:11px; }
.lex-chat-av.grp{ background:linear-gradient(135deg,#6d9e5a,#3a6b2e); }

/* ---------- Columna derecha: conversación ---------- */
.lex-chat-main{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:10px;
  display:flex;flex-direction:column;overflow:hidden;
}
.lex-chat-main-head{
  padding:11px 16px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:11px;
}
.lex-chat-main-head .nm{ font-size:14px;font-weight:600;color:var(--text); }
.lex-chat-main-head .sub{ font-size:11px;color:var(--text-muted);margin-top:1px; }
.lex-chat-head-actions{ margin-left:auto;display:flex;gap:8px; }
.lex-chat-call{
  background:transparent;border:1px solid var(--gold);color:var(--gold);
  border-radius:7px;font-size:12px;font-weight:600;padding:7px 12px;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
}
.lex-chat-call:hover{ background:rgba(184,150,90,0.12); }

.lex-chat-msgs{ flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:4px; }

.lex-chat-row{ display:flex;gap:9px;margin-top:8px;align-items:flex-end; }
.lex-chat-row.mine{ flex-direction:row-reverse; }
.lex-chat-bubble{
  max-width:74%;padding:8px 12px;border-radius:14px;font-size:13px;line-height:1.45;
  color:var(--text);background:rgba(255,255,255,0.05);border:1px solid var(--border);
  word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap;
}
.lex-chat-row.mine .lex-chat-bubble{
  background:rgba(184,150,90,0.16);border-color:rgba(184,150,90,0.30);
}
.lex-chat-bubble .who{ font-size:10px;font-weight:600;color:var(--gold);margin-bottom:3px; }
.lex-chat-bubble .when{ font-size:9px;color:var(--text-dim);margin-top:3px;text-align:right; }
.lex-chat-sys{
  align-self:center;font-size:11px;color:var(--text-dim);
  background:rgba(255,255,255,0.04);border:1px solid var(--border);
  padding:5px 12px;border-radius:12px;margin:8px 0;
}
.lex-chat-call-msg{
  align-self:center;display:inline-flex;align-items:center;gap:10px;
  background:rgba(109,158,90,0.12);border:1px solid rgba(109,158,90,0.4);
  border-radius:12px;padding:8px 14px;font-size:12px;color:var(--text);margin:8px 0;
}
.lex-chat-call-join{
  background:#6d9e5a;color:#0e1a08;border:none;border-radius:6px;
  font-size:11px;font-weight:700;padding:5px 11px;cursor:pointer;
}

/* ---------- Composer ---------- */
.lex-chat-composer{
  border-top:1px solid var(--border);padding:10px 12px;display:flex;gap:9px;align-items:flex-end;
}
.lex-chat-input{
  flex:1;resize:none;max-height:120px;min-height:40px;
  background:var(--bg-card);border:1px solid var(--border);border-radius:9px;
  color:var(--text);font-family:inherit;font-size:13px;padding:10px 12px;line-height:1.4;
}
.lex-chat-input:focus{ outline:none;border-color:var(--gold); }
.lex-chat-send{
  background:var(--gold);color:#1a1208;border:none;border-radius:9px;
  width:42px;height:42px;flex:none;cursor:pointer;font-size:17px;
  display:flex;align-items:center;justify-content:center;
}
.lex-chat-send:hover{ filter:brightness(1.07); }
.lex-chat-send:disabled{ opacity:.45;cursor:default; }

/* ---------- Estado vacío ---------- */
.lex-chat-empty{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;color:var(--text-dim);font-size:13px;text-align:center;padding:30px;
}
.lex-chat-empty .big{ font-size:40px;opacity:.35; }

/* ---------- Modal videollamada (Jitsi) ---------- */
.lex-jitsi-bg{
  position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:13000;
  display:flex;align-items:center;justify-content:center;padding:18px;
}
.lex-jitsi-box{
  width:100%;max-width:980px;height:78vh;background:#0c0f15;
  border:1px solid var(--border);border-radius:12px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 24px 70px rgba(0,0,0,.6);
}
.lex-jitsi-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text);
}
.lex-jitsi-head .t{ font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px; }
.lex-jitsi-close{
  background:#c0392b;color:#fff;border:none;border-radius:6px;
  font-size:12px;font-weight:600;padding:7px 14px;cursor:pointer;
}
.lex-jitsi-frame{ flex:1;min-height:0; }
.lex-jitsi-frame > div, .lex-jitsi-frame iframe{ width:100%;height:100%;border:0; }

/* ---------- Modal nuevo chat ---------- */
.lex-chat-pick{
  display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;
}
.lex-chat-pick:hover{ background:rgba(255,255,255,0.05); }
.lex-chat-pick .nm{ font-size:13px;color:var(--text); }
.lex-chat-pick .rl{ font-size:11px;color:var(--text-muted); }
.lex-chat-pick input[type=checkbox]{ margin-left:auto;width:16px;height:16px; }

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .lex-chat-wrap{ grid-template-columns:1fr;height:auto; }
  .lex-chat-side{ height:auto;max-height:300px; }
  .lex-chat-main{ height:60vh; }
}

/* ---------- Selector de emojis (v20260604b) ---------- */
.lex-chat-composer{ position:relative; }
.lex-chat-emoji-btn{
  background:transparent;border:1px solid var(--border);border-radius:9px;
  width:42px;height:42px;flex:none;cursor:pointer;font-size:19px;
  display:flex;align-items:center;justify-content:center;color:var(--text);
}
.lex-chat-emoji-btn:hover{ background:rgba(255,255,255,0.06); }
.lex-chat-emoji-panel{
  position:absolute;bottom:58px;left:10px;z-index:60;
  width:300px;max-width:calc(100% - 20px);
  background:var(--bg-card);border:1px solid var(--border);border-radius:10px;
  box-shadow:0 12px 34px rgba(0,0,0,.45);overflow:hidden;
}
.lex-chat-emoji-tabs{ display:flex;gap:2px;padding:6px;border-bottom:1px solid var(--border); }
.lex-chat-emoji-tab{
  flex:1;background:transparent;border:none;border-radius:6px;cursor:pointer;
  font-size:17px;padding:5px 0;line-height:1;
}
.lex-chat-emoji-tab:hover,.lex-chat-emoji-tab.active{ background:rgba(184,150,90,0.16); }
.lex-chat-emoji-grid{
  display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;
  max-height:200px;overflow-y:auto;
}
.lex-chat-emoji{
  background:transparent;border:none;cursor:pointer;font-size:20px;
  padding:4px 0;border-radius:6px;line-height:1;
}
.lex-chat-emoji:hover{ background:rgba(255,255,255,0.08); }
