.time-slot {
    display: grid;
    gap: 3px;
    min-width: 112px;
}

.time-slot strong {
    color: #092b58;
}

.time-slot span {
    color: #52647d;
    font-size: .88rem;
    font-weight: 700;
    white-space: nowrap;
}

.schedule-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
.schedule-switch a { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; padding: 17px 19px; border: 2px solid #ccd8e8; border-radius: 12px; color: #243b5a; background: #fff; }
.schedule-switch a > span { grid-row: 1 / 3; font-size: 1.6rem; }
.schedule-switch a small { color: #60718a; }
.schedule-switch a.is-active { border-color: #176ff2; box-shadow: 0 7px 18px rgb(23 111 242 / 15%); background: #edf5ff; }
.schedule-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.button--pdf { background: #d9253a; }

@media (max-width: 640px) {
    .schedule-switch { grid-template-columns: 1fr; }
    .schedule-title { align-items: flex-start; flex-direction: column; }
}

.teacher-mode { min-height: 100vh; background: #8b765b url('/images/orar/teacher-library.png') center / cover fixed no-repeat; }
.teacher-mode::before { position: fixed; z-index: 0; inset: 0; content: ""; background: linear-gradient(105deg, #06111ebd, #15223392 58%, #07111eae); }
.teacher-mode .app-header, .teacher-mode .app-nav, .teacher-mode .app-main { position: relative; z-index: 1; }
.teacher-mode .app-header { border-bottom: 1px solid #ffffff1f; background: #07121fc4; box-shadow: none; backdrop-filter: blur(12px); }
.teacher-mode .app-nav { border-color: #ffffff1b; background: #101a28ce; backdrop-filter: blur(12px); }
.teacher-mode .app-nav a { color: #d8e3f0; }
.teacher-mode .app-nav a:hover { color: #fff; }
.teacher-mode .page-heading { border: 1px solid #ffffff24; background: linear-gradient(110deg, #176ff2e8, #0753bde8); box-shadow: 0 16px 38px #0000003b; backdrop-filter: blur(5px); }
.teacher-mode .schedule-switch a { border-color: #ffffff5c; background: #fffffff0; box-shadow: 0 8px 22px #00000024; }
.teacher-mode .schedule-switch a.is-active { border-color: #4c91ff; background: #eef5ff; }
.teacher-mode .teacher-day { border-color: #ffffff49; background: #e8edf4ed; box-shadow: 0 8px 20px #00000020; }
.teacher-mode .teacher-day.is-available { border-color: #4f97ff; background: linear-gradient(135deg, #176ff2ed, #0753bded); }
.teacher-mode .empty-dashboard, .teacher-mode .table-card { border-color: #ffffff50; background: #fffffff2; box-shadow: 0 15px 35px #00000035; backdrop-filter: blur(7px); }
.teacher-mode .empty-dashboard { color: #4d5f74; }
.teacher-mode .alert { position: relative; z-index: 2; }

@media (max-width: 640px) {
    .teacher-mode { background-attachment: scroll; }
}
