/* Private scheduling stays readable on phones without altering the public header. */
.schedule-workspace { padding-block: 2.5rem; }
.schedule-heading { margin-block: 1.5rem; }
.schedule-heading h1 { overflow-wrap: anywhere; }
.schedule-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center;
    margin-block: 1rem; }
.schedule-search { max-width: 42rem; margin-bottom: 2rem; }
.schedule-search input { flex: 1 1 12rem; min-width: 0; }
.schedule-grid { display: grid; gap: 1.25rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
    margin-block: 1.5rem; }
.schedule-card { padding: 1.5rem; background: #fff; color: #172434;
    border: 1px solid #dce3eb; border-top: 4px solid #153766;
    border-radius: 1rem; overflow-wrap: anywhere; }
.schedule-card h2 { font-size: 1.4rem; }
.schedule-time { font-weight: 800; font-size: 1.2rem; }
.lesson-when { display: flex; flex-wrap: wrap; justify-content: space-between;
    gap: 1rem; margin-block: 1rem; padding-block: 1rem;
    border-block: 1px solid #dce3eb; }
.lesson-when__date { flex: 1 1 8.5rem; }
.lesson-when__time { flex: 1 1 8rem; }
.lesson-when p { margin: .25rem 0; }
.lesson-when__label { font-size: .8rem; font-weight: 800;
    text-transform: uppercase; color: #475569; }
.lesson-when__zone, .lesson-when__end { font-size: .9rem; color: #475569; }
.lesson-when__time .schedule-time { white-space: nowrap; }
.timezone-search { margin-bottom: .5rem; }
.timezone-search-status { display: block; margin-top: .4rem; font-size: .9rem;
    color: #475569; }
@media (max-width: 480px) {
    .lesson-when { flex-direction: column; }
    .lesson-when__date, .lesson-when__time { flex-basis: auto; }
}
.schedule-form { max-width: 48rem; }
.schedule-field { margin-block: 1.25rem; }
.schedule-field label { display: block; font-weight: 800; margin-bottom: .4rem; }
.schedule-field input, .schedule-field select, .schedule-field textarea {
    max-width: 100%; min-width: 0; }
.schedule-form .errorlist, .schedule-form [role="alert"] { color: #a21d28; }

/* Compact filters keep upcoming lessons closer to the heading on wide screens. */
@media (min-width: 768px) {
    .schedule-filters { display: grid; grid-template-columns: repeat(2, 1fr);
        gap: 1rem; max-width: none; }
    .schedule-filters .schedule-field { margin: 0; }
    .schedule-filters > .errorlist { grid-column: 1 / -1; }
    .schedule-filters > button { justify-self: start; }
}
