/* NEXUS TRANSLATE — identidade Nexus. Cores do banco de marca (BRAND). */
:root{
  --nexus:#2f81f7; --nexus-claro:#5ac8ff; --nexus-fundo:#0b57c4;
  --bg:#0f1216; --bg2:#161b22; --bg3:#1c232c; --linha:#252d38;
  --txt:#e6edf3; --txt2:#8b97a6; --txt3:#5d6875;
  --eu:#1f4d8f; --eu2:#26588f;
  --ok:#3fb950; --alerta:#d29922; --erro:#f85149;
  --raio:14px;
}
html[data-tema="claro"]{
  --bg:#f6f8fa; --bg2:#ffffff; --bg3:#eef2f6; --linha:#d8dee4;
  --txt:#1f2328; --txt2:#5a6672; --txt3:#8c959f;
  --eu:#dbeafe; --eu2:#c7dcfb;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;background:var(--bg);color:var(--txt);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  overscroll-behavior:none}
button,input,select,textarea{font-family:inherit}
.oculto{display:none !important}

.tel{max-width:1100px;margin:0 auto;height:100dvh;display:grid;grid-template-columns:320px 1fr}

/* ---------- coluna esquerda ---------- */
.lista{background:var(--bg2);border-right:1px solid var(--linha);display:flex;flex-direction:column;min-height:0}
.marca{padding:14px 16px;border-bottom:1px solid var(--linha);display:flex;align-items:center;gap:10px}
.logo{width:32px;height:32px;flex:0 0 auto}
.marca h1{font-size:15px;margin:0;font-weight:650;letter-spacing:.2px}
.marca small{display:block;color:var(--txt2);font-size:11px;font-weight:400}
.chip-botao{margin-left:auto;background:var(--bg3);border:1px solid var(--linha);color:var(--txt2);
  border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer}
.busca{padding:10px 12px;border-bottom:1px solid var(--linha);display:flex;gap:8px}
.busca input{flex:1;background:var(--bg3);border:1px solid var(--linha);color:var(--txt);
  border-radius:10px;padding:9px 12px;font-size:13px;outline:none}
.convs{overflow-y:auto;flex:1;min-height:0}
.conv{display:flex;gap:11px;padding:11px 14px;cursor:pointer;border-bottom:1px solid var(--linha);align-items:center}
.conv:hover{background:var(--bg3)}
.conv.sel{background:var(--bg3);box-shadow:inset 3px 0 0 var(--nexus)}
.av{width:42px;height:42px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;
  font-weight:700;font-size:14px;color:#fff}
.conv-txt{min-width:0;flex:1}
.conv-nome{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px}
.conv-prev{font-size:12px;color:var(--txt2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.hora{font-size:10px;color:var(--txt3)}
.badge{background:var(--nexus);color:#fff;border-radius:20px;font-size:10px;font-weight:700;padding:1px 6px}
.chip-idi{font-size:9px;background:var(--bg);border:1px solid var(--linha);color:var(--txt2);
  border-radius:5px;padding:1px 5px;font-weight:700;letter-spacing:.3px}

/* ---------- conversa ---------- */
.conversa{display:flex;flex-direction:column;min-height:0;background:var(--bg)}
.topo{padding:11px 16px;border-bottom:1px solid var(--linha);display:flex;align-items:center;gap:11px;background:var(--bg2)}
.voltar{display:none;background:none;border:0;color:var(--txt);font-size:20px;cursor:pointer;padding:0 4px}
@media(max-width:820px){.voltar{display:block}}
.topo-info{flex:1;min-width:0}
.topo-nome{font-size:15px;font-weight:650}
.topo-sub{font-size:11px;color:var(--txt2);margin-top:1px}
.icone{background:none;border:0;color:var(--txt2);font-size:17px;cursor:pointer;padding:6px}
.duplex{display:flex;align-items:center;gap:9px;background:var(--bg3);border:1px solid var(--linha);
  border-radius:11px;padding:5px 11px;cursor:pointer;color:var(--txt)}
.duplex:hover{border-color:var(--nexus)}
.duplex .lado{display:flex;flex-direction:column;line-height:1.15}
.duplex .lado b{font-size:12.5px;font-weight:700;letter-spacing:.4px}
.duplex .lado i{font-size:8.5px;color:var(--txt3);font-style:normal}
.duplex .seta{color:var(--nexus);font-size:14px}
@media(max-width:520px){.duplex .lado i{display:none}}

.msgs{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:14px;min-height:0}
.dia,.marco{align-self:center;color:var(--txt3);font-size:10.5px}
.dia{background:var(--bg3);padding:3px 11px;border-radius:20px;border:1px solid var(--linha)}
.marco{display:flex;align-items:center;gap:9px;width:100%}
.marco::before,.marco::after{content:"";flex:1;height:1px;background:var(--linha)}
.m{max-width:78%;display:flex;flex-direction:column;gap:3px}
.m.meu{align-self:flex-end;align-items:flex-end}
.autor{font-size:11px;color:var(--txt2);font-weight:600;padding:0 3px}
.bolha{background:var(--bg2);border:1px solid var(--linha);padding:9px 13px;border-radius:var(--raio);
  border-bottom-left-radius:4px}
.m.meu .bolha{background:var(--eu);border-color:var(--eu2);
  border-bottom-left-radius:var(--raio);border-bottom-right-radius:4px}
html[data-tema="claro"] .m.meu .bolha{color:#0b2a5b}
.txt{font-size:14.5px;word-wrap:break-word;white-space:pre-wrap}
.orig{display:none;margin-top:8px;padding-top:8px;border-top:1px dashed var(--linha);
  font-size:13.5px;color:var(--txt2);font-style:italic;white-space:pre-wrap}
.m.abrir .orig{display:block}
.rodape{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:10.5px;color:var(--txt3);flex-wrap:wrap}
.trad{background:none;border:0;color:var(--nexus);font-size:10.5px;font-weight:600;cursor:pointer;padding:0}
.trad:hover{text-decoration:underline}
.pulsando{display:inline-flex;gap:3px;align-items:center}
.pulsando i{width:4px;height:4px;border-radius:50%;background:var(--txt3);animation:p 1.2s infinite}
.pulsando i:nth-child(2){animation-delay:.2s}.pulsando i:nth-child(3){animation-delay:.4s}
@keyframes p{0%,60%,100%{opacity:.25}30%{opacity:1}}
.bolha.falhou{border-color:var(--erro)}
.retry{background:var(--erro);border:0;color:#fff;border-radius:7px;padding:3px 9px;
  font-size:10.5px;font-weight:700;cursor:pointer}

.escrever{padding:11px 14px;border-top:1px solid var(--linha);background:var(--bg2);
  display:flex;align-items:flex-end;gap:9px;padding-bottom:calc(11px + env(safe-area-inset-bottom))}
.escrever textarea{flex:1;background:var(--bg3);border:1px solid var(--linha);color:var(--txt);
  border-radius:20px;padding:10px 15px;font-size:14.5px;resize:none;outline:none;max-height:110px;line-height:1.45}
.acao{width:40px;height:40px;border-radius:50%;border:0;background:var(--bg3);color:var(--txt2);
  font-size:17px;cursor:pointer;flex:0 0 auto}
.acao.enviar{background:var(--nexus);color:#fff}
.dica{padding:0 14px 9px;background:var(--bg2);font-size:10.5px;color:var(--txt3)}
.vazio{margin:auto;text-align:center;color:var(--txt3);font-size:13px;padding:40px}

/* ---------- anexos ---------- */
.anexo{display:flex;align-items:center;gap:10px;background:var(--bg3);border:1px solid var(--linha);
  border-radius:10px;padding:9px 11px;margin-bottom:7px;text-decoration:none;color:var(--txt)}
.anexo:hover{border-color:var(--nexus)}
.anexo .ic{width:32px;height:32px;border-radius:8px;background:var(--nexus);display:grid;
  place-items:center;font-size:15px;flex:0 0 auto}
.anexo-nome{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anexo-sub{font-size:10.5px;color:var(--txt2)}
.anexo-img{display:block;margin-bottom:7px;border-radius:10px;overflow:hidden;max-width:260px}
.anexo-img img{display:block;width:100%;height:auto;border-radius:10px}

/* ---------- folhas ---------- */
.painel{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;z-index:50;align-items:flex-end;justify-content:center}
.painel.on{display:flex}
.folha{background:var(--bg2);width:100%;max-width:460px;border-radius:18px 18px 0 0;
  padding:20px 20px calc(24px + env(safe-area-inset-bottom));border:1px solid var(--linha);border-bottom:0;
  max-height:86dvh;overflow-y:auto}
.puxador{width:38px;height:4px;background:var(--linha);border-radius:3px;margin:0 auto 16px}
.folha h3{margin:0 0 4px;font-size:16px}
.folha p.sub{margin:0 0 16px;font-size:12px;color:var(--txt2)}
.opc{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--linha)}
.opc:last-child{border-bottom:0}
.opc-t{font-size:13.5px;font-weight:600}.opc-s{font-size:11px;color:var(--txt2);margin-top:2px}
.sel-idi{background:var(--bg3);border:1px solid var(--linha);color:var(--txt);border-radius:9px;
  padding:7px 11px;font-size:12.5px;outline:none}
.aviso{background:rgba(210,153,34,.12);border:1px solid rgba(210,153,34,.35);color:var(--alerta);
  border-radius:10px;padding:10px 12px;font-size:11.5px;margin-top:14px;line-height:1.5}
.aviso.azul{background:rgba(47,129,247,.10);border-color:rgba(47,129,247,.32);color:var(--nexus)}
.pessoa{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--linha);cursor:pointer}
.pessoa:last-child{border-bottom:0}

/* ---------- entrar ---------- */
.entrar{min-height:100dvh;display:grid;place-items:center;padding:24px}
.cartao{width:100%;max-width:380px;background:var(--bg2);border:1px solid var(--linha);
  border-radius:18px;padding:28px 24px}
.cartao .logo{width:52px;height:52px;margin:0 auto 14px;display:block}
.cartao h1{font-size:19px;margin:0 0 4px;text-align:center}
.cartao p.sub{font-size:12.5px;color:var(--txt2);text-align:center;margin:0 0 22px}
.campo{margin-bottom:14px}
.campo label{display:block;font-size:12px;color:var(--txt2);margin-bottom:5px;font-weight:600}
.campo input,.campo select{width:100%;background:var(--bg3);border:1px solid var(--linha);color:var(--txt);
  border-radius:10px;padding:11px 13px;font-size:14.5px;outline:none}
.campo input:focus{border-color:var(--nexus)}
.botao{width:100%;background:var(--nexus);border:0;color:#fff;border-radius:10px;
  padding:12px;font-size:14.5px;font-weight:650;cursor:pointer;margin-top:6px}
.botao:disabled{opacity:.55;cursor:default}
.recado{font-size:12.5px;border-radius:9px;padding:10px 12px;margin-bottom:14px}
.recado.erro{background:rgba(248,81,73,.12);border:1px solid rgba(248,81,73,.35);color:var(--erro)}
.recado.ok{background:rgba(63,185,80,.12);border:1px solid rgba(63,185,80,.35);color:var(--ok)}
.barra-off{background:var(--alerta);color:#1a1200;text-align:center;font-size:11.5px;
  font-weight:700;padding:5px}

/* ==========================================================================
   CELULAR — precisa ficar NO FIM do arquivo.
   Estava logo depois de .tel, e a regra `.lista{display:flex}` da secao
   "coluna esquerda", por vir DEPOIS e ter a mesma especificidade, ganhava.
   Resultado: no celular a lista e a conversa apareciam as duas, empilhadas.
   Nenhum dos 25 testes pegou isso, porque todos olhavam comportamento.
   Quem pegou foi a captura de tela.
   ========================================================================== */
@media(max-width:820px){
  .tel{grid-template-columns:1fr}
  .lista{display:none}
  .tel.ver-lista .lista{display:flex}
  .tel.ver-lista .conversa{display:none}
}
