/* ==========================================================================
   Visual do WhatsApp Web nas telas de conversa (06/10/2026).

   Pedido do Mateus: "deixe o visual similar ao do WhatsApp". Tudo aqui é
   escopado por .pilar-tela-chat (a caixa /whatsapp e a conversa de um
   número), então o resto do CRM não muda. Carregado DEPOIS de pilar.css e
   só sobrescreve aparência: o markup e o JavaScript continuam os mesmos.
   Cores tiradas do WhatsApp Web claro.
   ========================================================================== */
.pilar-tela-chat {
  --wa-fundo: #efeae2;
  --wa-barra: #f0f2f5;
  --wa-linha: #e9edef;
  --wa-tinta: #111b21;
  --wa-tinta-2: #667781;
  --wa-verde: #00a884;
  --wa-verde-escuro: #008069;
  --wa-selo: #25d366;
  --wa-enviada: #d9fdd3;
  --wa-recebida: #ffffff;
  --wa-hover: #f5f6f6;
  --wa-ativo: #f0f2f5;
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, "Lucida Grande", Arial, sans-serif;
}

/* --- Coluna da lista -------------------------------------------------- */
.pilar-tela-chat .pilar-chat-lista {
  background: #fff;
  border-right: 1px solid var(--wa-linha);
}
.pilar-tela-chat .pilar-caixa-topo {
  background: #fff;
  border-bottom: 0;
  padding: .75rem .9rem .5rem;
}
.pilar-tela-chat .pilar-caixa-titulo .pilar-titulo {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--wa-tinta);
}
.pilar-tela-chat .pilar-chat-busca,
.pilar-tela-chat #busca-caixa {
  background: var(--wa-barra);
  border: 0;
  border-radius: 8px;
  color: var(--wa-tinta);
}
.pilar-tela-chat .pilar-caixa-filtro {
  border: 0;
  border-radius: 999px;
  background: var(--wa-barra);
  color: var(--wa-tinta-2);
  padding: .3rem .8rem;
  font-size: .85rem;
}
.pilar-tela-chat .pilar-caixa-filtro.ativo {
  background: #e7fce3;
  color: var(--wa-verde-escuro);
}

/* Item: foto à esquerda, nome e hora em cima, prévia e selo embaixo. */
.pilar-tela-chat .pilar-chat-item {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .55rem .9rem;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: var(--wa-tinta);
}
.pilar-tela-chat .pilar-chat-item:hover { background: var(--wa-hover); }
.pilar-tela-chat .pilar-chat-item.ativo,
.pilar-tela-chat.pilar-tela-chat .pilar-caixa .pilar-chat-item.ativo { background: var(--wa-ativo); }
.pilar-caixa-item-corpo {
  flex: 1 1 auto;
  min-width: 0;
  padding: .35rem 0;
  border-bottom: 1px solid var(--wa-linha);
}
.pilar-tela-chat .pilar-chat-item:last-child .pilar-caixa-item-corpo { border-bottom: 0; }
.pilar-caixa-avatar.pilar-avatar {
  width: 49px;
  height: 49px;
  background: #dfe5e7;
  color: #fff;
  font-size: 1rem;
}
.pilar-caixa-avatar .pilar-avatar-iniciais {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: #54656f;
}
.pilar-caixa-avatar.e-grupo { background: #d1d7db; }
.pilar-tela-chat .pilar-chat-item-topo .pilar-conversa-nome {
  font-size: 1rem;
  font-weight: 400;
  color: var(--wa-tinta);
}
.pilar-tela-chat .pilar-chat-item.tem-nao-lida .pilar-conversa-nome { font-weight: 600; }
.pilar-tela-chat .pilar-chat-item-hora {
  font-family: inherit;
  font-size: .75rem;
  color: var(--wa-tinta-2);
}
.pilar-tela-chat .pilar-chat-item.tem-nao-lida .pilar-chat-item-hora { color: #1fa855; font-weight: 500; }
.pilar-tela-chat .pilar-chat-item-previa,
.pilar-tela-chat .pilar-caixa-previa-texto {
  font-size: .875rem;
  color: var(--wa-tinta-2);
}
.pilar-tela-chat .pilar-chat-item-quem { font-weight: 400; }
.pilar-tela-chat .pilar-caixa-nao-lida {
  background: var(--wa-selo);
  color: #fff;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
}
.pilar-tela-chat .pilar-chat-item .badge { font-weight: 500; }

/* --- Conversa aberta -------------------------------------------------- */
.pilar-tela-chat .pilar-chat-cabecalho {
  background: var(--wa-barra);
  border-bottom: 1px solid var(--wa-linha);
  min-height: 59px;
  padding: .45rem 1rem;
}
.pilar-tela-chat .pilar-chat-cabecalho .pilar-titulo {
  color: var(--wa-tinta);
  font-weight: 500;
  font-size: 1rem;
}
.pilar-tela-chat .pilar-chat-mensagens {
  background-color: var(--wa-fundo);
  /* o "papel de parede": pontinhos discretos, sem imagem externa */
  background-image: radial-gradient(rgba(0, 0, 0, .035) 1px, transparent 1px);
  background-size: 18px 18px;
  padding: 1rem 4% 1.25rem;
}
.pilar-tela-chat .pilar-linha-do-tempo {
  gap: 2px;
  max-width: 100%;
}

/* Separador de dia: pílula branca no meio. */
.pilar-tela-chat .pilar-dia {
  margin: .75rem 0 .5rem;
  padding: .3rem .75rem;
  background: rgba(255, 255, 255, .92);
  color: #54656f;
  font-size: .75rem;
  font-weight: 400;
  text-transform: uppercase;
  border-radius: 7.5px;
  box-shadow: 0 1px .5px rgba(11, 20, 26, .13);
}

/* O balão é a mensagem inteira: autor, texto, hora e tiques ficam dentro,
   como no WhatsApp. A .pilar-bolha vira só o texto. */
.pilar-tela-chat .pilar-mensagem {
  position: relative;
  max-width: min(65%, 38rem);
  padding: 6px 7px 8px 9px;
  border-radius: 7.5px;
  box-shadow: 0 1px .5px rgba(11, 20, 26, .13);
  color: var(--wa-tinta);
  font-size: .9375rem;
  line-height: 1.35;
}
.pilar-tela-chat .pilar-mensagem-recebida { background: var(--wa-recebida); align-items: stretch; }
.pilar-tela-chat .pilar-mensagem-enviada { background: var(--wa-enviada); align-items: stretch; }
/* Espaço entre pessoas diferentes; colado entre mensagens da mesma pessoa. */
.pilar-tela-chat .pilar-mensagem:has(> .pilar-mensagem-quem) { margin-top: 10px; }
/* "Biquinho" na primeira mensagem de cada sequência. */
.pilar-tela-chat .pilar-mensagem-recebida:has(> .pilar-mensagem-quem) { border-top-left-radius: 0; }
.pilar-tela-chat .pilar-mensagem-enviada:has(> .pilar-mensagem-quem) { border-top-right-radius: 0; }
.pilar-tela-chat .pilar-mensagem-recebida:has(> .pilar-mensagem-quem)::before,
.pilar-tela-chat .pilar-mensagem-enviada:has(> .pilar-mensagem-quem)::before {
  content: "";
  position: absolute;
  top: 0;
  width: 8px;
  height: 13px;
}
.pilar-tela-chat .pilar-mensagem-recebida:has(> .pilar-mensagem-quem)::before {
  left: -8px;
  background: linear-gradient(to bottom left, var(--wa-recebida) 50%, transparent 50%);
}
.pilar-tela-chat .pilar-mensagem-enviada:has(> .pilar-mensagem-quem)::before {
  right: -8px;
  background: linear-gradient(to bottom right, var(--wa-enviada) 50%, transparent 50%);
}

.pilar-tela-chat .pilar-bolha,
.pilar-tela-chat .pilar-mensagem-recebida .pilar-bolha,
.pilar-tela-chat .pilar-mensagem-enviada .pilar-bolha,
.pilar-tela-chat.pilar-tela-chat .pilar-caixa .pilar-bolha {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  color: inherit;
}
/* Reserva o canto da hora na última linha do texto. */
.pilar-tela-chat .pilar-bolha:not(.pilar-bolha-arquivo)::after {
  content: "";
  display: inline-block;
  width: 4.2rem;
}
.pilar-tela-chat .pilar-mensagem-hora {
  align-self: flex-end;
  margin: -1.05rem 0 -4px;
  font-family: inherit;
  font-size: .6875rem;
  color: var(--wa-tinta-2);
  line-height: 1;
  white-space: nowrap;
}
.pilar-tela-chat .pilar-mensagem-status { color: var(--wa-tinta-2); }
.pilar-tela-chat .pilar-mensagem-status.lida,
.pilar-tela-chat .pilar-mensagem-status.lida_pelo_contato { color: #53bdeb; }

.pilar-tela-chat .pilar-mensagem-quem { margin-bottom: 2px; }
.pilar-tela-chat .pilar-mensagem-quem .pilar-avatar { display: none; }
.pilar-tela-chat .pilar-mensagem-autor,
.pilar-tela-chat .pilar-mensagem-quem-nossa {
  font-size: .8125rem;
  font-weight: 500;
  color: #1f7aec;
}
.pilar-tela-chat .pilar-mensagem-quem-nossa { color: var(--wa-verde-escuro); }

.pilar-tela-chat .pilar-mensagem-reacoes {
  position: relative;
  margin: 4px 0 -14px;
}
.pilar-tela-chat .pilar-reacao {
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 1px 3px rgba(11, 20, 26, .2);
  padding: 0 6px;
}

/* --- Barra de escrever ------------------------------------------------ */
.pilar-tela-chat .pilar-composer {
  background: var(--wa-barra);
  border-top: 0;
  padding: .5rem 1rem;
}
.pilar-tela-chat .pilar-composer-texto {
  background: #fff;
  border: 0;
  border-radius: 8px;
  padding: .55rem .75rem;
  font-size: .9375rem;
  box-shadow: none;
}
.pilar-tela-chat .pilar-composer-botao.btn-outline-secondary {
  border: 0;
  background: transparent;
  color: #54656f;
}
.pilar-tela-chat .pilar-composer-botao.btn-outline-secondary:hover { background: rgba(0, 0, 0, .05); }
.pilar-tela-chat #composer-enviar {
  background: var(--wa-verde);
  border-color: var(--wa-verde);
  border-radius: 999px;
  color: #fff;
}
.pilar-tela-chat #composer-enviar:hover { background: var(--wa-verde-escuro); }
.pilar-tela-chat .pilar-composer-assina,
.pilar-tela-chat .pilar-composer-origem { color: var(--wa-tinta-2); }

/* Tela de boas-vindas (nenhuma conversa aberta). */
.pilar-tela-chat .pilar-caixa-boas-vindas { background: #f8f9fa; border-bottom: 6px solid var(--wa-selo); }

/* Títulos da tela no mesmo tipo do resto (o .pilar-titulo do CRM é serifado). */
.pilar-tela-chat .pilar-titulo { font-family: inherit; letter-spacing: 0; }

/* --- Reagir, responder e encaminhar (06/10/2026) ---------------------- */
.pilar-msg-acoes {
  position: absolute;
  top: 2px;
  right: 3px;
  z-index: 2;
  border: 0;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  line-height: 18px;
  font-size: 15px;
  color: #8696a0;
  background: inherit;
  opacity: 0;
  cursor: pointer;
  transition: opacity .12s;
}
.pilar-mensagem:hover > .pilar-msg-acoes,
.pilar-msg-acoes:focus-visible { opacity: 1; }
@media (hover: none) { .pilar-msg-acoes { opacity: .7; } }
.pilar-msg-menu {
  position: fixed;
  z-index: 1080;
  min-width: 13rem;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(11, 20, 26, .26), 0 2px 10px rgba(11, 20, 26, .16);
  padding: 6px 0;
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.pilar-msg-emojis { display: flex; gap: 2px; padding: 2px 8px 6px; border-bottom: 1px solid #e9edef; }
.pilar-msg-emojis button {
  border: 0; background: transparent; font-size: 1.35rem; line-height: 1;
  border-radius: 50%; width: 2.1rem; height: 2.1rem; cursor: pointer;
}
.pilar-msg-emojis button:hover { background: #f0f2f5; }
.pilar-msg-opcao {
  display: block; width: 100%; text-align: left; border: 0; background: transparent;
  padding: .5rem 1rem; font-size: .9rem; color: #3b4a54; cursor: pointer;
}
.pilar-msg-opcao:hover { background: #f5f6f6; }
.pilar-reacao.minha { outline: 1px solid #b8e6c4; }

/* Trecho citado: dentro do balão e na barra de resposta acima do campo. */
.pilar-citacao {
  display: flex;
  flex-direction: column;
  gap: 1px;
  margin: 0 0 4px;
  padding: 4px 8px;
  border-left: 4px solid #06cf9c;
  border-radius: 6px;
  background: rgba(11, 20, 26, .05);
  font-size: .8125rem;
  min-width: 0;
}
.pilar-mensagem-recebida .pilar-citacao { border-left-color: #53bdeb; }
.pilar-citacao-autor { color: #06cf9c; font-weight: 500; }
.pilar-mensagem-recebida .pilar-citacao-autor { color: #1f7aec; }
.pilar-citacao-texto {
  color: #667781;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  white-space: pre-wrap;
  word-break: break-word;
}
.pilar-composer-resposta {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  margin-bottom: .4rem;
  padding: .4rem .5rem;
  background: #fff;
  border-radius: 8px;
}
.pilar-composer-resposta .pilar-citacao { flex: 1 1 auto; margin: 0; }
.pilar-composer-resposta-fechar {
  border: 0; background: transparent; color: #54656f; font-size: 1rem; cursor: pointer; padding: .1rem .4rem;
}

.pilar-encaminhar .pilar-dialogo-corpo h3 { font-size: 1rem; }
.pilar-encaminhar-lista { max-height: 50vh; overflow-y: auto; border: 1px solid #e9edef; border-radius: 8px; }
.pilar-encaminhar-item {
  display: flex; justify-content: space-between; align-items: baseline; gap: .5rem;
  width: 100%; text-align: left; border: 0; border-bottom: 1px solid #f0f2f5;
  background: #fff; padding: .55rem .75rem; cursor: pointer; color: #111b21;
}
.pilar-encaminhar-item:hover { background: #f5f6f6; }
.pilar-encaminhar-item small { color: #667781; white-space: nowrap; }
.pilar-msg-aviso {
  position: fixed; left: 50%; bottom: 1.5rem; transform: translateX(-50%); z-index: 1090;
  background: #3b4a54; color: #fff; padding: .55rem 1rem; border-radius: 8px;
  font-size: .875rem; box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}
.pilar-msg-aviso.erro { background: #b42318; }

/* ⌄ fora do balão, ao lado (não cobre mais a hora em balão curto). */
.pilar-tela-chat .pilar-mensagem > .pilar-msg-acoes {
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 1px 2px rgba(11, 20, 26, .15);
}
.pilar-tela-chat .pilar-mensagem-recebida > .pilar-msg-acoes { right: -28px; left: auto; }
.pilar-tela-chat .pilar-mensagem-enviada > .pilar-msg-acoes { left: -28px; right: auto; }
.pilar-tela-chat .pilar-mensagem:hover > .pilar-msg-acoes { opacity: 1; }
