:root{
  --fundo:#070d1a; --painel:#0b1220; --painel2:#111a2e; --borda:#1c2740; --texto:#e6ecf7; --suave:#8a97b3;
  --primaria:#0ea5b7; --primaria2:#0b8a99; --humano:#22c55e; --ia:#8b5cf6; --alerta:#f59e0b; --erro:#ef4444;
  --balao-cliente:#1a2438; --balao-ia:#6d3fd6; --balao-humano:#0e8f9e;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--fundo);color:var(--texto);font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
button,input,textarea,select{font:inherit;color:inherit}
.oculto{display:none!important}
.btn{border:0;border-radius:10px;padding:10px 16px;cursor:pointer;background:var(--painel2);color:var(--texto)}
.btn.primario{background:linear-gradient(135deg,var(--primaria),var(--primaria2));color:#fff;font-weight:600}
.btn.secundario{background:transparent;border:1px solid var(--borda)}
.btn.pequeno{padding:6px 10px;font-size:12.5px}
.btn:disabled{opacity:.5;cursor:default}
.icone{background:transparent;border:0;color:var(--suave);font-size:17px;cursor:pointer;padding:6px 8px;border-radius:8px;text-decoration:none}
.icone:hover{background:var(--painel2);color:var(--texto)}
.erro{color:var(--erro);min-height:1em;margin:6px 0 0}
.ok{color:var(--humano);margin-left:10px}

/* Login */
.login{min-height:100%;display:grid;place-items:center;padding:16px}
.login-card{width:100%;max-width:360px;background:var(--painel);border:1px solid var(--borda);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:12px}
.login-card h1{margin:0;text-align:center}
.login-card .sub{margin:-8px 0 8px;text-align:center;color:var(--suave)}
.login-card label{display:flex;flex-direction:column;gap:4px;color:var(--suave);font-size:13px}
input,textarea,select{background:var(--painel2);border:1px solid var(--borda);border-radius:10px;padding:10px 12px;outline:none;width:100%}
input:focus,textarea:focus{border-color:var(--primaria)}
.logo{font-size:38px;text-align:center}.logo.grande{font-size:56px}

/* Layout */
.app{display:flex;height:100vh;height:100dvh}
.lateral{width:360px;min-width:300px;background:var(--painel);border-right:1px solid var(--borda);display:flex;flex-direction:column}
.lateral-topo{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 8px}
.marca{font-weight:700;font-size:16px}
.busca{padding:0 12px 8px}
.filtros{display:flex;gap:6px;padding:0 12px 10px;flex-wrap:wrap}
.filtros button{background:var(--painel2);border:1px solid var(--borda);border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;color:var(--suave)}
.filtros button.ativo{background:var(--primaria);border-color:var(--primaria);color:#fff}
.filtros b{background:var(--alerta);color:#000;border-radius:999px;padding:0 6px;margin-left:2px;font-size:11px}
.lista{flex:1;overflow-y:auto}
.rodape-lista{display:flex;justify-content:space-between;padding:8px 12px;color:var(--suave);font-size:12px;border-top:1px solid var(--borda)}
.conexao{color:var(--humano)}.conexao.off{color:var(--erro)}

.item{display:flex;gap:10px;padding:12px;border-bottom:1px solid var(--borda);cursor:pointer;position:relative}
.item:hover{background:var(--painel2)}
.item.sel{background:#0f2a33}
.item .meio{flex:1;min-width:0}
.item .linha1{display:flex;justify-content:space-between;gap:8px}
.item .nome{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item .hora{color:var(--suave);font-size:11.5px;white-space:nowrap}
.item .tel{color:var(--suave);font-size:12px}
.item .previa{color:var(--suave);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}
.item .selos{display:flex;gap:6px;margin-top:5px;align-items:center}
.selo{font-size:11px;border-radius:6px;padding:1px 7px;border:1px solid}
.selo.ia{color:#c4b5fd;border-color:#4c3a8f}
.selo.humano{color:#86efac;border-color:#166534}
.selo.atencao{color:#000;background:var(--alerta);border-color:var(--alerta);font-weight:600}
.naolidas{background:var(--primaria);color:#fff;border-radius:999px;font-size:11px;padding:0 7px;margin-left:auto}
.avatar{width:42px;height:42px;border-radius:50%;background:#0e7490;display:grid;place-items:center;font-weight:700;flex:none}

/* Piscar: cliente pediu atendente / IA transferiu */
@keyframes piscar{0%,100%{background:rgba(245,158,11,.05)}50%{background:rgba(245,158,11,.28)}}
.item.atencao{animation:piscar 1.1s ease-in-out infinite;border-left:4px solid var(--alerta)}
.carregando{padding:14px;text-align:center;color:var(--suave)}

/* Chat */
.chat{flex:1;display:flex;min-width:0;background:var(--fundo)}
.chat-vazio{margin:auto;text-align:center;color:var(--suave)}
.aviso-teste{color:var(--alerta)}
.chat-aberto{flex:1;display:flex;flex-direction:column;min-width:0}
.chat-topo{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--painel);border-bottom:1px solid var(--borda)}
.chat-info{min-width:0}
.chat-nome{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-tel{color:var(--primaria);font-size:12px}
.acoes{margin-left:auto;display:flex;gap:6px;align-items:center}
.voltar{display:none}
.faixa-atencao{background:rgba(245,158,11,.15);color:#fcd34d;padding:8px 14px;font-size:13px;border-bottom:1px solid #78350f}
.mensagens{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column}
.btn-anteriores{align-self:center;margin-bottom:12px;background:var(--painel2);border:1px solid var(--borda);border-radius:999px;padding:6px 14px;cursor:pointer;color:var(--suave)}
.msg{max-width:min(680px,80%);margin:3px 0;display:flex;flex-direction:column}
.msg .balao{padding:9px 13px;border-radius:14px;white-space:pre-wrap;word-wrap:break-word}
.msg .meta{font-size:11px;color:var(--suave);margin-top:2px}
.msg.entrada{align-self:flex-start}.msg.entrada .balao{background:var(--balao-cliente);border-top-left-radius:4px}
.msg.saida{align-self:flex-end;align-items:flex-end}
.msg.saida.ia .balao{background:var(--balao-ia);border-top-right-radius:4px}
.msg.saida.humano .balao{background:var(--balao-humano);border-top-right-radius:4px}
.msg.falhou .balao{outline:2px solid var(--erro)}
.msg.sistema{align-self:center;max-width:90%}
.msg.sistema .balao{background:transparent;border:1px dashed var(--borda);color:var(--suave);font-size:12px;padding:4px 10px}
.dia{align-self:center;color:var(--suave);font-size:11.5px;margin:12px 0 6px;background:var(--painel2);padding:2px 10px;border-radius:999px}
.envio{display:flex;gap:8px;padding:10px 14px;background:var(--painel);border-top:1px solid var(--borda)}
.envio textarea{resize:none;max-height:160px}
.enviar{width:48px;padding:0;font-size:18px}

/* Admin */
.admin{width:min(900px,96vw);max-height:92vh;background:var(--painel);color:var(--texto);border:1px solid var(--borda);border-radius:16px;padding:0}
.admin::backdrop{background:rgba(0,0,0,.6)}
.admin-topo{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--borda);position:sticky;top:0;background:var(--painel)}
.abas{display:flex;gap:6px}
.abas button{background:transparent;border:1px solid var(--borda);border-radius:8px;padding:6px 12px;cursor:pointer;color:var(--suave)}
.abas button.ativo{background:var(--primaria);border-color:var(--primaria);color:#fff}
.aba{padding:16px;display:flex;flex-direction:column;gap:12px}
.aba label{display:flex;flex-direction:column;gap:4px;color:var(--suave);font-size:13px}
.aba label.linha{flex-direction:row;align-items:center;gap:8px;color:var(--texto)}
.aba label.linha input{width:auto}
.status-config{font-size:12.5px;color:var(--suave);display:flex;gap:14px;flex-wrap:wrap}
.tabela{width:100%;border-collapse:collapse;font-size:13px}
.tabela th,.tabela td{text-align:left;padding:7px;border-bottom:1px solid var(--borda)}
.form-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;align-items:center}
.form-grade h3,.form-grade textarea,.form-grade .erro,.form-grade .ok{grid-column:1/-1;margin:4px 0 0}
.dica{color:var(--suave);margin:0}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--painel2);border:1px solid var(--borda);padding:10px 16px;border-radius:10px;z-index:9;max-width:90vw}

/* Celular */
@media (max-width: 768px){
  .lateral{width:100%;min-width:0;border-right:0}
  .app.com-chat .lateral{display:none}
  .app:not(.com-chat) .chat{display:none}
  .voltar{display:inline-block}
  .chat-topo{flex-wrap:wrap;padding:8px 10px}
  .acoes{width:100%;margin-left:0;justify-content:flex-end}
  .msg{max-width:88%}
  .mensagens{padding:12px 10px}
}

/* ===== v3: tela cheia, letras maiores, botões do topo, edição ===== */
html,body{font-size:15.5px}
.lateral{width:420px;min-width:320px}
.item{padding:14px 16px}
.item .nome{font-size:16px}
.item .tel{font-size:13px;color:#cbd5e1;font-weight:600}
.item .previa{font-size:13.5px}
.avatar{width:48px;height:48px;font-size:17px}
.chat-topo{padding:12px 20px;min-height:74px}
.chat-nome{font-size:17px}
.chat-tel{font-size:13.5px}
.mensagens{padding:20px 28px}
.msg{max-width:min(1100px,78%)}
.msg .balao{padding:12px 18px;font-size:15.5px;border-radius:16px}
.msg .meta{font-size:12px}
.acoes{gap:10px}
.modo{display:flex;background:var(--painel2);border:1px solid var(--borda);border-radius:12px;padding:3px;gap:3px}
.acao{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid transparent;color:var(--suave);
  border-radius:10px;padding:8px 12px;cursor:pointer;text-decoration:none;font-size:13.5px;font-weight:600}
.acao svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.acao:hover{color:var(--texto);background:rgba(255,255,255,.05)}
.acao.ligado-humano{background:rgba(34,197,94,.15);border-color:#166534;color:#86efac}
.acao.ligado-ia{background:rgba(139,92,246,.2);border-color:#5b3fb0;color:#d8ccff}
#btn-exportar{border:1px solid var(--borda)}
.envio{padding:12px 20px;align-items:flex-end}
.envio textarea{font-size:15.5px;min-height:46px}
.corrigir{border:1px solid var(--borda);height:46px}
.corrigir.trabalhando{opacity:.6;pointer-events:none}
/* editar mensagem enviada */
.msg .editar{display:none;background:transparent;border:0;color:var(--suave);cursor:pointer;font-size:12px;padding:0 4px}
.msg.humano:hover .editar{display:inline}
.msg .editada{font-style:italic}
.edicao{display:flex;flex-direction:column;gap:6px;min-width:min(520px,80vw)}
.edicao textarea{min-height:70px}
.edicao .linha{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;font-size:12.5px;color:var(--suave)}
.edicao label{display:flex;gap:6px;align-items:center;margin-right:auto}
.edicao input{width:auto}
@media (max-width:768px){
  html,body{font-size:15px}
  .lateral{width:100%}
  .acao span{display:none}
  .acao{padding:8px 10px}
  .mensagens{padding:12px 10px}
  .msg{max-width:90%}
  .msg.humano .editar{display:inline}
  .envio{padding:8px}
}

/* v5: lápis sempre visível ao lado da mensagem da atendente */
.linha-balao{display:flex;align-items:center;gap:8px;max-width:100%}
.msg.saida .linha-balao{justify-content:flex-end}
.msg .editar.lapis{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;padding:0;
  border-radius:50%;border:1px solid var(--borda);background:var(--painel2);color:#9fb4d9;cursor:pointer}
.msg .editar.lapis svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.msg .editar.lapis:hover{background:var(--primaria);border-color:var(--primaria);color:#fff}
.msg.humano:hover .editar.lapis,.msg.humano .editar.lapis{display:inline-flex}
.linha-balao .balao{min-width:0}
