.admin-main {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 40px 20px;
  max-width: 960px;
  margin: 0 auto;
}

.cartao-central--admin {
  max-width: 420px;
  margin: 60px auto;
}

.admin-painel { display: flex; flex-direction: column; gap: 28px; }
.admin-painel[hidden] { display: none; }

.lote-participantes { display: flex; flex-direction: column; gap: 10px; }
.lote-participante-linha {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
}
.lote-participante-linha input {
  font-family: inherit;
  font-size: 0.95rem;
  color: var(--cor-texto);
  background-color: var(--cor-fundo);
  border: 2px solid var(--cor-borda);
  border-radius: 10px;
  padding: 10px 12px;
}
.lote-participante-linha input:focus { outline: none; border-color: var(--cor-marca); }

.admin-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--cor-fundo);
  border: 1px solid var(--cor-borda);
  border-radius: var(--raio);
  padding: 16px 22px;
}
.admin-topo__acoes { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.admin-topo__acoes .botao { padding: 10px 18px; min-height: auto; font-size: 0.85rem; }

.admin-bloco {
  background-color: var(--cor-fundo);
  border: 1px solid var(--cor-borda);
  border-radius: var(--raio);
  padding: 26px 28px;
}
.admin-bloco h2 { font-size: 1.1rem; color: var(--cor-marca); margin-bottom: 16px; }
.admin-bloco .formulario { gap: 14px; }

.admin-link-gerado {
  margin-top: 18px;
  background-color: var(--cor-fundo-alt);
  border-radius: 12px;
  padding: 16px 18px;
}
.admin-link-gerado p { font-size: 0.85rem; font-weight: 700; margin-bottom: 8px; }
.admin-link-linha { display: flex; gap: 10px; margin-bottom: 12px; }
.admin-link-linha input {
  flex: 1;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 8px;
  border: 2px solid var(--cor-borda);
  background-color: var(--cor-fundo);
  color: var(--cor-texto);
  font-size: 0.85rem;
}
.admin-link-acoes { display: flex; gap: 10px; flex-wrap: wrap; }
.admin-link-acoes .botao { padding: 10px 18px; min-height: auto; font-size: 0.85rem; }

.admin-tabela-wrap { overflow-x: auto; }
.admin-tabela { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.admin-tabela th {
  text-align: left;
  padding: 10px 12px;
  color: var(--cor-texto-suave);
  border-bottom: 2px solid var(--cor-borda);
  white-space: nowrap;
}
.admin-tabela td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--cor-borda);
  color: var(--cor-texto);
  white-space: nowrap;
}
.admin-tabela .link-tabela {
  background: none;
  border: none;
  color: var(--cor-marca);
  cursor: pointer;
  font-size: 0.85rem;
  text-decoration: underline;
}
.admin-acoes-tabela { display: flex; gap: 12px; flex-wrap: wrap; }
.admin-acoes-tabela a, .admin-acoes-tabela button.link-tabela { color: var(--cor-marca); font-size: 0.85rem; text-decoration: underline; }
.admin-acoes-tabela a.acao--perigo, .admin-acoes-tabela button.acao--perigo { color: #c0392b; }
[data-tema="escuro"] .admin-acoes-tabela a.acao--perigo, [data-tema="escuro"] .admin-acoes-tabela button.acao--perigo { color: #ef6a5a; }

.modal-sobreposicao {
  position: fixed;
  inset: 0;
  background-color: rgba(10, 20, 35, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 100;
}
.modal-sobreposicao[hidden] { display: none; }
.modal-caixa {
  background-color: var(--cor-fundo);
  border-radius: 16px;
  padding: 26px;
  width: 100%;
  max-width: 460px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: var(--sombra);
}
.modal-caixa h3 { color: var(--cor-marca); margin-bottom: 16px; }
.modal-editar-acoes { display: flex; justify-content: flex-end; gap: 12px; margin-top: 6px; }
.modal-editar-acoes .botao { padding: 10px 22px; min-height: auto; font-size: 0.9rem; }

.admin-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: capitalize;
}
.cliente-logo-miniatura { height: 28px; max-width: 90px; border-radius: 4px; background-color: #fff; padding: 2px 4px; object-fit: contain; }

.admin-status--pendente { background-color: var(--cor-marca-clara); color: var(--cor-marca); }
.admin-status--concluido { background-color: #dcf3e4; color: #1e7c42; }
[data-tema="escuro"] .admin-status--concluido { background-color: #103d22; color: #6fd493; }

@media (max-width: 640px) {
  .admin-topo { flex-direction: column; align-items: flex-start; gap: 10px; }
  .campo-linha { grid-template-columns: 1fr; }
  .lote-participante-linha { grid-template-columns: 1fr; }
}
