/* Auditae — painel (direção Cobalto) */

:root {
  --void:        #070B17;
  --fundo:       #0A0F1E;
  --superficie:  #0E1530;
  --superficie2: #111A3A;
  --superficie3: #182352;
  --borda:       #172040;
  --borda2:      #22305C;
  --tinta:       #EEF1FA;
  --tinta2:      #C9D1F0;
  --suave:       #7F8BB3;
  --fraco:       #5B678F;

  --acento:      #8B9CFF;
  --acento2:     #AEBBFF;
  --acento-f:    rgba(139,156,255,.12);
  --verde:       #4ADE80;
  --verde-fundo: #0B2A1B;
  --verde-borda: #1A4D33;
  --ambar:       #FBBF24;
  --ambar-fundo: #2A2108;
  --ambar-borda: #4D3E10;
  --rubro:       #F87171;
  --rubro-fundo: #2A1116;
  --rubro-borda: #4D1F27;
  --azul:        #60A5FA;
  --azul-fundo:  #0F1E3A;
  --azul-borda:  #1E3A6B;

  --r-p: 9px; --r-m: 12px; --r-g: 16px;
}

* { box-sizing: border-box; }
body {
  margin: 0; background: var(--fundo); color: var(--tinta);
  font: 14px/1.55 Manrope, ui-sans-serif, system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 { font-family: Sora, Manrope, sans-serif; letter-spacing: -0.025em; margin: 0; font-weight: 700; }
a { color: var(--acento); text-decoration: none; }
a:hover { color: var(--acento2); }
:focus-visible { outline: 2px solid var(--acento); outline-offset: 2px; border-radius: 6px; }
code { font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; }

.mono { font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-feature-settings: "zero" 1; }
.miudo { font-size: 12.5px; color: var(--suave); }
.forte { font-weight: 600; }
.direita { text-align: right; }
.quebra { word-break: break-all; }
.bom { color: var(--verde); } .atencao { color: var(--ambar); } .ruim { color: var(--rubro); } .retida { color: var(--azul); }
.oculto { position: absolute; top: 0; left: 0; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- fundo ---------- */
.chuva { position: fixed; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; opacity: .28; }

/* ---------- barra do topo ---------- */
.barra {
  position: sticky; top: 0; z-index: 20;
  height: 62px; padding: 0 28px;
  display: flex; align-items: center; gap: 28px;
  background: linear-gradient(90deg, rgba(14,21,48,.95), rgba(10,15,30,.95));
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--borda);
}
.barra .marca { display: flex; align-items: center; gap: 10px; font-family: Sora, sans-serif; font-size: 16px; font-weight: 700; letter-spacing: -0.02em; color: var(--tinta); }
.barra .marca .simbolo { flex-shrink: 0; }
.menu { display: flex; gap: 4px; }
.menu a { padding: 8px 13px; border-radius: 9px; font-size: 13.5px; font-weight: 600; color: var(--suave); white-space: nowrap; }
.menu a:hover { color: var(--tinta); background: var(--superficie2); }
.menu a.atual { color: var(--tinta); background: var(--superficie3); }
.barra-direita { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.estado { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--suave); white-space: nowrap; }
.pulso { width: 7px; height: 7px; border-radius: 50%; background: var(--verde); box-shadow: 0 0 0 3px rgba(74,222,128,.15); flex-shrink: 0; }
.pulso.parado { background: var(--ambar); box-shadow: 0 0 0 3px rgba(251,191,36,.15); }
.barra .notif {
  display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 12px;
  border-radius: 9px; border: 1px solid var(--borda2); background: var(--superficie); color: var(--tinta2);
  font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer;
}
.barra .notif:hover { background: var(--superficie2); color: var(--tinta); }
.barra .notif.ligado { border-color: var(--verde-borda); background: var(--verde-fundo); color: var(--verde); }
.barra .notif.indisponivel { opacity: .6; cursor: default; }
.avatar {
  width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0;
  background: var(--acento); color: var(--void);
  display: flex; align-items: center; justify-content: center;
  font-family: Sora, sans-serif; font-weight: 700; font-size: 12px;
}
.avatar:hover { background: var(--acento2); color: var(--void); }
.sair { font-size: 12.5px; color: var(--fraco); }

.nav-celular { display: none; }

/* ---------- estrutura ---------- */
.tela { position: relative; z-index: 1; }
.conteudo { max-width: 1400px; margin: 0 auto; padding: 30px 28px 60px; }

.topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; flex-wrap: wrap; }
.topo h1 { font-size: 28px; margin-bottom: 5px; }
.topo p { margin: 0; font-size: 13px; color: var(--suave); }
.voltar { margin: 0 0 12px; font-size: 12.5px; }
.filtros { display: flex; gap: 8px; }
.filtros form { display: flex; }

/* ---------- formulários ---------- */
label { display: block; font-size: 12.5px; color: var(--suave); margin: 14px 0 6px; }
input[type="text"], input[type="password"], input[type="email"], select, textarea {
  width: 100%; height: 42px; padding: 0 12px;
  border: 1px solid var(--borda2); border-radius: var(--r-p);
  background: var(--void); color: var(--tinta); font: inherit; font-size: 13px;
}
textarea { height: auto; padding: 12px; }
input::placeholder { color: var(--fraco); }
select { cursor: pointer; }
button, .botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  height: 42px; padding: 0 16px; border: none; border-radius: var(--r-p);
  background: var(--acento); color: var(--void);
  font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; white-space: nowrap;
  transition: background .12s, transform .12s;
}
button:hover, .botao:hover { background: var(--acento2); color: var(--void); transform: translateY(-1px); }
button.secundario, .botao.secundario {
  background: var(--superficie2); border: 1px solid var(--borda2); color: var(--tinta2); font-weight: 600;
}
button.secundario:hover, .botao.secundario:hover { background: var(--superficie3); color: var(--tinta); }
button:disabled { opacity: .6; cursor: default; transform: none; }
.acoes-linha { display: flex; gap: 8px; align-items: center; margin-top: 14px; flex-wrap: wrap; }
.dois { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* ---------- caixas ---------- */
.caixa { padding: 22px 24px; background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--r-g); margin-top: 14px; }
.caixa h2 { font-size: 15.5px; margin-bottom: 4px; }
.caixa-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.duas-colunas { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.tres-colunas { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.nota { font-size: 12px; color: var(--suave); }
.secao-titulo { font-size: 11px; color: var(--suave); letter-spacing: .08em; text-transform: uppercase; margin: 4px 0 10px; padding-left: 2px; }

/* ---------- entrou hoje ---------- */
.entrou {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 24px;
  padding: 24px 26px; border-radius: var(--r-g); margin-bottom: 16px;
  background: linear-gradient(160deg, #141C48, var(--superficie) 70%); border: 1px solid var(--borda2);
}
.rotulo { display: block; font-size: 12px; color: var(--suave); margin-bottom: 9px; }
.entrou .numeros { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.qtd-grande { font-family: Sora, sans-serif; font-size: 38px; font-weight: 700; letter-spacing: -0.04em; line-height: 1; }
.val-grande { font-size: 14px; color: var(--tinta2); }
.entrou-detalhe { display: flex; gap: 18px; margin-top: 14px; font-size: 12.5px; color: var(--suave); }
.entrou-detalhe b { color: var(--tinta2); font-weight: 600; }
.selo { display: flex; align-items: center; gap: 10px; flex-shrink: 0; padding: 12px 16px; border-radius: 12px; color: inherit; }
.selo span { display: flex; flex-direction: column; } .selo b { font-size: 12.5px; } .selo small { font-size: 11.5px; margin-top: 2px; }
.selo.bate { background: var(--verde-fundo); border: 1px solid var(--verde-borda); color: var(--verde); } .selo.bate small { color: #7FC9A0; }
.selo.nao-bate { background: var(--rubro-fundo); border: 1px solid var(--rubro-borda); color: var(--rubro); } .selo.nao-bate small { color: #D19A9A; }

/* ---------- origens (cartões com fio em cima) ---------- */
.origens { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.origem { display: block; padding: 18px 20px; border-radius: var(--r-g); background: var(--superficie); border: 1px solid var(--borda); border-top: 2px solid var(--borda2); color: inherit; transition: transform .12s, border-color .12s; }
.origem:hover { transform: translateY(-2px); border-color: var(--borda2); }
.origem-topo { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.origem .icone { width: 30px; height: 30px; border-radius: 9px; display: flex; align-items: center; justify-content: center; }
.origem .nome { font-size: 13px; font-weight: 700; }
.origem .numeros { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.origem .qtd { font-family: Sora, sans-serif; font-size: 30px; font-weight: 700; letter-spacing: -0.04em; line-height: 1; }
.origem .val { font-family: Sora, sans-serif; font-size: 15px; font-weight: 600; color: var(--tinta2); }
.origem p { margin: 12px 0 0; font-size: 12px; color: var(--suave); line-height: 1.5; }
.origem .acao { margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--borda); font-size: 12px; font-weight: 600; color: var(--suave); }
.origem.desvio { border-top-color: var(--rubro); } .origem.desvio .icone { background: rgba(248,113,113,.12); color: var(--rubro); } .origem.desvio .nome, .origem.desvio .qtd { color: var(--rubro); } .origem.desvio .acao { color: #FCA5A5; }
.origem.perdido { border-top-color: var(--ambar); } .origem.perdido .icone { background: rgba(251,191,36,.12); color: var(--ambar); } .origem.perdido .nome, .origem.perdido .qtd { color: var(--ambar); }
.origem.retida { border-top-color: var(--azul); } .origem.retida .icone { background: rgba(96,165,250,.12); color: var(--azul); } .origem.retida .nome, .origem.retida .qtd { color: var(--azul); }
.origem.info { border-top-color: var(--acento); } .origem.info .icone { background: var(--acento-f); color: var(--acento); } .origem.info .nome { color: var(--tinta2); }

.cartoes { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }
.cartoes.tres { grid-template-columns: repeat(3, minmax(0,1fr)); }
.cartao { display: block; padding: 16px 18px; background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--r-m); color: inherit; }
.cartao:hover { border-color: var(--borda2); }
.cartao.destaque-ruim { border-color: var(--rubro-borda); background: var(--rubro-fundo); }
.numero { display: block; font-family: Sora, sans-serif; font-size: 25px; font-weight: 700; letter-spacing: -0.035em; line-height: 1.1; }
.texto { display: block; font-size: 16px; font-weight: 700; }
.apoio { display: block; font-size: 12px; color: var(--suave); margin-top: 7px; }

/* ---------- por adquirente/gateway ---------- */
.placar { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.cartao-adq { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; align-items: center; padding: 15px 17px; border-radius: var(--r-m); background: var(--superficie2); border: 1px solid var(--borda); }
.cartao-adq.grave { border-color: var(--rubro-borda); background: rgba(248,113,113,.05); }
.cartao-adq .nome { display: flex; align-items: center; gap: 9px; font-size: 14.5px; font-weight: 600; color: var(--tinta); }
.cartao-adq .nome:hover { color: var(--acento2); }
.ver-24h { font-size: 11.5px; font-weight: 500; color: var(--fraco); margin-left: 4px; }
.ponto { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.lado-direito { display: flex; align-items: center; gap: 14px; }
.cartao-adq .taxa { font-family: Sora, sans-serif; font-size: 19px; font-weight: 700; letter-spacing: -0.03em; }
.cartao-adq .barra { grid-column: 1 / -1; height: 6px; border-radius: 4px; background: var(--superficie3); overflow: hidden; }
.cartao-adq .barra i { display: block; height: 100%; border-radius: 4px; }
.cartao-adq .baixo { grid-column: 1 / -1; display: flex; gap: 16px; flex-wrap: wrap; font-size: 12px; color: var(--suave); }
.cartao-adq .baixo b { color: var(--tinta2); font-weight: 600; }
.padrao { display: inline-flex; align-items: baseline; gap: 6px; padding: 4px 10px; border-radius: 8px; background: var(--rubro-fundo); border: 1px solid var(--rubro-borda); color: var(--rubro); }
.padrao b { font-family: Sora, sans-serif; font-size: 16px; letter-spacing: -0.02em; }
.padrao small { font-size: 10.5px; color: #D19A9A; }
.padrao.limpo { background: var(--verde-fundo); border-color: var(--verde-borda); color: var(--verde); }
.padrao.limpo b { font-family: Manrope, sans-serif; font-size: 11.5px; letter-spacing: 0; }
@keyframes piscar { 0%,100% { opacity: 1; } 50% { opacity: .55; box-shadow: 0 0 0 4px rgba(248,113,113,.15); } }
.piscando { animation: piscar 1.6s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .piscando { animation: none; } }

/* ---------- tabela ---------- */
.tabela { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--r-g); overflow: hidden; margin-bottom: 14px; }
.abas { display: flex; align-items: center; gap: 6px; padding: 12px 16px; border-bottom: 1px solid var(--borda); flex-wrap: wrap; position: relative; }
.aba { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 13px; border: none; border-radius: 9px; background: transparent; color: var(--suave); font: inherit; font-size: 12.5px; font-weight: 500; cursor: pointer; }
.aba:hover { background: var(--superficie2); color: var(--tinta); }
.aba.atual { background: var(--superficie3); color: var(--tinta); font-weight: 600; }
.aba.atual.ruim { background: var(--rubro-fundo); color: var(--rubro); }
.aba.atual.bom { background: var(--verde-fundo); color: var(--verde); }
.aba.atual.retida { background: var(--azul-fundo); color: var(--azul); }
.aba .conta { font-family: "IBM Plex Mono", monospace; font-size: 11px; padding: 1px 6px; border-radius: 5px; background: rgba(255,255,255,.06); }
.abas .busca { margin-left: auto; }
.abas .busca input { width: 240px; height: 34px; font-size: 12.5px; }
.aviso-busca { padding: 10px 18px; font-size: 12.5px; color: var(--suave); border-top: 1px solid var(--borda); background: var(--superficie2); }
.aviso-busca b { color: var(--tinta); }

.linha { display: grid; grid-template-columns: 1.4fr .9fr .8fr .8fr .8fr .9fr .8fr 1.1fr .45fr; gap: 12px; align-items: center; padding: 13px 18px; border-top: 1px solid var(--borda); }
.linha.cabeca { border-top: none; background: var(--void); font-size: 11px; color: var(--fraco); font-weight: 500; padding: 10px 18px; }
.linha:not(.cabeca):hover { background: var(--superficie2); }
.linha.psp { grid-template-columns: .9fr 1.3fr 1.2fr 1.3fr 1.3fr .5fr; }
.linha.seller { grid-template-columns: 1.5fr .55fr .55fr .6fr .6fr .85fr .85fr .55fr 1.2fr .75fr; }
.linha.evid { grid-template-columns: .8fr 1.4fr 1.1fr .8fr 1.1fr .8fr .9fr; }
.linha.horas { grid-template-columns: .8fr .8fr .8fr .8fr .8fr .8fr 1fr; }
.linha.tem-desvio { background: rgba(248,113,113,.04); }
.vazio { padding: 40px 18px; text-align: center; color: var(--suave); border-top: 1px solid var(--borda); }
.vazio .grande { display: block; font-size: 15px; color: var(--tinta2); margin-bottom: 6px; font-weight: 600; }
.linha-id { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.numero-venda { font-family: "IBM Plex Mono", monospace; font-size: 12px; font-weight: 600; padding: 2px 7px; border-radius: 6px; background: var(--acento-f); color: var(--acento2); }
.numero-venda.grande { font-size: 20px; padding: 3px 10px; vertical-align: middle; }
.linha-id .mono { font-size: 12.5px; color: var(--tinta2); }
.etiqueta { display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px; border-radius: 7px; font-size: 11.5px; font-weight: 600; background: var(--superficie3); color: var(--tinta2); }
.etiqueta .ponto { width: 6px; height: 6px; }
.etiqueta.bom { background: var(--verde-fundo); color: var(--verde); }
.etiqueta.atencao { background: var(--ambar-fundo); color: var(--ambar); }
.etiqueta.ruim { background: var(--rubro-fundo); color: var(--rubro); }
.etiqueta.retida { background: var(--azul-fundo); color: var(--azul); }
.paginacao { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 4px 0 16px; flex-wrap: wrap; }
.paginacao .paginas { display: flex; align-items: center; gap: 10px; }
.botao-resumo { height: 34px; padding: 0 13px; }

/* ---------- leitura (faixa de destaque) ---------- */
.leitura { display: flex; align-items: center; gap: 16px; padding: 16px 20px; border-radius: var(--r-g); margin-bottom: 16px; background: var(--superficie); border: 1px solid var(--borda); }
.leitura svg { flex-shrink: 0; }
.leitura b { display: block; font-size: 14.5px; margin-bottom: 3px; }
.leitura span { font-size: 12.5px; color: var(--suave); }
.leitura.bom { background: var(--verde-fundo); border-color: var(--verde-borda); color: var(--verde); } .leitura.bom span { color: #7FC9A0; }
.leitura.ruim { background: var(--rubro-fundo); border-color: var(--rubro-borda); color: var(--rubro); } .leitura.ruim span { color: #D19A9A; }
.leitura.atencao { background: var(--ambar-fundo); border-color: var(--ambar-borda); color: var(--ambar); } .leitura.atencao span { color: #C4A24A; }
.leitura.info { background: var(--azul-fundo); border-color: var(--azul-borda); color: var(--azul); } .leitura.info span { color: #8FB6E6; }

/* ---------- matriz ---------- */
.matriz-rolagem { overflow-x: auto; margin-top: 14px; }
.matriz { border-collapse: separate; border-spacing: 4px; min-width: 100%; }
.matriz th { font-size: 11.5px; color: var(--suave); font-weight: 600; text-align: left; padding: 6px 10px; white-space: nowrap; }
.matriz thead th { text-align: center; } .matriz tbody th { color: var(--tinta2); }
.matriz td { text-align: center; padding: 10px 12px; border-radius: 9px; min-width: 76px; font-family: Sora, sans-serif; font-size: 16px; font-weight: 700; }
.matriz td small { display: block; font-family: Manrope, sans-serif; font-size: 10.5px; font-weight: 500; color: var(--fraco); margin-top: 2px; }
.matriz td.desvio { background: var(--rubro-fundo); color: var(--rubro); border: 1px solid var(--rubro-borda); }
.matriz td.limpa { background: var(--superficie2); color: var(--suave); }
.matriz td.vazia { color: var(--fraco); }

/* ---------- conciliação ---------- */
.lados { display: grid; grid-template-columns: 1fr 56px 1fr; gap: 16px; align-items: stretch; margin-bottom: 16px; }
.lado { padding: 22px 24px; border-radius: var(--r-g); background: var(--superficie); border: 1px solid var(--borda); }
.lado .qtd-grande { display: block; font-size: 30px; } .lado .apoio { margin-top: 6px; } .lado .lista { margin-top: 18px; }
.lado .lista .total { border-top: 1px solid var(--borda2); padding-top: 11px; }
.lado-bom { background: linear-gradient(180deg, var(--verde-fundo), var(--superficie) 70%); border-color: var(--verde-borda); }
.lado-ruim { background: linear-gradient(180deg, var(--rubro-fundo), var(--superficie) 70%); border-color: var(--rubro-borda); }
.meio { display: flex; align-items: center; justify-content: center; }
.selo-redondo { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.selo-redondo.bate { background: var(--verde-fundo); border: 1px solid var(--verde-borda); color: var(--verde); }
.selo-redondo.nao-bate { background: var(--rubro-fundo); border: 1px solid var(--rubro-borda); color: var(--rubro); }
.barra-dist { display: flex; height: 40px; border-radius: 11px; overflow: hidden; gap: 2px; margin-top: 14px; }
.barra-dist span { display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; min-width: 4px; }
.legenda { display: flex; flex-wrap: wrap; gap: 14px 20px; margin-top: 14px; font-size: 12px; color: var(--suave); }
.legenda i { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 7px; vertical-align: -1px; }
.legenda b { color: var(--tinta2); font-weight: 600; margin-left: 4px; }
.lista { margin: 0; }
.lista > div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--borda); }
.lista > div:last-child { border-bottom: none; }
.lista dt { font-size: 12.5px; color: var(--suave); } .lista dd { margin: 0; font-size: 12.5px; text-align: right; max-width: 62%; }

/* ---------- detalhe ---------- */
.veredito { max-width: 380px; padding: 15px 18px; border-radius: var(--r-m); background: var(--superficie); border: 1px solid var(--borda); }
.veredito strong { display: flex; align-items: center; gap: 8px; margin-bottom: 5px; font-size: 14.5px; }
.veredito span { font-size: 12.5px; color: var(--suave); }
.veredito.ruim { background: var(--rubro-fundo); border-color: var(--rubro-borda); } .veredito.ruim strong { color: var(--rubro); }
.veredito.atencao { background: var(--ambar-fundo); border-color: var(--ambar-borda); } .veredito.atencao strong { color: var(--ambar); }
.veredito.bom { background: var(--verde-fundo); border-color: var(--verde-borda); } .veredito.bom strong { color: var(--verde); }
.veredito.retida { background: var(--azul-fundo); border-color: var(--azul-borda); } .veredito.retida strong { color: var(--azul); }
.codigo { margin: 10px 0 0; padding: 13px 15px; background: var(--void); border: 1px solid var(--borda); border-radius: var(--r-p); font-size: 11px; line-height: 1.7; color: var(--tinta2); white-space: pre-wrap; word-break: break-all; overflow-x: auto; }
.linha-tempo { list-style: none; margin: 0; padding: 0; }
.linha-tempo li { padding: 0 0 16px 18px; border-left: 2px solid var(--borda); margin-left: 4px; }
.linha-tempo li:last-child { border-left-color: transparent; padding-bottom: 0; }
.linha-tempo li.ruim { border-left-color: var(--rubro); } .linha-tempo li.atencao { border-left-color: var(--ambar); } .linha-tempo li.bom { border-left-color: var(--verde); } .linha-tempo li.retida { border-left-color: var(--azul); }
.caixa-alerta { margin-top: 18px; padding: 16px 18px; border-radius: var(--r-m); background: var(--rubro-fundo); border: 1px solid var(--rubro-borda); }
.caixa-alerta .forte { color: var(--rubro); margin-bottom: 8px; }
.faixa-atencao { padding: 13px 16px; border-radius: var(--r-m); background: var(--ambar-fundo); border: 1px solid var(--ambar-borda); font-size: 13px; color: var(--ambar); margin: 0 0 16px; }
.texto-chamado { width: 100%; margin-top: 12px; padding: 14px 16px; font-size: 12px; line-height: 1.6; resize: vertical; color: var(--tinta2); }

/* ---------- adquirente 24h ---------- */
.navega-dia { display: flex; gap: 6px; } .navega-dia .botao { width: 42px; padding: 0; font-size: 16px; }
.resumo-adq { display: grid; grid-template-columns: 1.6fr repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 4px; }
.bloco-padrao, .mini { padding: 18px 20px; border-radius: var(--r-g); background: var(--superficie); border: 1px solid var(--borda); }
.bloco-padrao.tem { background: linear-gradient(180deg, var(--rubro-fundo), var(--superficie) 80%); border-color: var(--rubro-borda); }
.padrao-grande { display: inline-block; font-family: Sora, sans-serif; font-size: 40px; font-weight: 700; letter-spacing: -0.04em; line-height: 1; color: var(--rubro); padding: 2px 6px; margin-left: -6px; border-radius: 8px; }
.padrao-grande.bom { color: var(--verde); font-size: 26px; } .padrao-grande.neutro { color: var(--suave); }
.grafico-rolagem { overflow-x: auto; margin-top: 14px; }
.grafico { width: 100%; min-width: 640px; height: auto; display: block; }
.grafico .grade { stroke: var(--borda); stroke-width: 1; }
.grafico .eixo { fill: var(--fraco); font-size: 11px; font-family: Manrope, sans-serif; }
.grafico .aprov { fill: var(--verde); } .grafico .ret { fill: var(--azul); } .grafico .desv { fill: var(--rubro); } .grafico .futuro { fill: rgba(255,255,255,.02); }
.grafico .rotulo-barra { fill: var(--rubro); font-size: 11px; font-weight: 700; font-family: Sora, sans-serif; }

/* ---------- diálogo ---------- */
.dialogo { width: min(560px, calc(100vw - 24px)); max-height: calc(100vh - 32px); padding: 0; border: 1px solid var(--borda2); border-radius: 18px; background: var(--superficie); color: var(--tinta); }
.dialogo::backdrop { background: rgba(3,5,12,.75); }
.dialogo-corpo { padding: 20px 22px 22px; }
.dialogo-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dialogo-topo h2 { font-size: 16px; margin: 0; }
.fechar { width: 36px; height: 36px; padding: 0; font-size: 22px; line-height: 1; background: var(--superficie3); color: var(--tinta2); }
.dialogo textarea { margin-top: 12px; font: 13.5px/1.65 Manrope, system-ui, sans-serif; }
.dialogo-acoes { display: flex; align-items: center; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.dialogo-acoes #aviso-copia { color: var(--verde); }

/* ---------- conta ---------- */
.token-novo { margin-top: 12px; padding: 14px 16px; border-radius: var(--r-m); background: var(--verde-fundo); border: 1px solid var(--verde-borda); }
.token-novo .rotulo { color: #7FC9A0; margin-bottom: 8px; }
.token-novo code { display: block; font-size: 14px; color: var(--tinta); word-break: break-all; user-select: all; }
.portas { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-top: 16px; }
.porta { padding: 18px 20px; border-radius: var(--r-m); background: var(--superficie2); border: 1px solid var(--borda); border-top: 2px solid var(--acento); }
.porta .tag { display: block; font-size: 11px; font-weight: 700; letter-spacing: .06em; color: var(--acento2); margin-bottom: 8px; }
.porta strong { display: block; font-size: 14.5px; margin-bottom: 8px; }
.porta p { margin: 0 0 10px; font-size: 12.5px; color: var(--suave); line-height: 1.55; }
.url-copia { display: block; padding: 10px 12px; border-radius: 8px; background: var(--void); border: 1px solid var(--borda); font-size: 12px; color: var(--tinta2); word-break: break-all; user-select: all; margin-bottom: 8px; }
.conexao { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid var(--borda); }
.conexao:first-of-type { border-top: none; }
.conexao strong { display: block; font-size: 14px; margin-bottom: 3px; }
.conexao form { display: inline; }

/* ---------- login e cadastro ---------- */
body.centralizado { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 20px; background: var(--void); }
.cartao-login { position: relative; z-index: 1; width: 100%; max-width: 400px; padding: 34px 32px; background: rgba(14,21,48,.96); border: 1px solid var(--borda2); border-radius: 20px; backdrop-filter: blur(6px); }
.cartao-login h1 { font-size: 23px; margin-bottom: 6px; } .cartao-login p { margin: 0; }
.cartao-login button { width: 100%; margin-top: 22px; height: 46px; }
.marca-login { padding: 0 0 14px; }
.rodape-login { margin-top: 16px !important; text-align: center; }
.erro-login { padding: 12px 14px; border-radius: var(--r-p); background: var(--rubro-fundo); border: 1px solid var(--rubro-borda); font-size: 12.5px; color: var(--rubro); margin: 16px 0 0 !important; }
.passo { font-size: 11px; font-weight: 700; letter-spacing: .1em; color: var(--fraco); margin-bottom: 10px; }
.cadastro-corpo { position: relative; z-index: 1; width: 100%; max-width: 980px; text-align: center; }
.cadastro-corpo h1 { font-size: 36px; margin-bottom: 10px; }
.escolha { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 36px; text-align: left; }
.opcao { display: block; padding: 30px; border-radius: 22px; background: var(--superficie); border: 1px solid var(--borda2); color: inherit; transition: transform .12s, border-color .12s; }
.opcao:hover { transform: translateY(-2px); color: inherit; }
.opcao .ic { width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.opcao .tag { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .08em; margin-bottom: 8px; }
.opcao strong { display: block; font-family: Sora, sans-serif; font-size: 22px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 10px; }
.opcao .expl { display: block; font-size: 14px; color: var(--tinta2); line-height: 1.55; margin-bottom: 18px; }
.opcao ul { margin: 0 0 22px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: var(--suave); }
.opcao li::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-right: 9px; vertical-align: 2px; }
.opcao.gateway { background: linear-gradient(180deg, var(--verde-fundo), var(--superficie) 70%); border-color: var(--verde-borda); }
.opcao.gateway .ic { background: rgba(74,222,128,.14); color: var(--verde); } .opcao.gateway .tag { color: var(--verde); } .opcao.gateway li::before { background: var(--verde); }
.opcao.gateway .botao { background: var(--verde); color: #04231A; }
.opcao.seller .ic { background: var(--acento-f); color: var(--acento); } .opcao.seller .tag { color: var(--acento); } .opcao.seller li::before { background: var(--acento); }
.opcao .botao.vazado { background: var(--superficie2); border: 1px solid var(--borda2); color: var(--tinta); }

/* ---------- botão de notificações (celular) ---------- */
.nav-celular .nav-notif { background: transparent; border: none; height: auto; padding: 6px 2px; color: var(--fraco); font: inherit; font-size: 10.5px; font-weight: 600; }
.nav-celular .nav-notif.ligado { color: var(--verde); }

/* =================== CELULAR =================== */
@media (max-width: 760px) {
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)); }
  .barra { height: auto; padding: calc(10px + env(safe-area-inset-top, 0px)) 14px 10px; gap: 12px; }
  .menu { display: none; }
  .barra-direita .notif, .barra-direita .sair { display: none; }
  .estado { font-size: 11px; }
  .conteudo { padding: 16px 14px 24px; }

  .nav-celular {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30;
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
    background: rgba(10,15,30,.97); backdrop-filter: blur(12px);
    border-top: 1px solid var(--borda);
  }
  .nav-celular a, .nav-celular .nav-notif { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 8px 2px; border-radius: 10px; color: var(--fraco); font-size: 10.5px; font-weight: 600; text-align: center; }
  .nav-celular a.atual { color: var(--acento2); }

  .topo { flex-direction: column; align-items: stretch; gap: 12px; margin-bottom: 16px; }
  .topo h1 { font-size: 22px; }
  .filtros { width: 100%; } .filtros select { flex: 1; min-width: 0; } .filtros form { flex: 1; }
  .entrou { flex-direction: column; padding: 18px; gap: 16px; }
  .qtd-grande { font-size: 30px; }
  .entrou-detalhe { flex-direction: column; gap: 4px; }
  .selo { width: 100%; }
  .origens { grid-template-columns: 1fr 1fr; gap: 10px; }
  .origem { padding: 14px 15px; } .origem p { display: none; } .origem .qtd { font-size: 26px; } .origem .val { font-size: 13px; width: 100%; } .origem .nome { font-size: 12px; } .origem .icone { width: 28px; height: 28px; } .origem .acao { margin-top: 10px; padding-top: 9px; font-size: 11px; }
  .cartoes, .cartoes.tres { grid-template-columns: 1fr 1fr; gap: 10px; } .cartoes.tres > :last-child { grid-column: 1 / -1; }
  .numero { font-size: 22px; }
  .caixa { padding: 16px; } .caixa-topo { flex-direction: column; } .caixa-topo .botao { width: 100%; }
  .cartao-adq { grid-template-columns: 1fr; padding: 14px 15px; } .lado-direito { justify-content: space-between; }
  .abas { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 10px 12px; } .aba { flex-shrink: 0; }
  .abas .busca { margin-left: 0; flex-shrink: 0; } .abas .busca input { width: 180px; }
  .linha.cabeca { display: none; }
  .linha, .linha.seller, .linha.evid, .linha.horas { padding: 13px 15px; gap: 6px 12px; }
  .linha.venda { position: relative; grid-template-columns: 1fr auto; grid-template-areas: "venda valor" "seller diag" "adq diag"; }
  .linha.venda .c-venda { grid-area: venda; } .linha.venda .c-valor { grid-area: valor; text-align: right; font-size: 14px; }
  .linha.venda .c-seller { grid-area: seller; } .linha.venda .c-adq { grid-area: adq; } .linha.venda .c-diag { grid-area: diag; align-self: center; justify-self: end; }
  .linha.venda .c-fonte { display: none; } .linha.venda .c-acao { position: static; } .linha.venda .c-acao a { font-size: 0; }
  .linha.venda .c-acao a::after { content: ""; position: absolute; inset: 0; }
  .linha.seller, .linha.evid, .linha.horas { grid-template-columns: 1fr 1fr; }
  .linha .c-nome { grid-column: 1 / -1; font-size: 15px; } .linha .c-adqs { grid-column: 1 / -1; } .linha .c-resumo { grid-column: 1 / -1; text-align: left; }
  .linha .c-resumo .botao-resumo { width: 100%; height: 40px; }
  .linha [data-l]::before { content: attr(data-l); display: block; font-family: Manrope, sans-serif; font-size: 10.5px; font-weight: 500; color: var(--fraco); margin-bottom: 1px; }
  .lados { grid-template-columns: 1fr; } .meio { display: none; } .lado { padding: 18px; } .lado .qtd-grande { font-size: 26px; } .lista dd { max-width: 58%; }
  .resumo-adq { grid-template-columns: 1fr 1fr; } .bloco-padrao { grid-column: 1 / -1; } .padrao-grande { font-size: 36px; }
  .paginacao { flex-direction: column; align-items: stretch; } .paginacao .paginas { justify-content: space-between; }
  .matriz td { min-width: 64px; padding: 8px; font-size: 14px; }
  .dialogo { max-height: calc(100vh - 20px); border-radius: 16px; } .dialogo-acoes button { flex: 1; }
  .duas-colunas, .tres-colunas, .portas, .escolha, .dois { grid-template-columns: 1fr; }
  .cadastro-corpo h1 { font-size: 28px; }
  .conexao { flex-direction: column; align-items: flex-start; }
  body.centralizado { padding-bottom: 20px; }
}

/* modelos prontos nas conexões */
.modelos { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 10px 0 6px; }
.modelos .botao { height: 34px; padding: 0 12px; font-size: 12.5px; }

/* celular: inputs com 16px para o iPhone não dar zoom ao focar */
@media (max-width: 760px) {
  input[type="text"], input[type="password"], input[type="email"], select, textarea { font-size: 16px; height: 46px; }
  textarea { height: auto; }
  .abas .busca input { font-size: 16px; height: 40px; }
  .caixa-topo .acoes-linha { width: 100%; }
  .caixa-topo .acoes-linha button { flex: 1; }
  .texto-chamado { font-size: 12px; }
  .cartao-login { padding: 26px 20px; }
  .modelos .botao { flex: 1 1 40%; }
  .conexao .acoes-linha { width: 100%; } .conexao .acoes-linha form, .conexao .acoes-linha .botao, .conexao .acoes-linha button { flex: 1; width: 100%; }
}

/* título de seção legível no celular */
@media (max-width: 760px) {
  .secao-titulo { font-size: 10.5px; margin: 2px 0 10px; line-height: 1.4; }
}

/* descobridor */
.achados { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.achado { display: flex; gap: 12px; padding: 14px 16px; border-radius: var(--r-m); background: var(--superficie2); border: 1px solid var(--borda); }
.achado .ic { width: 26px; height: 26px; flex-shrink: 0; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.achado.sim .ic { background: var(--verde-fundo); color: var(--verde); }
.achado.nao .ic { background: var(--ambar-fundo); color: var(--ambar); }
.achado.nao { border-color: var(--ambar-borda); }
.achado .corpo { min-width: 0; flex-grow: 1; }
.achado .cabeca { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.achado .cabeca strong { font-size: 13.5px; }
.achado .caminho { font-size: 12px; padding: 2px 8px; border-radius: 6px; background: var(--void); color: var(--acento2); border: 1px solid var(--borda); }
.achado .valor { font-size: 12px; color: var(--tinta2); margin-top: 6px; word-break: break-all; }
.achado .nota { margin-top: 8px; line-height: 1.55; }

/* evidência com E2E: 7 colunas */
.linha.evid { grid-template-columns: .7fr 1.2fr .9fr 1fr 1.6fr .8fr .9fr; }
@media (max-width: 760px) { .linha.evid { grid-template-columns: 1fr 1fr; } }

/* comprovante da liquidação */
.comprovante { margin-top: 14px; padding: 20px 22px; border-radius: var(--r-g); background: linear-gradient(160deg, rgba(74,222,128,.06), var(--superficie) 60%); border: 1px solid var(--verde-borda); }
.comprovante.divergente { background: linear-gradient(160deg, rgba(251,191,36,.07), var(--superficie) 60%); border-color: var(--ambar-borda); }
.comprovante.ausente { background: var(--superficie); border-color: var(--borda); }
.comprovante-topo { display: flex; gap: 13px; align-items: flex-start; margin-bottom: 8px; }
.comprovante-topo .ic { width: 32px; height: 32px; flex-shrink: 0; border-radius: 10px; background: var(--verde-fundo); color: var(--verde); display: flex; align-items: center; justify-content: center; }
.comprovante.divergente .comprovante-topo .ic { background: var(--ambar-fundo); color: var(--ambar); }
.comprovante.ausente .comprovante-topo .ic { background: var(--superficie3); color: var(--suave); }
.comprovante-topo strong { display: block; font-size: 14.5px; margin-bottom: 3px; }
.comprovante-topo p { margin: 0; line-height: 1.55; }
.comprovante .lista { margin-top: 10px; }
.comprovante .e2e { font-size: 13px; color: var(--acento2); cursor: pointer; user-select: all; }
.comprovante .nota.atencao { margin-top: 12px; color: var(--ambar); }
