/* Cards modernos exclusivos do menu de turma e dos dashboards de professores. */
.menu-turma-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
}

.menu-turma-grid .menu-card,
.dashboard-turmas-grid .card-turma {
    box-sizing: border-box;
    min-width: 0;
    min-height: 230px;
    padding: 22px 18px;
    border: 1px solid #d9e2ef;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.menu-turma-grid .menu-card:hover,
.dashboard-turmas-grid .card-turma:hover {
    transform: translateY(-3px);
    border-color: #0d6efd;
    box-shadow: 0 14px 26px rgba(15, 23, 42, 0.13);
}

.menu-turma-grid .menu-icon,
.dashboard-turmas-grid .menu-icon {
    min-height: 48px;
    margin-bottom: 10px;
    font-size: 40px;
    line-height: 1.15;
    display: grid;
    place-items: center;
}

.menu-turma-grid .menu-title,
.dashboard-turmas-grid .menu-title {
    width: 100%;
    margin: 0 0 14px;
    color: #1f2937;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}

.menu-turma-grid .btn-menu,
.dashboard-turmas-grid .btn-card-primary {
    box-sizing: border-box;
    margin-top: auto;
    padding: 9px 12px;
    border: 1px solid #0d6efd;
    border-radius: 8px;
    background: #fff;
    color: #0d6efd;
    font-weight: 700;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.menu-turma-grid .btn-menu:hover,
.dashboard-turmas-grid .btn-card-primary:hover {
    background: #0d6efd;
    color: #fff;
    box-shadow: 0 6px 14px rgba(13, 110, 253, .22);
}

.menu-turma-grid .card-construcao { border-color: #dc3545; }
.menu-turma-grid .card-construcao:hover {
    border-color: #bb2d3b;
    box-shadow: 0 14px 26px rgba(220, 53, 69, .16);
}
.menu-turma-grid .card-construcao .btn-menu { border-color: #dc3545; color: #dc3545; }
.menu-turma-grid .card-construcao .btn-menu:hover { background: #dc3545; color: #fff; }
.status-card {
    display: block;
    margin-top: 4px;
    color: #dc3545;
    font-size: .82rem;
    font-weight: 700;
    text-align: center;
}

.dashboard-professor .dashboard-panel {
    box-sizing: border-box;
    border: 1px solid #dfe6ef;
    border-radius: 14px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .07);
}
.dashboard-panel-title { margin: 0 0 18px; color: #1f2937; }
.dashboard-form-panel .form-group { margin-bottom: 16px; }
.dashboard-form-panel input,
.dashboard-form-panel select { border-color: #cbd5e1; border-radius: 8px; padding: 10px; }
.dashboard-form-panel input:focus,
.dashboard-form-panel select:focus { outline: 0; border-color: #0d6efd; box-shadow: 0 0 0 3px rgba(13,110,253,.12); }
.btn-cadastrar-turma { width: 100%; border-radius: 8px; transition: background-color .18s ease, transform .18s ease; }
.btn-cadastrar-turma:hover { background: #218838; transform: translateY(-1px); }

.dashboard-turmas-grid {
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    align-items: stretch;
}
.dashboard-turmas-grid .card-turma { min-height: 270px; }
.turma-card-contador-alunos { margin: -5px 0 9px; color: #526173; line-height: 1.35; }
.turma-card-meta { margin: 0 0 14px; color: #667085; font-size: 13px; line-height: 1.4; }
.turma-acoes-secundarias {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}
.form-excluir-turma { margin: 0; }
.btn-turma-secundario {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 30px;
    padding: 5px 9px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.btn-turma-editar {
    border: 1px solid #d1d5db;
    background: #f3f4f6;
    color: #374151;
}
.btn-turma-editar:hover {
    border-color: #b8c0cc;
    background: #e9edf3;
    color: #1f2937;
}
.btn-turma-excluir {
    border: 1px solid #fecaca;
    background: #fff;
    color: #dc2626;
}
.btn-turma-excluir:hover {
    border-color: #fca5a5;
    background: #fff1f2;
    color: #b91c1c;
}

@media (max-width: 900px) {
    .menu-turma-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .menu-turma-grid,
    .dashboard-turmas-grid { grid-template-columns: 1fr; }
    .menu-turma-grid .menu-card,
    .dashboard-turmas-grid .card-turma { min-height: 0; }
    .dashboard-professor .dashboard-panel { padding: 18px; }
    .turma-acoes-secundarias { gap: 7px; }
}
