/* ============================================================
   TABELAS ADMIN — wrapper rolável + th/td do design system
   (substitui as variáveis locais estilo_th/estilo_td das views).
   ============================================================ */

.tabela-envoltura {
  background: var(--color-bg-card);
  border: 1px solid var(--color-border-light);
  border-radius: 10px;
  overflow: hidden;
}
.tabela-envoltura--rolavel {
  overflow-x: auto;
  /* Affordance de overflow: sombra na borda quando há coluna cortada
     (some quando o conteúdo cabe — truque de background-attachment) */
  background:
    linear-gradient(to right, var(--color-bg-card) 30%, transparent),
    linear-gradient(to left, var(--color-bg-card) 30%, transparent),
    radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, 0.16), transparent),
    radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.16), transparent);
  background-position: left center, right center, left center, right center;
  background-repeat: no-repeat;
  background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
  background-attachment: local, local, scroll, scroll;
}

.tabela {
  width: 100%;
  border-collapse: collapse;
}

.tabela th {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-muted);
  padding: 11px 20px;
  text-align: left;
  white-space: nowrap;
  background: var(--color-bg-subtle);
  border-bottom: 1px solid var(--color-border-light);
}

.tabela td {
  font-size: 13px;
  color: var(--color-text-secondary);
  padding: 12px 20px;
  white-space: nowrap;
  border-bottom: 1px solid var(--color-border-subtle);
}

.tabela tr:last-child td {
  border-bottom: none;
}

/* Linha destacada de aluno em risco */
.linha-risco {
  background: var(--perigo-suave);
}
