.student-class-tools {
    margin: 0 0 1rem;
    padding: 1rem;
    border: 1px solid #d8e1ef;
    border-radius: .75rem;
    background: #f5f8ff;
    font-size: 1rem;
}
.student-class-selection, .student-class-target {
    display: flex;
    align-items: center;
    gap: .8rem;
    flex-wrap: wrap;
}
.student-class-selection { margin-bottom: .85rem; }
.student-select-all {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    margin: 0;
    min-height: 44px;
    cursor: pointer;
    font-weight: 600;
}
.student-class-target { align-items: flex-end; }
.student-class-target .field { flex: 1 1 280px; min-width: 0; max-width: 560px; }
.student-class-target .btn { min-height: 44px; }
.student-class-help { margin: .9rem 0 0; color: #475569; line-height: 1.6; }
.student-select-cell { width: 72px; }
.students-bulk-form input[type="checkbox"] { width: 21px; height: 21px; accent-color: #2563eb; cursor: pointer; }
.students-bulk-form input[type="checkbox"]:focus-visible { outline: 3px solid #93c5fd; outline-offset: 3px; }
.students-bulk-form tr.student-is-selected > td { background-color: #eaf2ff; }
@media (max-width: 600px) {
    .student-class-target { display: block; }
    .student-class-target .field { max-width: none; margin-bottom: .8rem; }
    .student-class-target > .btn { width: 100%; }
    .student-class-selection { gap: .6rem; }
}
@media print {
    .student-class-tools, .student-select-cell, .students-bulk-form thead th:first-child { display: none !important; }
}
