:root{
  --fundo:#0b141a; --painel:#111b21; --painel2:#202c33; --risca:#2a3942;
  --texto:#e9edef; --suave:#8696a0; --verde:#00a884; --verde-escuro:#005c4b;
  --bolha-bot:#005c4b; --bolha-cliente:#202c33; --bolha-sistema:#182229;
  --aviso:#f0b232; --perigo:#f15c6d;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{margin:0;background:var(--fundo);color:var(--texto);font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,textarea{font:inherit;color:inherit}
.aplicacao{display:grid;grid-template-columns:minmax(300px,380px) 1fr;height:100vh;overflow:hidden}
/* sem isto os filhos do grid crescem com o conteúdo e é a página que rola, não as mensagens */
.aplicacao>*{min-height:0}

/* ── Lista de conversas ── */
.lista{background:var(--painel);border-right:1px solid var(--risca);display:flex;flex-direction:column;min-width:0}
.cabecalho-lista{padding:14px 16px;border-bottom:1px solid var(--risca);display:flex;flex-direction:column;gap:10px}
.titulo{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pastilha{font-size:.72rem;padding:3px 9px;border-radius:999px;background:var(--painel2);color:var(--suave);white-space:nowrap}
.pastilha.ok{background:rgba(0,168,132,.18);color:#5fd0ae}
.pastilha.mau{background:rgba(241,92,109,.16);color:var(--perigo)}
.controlos{display:flex;gap:8px}
.busca{flex:1;display:block}
.busca input{width:100%;background:var(--painel2);border:1px solid transparent;border-radius:8px;padding:8px 12px;outline:none}
.busca input:focus{border-color:var(--verde)}
.botao-pequeno{background:var(--painel2);border:1px solid var(--risca);border-radius:8px;padding:8px 12px;cursor:pointer;white-space:nowrap}
.botao-pequeno:hover{background:var(--risca)}
.contadores{margin:0;font-size:.78rem;color:var(--suave)}
.conversas{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}
.conversas li{display:flex;gap:12px;padding:11px 16px;border-bottom:1px solid rgba(42,57,66,.5);cursor:pointer;align-items:flex-start}
.conversas li:hover{background:var(--painel2)}
.conversas li[aria-current="true"]{background:var(--painel2)}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--risca);display:grid;place-items:center;font-weight:600;color:var(--suave);flex:0 0 auto}
.linha-conversa{min-width:0;flex:1}
.linha-topo{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.linha-topo strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quando{font-size:.7rem;color:var(--suave);white-space:nowrap}
.previa-texto{margin:2px 0 0;font-size:.84rem;color:var(--suave);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.etiqueta{display:inline-block;margin-top:4px;font-size:.68rem;padding:2px 7px;border-radius:4px;background:var(--risca);color:var(--suave)}
.etiqueta.humano{background:rgba(240,178,50,.18);color:var(--aviso)}
.etiqueta.cliente{background:rgba(0,168,132,.18);color:#5fd0ae}
.etiqueta.oposicao,.etiqueta.sem_interesse{background:rgba(241,92,109,.14);color:var(--perigo)}
.etiqueta.aguarda_pagamento,.etiqueta.aguarda_confirmacao{background:rgba(240,178,50,.14);color:var(--aviso)}

/* ── Conversa ── */
.conversa{display:flex;flex-direction:column;min-width:0;background:
  linear-gradient(rgba(11,20,26,.94),rgba(11,20,26,.94)),
  repeating-linear-gradient(45deg,#111b21 0 12px,#0e171d 12px 24px)}
.vazio{margin:auto;text-align:center;color:var(--suave);max-width:420px;padding:24px}
.vazio .emoji{font-size:3rem;margin:0 0 8px}
.vazio .nota{font-size:.84rem;opacity:.75}
.painel-conversa{display:flex;flex-direction:column;height:100%;min-height:0}
.cabecalho-conversa{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;background:var(--painel);border-bottom:1px solid var(--risca);flex-wrap:wrap}
.cabecalho-conversa .sub{display:block;font-size:.78rem;color:var(--suave)}
.acoes{display:flex;gap:8px;flex-wrap:wrap}
.mensagens{flex:1;overflow-y:auto;padding:20px clamp(16px,6vw,80px);display:flex;flex-direction:column;gap:6px;min-height:0}
.bolha{max-width:min(68ch,78%);padding:7px 11px;border-radius:8px;position:relative;white-space:pre-wrap;overflow-wrap:anywhere}
.bolha.cliente{background:var(--bolha-cliente);align-self:flex-start;border-top-left-radius:2px}
.bolha.bot{background:var(--bolha-bot);align-self:flex-end;border-top-right-radius:2px}
.bolha.sistema{background:var(--bolha-sistema);align-self:center;color:var(--suave);font-size:.8rem;text-align:center;max-width:70ch;border-radius:8px}
.bolha .meta{display:block;margin-top:3px;font-size:.66rem;color:rgba(233,237,239,.55);text-align:right}
.bolha.mao{border:1px dashed rgba(240,178,50,.5)}
.bolha a{color:#7fd4ff}
.dia{align-self:center;margin:12px 0 6px;font-size:.7rem;color:var(--suave);background:var(--bolha-sistema);padding:4px 11px;border-radius:999px}

/* ── Escrever ── */
.escrever{background:var(--painel);border-top:1px solid var(--risca);padding:10px 16px}
.escrever form{display:flex;gap:10px;align-items:flex-end}
.escrever textarea{flex:1;resize:none;max-height:140px;background:var(--painel2);border:1px solid transparent;border-radius:10px;padding:10px 14px;outline:none}
.escrever textarea:focus{border-color:var(--verde)}
.botao-enviar{background:var(--verde);border:none;border-radius:50%;width:42px;height:42px;cursor:pointer;color:#06231c;font-size:1.05rem;flex:0 0 auto}
.botao-enviar:disabled{opacity:.4;cursor:not-allowed}
.aviso{font-size:.8rem;color:var(--aviso);margin-bottom:8px}

.torrada{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);background:var(--painel2);border:1px solid var(--risca);padding:11px 18px;border-radius:10px;max-width:min(560px,90vw);box-shadow:0 10px 30px rgba(0,0,0,.45);z-index:10}
.torrada.mau{border-color:var(--perigo);color:#ffd7dc}

@media (max-width:860px){
  .aplicacao{grid-template-columns:1fr}
  .conversa{display:none}
  body.aberta .lista{display:none}
  body.aberta .conversa{display:flex}
}

/* ── Abas ── */
.abas{display:flex;gap:6px}
.aba{flex:1;background:transparent;border:1px solid var(--risca);border-radius:8px;padding:7px 10px;cursor:pointer;font-size:.86rem;display:flex;align-items:center;justify-content:center;gap:6px}
.aba:hover{background:var(--painel2)}
.aba[aria-current="true"]{background:var(--painel2);border-color:var(--verde);color:#5fd0ae}
.conta{background:var(--verde);color:#06231c;border-radius:999px;padding:0 6px;font-size:.7rem;font-weight:700;min-width:18px;text-align:center}

/* ── Aprender ── */
.aprender{position:fixed;inset:0;background:var(--fundo);display:flex;flex-direction:column;z-index:5;overflow:hidden}
.cabecalho-aprender{display:flex;align-items:center;gap:16px;padding:14px 22px;background:var(--painel);border-bottom:1px solid var(--risca)}
.cabecalho-aprender .sub{display:block;font-size:.8rem;color:var(--suave)}
.cabecalho-aprender code{background:var(--painel2);padding:1px 6px;border-radius:4px;font-size:.84em}
.corpo-aprender{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:24px;padding:24px clamp(16px,4vw,40px);align-items:start}
.cartao{background:var(--painel);border:1px solid var(--risca);border-radius:12px;padding:20px}
.cartao h2,.cabecalho-regras h2{margin:0 0 6px;font-size:1.05rem;display:flex;align-items:center;gap:8px}
.sub{color:var(--suave);font-size:.84rem;margin:0}
.campo{display:block;margin-top:14px}
.campo span{display:block;font-size:.8rem;color:var(--suave);margin-bottom:5px}
.campo input{width:100%;background:var(--painel2);border:1px solid var(--risca);border-radius:8px;padding:9px 12px;outline:none}
.campo input:focus{border-color:var(--verde)}
.campo input[type=file]{padding:8px;cursor:pointer}
.botoes{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.botao-grande{background:var(--painel2);border:1px solid var(--risca);border-radius:8px;padding:10px 16px;cursor:pointer}
.botao-grande:hover{background:var(--risca)}
.botao-grande.primario{background:var(--verde);border-color:var(--verde);color:#06231c;font-weight:600}
.botao-grande:disabled{opacity:.5;cursor:not-allowed}
.resumo{margin-top:14px;padding:12px 14px;background:var(--painel2);border-radius:8px;font-size:.86rem;line-height:1.6}
.resumo b{color:#5fd0ae}
.progresso{margin-top:16px}
.barra{height:7px;background:var(--painel2);border-radius:999px;overflow:hidden}
.barra span{display:block;height:100%;width:0;background:var(--verde);transition:width .3s ease}
.cabecalho-regras{margin-bottom:14px}
.lista-regras{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.regra{background:var(--painel);border:1px solid var(--risca);border-radius:12px;padding:16px}
.regra textarea{width:100%;background:var(--painel2);border:1px solid transparent;border-radius:8px;padding:10px 12px;resize:vertical;min-height:62px;outline:none;line-height:1.5}
.regra textarea:focus{border-color:var(--verde)}
.regra-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.regra-meta select{background:var(--painel2);border:1px solid var(--risca);border-radius:8px;padding:7px 10px;outline:none}
.regra-meta .origem{font-size:.76rem;color:var(--suave);margin-left:auto}
.excerto{margin:10px 0 0;padding:9px 12px;border-left:2px solid var(--risca);color:var(--suave);font-size:.82rem;font-style:italic}
.regra .botoes{margin-top:12px}
.aceitar{background:var(--verde);border-color:var(--verde);color:#06231c;font-weight:600}
.vazio-regras{color:var(--suave);padding:28px;text-align:center;border:1px dashed var(--risca);border-radius:12px}
@media (max-width:900px){ .corpo-aprender{grid-template-columns:1fr} }
.coluna-fontes{display:flex;flex-direction:column;gap:20px;position:sticky;top:0}
.conversas-fechadas .resumo{margin-top:12px}
.conta-fraca{color:var(--aviso)}

/* ── Gerir ── */
.corpo-gerir{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:minmax(320px,400px) 1fr;gap:24px;padding:24px clamp(16px,4vw,40px);align-items:start}
.coluna-direita{display:flex;flex-direction:column;gap:20px;min-width:0}
.linha-opcao{display:flex;align-items:center;gap:9px;margin-top:12px;font-size:.86rem;color:var(--suave);cursor:pointer}
.linha-opcao input{width:16px;height:16px;accent-color:var(--verde)}
.grelha-campos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.grelha-campos .campo{margin-top:0}
.grelha-campos .largo{grid-column:1/-1}
.dias{display:flex;gap:5px;flex-wrap:wrap}
.dias label{display:flex;align-items:center;gap:5px;background:var(--painel2);border:1px solid var(--risca);border-radius:7px;padding:6px 9px;font-size:.8rem;cursor:pointer}
.dias input{accent-color:var(--verde)}
.filtros{display:flex;gap:9px;margin:12px 0;flex-wrap:wrap}
.filtros input,.filtros select{background:var(--painel2);border:1px solid var(--risca);border-radius:8px;padding:8px 11px;outline:none}
.filtros input{flex:1;min-width:180px}
.tabela-envolve{max-height:46vh;overflow:auto;border:1px solid var(--risca);border-radius:10px}
.tabela-leads{width:100%;border-collapse:collapse;font-size:.85rem}
.tabela-leads td{padding:8px 10px;border-bottom:1px solid rgba(42,57,66,.6);vertical-align:middle}
.tabela-leads tr:last-child td{border-bottom:none}
.tabela-leads .nome-lead{font-weight:500}
.tabela-leads .detalhe-lead{display:block;color:var(--suave);font-size:.76rem}
.tabela-leads select{background:var(--painel2);border:1px solid var(--risca);border-radius:6px;padding:4px 7px;font-size:.8rem}
.marca-dgc{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--suave);cursor:pointer;white-space:nowrap}
.marca-dgc input{accent-color:var(--verde)}
#texto-tecnicas{width:100%;background:var(--painel2);border:1px solid var(--risca);border-radius:10px;padding:14px;resize:vertical;outline:none;font:13px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace;white-space:pre;overflow-wrap:normal;overflow-x:auto}
#texto-tecnicas:focus{border-color:var(--verde)}
@media (max-width:1000px){ .corpo-gerir{grid-template-columns:1fr} .grelha-campos{grid-template-columns:1fr} }

/* ── Disparo manual ── */
.barra-disparo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 12px}
.barra-disparo .botao-grande{margin-left:auto}
.barra-disparo .linha-opcao{margin-top:0}
.tabela-leads td.marca{width:30px;padding-right:0}
.tabela-leads td.marca input{width:16px;height:16px;accent-color:var(--verde);cursor:pointer}
.tabela-leads td.marca input:disabled{cursor:not-allowed;opacity:.35}
.etiqueta.fila{background:rgba(0,168,132,.18);color:#5fd0ae}

/* ── Países ── */
.paises{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.pais{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid transparent;border-radius:8px;padding:7px 10px;cursor:pointer;font-size:.86rem;text-align:left}
.pais:hover{background:var(--painel2)}
.pais[aria-current="true"]{background:var(--painel2);border-color:var(--verde)}
.ponto{width:8px;height:8px;border-radius:50%;background:var(--risca);flex:0 0 auto}
.ponto.pronto{background:var(--verde)}
.ponto.qr,.ponto.a-ligar{background:var(--aviso)}
.lista-paises{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.linha-pais{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;background:var(--painel2);border-radius:10px}
.linha-pais .nome-pais{font-weight:600;min-width:110px}
.linha-pais .estado-pais{font-size:.8rem;color:var(--suave);flex:1;min-width:140px}
.linha-pais .estado-pais.pronto{color:#5fd0ae}
.linha-pais .estado-pais.qr{color:var(--aviso)}
.qr-pais{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;background:#fff;border-radius:10px}
.qr-pais img{width:240px;height:240px;image-rendering:pixelated}
.qr-pais p{margin:0;color:#111;font-size:.82rem;text-align:center}
.pastilha-pais{font-size:.68rem;padding:1px 6px;border-radius:4px;background:var(--risca);color:var(--suave);margin-left:6px}
