.timetable-explorer{display:grid;gap:24px}.timetable-filter-panel{padding:20px;border:1px solid rgb(29 106 145 / 11%);border-radius:11px;background:#fffffff2;box-shadow:0 10px 30px #0e465c12}.timetable-filters{display:grid;align-items:end;grid-template-columns:1.35fr .9fr .75fr .85fr 1fr auto;gap:12px}.timetable-filters label{display:grid;gap:6px}.timetable-filters label>span{color:#526977;font-size:11px;font-weight:800}.timetable-filters select{width:100%;min-height:44px;padding:0 34px 0 12px;border:1px solid rgb(29 106 145 / 16%);border-radius:7px;color:var(--ink);background:#fff;font:inherit;cursor:pointer}.timetable-filters select:disabled{color:#607681;background:#f2f7f8;cursor:default}.timetable-filters button,.timetable-result-actions button,.timetable-result-actions a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 17px;border:0;border-radius:7px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--teal-dark));font-size:12px;font-weight:900;gap:8px;cursor:pointer;text-decoration:none;transition:box-shadow .16s ease,transform .16s ease;white-space:nowrap}.timetable-filters button:hover,.timetable-result-actions button:hover,.timetable-result-actions a:hover{box-shadow:0 8px 20px #1d6a9138;transform:translateY(-1px)}.timetable-filters button:disabled,.timetable-result-actions button:disabled{cursor:not-allowed;opacity:.5;transform:none}.timetable-filter-hint{margin:9px 0 0;color:#71838e;font-size:10px}.timetable-result-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.timetable-result-head h2{margin:5px 0 2px;font-size:26px;line-height:1.2}.timetable-result-head p{margin:0;color:var(--muted)}.timetable-result-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.timetable-view-badge{display:inline-flex;min-height:24px;align-items:center;padding:0 9px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.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;border:1px solid rgb(29 106 145 / 32%);color:var(--blue);background:#fff}.timetable-result-actions button:hover,.timetable-result-actions a:hover{color:#fff;background:var(--blue)}.timetable-weekly-view,.timetable-monthly-view{min-width:0}.timetable-weekly-view .schedule-board{grid-template-columns:72px repeat(5,minmax(145px,1fr));box-shadow:0 10px 30px #0e465c0f}.timetable-weekly-view .schedule-head{padding:8px;border-radius:6px;background:#edf7f8}.timetable-weekly-view .schedule-time{display:grid;align-items:start;padding-top:12px}.timetable-weekly-view .schedule-card,.distance-course{border-radius:7px;transition:box-shadow .16s ease,transform .16s ease}.timetable-weekly-view .schedule-card:hover,.distance-course:hover{box-shadow:0 9px 20px #0e465c1c;transform:translateY(-2px)}.distance-month-tabs{display:flex;margin-bottom:15px;padding:5px;border:1px solid rgb(29 106 145 / 12%);border-radius:9px;background:#ffffffe5;gap:6px;overflow-x:auto}.distance-month-tabs button{min-height:38px;padding:0 19px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap}.distance-month-tabs button.active{color:#fff;background:linear-gradient(135deg,var(--blue),var(--teal-dark));box-shadow:0 5px 14px #1d6a9133}.distance-session{overflow:hidden;border:1px solid rgb(29 106 145 / 12%);border-radius:11px;background:#fffffff2;box-shadow:0 10px 30px #0e465c12}.distance-session-heading{padding:20px 23px;border-bottom:1px solid rgb(29 106 145 / 11%);background:linear-gradient(90deg,#def3f3eb,#f5fafbf5)}.distance-session-heading>span{color:var(--teal-dark);font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.distance-session-heading h3{margin:3px 0;font-size:22px}.distance-session-heading p{margin:0;color:var(--muted);font-size:12px}.distance-days-grid{display:grid;padding:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.distance-day{min-width:0;padding:12px;border:1px solid #e3edef;border-radius:9px;background:#f8fbfc}.distance-day h4{margin:0 0 10px;color:var(--navy);font-size:13px}.distance-course{display:grid;min-height:110px;margin-top:8px;padding:12px;gap:4px}.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{display:inline-flex;width:fit-content;min-height:22px;align-items:center;margin-top:6px;padding:0 8px;border-radius:999px;color:#526977;background:#ffffffad;font-size:10px;font-weight:900}.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-empty{padding:42px 20px;border:1px dashed rgb(29 106 145 / 24%);border-radius:10px;color:var(--muted);background:#ffffffb8;text-align:center}.timetable-empty svg{color:var(--blue)}.timetable-empty h3{margin:9px 0 4px;color:var(--ink)}.timetable-empty p{margin:0}.timetable-updated{display:flex;align-items:center;justify-content:flex-end;margin:-8px 2px 0;color:#6b7e89;font-size:10px;gap:6px}.year-advisor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.year-advisor-card{--advisor-accent: var(--blue);--advisor-soft: #e7f0fb;display:grid;min-width:0;padding:22px;border:1px solid rgb(29 106 145 / 11%);border-radius:11px;background:radial-gradient(circle at 96% 4%,var(--advisor-soft),transparent 34%),#fffffff2;box-shadow:0 10px 30px #0e465c12;gap:18px}.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{display:grid;align-items:center;grid-template-columns:auto minmax(0,1fr);gap:13px}.year-advisor-icon{display:grid;width:50px;height:50px;border-radius:50%;color:var(--advisor-accent);background:var(--advisor-soft);place-items:center}.year-advisor-card-head span:not(.year-advisor-icon){display:block;color:var(--advisor-accent);font-size:10px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.year-advisor-card h3{margin:4px 0 0;color:var(--navy);font-size:19px;line-height:1.25}.year-advisor-card ul{display:grid;margin:0;padding:0;list-style:none;gap:0}.year-advisor-card li{display:grid;align-items:center;padding:12px 0;border-top:1px solid rgb(29 106 145 / 10%);grid-template-columns:84px minmax(0,1fr);gap:14px}.year-advisor-card li:first-child{border-top:0;padding-top:0}.year-advisor-card li:last-child{padding-bottom:0}.year-advisor-year{display:inline-flex;width:fit-content;min-height:26px;align-items:center;padding:0 10px;border-radius:999px;color:var(--advisor-accent);background:var(--advisor-soft);font-size:11px;font-weight:900;white-space:nowrap}.year-advisor-card strong{min-width:0;color:var(--ink);font-size:14px}@media(max-width:1100px){.timetable-filters{grid-template-columns:repeat(3,1fr)}.timetable-filters button{width:100%}}@media(max-width:760px){.timetable-filters{grid-template-columns:1fr 1fr}.timetable-result-head{align-items:flex-start;flex-direction:column}.timetable-result-actions,.timetable-result-actions button,.timetable-result-actions a{width:100%}.year-advisor-grid,.distance-days-grid{grid-template-columns:1fr}}@media(max-width:480px){.timetable-filter-panel{padding:16px}.timetable-filters{grid-template-columns:1fr}.year-advisor-card{padding:18px}.year-advisor-card li{align-items:start;grid-template-columns:1fr;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{padding:0!important;background:#fff!important}.timetable-result-head{margin-bottom:18px}}
