/* ============================================================
   PÁGINA admin-pessoas — Usuários e Empresas (index + show).
   Padrões locais que ainda NÃO casam 1:1 com o design system
   (valores divergem de tokens/componentes; ver comentários).
   Camadas: tokens → base → layout → componentes/ → paginas/
   ============================================================ */

/* ── Tabela admin-pessoas ──────────────────────────────────
   Diverge de componentes/tabelas.css: raio 12 (não 10), th 12.5px
   #4b5563 (não 12px muted) e td com padding 13/20 (não 12/20) e
   cores por célula próprias. Mantido 1:1 com o render atual. */
.ap-tabela-envoltura {
  background: var(--sup);
  border: 1px solid var(--linha);
  border-radius: 12px;
  overflow: hidden;
  overflow-x: auto;
}
.ap-tabela {
  width: 100%;
  border-collapse: collapse;
}
.ap-tabela th {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--txt-2);
  padding: 11px 20px;
  text-align: left;
  white-space: nowrap;
  background: var(--sup-sutil);
  border-bottom: 1px solid var(--linha);
}
/* Coluna da checkbox de seleção (sem padding à direita) */
.ap-tabela th.ap-col-check {
  width: 40px;
  padding: 11px 0 11px 20px;
}
.ap-linha {
  border-bottom: 1px solid var(--linha-suave);
}
.ap-tabela td {
  padding: 13px 20px;
  white-space: nowrap;
}
.ap-tabela td.ap-col-check {
  width: 40px;
  padding: 13px 0 13px 20px;
}
/* Célula "Módulos contratados": permite quebra das pílulas */
.ap-tabela td.ap-celula-modulos {
  white-space: normal;
}

/* Texto de célula (nome forte, e-mail/dados suaves) */
.ap-nome-forte {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--txt-1);
}
.ap-email {
  font-size: 12px;
  color: var(--txt-3);
  margin: 2px 0 0;
}
td.ap-celula-suave {
  font-size: 13px;
  color: var(--txt-3);
}
td.ap-celula-data {
  font-size: 12.5px;
  color: var(--txt-3);
}
/* ── Tabela de Usuários: versão compacta ───────────────────
   Muitas colunas + nomes longos de empresa estouravam a largura.
   Padding lateral menor, empresa truncada e cargo sob o perfil. */
.ap-tabela--usuarios th,
.ap-tabela--usuarios td {
  padding-left: 12px;
  padding-right: 12px;
}
.ap-tabela--usuarios th.ap-col-check,
.ap-tabela--usuarios td.ap-col-check {
  padding-left: 20px;
  padding-right: 0;
}
.ap-tabela--usuarios td:last-child,
.ap-tabela--usuarios th:last-child {
  padding-right: 20px;
}
.ap-tabela--usuarios .ap-progresso__trilho {
  width: 56px;
}
.ap-truncar {
  display: block;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ap-cargo {
  font-size: 11.5px;
  color: var(--txt-3);
  margin: 3px 0 0;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* CNPJ: tabular-nums pra máscara alinhar dígito a dígito entre as linhas. */
td.ap-celula-cnpj {
  font-size: 13px;
  color: var(--txt-2);
  font-variant-numeric: tabular-nums;
}
.ap-traco {
  font-size: 12.5px;
  color: var(--txt-4);
}

/* Link de ação na tabela ("Editar"/"Ver") — verde, sem fundo.
   Diverge do DS de botões (é um link de texto). */
.ap-link-acao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: var(--sucesso-texto);
  text-decoration: none;
}
.ap-link-acao svg {
  display: block;
}

/* Linha de contagem abaixo da tabela */
.ap-contagem {
  font-size: 12.5px;
  color: var(--txt-4);
  margin: 6px 0 0;
}

/* Estado vazio (colspan). Diverge de .vazio (cor/tamanho diferentes
   por célula; padding 40px no empresas/show). */
td.ap-vazio {
  text-align: center;
  padding: 48px 20px;
  color: var(--txt-4);
  font-size: 14px;
}
td.ap-vazio--compacto {
  padding: 40px 18px;
}

/* Ícone branco dentro da faixa .cabecalho-secao (o título já usa
   .cabecalho-secao__titulo; este span só carrega o ícone). */
/* ── Filtros / cabeçalho de lista ──────────────────────── */
.ap-barra-filtros {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  flex-wrap: wrap;
  gap: 8px;
}
.ap-filtros-grupo {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
/* Busca/select dos filtros — 36px, raio 8, #d1d5db.
   Diverge de .campo-busca (sem lupa) e de .campo__input. */
.ap-input-filtro {
  height: 36px;
  border: 1px solid var(--linha-forte);
  border-radius: 8px;
  padding: 0 12px;
  font-size: 14px;
  color: var(--txt-2);
  outline: none;
  background: var(--sup);
}
.ap-input-filtro--busca {
  width: 280px;
}
.ap-input-filtro--busca-curta {
  width: 260px;
}
.ap-input-filtro--cnpj {
  width: 190px;
}
.ap-select-filtro {
  cursor: pointer;
}
.ap-select-filtro--plano {
  min-width: 170px;
}
/* Nome de empresa é longo; trunca no select em vez de esticar a barra. */
.ap-select-filtro--empresa {
  min-width: 170px;
  max-width: 220px;
}
/* Ações do canto direito da barra de filtros (exportar + criar) */
.ap-acoes-topo {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Botão de tamanho "ação de topo" (Novo usuário / Nova empresa).
   Combina com .btn-primary; diverge do .btn (h36, padding 0 18). */
.ap-btn-topo {
  border-radius: 8px;
  height: 36px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 700;
  color: var(--sobre-cor);
  border: none;
  cursor: pointer;
}

/* ── Barra de ações em massa ───────────────────────────── */
.ap-barra-massa {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--marca-suave);
  border: 1px solid var(--marca-borda);
  border-radius: 8px;
  padding: 10px 16px;
  margin-bottom: 10px;
  flex-wrap: wrap;
  gap: 8px;
}
.ap-barra-massa__rotulo {
  font-size: 13px;
  font-weight: 600;
  color: var(--info-texto);
}
.ap-barra-massa__form {
  display: flex;
  gap: 8px;
  align-items: center;
}
/* Select azul da ação em massa (borda navy) */
.ap-select-massa {
  height: 32px;
  border: 1px solid var(--marca);
  border-radius: 6px;
  padding: 0 10px;
  font-size: 13px;
  color: var(--marca-texto);
  background: var(--sup);
  cursor: pointer;
  outline: none;
}
/* Botão "Aplicar" da ação em massa (combina com .btn-primary) */
.ap-btn-massa {
  height: 32px;
  border-radius: 6px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--sobre-cor);
  border: none;
  cursor: pointer;
}

/* ── Menu "Ações em massa" (botão → painel flutuante) ──── */
.ap-menu-massa {
  position: relative;
}
.ap-btn-menu-massa {
  height: 32px;
  border-radius: 6px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid var(--marca);
  color: var(--marca-texto);
  background: var(--sup);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
}
.ap-menu-massa__painel {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  min-width: 240px;
  background: var(--sup);
  border: 1px solid var(--borda-suave, var(--linha));
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  padding: 10px;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ap-menu-massa__grupo {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ap-menu-massa__label {
  font-size: 12px;
  font-weight: 600;
  color: var(--txt-3);
}
.ap-menu-massa__form {
  display: flex;
  gap: 6px;
}
.ap-menu-massa__form .ap-select-massa {
  flex: 1;
}
.ap-menu-massa__divisor {
  height: 1px;
  background: var(--borda-suave, var(--sup-trilho));
  margin: 2px 0;
}
/* Item de ação dentro do painel (ex: "Excluir selecionadas") — botão de
   submit estilizado como item de lista, não como botão cheio. */
.ap-menu-massa__item {
  width: 100%;
  text-align: left;
  height: 34px;
  padding: 0 8px;
  border-radius: 8px;
  border: none;
  background: none;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  color: var(--texto, var(--txt-1));
}
.ap-menu-massa__item:hover {
  background: var(--sup-hover);
}
.ap-menu-massa__item--perigo {
  color: var(--perigo-texto);
}
.ap-menu-massa__item--perigo:hover {
  background: var(--perigo-suave);
}

/* ── Checkboxes de seleção (navy) ──────────────────────── */
.ap-check {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: var(--marca-texto);
}

/* ── Chips/badges (divergem de componentes/badges.css) ─── */
/* Perfil — 500/9px lateral, cinza. (.chip é 600/10px) */
.ap-chip-perfil {
  font-size: 13px;
  font-weight: 500;
  color: var(--txt-2);
  background: var(--sup-hover);
  border: 1px solid var(--linha);
  border-radius: 20px;
  padding: 3px 9px;
}
.ap-chip-perfil--menor {
  font-size: 12.5px;
}
/* "Em risco" — 10px/700, vermelho suave */
.ap-chip-risco {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 20px;
  background: var(--perigo-suave);
  color: var(--perigo-texto);
  border: 1px solid var(--perigo-borda);
  white-space: nowrap;
}
/* Plano — 12.5px/600; um modifier por plano (tiers finitos) */
.ap-chip-plano {
  font-size: 12.5px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
}
.ap-chip-plano--erp1 { background: var(--sup-hover); color: var(--txt-3); border: 1px solid var(--linha); }
.ap-chip-plano--erp2 { background: var(--marca-suave); color: var(--info-texto); border: 1px solid var(--marca-borda); }
.ap-chip-plano--erp3 { background: var(--alerta-suave); color: var(--alerta-texto); border: 1px solid var(--alerta-borda); }
/* Módulo contratado — 11.5px/600, azul */
.ap-chip-modulo {
  font-size: 11.5px;
  font-weight: 600;
  background: var(--marca-suave);
  color: var(--info-texto);
  border: 1px solid var(--marca-borda);
  border-radius: 20px;
  padding: 2px 8px;
}
.ap-chips-modulos {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
/* Empresa (no show do usuário) — 12px/500, cinza, 2px 9px */
.ap-chip-empresa {
  display: inline-block;
  font-size: 12px;
  font-weight: 500;
  padding: 2px 9px;
  border-radius: 20px;
  background: var(--sup-hover);
  color: var(--txt-2);
  border: 1px solid var(--linha);
}
/* "Inativo" inline no título do show — 11px/700, raio 10 */
.ap-chip-inativo-titulo {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 10px;
  background: var(--perigo-suave);
  color: var(--perigo-texto);
  border: 1px solid var(--perigo-borda);
  margin-left: 8px;
  vertical-align: middle;
}

/* ── Barra de progresso na tabela/edição ───────────────── */
.ap-progresso {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ap-progresso__trilho {
  width: 72px;
  height: 6px;
  background: var(--sup-trilho);
  border-radius: 3px;
  overflow: hidden;
}
/* width = --pct (contínuo, inline); cor por faixa = modifier */
.ap-progresso__barra {
  height: 6px;
  border-radius: 3px;
  width: var(--pct, 0%);
}
.ap-progresso__barra--azul { background: var(--marca); }
.ap-progresso__barra--verde { background: var(--sucesso); }
.ap-progresso__barra--vermelho { background: var(--perigo); }
/* valor numérico — cor por faixa = modifier */
.ap-progresso__valor {
  font-size: 12px;
  font-weight: 600;
}
.ap-progresso__valor--azul { color: var(--marca-texto); }
.ap-progresso__valor--verde { color: var(--sucesso-texto); }
.ap-progresso__valor--vermelho { color: var(--perigo-texto); }

/* ── Modal de criação (novo usuário / nova empresa) ──────
   Diverge de componentes/modais.css: overlay 0.4 (não 0.5),
   z-index 1000, larguras fixas (680/480), cabeçalho com divisor
   #f0f0f0. Mantido 1:1 com o render atual. */
.ap-modal-overlay {
  position: fixed;
  inset: 0;
  background: var(--veu);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 24px;
}
.ap-modal-caixa {
  background: var(--sup);
  border-radius: 12px;
  max-width: 95vw;
  max-height: 90vh;
  overflow-y: auto;
}
.ap-modal-caixa--usuario {
  width: 680px;
}
.ap-modal-caixa--empresa {
  width: 480px;
}
.ap-modal-cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px 16px;
  border-bottom: 1px solid var(--linha-suave);
}
.ap-modal-titulo {
  font-size: 17px;
  font-weight: 700;
  color: var(--txt-1);
  margin: 0;
}
.ap-modal-fechar {
  font-size: 20px;
  color: var(--txt-3);
  background: none;
  border: none;
  cursor: pointer;
  line-height: 1;
}
.ap-modal-corpo {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ap-modal-rodape {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 20px 24px;
  border-top: 1px solid var(--linha-suave);
}
/* Botões do rodapé do modal (combinam com .btn-secondary/.btn-primary) */
.ap-btn-modal {
  border-radius: 8px;
  height: 36px;
  padding: 0 16px;
  font-size: 14px;
  cursor: pointer;
}
.ap-btn-modal--primario {
  font-weight: 700;
  color: var(--sobre-cor);
  border: none;
}

/* ── Formulários (divergem de componentes/formularios.css) ─
   .campo__label é 13px sem margin (usa gap); aqui os labels têm
   margin-bottom e o de criação é 14px. Inputs raio 8 (não 4). */
.ap-grade-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.ap-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--txt-2);
  margin-bottom: 5px;
}
.ap-obrigatorio {
  color: var(--perigo-texto);
}
.ap-input {
  width: 100%;
  height: 40px;
  border: 1px solid var(--linha-forte);
  border-radius: 8px;
  padding: 0 12px;
  font-size: 14px;
  outline: none;
  box-sizing: border-box;
  background: var(--sup);
}
.ap-input--select {
  cursor: pointer;
}

/* Aviso verde do modal de novo usuário (link de senha) */
.ap-aviso-convite {
  font-size: 13px;
  color: var(--sucesso-texto);
  margin: 0;
  background: var(--sucesso-suave);
  padding: 10px 12px;
  border-radius: 6px;
  border: 1px solid var(--sucesso);
  line-height: 1.5;
}

/* Lista de checkboxes de módulos (chips clicáveis) */
.ap-modulos-lista {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ap-modulo-opcao {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--txt-2);
  border: 1px solid var(--linha);
  border-radius: 8px;
  padding: 6px 12px;
  cursor: pointer;
}
.ap-check-modulo {
  accent-color: var(--marca-texto);
  width: 15px;
  height: 15px;
}

/* ── Caixa do link de convite (show do usuário) ────────── */
.ap-caixa-convite {
  background: var(--marca-suave);
  border: 1px solid var(--marca);
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 20px;
}
.ap-caixa-convite__titulo {
  font-size: 14px;
  font-weight: 700;
  color: var(--marca-texto);
  margin: 0 0 6px;
}
.ap-caixa-convite__texto {
  font-size: 13px;
  color: var(--txt-2);
  margin: 0 0 12px;
  line-height: 1.5;
}
.ap-caixa-convite__linha {
  display: flex;
  gap: 8px;
  align-items: stretch;
}
.ap-input-convite {
  flex: 1;
  height: 40px;
  border: 1px solid var(--linha-input);
  border-radius: 6px;
  padding: 0 12px;
  font-size: 13px;
  color: var(--txt-1);
  outline: none;
  background: var(--sup-sutil);
  box-sizing: border-box;
  font-family: monospace;
}
.ap-btn-copiar {
  border-radius: 6px;
  height: 40px;
  padding: 0 16px;
  font-size: 13px;
  font-weight: 700;
  color: var(--sobre-cor);
  border: none;
  cursor: pointer;
  flex-shrink: 0;
}
.ap-feedback-copiado {
  display: inline-block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--sucesso-texto);
}

/* ── Show do usuário: card de edição ───────────────────── */
.ap-card {
  background: var(--sup);
  border: 1px solid var(--linha);
  border-radius: 12px;
  overflow: hidden;
}
.ap-card-cabecalho {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px 28px 20px;
  border-bottom: 1px solid var(--linha-suave);
}
.ap-card-corpo {
  padding: 24px 28px;
}
.ap-card-nome {
  font-size: 16px;
  font-weight: 700;
  color: var(--txt-1);
  margin: 0 0 2px;
}
.ap-card-email {
  font-size: 13px;
  color: var(--txt-3);
  margin: 0 0 6px;
}

/* Grade de campos do form de edição (2 col, gap 20) + labels 13px */
.ap-grade-edicao {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 24px;
}
.ap-label-edicao {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--txt-2);
  margin-bottom: 6px;
}
/* Input do show — raio 7 (não 8 do modal), com variante desabilitada */
.ap-input-edicao {
  height: 40px;
  border: 1px solid var(--linha-forte);
  border-radius: 7px;
  padding: 0 12px;
  font-size: 14px;
  color: var(--txt-2);
  outline: none;
  width: 100%;
  box-sizing: border-box;
  background: var(--sup);
}
.ap-input-edicao--select {
  cursor: pointer;
}
.ap-input-edicao--desabilitado {
  color: var(--txt-3);
  background: var(--sup-sutil);
  cursor: default;
}
/* Valor estático (último acesso) no lugar de input */
.ap-valor-estatico {
  font-size: 14px;
  color: var(--txt-2);
  margin: 0;
  padding: 10px 0;
}

/* Bloco de progresso geral (show do usuário) */
.ap-bloco-progresso {
  background: var(--sup-sutil);
  border: 1px solid var(--linha-suave);
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 20px;
}
.ap-bloco-progresso__cabecalho {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.ap-bloco-progresso__rotulo {
  font-size: 13px;
  font-weight: 600;
  color: var(--txt-2);
}
/* cor por faixa de progresso = modifier */
.ap-bloco-progresso__valor {
  font-size: 18px;
  font-weight: 700;
}
.ap-bloco-progresso__valor--azul { color: var(--marca-texto); }
.ap-bloco-progresso__valor--verde { color: var(--sucesso-texto); }
.ap-bloco-progresso__valor--vermelho { color: var(--perigo-texto); }
.ap-bloco-progresso__trilho {
  height: 8px;
  background: var(--sup-trilho);
  border-radius: 4px;
  overflow: hidden;
}
/* width = --pct (contínuo, inline); cor por faixa = modifier */
.ap-bloco-progresso__barra {
  height: 8px;
  border-radius: 4px;
  width: var(--pct, 0%);
}
.ap-bloco-progresso__barra--azul { background: var(--marca); }
.ap-bloco-progresso__barra--verde { background: var(--sucesso); }
.ap-bloco-progresso__barra--vermelho { background: var(--perigo); }

/* Botão Salvar do show do usuário (h36, padding 0 20) */
.ap-btn-salvar {
  border-radius: 8px;
  height: 36px;
  padding: 0 20px;
  font-size: 14px;
  font-weight: 700;
  color: var(--sobre-cor);
  border: none;
  cursor: pointer;
}

/* Ações de estado (desativar/reenviar/reativar/excluir) — outline */
.ap-acoes-estado {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--linha-suave);
}
.ap-btn-estado {
  height: 36px;
  border-radius: 8px;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 600;
  background: var(--sup);
  cursor: pointer;
}
.ap-btn-estado--perigo {
  border: 1px solid var(--perigo-borda);
  color: var(--perigo-texto);
}
.ap-btn-estado--navy {
  border: 1px solid var(--marca);
  color: var(--marca-texto);
}
.ap-btn-estado--verde {
  border: 1px solid var(--sucesso);
  color: var(--sucesso-texto);
}

/* ── Show da empresa: cards de dados / usuários ─────────── */
.ap-card-empresa {
  background: var(--sup);
  border: 1px solid var(--linha);
  border-radius: 12px;
  padding: 24px 28px;
}
.ap-card-empresa--espaco {
  margin-bottom: 20px;
}
.ap-card-empresa__titulo {
  font-size: 16px;
  font-weight: 700;
  color: var(--txt-1);
  margin: 0 0 18px;
}
/* Grade 2 col gap 16 do form da empresa */
.ap-grade-empresa {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.ap-campo-modulos {
  margin-bottom: 20px;
}
/* Aviso amarelo "nenhum módulo contratado" */
.ap-aviso-modulos {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  background: var(--alerta-suave);
  border: 1px solid var(--alerta-borda);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 13px;
  color: var(--alerta-texto);
  margin-bottom: 8px;
}
.ap-aviso-modulos__icone {
  flex-shrink: 0;
}
/* Nota de rodapé dos campos espelhados do Intercom: eles aparecem em leitura
   (.ap-valor-estatico) porque a SincronizacaoIntercom os reescreve, e um input
   ali daria a impressão de ter salvo algo que o job desfaz de madrugada. */
.ap-nota-espelho {
  font-size: 12px;
  color: var(--texto-suave);
  margin: 4px 0 0;
}
/* Divergência entre o papel daqui e o departamento que o ERP informa */
.ap-nota-divergencia {
  font-size: 12px;
  color: var(--alerta-texto);
  margin: 6px 0 0;
}
/* Mesma divergência, como chip na listagem (irmão do .ap-chip-risco, em âmbar:
   é revisão pendente, não problema com o aluno) */
.ap-chip-divergente {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 20px;
  background: var(--alerta-suave);
  color: var(--alerta-texto);
  border: 1px solid var(--alerta-borda);
  white-space: nowrap;
}
/* Empresa com negócio nas etapas de onboarding da Ploomes (aba Consulta de
   onboarding). Informativo, em verde-água pra não confundir com "Interna". */
.ap-chip-onboarding {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 20px;
  background: var(--sucesso-suave);
  color: var(--sucesso-texto);
  border: 1px solid var(--sucesso-borda);
  white-space: nowrap;
}

/* Empresa de uso interno da Mainô — irmão do .ap-chip-risco/.ap-chip-divergente,
   mas informativo (azul), não é um alerta. */
.ap-chip-interna {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px;
  margin-left: 6px;
  border-radius: 20px;
  background: var(--azul-suave);
  color: var(--marca-texto);
  border: 1px solid var(--color-primary-border);
  white-space: nowrap;
}
/* Rodapé do form da empresa (excluir à esquerda, salvar à direita) */
.ap-rodape-empresa {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  border-top: 1px solid var(--linha-suave);
}
/* Botão excluir/salvar do show da empresa (h38) */
.ap-btn-excluir-empresa {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  height: 38px;
  border: 1px solid var(--perigo-borda);
  border-radius: 8px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 600;
  color: var(--perigo-texto);
  background: var(--sup);
  text-decoration: none;
  cursor: pointer;
}
.ap-btn-salvar-empresa {
  border-radius: 8px;
  height: 38px;
  padding: 0 24px;
  font-size: 14px;
  font-weight: 700;
  color: var(--sobre-cor);
  border: none;
  cursor: pointer;
}

/* Tabela de usuários no show da empresa — raio 10, padding td 12/18.
   Diverge da .ap-tabela (raio 12, padding 13/20) e do DS. */
.ap-tabela-empresa-envoltura {
  border: 1px solid var(--linha);
  border-radius: 10px;
  overflow: hidden;
}
.ap-tabela-empresa th {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--txt-2);
  padding: 11px 18px;
  text-align: left;
  white-space: nowrap;
  background: var(--sup-sutil);
  border-bottom: 1px solid var(--linha);
}
.ap-tabela-empresa td {
  padding: 12px 18px;
  white-space: nowrap;
}
td.ap-celula-nome-forte {
  font-weight: 600;
  color: var(--txt-1);
}

/* Hover dos botões de estado do usuário (Desativar, Reenviar convite, Ativar) */
.ap-btn-estado { transition: background 0.12s; }
.ap-btn-estado:hover { background: var(--sup-hover); }
.ap-btn-estado--perigo:hover { background: var(--perigo-suave); }
.ap-btn-estado--navy:hover { background: var(--marca-suave); }
.ap-btn-estado--verde:hover { background: var(--sucesso-suave); }
