/* ---------- cores (modo claro) ---------- */
:root{
  --grafite:#221E20; --amarelo:#F2CC0F; --amarelo-hover:#DDB800;
  --fundo:#F6F5F1; --fundo-conversa:#FBFAF7; --cartao:#FFFFFF; --borda:#E3E1DA; --borda-campo:#CFCBC0;
  --texto:#221E20; --texto2:#5B625E; --linha:#EFEDE7; --hover:#FAFAF7; --selecionado:#FDF6D3;
  --msg-cliente:#FFFFFF; --msg-ia:#FBF0C2; --msg-humano:#221E20; --msg-humano-txt:#FFFFFF; --msg-nota:#FFF4D6; --nota-borda:#C08A1E;
  --menu:#221E20; --menu-txt:#E6E2E3; --menu-hover:#35302F;
  --ok-bg:#E3F1EA; --ok-tx:#17573F; --warn-bg:#FCEBD7; --warn-tx:#8A3C06; --bad-bg:#FBE1DE; --bad-tx:#9B1C12;
  --info-bg:#E4ECF7; --info-tx:#1F4A80; --setor-bg:#EFEDE7; --setor-tx:#3B413E;
  --sombra:0 8px 30px rgba(34,30,32,.18);
  --fonte:'Inter',system-ui,sans-serif;
}
/* ---------- modo escuro ---------- */
:root[data-tema="escuro"]{
  --fundo:#171516; --fundo-conversa:#1C1A1B; --cartao:#242122; --borda:#3A3637; --borda-campo:#4A4546;
  --texto:#F1EEEF; --texto2:#B5AFB1; --linha:#2F2B2C; --hover:#2B2829; --selecionado:#3A3420;
  --msg-cliente:#2E2A2B; --msg-ia:#4A4120; --msg-humano:#F2CC0F; --msg-humano-txt:#221E20; --msg-nota:#3D3520; --nota-borda:#C99A3A;
  --menu:#0F0D0E; --menu-txt:#D8D3D5; --menu-hover:#2A2627;
  --ok-bg:#1E3A2E; --ok-tx:#9FDBBE; --warn-bg:#47301A; --warn-tx:#F5C38E; --bad-bg:#4A2220; --bad-tx:#F4A9A1;
  --info-bg:#1E2F47; --info-tx:#A8C7EE; --setor-bg:#332F30; --setor-tx:#D3CDCF;
  --sombra:0 8px 30px rgba(0,0,0,.5);
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--fonte);color:var(--texto);background:var(--fundo)}
h1,h2,.marca{font-family:var(--fonte);font-weight:700;letter-spacing:-.01em}
button{font:inherit;cursor:pointer;color:inherit}
.barra-sim{position:fixed;top:0;left:0;right:0;z-index:50;background:#FDF6D3;color:#221E20;border-bottom:1px solid #E8D27A;font-size:13px;padding:5px 16px;display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}
.barra-sim select,.barra-sim input{min-height:30px;padding:3px 8px;font-size:13px;background:#fff;color:#221E20}
.barra-sim button{border:1px solid #221E20;background:#fff;border-radius:6px;padding:3px 10px;font-size:13px;color:#221E20}
/* login */
/* regressão 27/10: a regra antiga da prévia (por id, tela-login) deixava a caixa de login aparecendo acima do painel */
.caixa-login{width:100%;max-width:400px;background:var(--cartao);border:1px solid var(--borda);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:16px}
.caixa-login .marca{font-size:30px}
.sub{font-size:12px;color:#B08A00;letter-spacing:.06em;text-transform:uppercase}
label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:6px}
input,select,textarea{font:inherit;font-size:14px;border:1px solid var(--borda-campo);border-radius:8px;padding:10px 12px;min-height:44px;background:var(--cartao);color:var(--texto)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--amarelo);outline-offset:1px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--amarelo);color:#221E20;border:1px solid var(--amarelo);border-radius:8px;padding:8px 14px;font-weight:600;font-size:14px;min-height:44px;white-space:nowrap}
.btn:hover{background:var(--amarelo-hover)}
.btn.ghost{background:var(--cartao);color:var(--texto);border-color:var(--texto)}
.btn.ghost:hover{background:var(--selecionado)}
.btn.pequeno{min-height:36px;padding:6px 10px;font-size:13px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-icone{width:44px;min-height:44px;border:1px solid var(--borda-campo);border-radius:8px;background:var(--cartao);display:inline-flex;align-items:center;justify-content:center}
.btn-icone:hover{border-color:var(--texto)}
.dica{font-size:12px;color:var(--texto2);line-height:1.5}
/* app */
#app{display:none;height:100vh}
body.com-sim #app{padding-top:40px}
.casca{display:flex;height:100%}
nav.menu{width:232px;flex-shrink:0;background:var(--menu);padding:20px 12px;display:flex;flex-direction:column;gap:4px}
.menu .marca{font-size:26px;color:#FFFFFF;padding:0 14px}
.menu .sub{color:var(--amarelo);padding:0 14px 20px}
.nav{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:8px;color:var(--menu-txt);background:none;border:0;text-align:left;font-size:14px;width:100%}
.nav:hover{background:var(--menu-hover);color:#FFFFFF}
.nav.on{background:var(--amarelo);color:#221E20;font-weight:600}
.cont{margin-left:auto;background:#C2410C;color:#FFFFFF;font-size:11px;font-weight:600;border-radius:999px;padding:1px 7px}
.usuario{margin-top:auto;padding:12px;border-radius:10px;background:var(--menu-hover);color:var(--menu-txt);font-size:13px;display:flex;flex-direction:column;gap:8px}
.usuario b{color:#FFFFFF}
.btn-tema{background:none;border:1px solid #5A5456;color:var(--menu-txt);border-radius:8px;min-height:36px;font-size:13px}
.btn-tema:hover{border-color:var(--amarelo)}
main{flex-grow:1;padding:22px 28px;display:flex;flex-direction:column;gap:14px;min-width:0;overflow:auto}
.cab{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cab h1{margin:0;font-size:28px}
.cab p{margin:4px 0 0;color:var(--texto2);font-size:14px}
.card{background:var(--cartao);border:1px solid var(--borda);border-radius:12px}
.tag{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.ok{background:var(--ok-bg);color:var(--ok-tx)}.warn{background:var(--warn-bg);color:var(--warn-tx)}.bad{background:var(--bad-bg);color:var(--bad-tx)}
.info{background:var(--info-bg);color:var(--info-tx)}.setor{background:var(--setor-bg);color:var(--setor-tx)}
.pill{border:1px solid var(--borda-campo);background:var(--cartao);border-radius:999px;padding:6px 12px;font-size:13px;min-height:36px}
.pill.on{background:var(--texto);border-color:var(--texto);color:var(--fundo)}
.tela{display:none;flex-direction:column;gap:14px;min-height:0;flex-grow:1}
.tela.on{display:flex}
/* atendimento */
.grade{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;flex-grow:1;min-height:540px}
.lista{display:flex;flex-direction:column;overflow:hidden}
.lista-cab{padding:12px 16px;border-bottom:1px solid var(--borda);font-size:13px;font-weight:600;color:var(--texto2)}
.conv{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;padding:12px 16px;border:0;border-bottom:1px solid var(--linha);background:var(--cartao)}
.conv:hover{background:var(--hover)}
.conv.on{background:var(--selecionado);box-shadow:inset 3px 0 0 var(--amarelo)}
.linha{display:flex;justify-content:space-between;gap:8px;width:100%}
.ultima{font-size:13px;color:var(--texto2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quem{font-size:12px;color:var(--texto2)}
.quem b{color:var(--texto)}
.vazio{padding:24px 16px;font-size:14px;color:var(--texto2)}
.conversa{display:flex;flex-direction:column;overflow:hidden;position:relative}
.conv-cab{padding:12px 18px;border-bottom:1px solid var(--borda);display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.info-cli{flex-grow:1;display:flex;flex-direction:column;gap:4px;min-width:220px}
.atendente-box{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:4px 10px;border-radius:8px;background:var(--setor-bg);width:fit-content}
.atendente-box b{font-weight:600}
.passo{display:inline-flex;padding:3px 9px;border-radius:6px;background:var(--setor-bg);font-size:12px;color:var(--setor-tx)}
.passo.atual{background:var(--texto);color:var(--fundo);font-weight:600}
.msgs{flex-grow:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:10px;background:var(--fundo-conversa)}
.mrow{display:flex}.mrow.l{justify-content:flex-start}.mrow.r{justify-content:flex-end}.mrow.c{justify-content:center}
.msg{max-width:72%;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.45;display:flex;flex-direction:column;gap:4px;white-space:pre-wrap}
.msg.cliente{background:var(--msg-cliente);border:1px solid var(--borda)}
.msg.ia{background:var(--msg-ia)}
.msg.humano{background:var(--msg-humano);color:var(--msg-humano-txt)}
.msg.nota{background:var(--msg-nota);border:1px dashed var(--nota-borda);max-width:80%}
.selo-interno{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--warn-tx)}
.msg.sistema{background:none;color:var(--texto2);font-size:12px;text-align:center;padding:2px}
.autor{font-size:12px;font-weight:600;opacity:.85}
.hora{font-size:11px;opacity:.7;align-self:flex-end}
.lista-wpp{margin-top:6px;border-top:1px solid rgba(127,127,127,.3);padding-top:6px;display:flex;flex-direction:column;gap:4px}
.lista-wpp .botao-wpp{font-weight:600;color:#1F7AEC;text-align:center}
.lista-wpp ol{margin:4px 0 0;padding-left:18px;font-size:13px}
.anexo{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:rgba(127,127,127,.15);font-size:13px}
.responder{border-top:1px solid var(--borda);padding:12px 18px;display:flex;flex-direction:column;gap:8px}
.abas,.atalhos{display:flex;gap:6px;flex-wrap:wrap}
.envio{display:flex;gap:8px;align-items:flex-end}
.envio textarea{flex-grow:1;min-height:44px;max-height:160px;resize:vertical}
.anexos-prontos{display:flex;gap:6px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;background:var(--setor-bg);font-size:12px}
.chip button{border:0;background:none;font-size:14px;line-height:1;padding:0 2px}
.solte{position:absolute;inset:0;background:rgba(242,204,15,.18);border:3px dashed var(--amarelo);border-radius:12px;display:none;align-items:center;justify-content:center;font-weight:600;font-size:18px;z-index:5;pointer-events:none}
.solte.on{display:flex}
.so-gestao-inline{}
.barras{display:flex;flex-direction:column;gap:8px;padding:16px}
.barra{display:grid;grid-template-columns:150px 1fr 60px;gap:10px;align-items:center;font-size:13px}
.barra .trilho{background:var(--setor-bg);border-radius:6px;height:14px;overflow:hidden}
.barra .enche{background:var(--amarelo);height:100%;border-radius:6px}
.horas{display:flex;align-items:flex-end;gap:6px;height:140px;padding:16px 16px 4px}
.horas div{flex:1;background:var(--amarelo);border-radius:4px 4px 0 0;position:relative}
.horas span{position:absolute;bottom:-20px;left:0;right:0;text-align:center;font-size:11px;color:var(--texto2)}
.graf-titulo{padding:14px 16px 0;font-weight:600;font-size:14px}
.duas-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.satis{display:flex;height:16px;border-radius:8px;overflow:hidden;margin:6px 0}
.satis div{height:100%}
.botoes-wpp{display:flex;flex-direction:column;gap:4px;margin-top:6px;border-top:1px solid rgba(127,127,127,.3);padding-top:6px}
.botoes-wpp span{text-align:center;font-weight:600;color:#1F7AEC;font-size:13px}
@media (max-width:900px){.duas-col{grid-template-columns:1fr}.barra{grid-template-columns:100px 1fr 50px}}
.bloqueio{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;border-radius:10px;background:var(--warn-bg);color:var(--warn-tx);font-size:14px}
.tique{font-size:12px;letter-spacing:-3px;margin-left:6px;font-weight:700}
.tique.lida{color:#53BDEB}
.tique.falhou{color:#E5484D;letter-spacing:0}
.legenda{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--texto2)}
.encerrado-box{border-top:1px solid var(--borda);padding:14px 18px;font-size:14px;color:var(--texto2)}
/* tabelas */
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--linha);vertical-align:middle}
th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--texto2);font-weight:600}
.num{font-family:var(--fonte);font-size:30px;font-weight:700}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.kpi{padding:16px;display:flex;flex-direction:column;gap:4px}
.kpi span{font-size:13px;color:var(--texto2)}
.form-grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px;align-items:end}
.config{padding:18px;display:flex;flex-direction:column;gap:14px;max-width:760px}
.config h2{margin:0;font-size:20px}
.config .duas{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* avisos internos */
.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:10px;z-index:70;max-width:380px}
.toast{background:var(--cartao);border:1px solid var(--borda);border-left:5px solid #C2410C;border-radius:10px;padding:14px 16px;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:8px;font-size:14px}
.toast b{font-weight:600}
.toast .acoes{justify-content:flex-start}
/* modal */
.fundo-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:60;padding:16px}
.fundo-modal.on{display:flex}
.modal{background:var(--cartao);border-radius:14px;padding:24px;width:100%;max-width:460px;display:flex;flex-direction:column;gap:14px}
.modal h2{margin:0;font-size:22px}
.acoes{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.citacao{background:var(--msg-ia);border-radius:10px;padding:10px 12px;font-size:14px;white-space:pre-wrap}
@keyframes pulsa{0%,100%{opacity:1}50%{opacity:.45}}
.pulsa{animation:pulsa 1.4s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.pulsa{animation:none}}
@media (max-width:900px){
  nav.menu{width:72px}.menu .marca,.menu .sub,.nav .rot,.usuario{display:none}
  .grade{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grade,.config .duas{grid-template-columns:1fr}
}

/* ---------- painel real ---------- */
.tela-login{min-height:100vh;display:none;align-items:center;justify-content:center;padding:48px 16px}
.tela-login.on{display:flex}
.erro{color:var(--bad-tx);font-size:13px;min-height:1em}
.qr{display:flex;justify-content:center;background:#fff;border-radius:12px;padding:12px}
.chave{font-family:ui-monospace,Consolas,monospace;font-size:15px;text-align:center;letter-spacing:.04em;word-break:break-all}
.opcao-sim{cursor:pointer;text-decoration:underline}
.msg a{color:inherit}
.msg .erro-envio{font-size:12px;font-weight:600;color:var(--bad-tx);background:var(--bad-bg);border-radius:6px;padding:6px 8px;white-space:normal}
.msg.humano .erro-envio{color:#9B1C12;background:#FBE1DE}
.marcas{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow:auto;padding:4px 0}
.marcas label{flex-direction:row;align-items:center;gap:6px;font-weight:500;font-size:13px;border:1px solid var(--borda-campo);border-radius:999px;padding:4px 10px}
.marcas input{min-height:auto}
.setores-lista{display:flex;flex-direction:column;gap:12px;padding:16px}
.setor-item{display:grid;grid-template-columns:160px 1fr auto;gap:10px;align-items:start}
.setor-item textarea{min-height:44px}
.rodape{font-size:11px;color:var(--menu-txt);opacity:.6;padding:6px 14px 0}
.vazio-conv{display:flex;align-items:center;justify-content:center;height:100%;color:var(--texto2);font-size:14px;padding:40px;text-align:center}
.cobrado{font-size:11px;font-weight:700;color:var(--warn-tx)}
td .acoes{justify-content:flex-start}
@media (max-width:900px){.setor-item{grid-template-columns:1fr}}
.tela > .card,.tela > form,.tela > .kpis,.tela > div{flex-shrink:0}
.tela > .grade{flex-shrink:1}
a.btn{text-decoration:none}
