.student-profile-view { min-height: 100vh; padding: 16px; background: #eef5fb; }
.student-profile-shell { max-width: 1280px; margin: 0 auto; }
.student-profile-content { padding: 22px; }
.student-directory-head { display: grid; gap: 14px; margin-bottom: 18px; }
.student-directory-head h1 { margin: 0; color: #174f88; font-size: 24px; }
.student-directory-head p { margin: 4px 0 0; color: #536b80; }
.student-directory-controls { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(180px, 260px); gap: 12px; }
.student-directory-controls label { display: grid; gap: 5px; color: #174f88; font-size: 13px; font-weight: 800; }
.student-directory-controls input, .student-directory-controls select { min-height: 40px; padding: 8px 10px; border: 1px solid #82add7; border-radius: 4px; background: #fff; color: #17324d; font: inherit; }
.student-directory-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.student-directory-row { display: grid; grid-template-columns: 42px 1fr; gap: 10px; padding: 13px; border: 1px solid #b9d0e4; border-radius: 4px; background: #fff; color: #17324d; text-align: left; font: inherit; cursor: pointer; }
.student-directory-row:hover, .student-directory-row:focus-visible { border-color: #176bb2; background: #f4f9fd; outline: 2px solid transparent; }
.student-directory-initials { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #dcecf9; color: #174f88; font-weight: 900; }
.student-directory-row strong { color: #174f88; font-size: 14px; }
.student-directory-row small { display: block; margin-top: 3px; color: #667085; }
.student-directory-empty { margin: 0; padding: 18px; border: 1px dashed #b9d0e4; color: #667085; }
@media (max-width: 600px) { .student-profile-view { padding: 0; } .student-profile-content { padding: 14px; } .student-directory-controls { grid-template-columns: 1fr; } }
