.schedule-controls{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:32px 0 24px}.schedule-controls label{display:grid;gap:8px;flex:1;max-width:540px;color:#536f94}.schedule-controls select{width:100%;min-height:48px;border:1px solid #cfddf2;border-radius:10px;padding:12px;background:white;color:#193b60;font:inherit}.schedule-controls p{color:#647c9c;margin:0 0 12px}.schedule-week table{table-layout:fixed;width:100%;border-collapse:collapse}.schedule-week caption{text-align:left;font-size:24px;font-weight:700;margin:12px 0 22px}.schedule-week th,.schedule-week td{border:1px solid #dae4f2;padding:14px 10px;vertical-align:top}.schedule-week thead th{background:#244f86;color:#fff;font-size:14px;word-break:normal}.schedule-week th:first-child{width:75px}.schedule-week tbody th{font-size:15px;color:#2a5589;background:#f3f6fb}.schedule-lesson h3{font-size:15px;line-height:1.4;margin:8px 0 12px;overflow-wrap:anywhere}.schedule-lesson p{font-size:13px;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}.schedule-lesson .schedule-time{font-size:15px;font-weight:700;color:#193b60;white-space:nowrap}.schedule-lesson .schedule-leader{color:#48688e}.schedule-lesson+.schedule-lesson{border-top:1px solid #dae4f2;padding-top:16px;margin-top:16px}.schedule-cell-empty{background:#fafbfd}.schedule-dash{color:#a3b3c9}.schedule-days,.schedule-mobile{display:none}.club-schedule [hidden]{display:none!important}.schedule-document{margin-top:40px;border-top:1px solid #dae4f2;padding-top:24px}.schedule-document .information-section{display:block}.schedule-document .information-section-heading{margin-bottom:16px}.schedule-document .information-section h2{font-size:24px}.schedule-document .document-card{max-width:100%}.schedule-days button{font:inherit;border:1px solid #d3dff0;border-radius:8px;background:white;color:#24558e;padding:10px;cursor:pointer;transition:background .2s,color .2s}.schedule-days button[aria-pressed=true]{background:#244f86;color:white}.club-schedule :focus-visible{outline:2px solid #193b60;outline-offset:3px}
@media(max-width:950px){.schedule-week{display:none}.schedule-mobile{display:block}.schedule-days:not([hidden]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0}.schedule-mobile h2{font-size:24px;margin:28px 0 16px}.schedule-mobile .schedule-lesson{border-top:1px solid #dae4f2;padding:20px 0;margin:0;display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:20px}.schedule-mobile .schedule-lesson h3{font-size:18px;margin:0 0 8px;grid-column:2}.schedule-mobile .schedule-lesson p{font-size:15px;grid-column:2;margin:4px 0}.schedule-mobile .schedule-lesson .schedule-time{grid-column:1;grid-row:1 / span 3;margin:0}.schedule-controls{align-items:start;flex-direction:column;gap:12px}.schedule-controls label{width:100%;max-width:none}.schedule-controls p{font-size:14px;margin:0}}
@media(max-width:450px){.schedule-days button{font-size:13px;padding:12px 4px}.schedule-mobile .schedule-lesson{grid-template-columns:1fr;gap:4px}.schedule-mobile .schedule-lesson h3,.schedule-mobile .schedule-lesson p,.schedule-mobile .schedule-lesson .schedule-time{grid-column:1;grid-row:auto}.schedule-mobile .schedule-lesson .schedule-time{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.schedule-days button{transition:none}}

/* Table typography and cell layout follow the existing college timetable. */
@font-face{font-family:ClubTimetable;src:url('Gilroy-Medium.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:ClubTimetable;src:url('Gilroy-SemiBold.ttf') format('truetype');font-weight:600 800;font-style:normal;font-display:swap}
.schedule-week{font-family:ClubTimetable,sans-serif}
.schedule-week table{border-collapse:separate;border-spacing:0;border-radius:12px;overflow:hidden}
.schedule-week caption{text-align:center;font-size:16px;font-weight:400;line-height:1.4;margin:8px 0 18px}
.schedule-week th,.schedule-week td{border:0;border-right:1px solid #dce6f3;border-bottom:1px solid #dce6f3;padding:12px 8px;vertical-align:middle;text-align:center;color:#1f2d3d;font-size:13px;line-height:1.35;background:#ffffff}
.schedule-week thead th{background:#e8eff9;color:#193b60;font-size:13px;font-weight:600;padding:18px 8px}
.schedule-week thead th:first-child{border-radius:10px 0 0 10px}
.schedule-week thead th:last-child{border-radius:0 10px 10px 0}
.schedule-week thead .schedule-today{background:#193b60;color:#fff}
.schedule-week th:first-child{width:76px;min-width:76px}
.schedule-week tbody tr:nth-child(odd)>*{background:#f3f7fd}
.schedule-week tbody th{color:#6d7583;font-size:12px;font-weight:400}
.schedule-week tbody th time,.schedule-time-divider{display:block;line-height:1.3}
.schedule-time-divider{font-size:11px;margin:2px 0}
.schedule-week .schedule-lesson{padding:0}
.schedule-week .schedule-lesson .schedule-time{display:none}
.schedule-lesson h3{font-size:13px;line-height:1.35;font-weight:600;margin:4px 0 3px;color:#1f2d3d}
.schedule-lesson .schedule-room{font-size:11px;font-weight:600;line-height:1.2;color:#5a6680;margin:0 0 3px}
.schedule-lesson .schedule-address{font-size:11.5px;font-weight:700;line-height:1.2;color:#193b60;margin:0 0 6px}
.schedule-lesson .schedule-leader{margin:3px 0 0;line-height:1.2}
.schedule-leader span{display:inline-block;background:#edf2f8;color:#4a6a8a;padding:2px 6px;border-radius:6px;font-size:12px;line-height:1.2;font-weight:400}
.schedule-lesson+.schedule-lesson{padding-top:12px;margin-top:12px;border-color:rgba(0,0,0,.07)}
@media(max-width:950px){
.schedule-mobile{font-family:ClubTimetable,sans-serif}
.schedule-mobile [data-day-panel]{border:1px solid #e4e7eb;border-radius:10px;overflow:hidden}
.schedule-mobile h2{background:#5f6a78;color:#fff;margin:0;padding:16px;text-align:center;font-size:17px;font-weight:600}
.schedule-mobile .schedule-lesson{display:block;padding:18px 16px;text-align:center;background:#ffffff;border-top:1px solid rgba(0,0,0,.07)}
.schedule-mobile .schedule-lesson:nth-child(odd){background:#f3f7fd}
.schedule-mobile .schedule-lesson .schedule-time{display:block;font-size:18px;line-height:1.2;font-weight:700;color:#1f2d3d;margin:0 0 12px}
.schedule-mobile .schedule-lesson h3{font-size:16px;margin:6px 0;line-height:1.35}
.schedule-mobile .schedule-lesson .schedule-room{font-size:12px;margin:0 0 4px}
.schedule-mobile .schedule-lesson .schedule-address{font-size:12px;margin:0 0 6px}
.schedule-mobile .schedule-lesson .schedule-leader{margin:4px 0 0}
.schedule-mobile .schedule-empty{padding:24px 16px;text-align:center;margin:0;color:#6d7583}
}

@media(max-width:950px){
.club-page:has(.club-schedule) .club-profile-heading{margin-bottom:24px}
.schedule-controls{margin:20px 0 16px;gap:10px}
.schedule-days:not([hidden]){margin:16px 0 20px}
.schedule-days button{min-height:44px}
.schedule-days button[aria-pressed=true]{background:#193b60;border-color:#193b60}
.schedule-mobile{font-family:inherit}
.schedule-mobile h2{background:#193b60;text-align:left;padding:14px 18px;font-size:18px}
.schedule-mobile .schedule-lesson{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:20px 18px;gap:0}
.schedule-mobile .schedule-lesson .schedule-time{order:0;color:#193b60;font-size:18px;margin:0 0 10px;line-height:1.4}
.schedule-mobile .schedule-lesson h3{order:1;font-size:17px;line-height:1.45;margin:0 0 8px}
.schedule-mobile .schedule-lesson .schedule-leader{order:2;margin:0 0 14px}
.schedule-mobile .schedule-leader span{background:none;padding:0;border-radius:0;font-size:14px;line-height:1.5;color:#48617d}
.schedule-mobile .schedule-lesson .schedule-address{order:3;font-size:14px;line-height:1.5;font-weight:600;margin:0 0 2px}
.schedule-mobile .schedule-lesson .schedule-room{order:4;font-size:14px;line-height:1.5;font-weight:400;margin:0;color:#5a6680}
.schedule-mobile .schedule-leader-short{display:none}
.schedule-mobile .schedule-leader-full{display:inline}
}
@media(min-width:951px){.schedule-leader .schedule-leader-full{display:none}}

@media(max-width:950px){.schedule-mobile{margin-top:24px;border:1px solid #e4e7eb;border-radius:10px;overflow:hidden}.schedule-mobile .schedule-lesson:first-child{border-top:0}.schedule-mobile .schedule-lesson .schedule-lesson-days{order:-1;font-size:14px;color:#48617d;line-height:1.5;margin:0 0 4px}}

@media(max-width:950px){.schedule-mobile{border:0;border-radius:0;overflow:visible}.schedule-day-group{border:1px solid #dce6f3;border-radius:10px;overflow:hidden;margin-bottom:20px}.schedule-day-group h2{background:#e8eff9;color:#193b60}.schedule-day-group .schedule-lesson:first-of-type{border-top:0}}

@media(max-width:950px){.schedule-mobile h2{text-align:center}.schedule-mobile .schedule-lesson{align-items:center;text-align:center}.schedule-mobile .schedule-lesson p,.schedule-mobile .schedule-lesson h3{text-align:center}.schedule-controls p{text-align:center;width:100%}}
