/* Cadastro (Alunos) — card com tabela de alunos. Cores e cantos vêm dos
   tokens de style.css (design "Dashboard Passo 365 v2"), então segue o
   tema claro/escuro junto com o resto do app. */

.cad-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 26px;
}

.cad-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.cad-card__head h3 { margin: 0; font-family: var(--font-serif); font-size: 19px; font-weight: 600; color: var(--slate-900); }

.cad-btn--criar {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--primary);
  color: var(--on-primary);
  border: none;
  border-radius: var(--radius-sm);
  min-height: 38px;
  padding: 0 18px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-family: inherit;
  cursor: pointer;
}
.cad-btn--criar:hover { background: var(--primary-hover); }

.cad-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.cad-toolbar__busca {
  flex: 1 1 260px;
  min-width: 200px;
  padding: 10px 14px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  font-family: inherit;
  font-size: 13.5px;
  color: var(--slate-900);
  background: var(--bg-card);
}
.cad-toolbar__busca:focus-visible { outline: 2px solid var(--blue-600); outline-offset: 1px; }

.cad-pagesize { display: flex; align-items: center; gap: 8px; font-size: 12.6px; color: var(--slate-500); white-space: nowrap; }
.cad-pagesize select {
  padding: 8px 10px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  font-family: inherit;
  font-size: 13px;
  color: var(--slate-900);
  background: var(--bg-card);
}

.cad-table { width: 100%; border-collapse: collapse; }
.cad-table th {
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--slate-500);
  padding: 0 14px 12px;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}
.cad-table td { padding: 16px 14px; border-bottom: 1px solid var(--slate-100); vertical-align: middle; }
.cad-table tr:last-child td { border-bottom: none; }
.cad-table tr[data-action="cad-open"] { cursor: pointer; }
.cad-table tr[data-action="cad-open"]:hover td { background: var(--bg-hover); }

.cad-avatar--table {
  width: 44px; height: 44px;
  border-radius: var(--radius);
  background: var(--bg-input);
  color: var(--slate-500);
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 13px;
  object-fit: cover;
  flex: none;
}

.cad-name-link { font-weight: 600; font-size: 14px; color: var(--blue-600); background: none; border: none; padding: 0; font-family: inherit; cursor: pointer; text-decoration: none; }
.cad-name-link:hover { text-decoration: underline; }

.cad-resp__nome { font-weight: 700; font-size: 13px; color: var(--slate-900); }
.cad-resp__cel { font-size: 12px; color: var(--slate-500); }
.cad-resp + .cad-resp { margin-top: 6px; }

.cad-serie__linha1 { font-weight: 700; font-size: 13px; color: var(--slate-900); }
.cad-serie__linha2 { font-size: 12px; color: var(--slate-500); }

.cad-tags-compact { display: flex; flex-wrap: wrap; gap: 4px; max-width: 180px; }
.cad-tag-chip--sm { font-size: 11px; font-weight: 700; border-radius: 999px; padding: 3px 9px; white-space: nowrap; }

.cad-acoes { display: flex; gap: 8px; }
.cad-acoes button {
  border: none;
  border-radius: var(--radius);
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
}
.cad-btn--editar { background: var(--primary); color: var(--on-primary); }
.cad-btn--editar:hover { background: var(--primary-hover); }
.cad-btn--excluir { background: var(--danger-bg); color: var(--danger); }
.cad-btn--excluir:hover { background: color-mix(in srgb, var(--danger) 18%, var(--bg-card)); }

.cad-pager { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 16px; font-size: 12.6px; color: var(--slate-500); }
.cad-pager button {
  border: 1px solid var(--border-strong);
  background: var(--bg-card);
  color: var(--slate-900);
  border-radius: var(--radius);
  padding: 6px 12px;
  font-family: inherit;
  font-size: 12.6px;
  font-weight: 700;
  cursor: pointer;
}
.cad-pager button:disabled { opacity: .4; cursor: default; }

@media (max-width: 720px) {
  .cad-table { display: block; overflow-x: auto; }
}
