/* Help Desk — o visual do sistema.
   Sem biblioteca, sem framework. Claro e escuro no mesmo arquivo.

   A paleta sai do logotipo: grafite manda, laranja destaca. É a hierarquia da
   própria marca, e resolve um problema real — laranja com texto branco tem
   contraste ruim demais pra botão. Então o botão é grafite, e o laranja fica
   onde funciona: aviso, marcação, foco, o que precisa puxar o olho.

   As cores das ETAPAS não moram aqui: vêm do STATUS_TICKET, no PHP, servidas
   pelo cores.php. Aqui só tem a forma. */

/* ============================================================
   1. Os valores base
   ============================================================ */
:root{
  /* superfícies */
  --fundo:#f5f6f8;
  --papel:#ffffff;
  --papel-2:#fafbfc;
  --linha:#e4e7ec;
  --linha-forte:#d2d7df;

  /* texto */
  --texto:#22252b;
  --fraco:#69707c;
  --tenue:#9aa1ad;

  /* a marca */
  --acao:#33322e;          /* o grafite do logotipo */
  --acao-viva:#4a4842;
  --acao-texto:#ffffff;
  --destaque:#ef9f27;      /* o laranja do logotipo */
  --destaque-fundo:#fff7ea;
  --destaque-linha:#f0dfbb;
  --destaque-texto:#7a5307;
  --link:#1f6fbf;

  /* semânticas */
  --verde:#4d8a1c;    --verde-fundo:#eef6e5;    --verde-texto:#3a5f13;
  --vermelho:#cf4340; --vermelho-fundo:#fdecec; --vermelho-texto:#8a1f1f;
  --cinza:#5f5e5a;

  /* apelidos que o resto do arquivo ainda usa */
  --azul:var(--link);
  --laranja:var(--destaque);

  /* profundidade — três degraus, todos discretos */
  --sombra-1:0 1px 2px rgba(20,24,32,.05);
  --sombra-2:0 1px 2px rgba(20,24,32,.05), 0 4px 10px rgba(20,24,32,.05);
  --sombra-3:0 2px 4px rgba(20,24,32,.06), 0 10px 24px rgba(20,24,32,.08);

  --raio:10px;
  --raio-g:14px;
  --pilula:999px;
  --transicao:140ms cubic-bezier(.2,.6,.3,1);

  color-scheme:light dark;
}

@media (prefers-color-scheme:dark){
  :root{
    --fundo:#0f1114;
    --papel:#171a1f;
    --papel-2:#1c2026;
    --linha:#282d35;
    --linha-forte:#343b45;

    --texto:#e9ebef;
    --fraco:#98a0ac;
    --tenue:#6d7581;

    --acao:#e9ebef;             /* no escuro, a ação é clara */
    --acao-viva:#ffffff;
    --acao-texto:#15181d;
    --destaque:#f5ab3d;
    --destaque-fundo:#2b2416;
    --destaque-linha:#4a3f22;
    --destaque-texto:#f0c988;
    --link:#69aef0;

    --verde:#7ab63f;    --verde-fundo:#1d2718;    --verde-texto:#a9d47a;
    --vermelho:#e8615d; --vermelho-fundo:#2a1618; --vermelho-texto:#f0a6a4;

    --sombra-1:0 1px 2px rgba(0,0,0,.4);
    --sombra-2:0 1px 2px rgba(0,0,0,.4), 0 4px 12px rgba(0,0,0,.35);
    --sombra-3:0 2px 6px rgba(0,0,0,.5), 0 12px 28px rgba(0,0,0,.45);
  }
}

/* ============================================================
   2. Base
   ============================================================ */
*{box-sizing:border-box}

/* O JavaScript esconde coisas com o atributo hidden — a caixa de ajuda da
   abertura, a faixa de pendência no card, o selo de prazo. O navegador só dá
   display:none pra isso numa regra fraca, que QUALQUER display escrito aqui
   derruba. Já aconteceu: pôr display:flex num card fez a faixa escondida
   reaparecer. Esta linha resolve pro arquivo inteiro, de uma vez. */
[hidden]{display:none !important}

body{
  margin:0;
  font:15px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
  background:var(--fundo);
  color:var(--texto);
  -webkit-font-smoothing:antialiased;
}

a{color:var(--link);text-underline-offset:2px}
h1,h2,h3{letter-spacing:-.012em}

/* O anel de foco é laranja em tudo. Quem navega por teclado sempre sabe onde
   está, e a cor é a da marca em vez do azul padrão do navegador.

   As duas linhas de outline são de propósito, e o mesmo vale pros box-shadow
   laranjas espalhados pelo arquivo. A segunda usa color-mix, que navegador
   antigo não entende — e aí ele joga fora SÓ essa linha e fica com a primeira.
   Sem a primeira, quem está num navegador velho perderia o anel inteiro e não
   teria como saber onde o cursor está andando pelo teclado. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible{
  outline:3px solid var(--destaque);
  outline:3px solid color-mix(in srgb, var(--destaque) 55%, transparent);
  outline-offset:2px;
  border-radius:6px;
}

.mono{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:13px;white-space:nowrap}
.dica{font-size:12.5px;color:var(--fraco);line-height:1.6}
.sem-margem-topo{margin-top:0}
.espaco-acima{margin-top:18px}
.espaco-item{margin-bottom:16px}
.texto-erro{color:var(--vermelho)}

code{background:var(--papel-2);border:1px solid var(--linha);border-radius:5px;
  padding:1px 6px;font:12.5px ui-monospace,Menlo,Consolas,monospace}

/* ============================================================
   3. A barra de cima
   ============================================================ */
.topo{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:9px 20px;
  background:var(--papel);
  border-bottom:1px solid var(--linha);
  position:sticky;top:0;z-index:30;
  box-shadow:var(--sombra-1);
}
.topo-esq,.topo-dir{display:flex;align-items:center;gap:12px;min-width:0}

.marca-link{display:inline-flex;align-items:center;text-decoration:none;color:inherit;flex:none}
.marca{font-size:16px;font-weight:650;letter-spacing:-.015em}
.marca-logo{height:30px;width:auto;max-width:180px;display:block}

.nav{display:flex;gap:3px;align-items:center;min-width:0;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  padding:7px 12px;border-radius:var(--pilula);
  text-decoration:none;color:var(--fraco);font-size:14px;font-weight:500;
  transition:background var(--transicao),color var(--transicao);
}
.nav a:hover{background:var(--papel-2);color:var(--texto)}
.nav a.atual{background:var(--acao);color:var(--acao-texto);font-weight:600}
.nav .icone{opacity:.85}

.usuario{font-size:13px;color:var(--fraco);white-space:nowrap}
.usuario a{color:var(--fraco);display:inline-flex;align-items:center;gap:5px;
  vertical-align:-3px;text-decoration:none}
.usuario a:hover{color:var(--texto);text-decoration:underline}
.usuario a .icone{width:14px;height:14px}
.resumo{color:var(--fraco);font-size:13px}
.salvo{font-size:12px;color:var(--fraco);opacity:0;transition:opacity .2s}
.salvo.on{opacity:1;color:var(--verde)}
.salvo.erro-inline{color:var(--vermelho);max-width:420px;opacity:1}

.aviso-faixa{background:var(--destaque-fundo);color:var(--destaque-texto);
  padding:10px 20px;font-size:14px;border-bottom:1px solid var(--destaque-linha)}

/* O ícone padrão. Vem do PHP como SVG dentro da página, sem arquivo externo. */
.icone{width:16px;height:16px;flex:none}
.icone-g{width:18px;height:18px}

/* ============================================================
   4. Botões
   ============================================================ */
.btn,.btn-linha{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:var(--raio);font:600 14.5px/1 inherit;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:transform var(--transicao),box-shadow var(--transicao),
             background var(--transicao),border-color var(--transicao),color var(--transicao);
}
.btn{
  background:var(--acao);color:var(--acao-texto);border:1px solid var(--acao);
  padding:11px 18px;box-shadow:var(--sombra-1);
}
.btn:hover{background:var(--acao-viva);border-color:var(--acao-viva);
  transform:translateY(-1px);box-shadow:var(--sombra-2)}
.btn:active{transform:translateY(0);box-shadow:var(--sombra-1)}

.btn-linha{
  background:var(--papel);color:var(--texto);border:1px solid var(--linha-forte);
  padding:10px 15px;font-weight:550;
}
.btn-linha:hover{border-color:var(--acao);color:var(--texto);
  transform:translateY(-1px);box-shadow:var(--sombra-1)}
.btn-linha:active{transform:translateY(0)}

.btn-pequeno{padding:6px 11px;font-size:13px}
.acoes-rodape{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.form-inline{display:inline}

/* ============================================================
   5. O miolo e as caixas
   ============================================================ */
.miolo{max-width:820px;margin:0 auto;padding:30px 20px 80px}
.miolo-largo{max-width:1120px}
.miolo h1{font-size:24px;font-weight:680;margin:0 0 5px;letter-spacing:-.02em}
.miolo .sub{color:var(--fraco);margin:0 0 24px;font-size:14.5px;max-width:70ch}

.caixa-regra{background:var(--papel);border:1px solid var(--linha);
  border-radius:var(--raio-g);padding:18px 20px;margin-bottom:20px;font-size:14px;
  box-shadow:var(--sombra-1)}
.caixa-regra ol,.caixa-regra ul{margin:8px 0 0;padding-left:20px}
.caixa-regra li{margin-bottom:6px}

.titulo-secao{font-size:17.5px;font-weight:650;margin:32px 0 8px;letter-spacing:-.015em}
.titulo-bloco{margin:0 0 3px;font-weight:640;font-size:14.5px}
.titulo-conversa{margin-top:20px}

.cabeca-lista{display:flex;align-items:flex-start;justify-content:space-between;
  gap:16px;flex-wrap:wrap;margin-bottom:20px}
.cabeca-lista h1{margin:0 0 5px}
.cabeca-lista .sub{margin:0;max-width:58ch}

.migalha{margin:0 0 12px;font-size:13px}
.migalha a{text-decoration:none;color:var(--fraco)}
.migalha a:hover{color:var(--texto)}

.caixa-vazia{background:var(--papel);border:1.5px dashed var(--linha-forte);
  border-radius:var(--raio-g);padding:36px 24px;text-align:center;color:var(--fraco)}
.caixa-vazia p{margin:0 0 8px}
.caixa-vazia p:last-child{margin-bottom:0}

.erro,.ok,.aviso{border-radius:var(--raio);padding:13px 16px;margin:0 0 18px;font-size:14px;
  border:1px solid transparent;border-left-width:4px}
.erro{background:var(--vermelho-fundo);border-left-color:var(--vermelho);color:var(--vermelho-texto)}
.ok{background:var(--verde-fundo);border-left-color:var(--verde);color:var(--verde-texto)}
.aviso{background:var(--destaque-fundo);border-left-color:var(--destaque);color:var(--destaque-texto)}

.lista-simples{margin:0 0 16px;padding-left:20px;color:var(--fraco);font-size:14px}
.linha-categoria{margin:0 0 4px}

/* ============================================================
   6. Tabelas
   ============================================================ */
.rolagem-tabela{overflow-x:auto;background:var(--papel);border:1px solid var(--linha);
  border-radius:var(--raio-g);box-shadow:var(--sombra-1)}
.tabela{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.tabela th{text-align:left;font-size:11.5px;font-weight:650;color:var(--fraco);
  text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;
  background:var(--papel-2);border-bottom:1px solid var(--linha);white-space:nowrap}
.tabela td{padding:13px 16px;border-bottom:1px solid var(--linha);vertical-align:top}
.tabela tbody tr:last-child td{border-bottom:0}
.tabela tbody tr{transition:background var(--transicao)}
.tabela tbody tr:hover{background:var(--papel-2)}
.tabela .num{text-align:right;font-variant-numeric:tabular-nums}
.tabela .acoes{text-align:right;white-space:nowrap}
.tabela a{text-decoration:none;font-weight:600}
.tabela a:hover{text-decoration:underline}
.celula-fraca{color:var(--fraco);font-size:13px;margin-top:3px}
.linha-off{opacity:.5}
.linha-com-erro{background:var(--vermelho-fundo)}
.linha-com-erro td{vertical-align:middle}

/* ============================================================
   7. Formulários
   ============================================================ */
.formulario label{display:block;font-size:13px;font-weight:600;margin:18px 0 6px}
.formulario .caixa-regra > label:first-of-type{margin-top:0}
.formulario input[type=text],.formulario input[type=email],.formulario input[type=password],
.formulario input[type=number],.formulario input[type=date],.formulario input[type=month],
.formulario input[type=search],.formulario input:not([type]),
.formulario select,.formulario textarea{
  width:100%;padding:11px 13px;border:1px solid var(--linha-forte);
  border-radius:var(--raio);background:var(--papel);color:var(--texto);
  font:inherit;transition:border-color var(--transicao),box-shadow var(--transicao);
}
.formulario input[type=file]{width:100%;font-size:13.5px;padding:9px 12px;
  border:1px solid var(--linha-forte);border-radius:var(--raio);
  background:var(--papel-2);color:var(--texto)}
.formulario textarea{min-height:110px;resize:vertical;font-family:inherit}
.formulario input:hover,.formulario select:hover,.formulario textarea:hover{border-color:var(--tenue)}
.formulario input:focus,.formulario select:focus,.formulario textarea:focus{
  border-color:var(--destaque);
  box-shadow:0 0 0 3px rgba(239,159,39,.22);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--destaque) 22%, transparent);
  outline:none;
}
.formulario .dica{margin:6px 0 0}
.obrigatorio{font-weight:600;font-size:10.5px;color:var(--fraco);text-transform:uppercase;
  letter-spacing:.05em;margin-left:7px}

.linha-dupla{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.linha-dupla label{margin-top:0}
.linha-fatura{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;margin-top:14px}
.linha-fatura .linha-inteira{grid-column:1/-1}
.linha-fatura label{margin-top:0}

.caixas{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.caixa-marcavel{display:flex;align-items:center;gap:9px;border:1px solid var(--linha-forte);
  background:var(--papel);border-radius:var(--raio);padding:10px 14px;font-size:14px;
  cursor:pointer;transition:border-color var(--transicao),background var(--transicao)}
.caixa-marcavel:hover{border-color:var(--acao)}
.marcavel-solta{margin-top:14px}

.escolhas{display:flex;flex-direction:column;gap:9px;margin:14px 0 4px}
.escolha{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--linha-forte);
  background:var(--papel);border-radius:var(--raio);padding:12px 14px;cursor:pointer;
  transition:border-color var(--transicao),background var(--transicao)}
.escolha:hover{border-color:var(--acao)}
.escolha input{margin-top:3px;flex:none}
.escolha b{display:block;font-size:14px}
.escolha em{display:block;font-style:normal;color:var(--fraco);font-size:12.5px;
  line-height:1.45;margin-top:2px}
.escolha-off{opacity:.4;cursor:not-allowed}

input[type=checkbox],input[type=radio]{accent-color:var(--destaque)}

/* ============================================================
   8. Barra de filtros
   ============================================================ */
.barra-filtros{display:flex;align-items:center;justify-content:space-between;gap:14px;
  flex-wrap:wrap;padding:12px 20px;background:var(--papel);border-bottom:1px solid var(--linha)}
.filtros{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.filtros input[type=search],.filtros select,.filtros input[type=date]{
  padding:9px 12px;border:1px solid var(--linha-forte);border-radius:var(--raio);
  background:var(--papel);color:var(--texto);font:inherit;font-size:14px;
  transition:border-color var(--transicao)}
.filtros input[type=search]{min-width:250px}
.filtros input:focus,.filtros select:focus{border-color:var(--destaque);outline:none;
  box-shadow:0 0 0 3px rgba(239,159,39,.22);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--destaque) 22%, transparent)}
.filtros-dir{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.filtros-soltos{margin-bottom:18px}
.rotulo-inline{font-size:13px;color:var(--fraco)}
.contador-atraso{color:var(--vermelho);font-weight:650}

/* ============================================================
   9. O quadro de chamados
   ============================================================ */
.quadro{display:flex;gap:14px;padding:18px 20px 36px;overflow-x:auto;
  align-items:flex-start;min-height:calc(100vh - 70px)}
.coluna{flex:0 0 296px;background:var(--papel-2);border:1px solid var(--linha);
  border-radius:var(--raio-g);display:flex;flex-direction:column;
  max-height:calc(100vh - 110px)}
.coluna-topo{display:flex;align-items:center;gap:9px;padding:12px 14px;
  border-bottom:1px solid var(--linha)}
.bolinha{width:9px;height:9px;border-radius:50%;flex:none}
.coluna-nome{font-weight:650;font-size:14px}
.coluna-conta{margin-left:auto;font-size:12px;font-weight:600;color:var(--fraco);
  background:var(--papel);border:1px solid var(--linha);padding:2px 9px;border-radius:var(--pilula)}
.coluna-conta.esperando{background:var(--destaque-fundo);border-color:var(--destaque-linha);
  color:var(--destaque-texto)}
.coluna-lista{list-style:none;margin:0;padding:10px;overflow-y:auto;flex:1;min-height:90px}
.coluna.alvo{outline:2px dashed var(--destaque);outline-offset:-4px}
.vazio-col{color:var(--tenue);font-size:13px;text-align:center;padding:24px 10px;
  border:1.5px dashed var(--linha);border-radius:var(--raio)}

.card{background:var(--papel);border:1px solid var(--linha);
  border-radius:var(--raio);padding:12px 13px;margin-bottom:9px;
  box-shadow:var(--sombra-1);
  transition:transform var(--transicao),box-shadow var(--transicao),border-color var(--transicao)}
.card:hover{border-color:var(--linha-forte);transform:translateY(-1px);box-shadow:var(--sombra-2)}
.card[draggable=true]{cursor:grab}
.card[draggable=true]:active{cursor:grabbing}
.card.arrastando{opacity:.4}
.card-topo{display:flex;align-items:flex-start;gap:8px}
.card-nome{font-weight:640;font-size:14px;line-height:1.35;flex:1;
  color:var(--texto);text-decoration:none}
.card-nome:hover{color:var(--link)}
.card-protocolo{font-size:11.5px;color:var(--fraco);
  font-family:ui-monospace,Menlo,Consolas,monospace}
.card-local{font-size:12px;color:var(--fraco);margin-top:4px}
.card-sinal{font-size:12.5px;color:var(--fraco);margin-top:8px;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.chip-prioridade{color:var(--vermelho);font-weight:650}
.prioridade-urgente .card-protocolo{color:var(--vermelho)}

/* A cor de cada etapa vem do cores.php, na variável --cor-etapa. */
.borda-etapa{border-left:3px solid var(--cor-etapa,var(--cinza))}
.bolinha-etapa{background:var(--cor-etapa,var(--cinza))}

/* ============================================================
   10. Selos, chips e o semáforo do prazo
   ============================================================ */
.sla{font-size:11px;font-weight:650;padding:2px 8px;border-radius:var(--pilula);flex:none}
.sla-ok{background:var(--verde-fundo);color:var(--verde-texto)}
.sla-perto{background:var(--destaque-fundo);color:var(--destaque-texto)}
.sla-estourado{background:var(--vermelho-fundo);color:var(--vermelho-texto)}

.marca-chip{display:inline-block;font-size:11px;padding:2px 9px;border-radius:var(--pilula);
  background:var(--papel-2);color:var(--fraco);border:1px solid var(--linha)}
.chip-nao{display:inline-block;font-size:11px;padding:2px 9px;border-radius:var(--pilula);
  background:var(--vermelho-fundo);color:var(--vermelho-texto);margin-left:7px;white-space:nowrap}
.chip-eu{display:inline-block;font-size:11px;padding:2px 9px;border-radius:var(--pilula);
  background:var(--verde-fundo);color:var(--verde-texto);margin-left:7px}
.chip-interna{display:inline-block;font-size:11px;padding:2px 9px;border-radius:var(--pilula);
  background:var(--destaque-fundo);color:var(--destaque-texto);font-weight:650}
.caixa-ajuda-operadora{display:inline-block;font-size:11px;padding:2px 9px;
  border-radius:var(--pilula);background:var(--verde-fundo);color:var(--verde-texto);margin-left:7px}

.g-marcas{display:flex;flex-wrap:wrap;gap:8px}
.g-marca{border:1px solid var(--linha);background:var(--papel);color:var(--texto);
  border-radius:var(--raio);padding:8px 14px;font-size:13px}

.g-contatos{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.g-contato{display:flex;gap:12px;font-size:14px;align-items:baseline;flex-wrap:wrap}
.g-contato b{font-weight:600;color:var(--fraco);font-size:11.5px;min-width:150px;
  text-transform:uppercase;letter-spacing:.04em}

/* ============================================================
   11. A tela do chamado
   ============================================================ */
.ficha-topo{display:flex;align-items:flex-start;justify-content:space-between;
  gap:18px;flex-wrap:wrap;margin-bottom:20px}
.ficha-topo h1{margin:3px 0 5px}
.ficha-topo .sub{margin:0}
.ficha-selos{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.selo-etapa{background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);
  padding:7px 13px;font-size:13px;font-weight:650;box-shadow:var(--sombra-1)}

.protocolo-grande{margin:0 0 2px;font-size:13px;color:var(--fraco)}
.protocolo-grande strong{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;
  color:var(--texto);letter-spacing:.02em}

.duas-colunas{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}
.texto-corrido{white-space:normal;word-wrap:break-word;line-height:1.65;font-size:14.5px}

.mensagem{background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio-g);
  padding:14px 16px;margin-bottom:10px;box-shadow:var(--sombra-1)}
.mensagem-interna{background:var(--destaque-fundo);border-color:var(--destaque-linha)}
.mensagem-topo{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:8px;font-size:13px}
.mensagem-data{margin-left:auto;color:var(--fraco);font-size:12px}
.form-resposta{margin-top:16px}

.botoes-etapa{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.btn-etapa{text-align:left;width:100%;justify-content:flex-start;background:var(--papel)}
.btn-etapa:hover{border-color:var(--cor-etapa,var(--acao))}

.andamento{list-style:none;margin:12px 0 0;padding:0;font-size:13px}
.andamento li{padding:9px 0;border-bottom:1px solid var(--linha)}
.andamento li:last-child{border-bottom:0}
.andamento-acao{font-weight:650;display:block}
.andamento-detalhe{color:var(--texto);display:block;font-size:12.5px}
.andamento-data{color:var(--fraco);font-size:12px;display:block;margin-top:2px}

/* devolução ao cliente */
.aviso-pendencia{background:var(--destaque-fundo);border:1px solid var(--destaque-linha);
  border-left:4px solid var(--destaque);border-radius:var(--raio-g);
  padding:16px 20px;margin:0 0 22px}
.aviso-pendencia-titulo{margin:0 0 11px;font-weight:650;font-size:15px;
  color:var(--destaque-texto);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.aviso-pendencia-rotulo{margin:0 0 5px;font-size:11px;font-weight:650;
  color:var(--destaque-texto);text-transform:uppercase;letter-spacing:.05em}
.aviso-pendencia .texto-corrido{color:var(--destaque-texto);white-space:pre-wrap}
.aviso-pendencia .dica{margin:13px 0 0;color:var(--destaque-texto);opacity:.85}
.aviso-pendencia .marca-chip{background:var(--papel);border-color:var(--destaque-linha);
  color:var(--destaque-texto);font-weight:500}
.card-pendencia{margin-top:9px;padding:7px 10px;background:var(--destaque-fundo);
  border-radius:8px;font-size:12px;color:var(--destaque-texto);line-height:1.5;
  border-left:3px solid var(--destaque);display:flex;align-items:flex-start;gap:7px}

.bloco-devolver summary{cursor:pointer;list-style:none;text-align:left;width:100%}
.bloco-devolver summary::-webkit-details-marker{display:none}
.bloco-devolver summary::after{content:'▾';color:var(--fraco);margin-left:auto}
.bloco-devolver[open] summary::after{content:'▴'}
.form-devolver{margin-top:11px;padding:14px 15px;background:var(--papel-2);
  border:1px solid var(--linha);border-radius:var(--raio)}
.form-devolver label{margin-top:13px}
.form-devolver textarea{min-height:70px}

/* anexos */
.lista-anexos{list-style:none;margin:0 0 14px;padding:0}
.lista-anexos li{display:flex;align-items:center;gap:11px;flex-wrap:wrap;
  padding:10px 0;border-bottom:1px solid var(--linha)}
.lista-anexos li:last-child{border-bottom:0}
.lista-anexos a{font-weight:600;text-decoration:none}
.lista-anexos a:hover{text-decoration:underline}
.anexo-info{color:var(--fraco);font-size:12.5px}
.lista-anexos .form-inline{margin-left:auto}
.form-anexo{display:flex;gap:11px;align-items:center;flex-wrap:wrap;
  padding-top:14px;border-top:1px solid var(--linha)}
.form-anexo input[type=file]{font-size:13.5px;max-width:100%;padding:9px 12px;
  border:1px solid var(--linha-forte);border-radius:var(--raio);
  background:var(--papel-2);color:var(--texto)}

/* ============================================================
   12. A caixa de ajuda da abertura
   ============================================================ */
.campo-com-ajuda{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.campo-com-ajuda textarea{min-height:210px}
.coluna-ajuda{position:sticky;top:78px}
.ajuda-dados{background:var(--papel-2);border:1px solid var(--linha);
  border-radius:var(--raio-g);padding:16px 18px}
.ajuda-titulo{margin:0 0 9px;font-weight:650;font-size:13.5px;
  display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ajuda-titulo-doc{margin-top:18px;padding-top:15px;border-top:1px solid var(--linha)}
.ajuda-lista,.ajuda-documentos{margin:0 0 11px;padding-left:18px;font-size:13.5px;line-height:1.75}
.ajuda-lista li,.ajuda-documentos li{margin:0}
.ajuda-dados .dica{margin:0 0 11px}
.btn-modelo{width:100%}

/* ============================================================
   13. Atalhos em cartão
   ============================================================ */
.grade-atalhos{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));
  gap:16px;margin-bottom:24px}
.atalho{display:flex;flex-direction:column;gap:10px;background:var(--papel);
  border:1px solid var(--linha);border-radius:var(--raio-g);padding:20px 22px;
  text-decoration:none;color:var(--texto);box-shadow:var(--sombra-1);
  transition:transform var(--transicao),box-shadow var(--transicao),border-color var(--transicao)}
a.atalho:hover{border-color:var(--linha-forte);transform:translateY(-2px);box-shadow:var(--sombra-3)}
.atalho-titulo{font-weight:650;font-size:16px;letter-spacing:-.01em}
.atalho-texto{font-size:13px;color:var(--fraco);line-height:1.6;flex:1}
.atalho-acao{font-size:13px;font-weight:650;color:var(--link)}
.atalho-parado{cursor:default}
a.atalho-parado:hover,.atalho-parado:hover{border-color:var(--linha);transform:none;
  box-shadow:var(--sombra-1)}
.atalho-parado input[type=file]{width:100%;padding:9px 11px;border:1px solid var(--linha-forte);
  border-radius:var(--raio);background:var(--papel-2);color:var(--texto);font:inherit;font-size:13px}

/* ============================================================
   14. Operadoras e planilhas
   ============================================================ */
.bloco-requisito{margin-bottom:9px}
.bloco-requisito summary{cursor:pointer;list-style:none;display:flex;align-items:center;
  gap:11px;flex-wrap:wrap}
.bloco-requisito summary::-webkit-details-marker{display:none}
.bloco-requisito summary::after{content:'▾';color:var(--fraco);margin-left:auto}
.bloco-requisito[open] summary::after{content:'▴'}
.resumo-requisito{font-weight:600}
.form-requisito{margin:11px 0 20px;padding:16px 18px;background:var(--papel-2);
  border:1px solid var(--linha);border-radius:var(--raio)}
.form-requisito textarea{font-family:inherit;min-height:130px}
.form-manual{margin-top:18px;padding-top:16px;border-top:1px solid var(--linha)}

.conversa-smtp{background:var(--papel-2);border:1px solid var(--linha);border-radius:var(--raio);
  padding:13px 15px;margin:9px 0 11px;overflow-x:auto;
  font:12.5px/1.6 ui-monospace,Menlo,Consolas,monospace;
  white-space:pre;max-height:340px;overflow-y:auto}

/* ============================================================
   15. Entrar
   ============================================================ */
.tela-login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}
.caixa-login{background:var(--papel);border:1px solid var(--linha);border-radius:18px;
  padding:38px 34px;width:100%;max-width:410px;box-shadow:var(--sombra-3)}
.caixa-login h1{margin:0 0 5px;font-size:22px;font-weight:680;letter-spacing:-.02em}
.caixa-login .sub{margin:0 0 24px;color:var(--fraco);font-size:14px}
.caixa-login label{display:block;font-size:13px;font-weight:600;margin:16px 0 6px}
.caixa-login input{width:100%;padding:12px 13px;border:1px solid var(--linha-forte);
  border-radius:var(--raio);background:var(--papel);color:var(--texto);font:inherit;
  transition:border-color var(--transicao),box-shadow var(--transicao)}
.caixa-login input:focus{border-color:var(--destaque);outline:none;
  box-shadow:0 0 0 3px rgba(239,159,39,.22);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--destaque) 22%, transparent)}
.caixa-login button{width:100%;margin-top:24px;background:var(--acao);color:var(--acao-texto);
  border:0;border-radius:var(--raio);padding:13px;font:650 15px inherit;cursor:pointer;
  transition:background var(--transicao),transform var(--transicao),box-shadow var(--transicao);
  box-shadow:var(--sombra-1)}
.caixa-login button:hover{background:var(--acao-viva);transform:translateY(-1px);
  box-shadow:var(--sombra-2)}
.rodape-login{margin:22px 0 0;font-size:12.5px;color:var(--fraco);text-align:center;line-height:1.55}
.logo-login{display:block;max-width:220px;max-height:72px;width:auto;height:auto;margin:0 auto 22px}

/* ============================================================
   16. A marca, na tela de configuração
   ============================================================ */
.previa-marca{display:flex;align-items:center;justify-content:center;min-height:80px;
  background:var(--papel-2);border:1.5px dashed var(--linha-forte);border-radius:var(--raio);
  padding:14px}
.previa-logo{max-width:100%;max-height:52px;width:auto;height:auto}
.previa-favicon{width:44px;height:44px;object-fit:contain}

/* ============================================================
   17. O sinal de "precisa de ação"
   Pulso, não pisca-pisca. Piscar forte cansa em minutos e, em quem tem
   sensibilidade a luz, chega a passar mal.
   ============================================================ */
@keyframes pulso-alerta{
  0%   {box-shadow:0 0 0 0 rgba(239,159,39,.6);
        box-shadow:0 0 0 0 color-mix(in srgb, var(--destaque) 60%, transparent)}
  70%  {box-shadow:0 0 0 8px transparent}
  100% {box-shadow:0 0 0 0 transparent}
}
.bolinha-alerta{width:9px;height:9px;border-radius:50%;background:var(--destaque);
  flex:none;display:inline-block;animation:pulso-alerta 1.9s ease-out infinite}
.card-esperando{border-color:var(--destaque-linha);animation:pulso-alerta 1.9s ease-out infinite}
.contador-esperando{display:inline-flex;align-items:center;gap:8px;
  background:var(--destaque-fundo);border:1px solid var(--destaque-linha);
  color:var(--destaque-texto);border-radius:var(--pilula);padding:6px 14px;
  font-size:13px;font-weight:650;text-decoration:none;
  transition:border-color var(--transicao)}
.contador-esperando:hover{border-color:var(--destaque);color:var(--destaque-texto)}

/* ============================================================
   18. Telas estreitas — tudo num lugar só
   ============================================================ */
@media (max-width:900px){
  .duas-colunas{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:820px){
  .campo-com-ajuda{grid-template-columns:minmax(0,1fr)}
  .coluna-ajuda{position:static}
}
@media (max-width:760px){
  .linha-fatura{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  .linha-dupla{grid-template-columns:1fr}
}
@media (max-width:640px){
  .topo{padding:9px 14px;gap:10px}
  .topo-esq{flex:1 1 100%;order:1}
  .topo-dir{flex:1 1 100%;order:2;justify-content:space-between}
  .nav{order:3;width:100%;margin:0 -14px;padding:0 14px}
  .marca-logo{height:26px;max-width:150px}
  .miolo{padding:22px 16px 70px}
  .miolo h1{font-size:21px}
  .quadro{padding:14px}
  .coluna{flex-basis:274px}
  .g-contato b{min-width:0}
  .filtros,.filtros-dir{width:100%}
  .filtros input[type=search]{min-width:0;flex:1}
  .cabeca-lista .btn{width:100%}
  .barra-filtros{padding:12px 14px}
}

/* ============================================================
   19. Quem pediu menos animação não vê movimento nenhum.
   O anel continua lá, parado — a marcação não se perde.
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .bolinha-alerta,.card-esperando{
    box-shadow:0 0 0 3px rgba(239,159,39,.35);
    box-shadow:0 0 0 3px color-mix(in srgb, var(--destaque) 35%, transparent);
  }
  .btn:hover,.btn-linha:hover,.card:hover,a.atalho:hover{transform:none}
}
