/* 
|--------------------------------------------------------------------------
| Customizações do sistema (Bootstrap 5)
|--------------------------------------------------------------------------
| Mantém identidade visual (roxo) e adiciona pequenos ajustes visuais.
| Arquivo carregado DEPOIS do Bootstrap para sobrescrever variáveis/estilos.
|--------------------------------------------------------------------------
*/

:root{
  --brand-primary:#7425cb;
  --brand-primary-light:#9f58f4;

  /* Sobrescritas do Bootstrap (funciona bem para a maioria dos componentes) */
  --bs-primary: var(--brand-primary);
  --bs-link-color: var(--brand-primary);
  --bs-link-hover-color: var(--brand-primary-light);
}

body{
  background: #f6f7fb;
}

/* Navbar */
.navbar{
  box-shadow: 0 2px 12px rgba(16,24,40,.08);
}
.navbar-brand{
  font-weight: 700;
  letter-spacing: .2px;
}

/* Cards / tabelas */
.card{
  border-radius: 14px;
}
.table thead th{
  font-size: .875rem;
  color: #475467;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.badge{
  font-weight: 600;
}

/* Utilitários */
.text-muted-2{ color:#667085; }
.bg-soft{
  background: rgba(116,37,203,.08);
}
/* =========================
   Turmas: Cards (Bootstrap)
   ========================= */

.turma-card {
  border-radius: 18px;
}

.turma-card-media {
  border-radius: 14px;
  overflow: hidden;
  background: #f3f4f6;
}

/* imagem padronizada (estilo “capa”) */
.turma-card-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  border-radius: 14px;
}

/* limita o texto para não “estourar” o card */
.turma-card-desc {
  display: -webkit-box;
  -webkit-line-clamp: 4; /* quantidade de linhas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 96px; /* dá consistência visual entre cards */
}

.turma-progress {
  height: 8px;
  border-radius: 999px;
}

.turma-progress .progress-bar {
  border-radius: 999px;
}

.turma-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* Melhor legibilidade dos checkboxes de professores */
.teacher-item .form-check {
  background: #fff;
}

.teacher-item .form-check:hover {
  background: #f8fafc;
}

/* =========================
   Impressão: somente MAIN
   - oculta sidebar/topbar e controles
   ========================= */

.no-print{ /* utilitário: esconda no print */ }

@media print{
  body{ background:#fff !important; }

  /* estrutura do layout */
  .app-sidebar,
  .topbar{
    display:none !important;
  }

  .app-shell{ display:block !important; }
  .app-content{
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }

  /* controle/ações */
  .no-print,
  .btn,
  .btn-group,
  .nav,
  .navbar,
  .alert{
    display:none !important;
  }

  /* cards no papel */
  .dash-wrap{ background:none !important; padding: 0 !important; }
  .panel{
    box-shadow: none !important;
    border: 1px solid rgba(0,0,0,.18) !important;
    break-inside: avoid;
  }

  /* esconder cabeçalhos da página e textos auxiliares (imprimir só os cards) */
  .print-hide-title,
  .text-muted{
    display:none !important;
  }

  /* header de impressão */
  .print-only{ display:block !important; }
  .print-header{
    display:block !important;
    padding: 10px 12px !important;
    margin: 0 0 12px 0 !important;
    border: 1px solid rgba(0,0,0,.18) !important;
    border-radius: 12px !important;
    font-weight: 900 !important;
    font-size: 14px !important;
  }

  /* quebra de página entre seções */
  .page-break-after{
    break-after: page;
    page-break-after: always;
  }
  .page-break-before{
    break-before: page;
    page-break-before: always;
  }
}

/* fora do print */
.print-only{ display:none; }
