/* ===== Admin: ajustes mobile-first (não conflitar com site) ===== */

/* Evitar overflow e prover corte agradável */
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.maxw-240 { max-width: 240px; }

/* Form de busca: preenche em telas pequenas */
@media (max-width: 575.98px) {
  form .form-control { min-width: 0; }
  .w-sm-auto { width: auto !important; }
}

/* Tabela "stack" vira cartões no mobile */
.table-stack {
  --stack-breakpoint: 768px;
}

@media (max-width: 767.98px) {
  .table-stack thead {
    display: none;
  }
  .table-stack tbody tr {
    display: block;
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    margin: .75rem 0;
    padding: .25rem .5rem;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
  }
  .table-stack tbody tr > td {
    display: grid;
    grid-template-columns: 38% 1fr;
    gap: .25rem .75rem;
    padding: .5rem .25rem;
    border: none !important;
  }
  .table-stack tbody tr > td::before {
    content: attr(data-th);
    font-size: .78rem;
    color: var(--bs-secondary-color);
    font-weight: 500;
    text-transform: none;
    letter-spacing: .2px;
  }
  .table-stack tbody tr > td:last-child {
    padding-bottom: .75rem;
  }
  .table-stack .text-end {
    justify-self: end;
  }
}

/* Cartões e layout */
.card { border-radius: .75rem; }
.card .card-body { padding: 1rem; }

@media (min-width: 768px) {
  .card .card-body { padding: 1.25rem 1.25rem; }
}

/* Botões e inputs mais "tocáveis" */
.btn, .form-control, .form-select {
  border-radius: .5rem;
}

/* Paginação compacta e tocável */
.pagination .page-link {
  min-width: 2.25rem;
  text-align: center;
}

/* Ajuste de sombras sutis */
.table-responsive {
  border-radius: .5rem;
}

/* Espaçamentos padrão */
.container {
  padding-left: 12px;
  padding-right: 12px;
}

/* Links de ação */
a.btn.btn-sm { padding: .275rem .6rem; }

/* ---- Módulos em construção ---- */
.card-disabled {
  opacity: .6;
  filter: grayscale(.15);
}

.card-disabled .btn,
a.nav-link.disabled {
  pointer-events: none;
  cursor: default;
}

.badge-building {
  font-size: .72rem;
  letter-spacing: .3px;
}

a.nav-link.disabled {
  opacity: .5;
}

a#novo_professor {max-height: 2.5rem}

