.timetable-explorer{gap:24px;display:grid}.timetable-filter-panel{background:#fffffff2;border:1px solid #1d6a911c;border-radius:11px;padding:20px;box-shadow:0 10px 30px #0e465c12}.timetable-filters{grid-template-columns:1.35fr .9fr .75fr .85fr 1fr auto;align-items:end;gap:12px;display:grid}.timetable-filters label{gap:6px;display:grid}.timetable-filters label>span{color:#526977;font-size:11px;font-weight:800}.timetable-filters select{width:100%;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border:1px solid #1d6a9129;border-radius:7px;padding:0 34px 0 12px}.timetable-filters select:disabled{color:#607681;cursor:default;background:#f2f7f8}.timetable-filters button,.timetable-result-actions button,.timetable-result-actions a{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal-dark));cursor:pointer;white-space:nowrap;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 17px;font-size:12px;font-weight:900;text-decoration:none;transition:box-shadow .16s,transform .16s;display:inline-flex}.timetable-filters button:hover,.timetable-result-actions button:hover,.timetable-result-actions a:hover{transform:translateY(-1px);box-shadow:0 8px 20px #1d6a9138}.timetable-filters button:disabled,.timetable-result-actions button:disabled{cursor:not-allowed;opacity:.5;transform:none}.timetable-filter-hint{color:#71838e;margin:9px 0 0;font-size:10px}.timetable-result-head{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.timetable-result-head h2{margin:5px 0 2px;font-size:26px;line-height:1.2}.timetable-result-head p{color:var(--muted);margin:0}.timetable-result-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.timetable-view-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:9px;font-weight:900;display:inline-flex}.timetable-view-badge.is-weekly{color:#245d43;background:#dcf2e5}.timetable-view-badge.is-monthly{color:#155c76;background:#dff1f5}.timetable-result-actions button,.timetable-result-actions a{min-height:39px;color:var(--blue);background:#fff;border:1px solid #1d6a9152}.timetable-result-actions button:hover,.timetable-result-actions a:hover{color:#fff;background:var(--blue)}.timetable-schedule-notices{gap:10px;display:grid}.timetable-schedule-notice{border:1px solid #1d6a912e;border-left:5px solid var(--teal-dark);background:linear-gradient(90deg,#def3f3d1,#fffffff5);border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:13px;padding:17px 19px;display:grid;box-shadow:0 9px 24px #0e465c14}.timetable-schedule-notice-icon{color:#fff;background:var(--teal-dark);border-radius:50%;place-items:center;width:34px;height:34px;font-size:16px;font-weight:900;display:grid}.timetable-schedule-notice div{gap:5px;display:grid}.timetable-schedule-note-eyebrow{color:var(--teal-dark);letter-spacing:.055em;text-transform:uppercase;font-size:10px;font-weight:900}.timetable-schedule-notice strong{color:var(--navy);font-size:16px;line-height:1.25}.timetable-schedule-notice p{color:var(--muted);margin:0;font-size:13px}.timetable-schedule-note-code{color:#155c76;background:#fff;border-radius:999px;align-items:center;width:fit-content;min-height:27px;margin-top:3px;padding:0 11px;font-size:12px;font-weight:900;display:inline-flex;box-shadow:inset 0 0 0 1px #1d6a9129}.timetable-weekly-view,.timetable-monthly-view{min-width:0}.timetable-weekly-view .schedule-board{grid-template-columns:72px repeat(5,minmax(145px,1fr));align-items:stretch;box-shadow:0 10px 30px #0e465c0f}.timetable-weekly-view .schedule-head{background:#edf7f8;border-radius:6px;padding:8px}.timetable-weekly-view .schedule-corner{min-width:72px}.timetable-weekly-view .schedule-time{align-items:start;padding-top:12px;display:grid}.timetable-weekly-view .schedule-cell{min-width:145px;min-height:112px;padding:0}.timetable-weekly-view .schedule-card-stack{z-index:2;pointer-events:none;gap:8px;min-width:0;padding:11px;display:grid}.timetable-weekly-view .schedule-card,.distance-course{border-radius:7px;transition:box-shadow .16s,transform .16s}.timetable-weekly-view .schedule-card-stack .schedule-card{box-sizing:border-box;pointer-events:auto;min-height:0}.timetable-weekly-view .schedule-card-stack.is-single .schedule-card{height:100%}.timetable-weekly-view .schedule-card:hover,.distance-course:hover{transform:translateY(-2px);box-shadow:0 9px 20px #0e465c1c}.distance-month-tabs{background:#ffffffe6;border:1px solid #1d6a911f;border-radius:9px;gap:6px;margin-bottom:15px;padding:5px;display:flex;overflow-x:auto}.distance-month-tabs button{min-height:38px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:0 19px;font-size:12px;font-weight:900}.distance-month-tabs button.active{color:#fff;background:linear-gradient(135deg, var(--blue), var(--teal-dark));box-shadow:0 5px 14px #1d6a9133}.distance-session{background:#fffffff2;border:1px solid #1d6a911f;border-radius:11px;overflow:hidden;box-shadow:0 10px 30px #0e465c12}.distance-session-heading{background:linear-gradient(90deg,#def3f3eb,#f5fafbf5);border-bottom:1px solid #1d6a911c;padding:20px 23px}.distance-session-heading>span{color:var(--teal-dark);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:900}.distance-session-heading h3{margin:3px 0;font-size:22px}.distance-session-heading p{color:var(--muted);margin:0;font-size:12px}.distance-days-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px;display:grid}.distance-day{background:#f8fbfc;border:1px solid #e3edef;border-radius:9px;min-width:0;padding:12px}.distance-day h4{color:var(--navy);margin:0 0 10px;font-size:13px}.distance-course{gap:4px;min-height:110px;margin-top:8px;padding:12px;display:grid}.distance-course:first-of-type{margin-top:0}.distance-course.green{background:#e7f4eb}.distance-course.pink{background:#fde9ed}.distance-course.yellow{background:#fff4d6}.distance-course.purple{background:#f0eafb}.distance-course.blue{background:#e7f0fb}.distance-course time{color:var(--blue);font-size:10px;font-weight:900}.distance-course strong{font-size:12px;line-height:1.3}.distance-course span,.distance-course small{color:var(--muted);font-size:10px}.timetable-weekly-view .schedule-card .schedule-location,.distance-course .schedule-location{color:#526977;background:#ffffffad;border-radius:999px;align-items:center;width:fit-content;min-height:22px;margin-top:6px;padding:0 8px;font-size:10px;font-weight:900;display:inline-flex}.timetable-weekly-view .schedule-card .schedule-location.is-online,.distance-course .schedule-location.is-online{color:#145b5f;background:#d7f3f1}.timetable-weekly-view .schedule-card .schedule-location.is-mixed,.distance-course .schedule-location.is-mixed{color:#6d5200;background:#fff0bf}.timetable-weekly-view .schedule-card .schedule-week-pattern,.distance-course .schedule-week-pattern{color:#7a4d00;text-transform:lowercase;border:1px dashed;border-radius:999px;align-items:center;width:fit-content;min-height:20px;margin-top:4px;padding:0 8px;font-size:10px;font-weight:900;display:inline-flex}.timetable-weekly-view .schedule-card .schedule-course-note,.distance-course .schedule-course-note{color:#40525c;margin:4px 0 0;font-size:10px;font-weight:800;line-height:1.35}.timetable-empty{color:var(--muted);text-align:center;background:#ffffffb8;border:1px dashed #1d6a913d;border-radius:10px;padding:42px 20px}.timetable-empty svg{color:var(--blue)}.timetable-empty h3{color:var(--ink);margin:9px 0 4px}.timetable-empty p{margin:0}.timetable-updated{color:#6b7e89;justify-content:flex-end;align-items:center;gap:6px;margin:-8px 2px 0;font-size:10px;display:flex}.year-advisor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.year-advisor-card{--advisor-accent:var(--blue);--advisor-soft:#e7f0fb;background:radial-gradient(circle at 96% 4%, var(--advisor-soft), transparent 34%), #fffffff2;border:1px solid #1d6a911c;border-radius:11px;gap:18px;min-width:0;padding:22px;display:grid;box-shadow:0 10px 30px #0e465c12}.year-advisor-card.tone-teal,.year-advisor-card.tone-green{--advisor-accent:var(--teal-dark);--advisor-soft:#e7f5f3}.year-advisor-card.tone-aqua{--advisor-accent:#457f80;--advisor-soft:#e5f3f4}.year-advisor-card.tone-yellow{--advisor-accent:#9f7300;--advisor-soft:#fff0bf}.year-advisor-card.tone-blue{--advisor-accent:var(--blue);--advisor-soft:#e4f0f7}.year-advisor-card-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;display:grid}.year-advisor-icon{width:50px;height:50px;color:var(--advisor-accent);background:var(--advisor-soft);border-radius:50%;place-items:center;display:grid}.year-advisor-card-head span:not(.year-advisor-icon){color:var(--advisor-accent);letter-spacing:.055em;text-transform:uppercase;font-size:10px;font-weight:900;display:block}.year-advisor-card h3{color:var(--navy);margin:4px 0 0;font-size:19px;line-height:1.25}.year-advisor-card ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.year-advisor-card li{border-top:1px solid #1d6a911a;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:14px;padding:12px 0;display:grid}.year-advisor-card li:first-child{border-top:0;padding-top:0}.year-advisor-card li:last-child{padding-bottom:0}.year-advisor-year{width:fit-content;min-height:26px;color:var(--advisor-accent);background:var(--advisor-soft);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:11px;font-weight:900;display:inline-flex}.year-advisor-card strong{min-width:0;color:var(--ink);font-size:14px}@media (width<=1100px){.timetable-filters{grid-template-columns:repeat(3,1fr)}.timetable-filters button{width:100%}}@media (width<=760px){.timetable-filters{grid-template-columns:1fr 1fr}.timetable-result-head{flex-direction:column;align-items:flex-start}.timetable-result-actions,.timetable-result-actions button,.timetable-result-actions a{width:100%}.year-advisor-grid,.distance-days-grid{grid-template-columns:1fr}}@media (width<=480px){.timetable-filter-panel{padding:16px}.timetable-filters{grid-template-columns:1fr}.year-advisor-card{padding:18px}.year-advisor-card li{grid-template-columns:1fr;align-items:start;gap:7px}.timetable-result-head h2{font-size:22px}.distance-session-heading{padding:18px}.distance-days-grid{padding:12px}}@media print{.site-header,.page-hero,.timetable-filter-panel,.timetable-result-actions,.distance-month-tabs,.timetable-updated,.site-footer{display:none!important}.content-page,.content-page-inner{background:#fff!important;padding:0!important}.timetable-result-head{margin-bottom:18px}}
