[data-v-72d40c1c] .text-harvard-crimson,.text-harvard-crimson[data-v-72d40c1c]{color:var(--dept-primary)!important}[data-v-72d40c1c] .bg-harvard-crimson,.bg-harvard-crimson[data-v-72d40c1c]{background-color:var(--dept-primary)!important}[data-v-72d40c1c] .hover\:text-harvard-crimson:hover,.hover\:text-harvard-crimson[data-v-72d40c1c]:hover{color:var(--dept-primary)!important}.container-custom[data-v-72d40c1c]{max-width:1400px;margin:0 auto;padding:0 2rem}.filters-card[data-v-72d40c1c]{background:#fff;border-radius:0;border:1px solid #e5e7eb;overflow:hidden}.filters-header[data-v-72d40c1c]{background:linear-gradient(135deg,var(--dept-primary),var(--dept-secondary, var(--dept-primary)));color:#fff;padding:1rem 1.5rem;display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:1rem}.filters-body[data-v-72d40c1c]{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.filter-row[data-v-72d40c1c]{display:flex;gap:1.5rem;flex-wrap:wrap}.filter-group[data-v-72d40c1c]{display:flex;flex-direction:column;gap:.5rem}.filter-label[data-v-72d40c1c]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#374151}.filter-options[data-v-72d40c1c]{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn[data-v-72d40c1c]{padding:.625rem 1.25rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:0;font-weight:500;font-size:.875rem;color:#6b7280;transition:all .2s ease;cursor:pointer;white-space:nowrap}.filter-btn[data-v-72d40c1c]:hover{border-color:var(--dept-primary);color:var(--dept-primary);background:#fff}.filter-btn.active[data-v-72d40c1c]{background:var(--dept-primary)!important;border-color:var(--dept-primary)!important;color:#fff!important}.filter-btn-sm[data-v-72d40c1c]{padding:.5rem 1rem;font-size:.8125rem}.filters-summary[data-v-72d40c1c]{background:#f9fafb;padding:.75rem 1.5rem;display:flex;align-items:center;gap:.5rem;border-top:1px solid #e5e7eb}.summary-label[data-v-72d40c1c]{font-size:.875rem;color:#6b7280}.summary-count[data-v-72d40c1c]{font-size:1.125rem;font-weight:700;color:var(--dept-primary)}.summary-text[data-v-72d40c1c]{font-size:.875rem;color:#6b7280}.year-btn[data-v-72d40c1c]{padding:.75rem 2rem;background:#fff;border:2px solid #e5e7eb;border-radius:0;font-weight:600;color:#6b7280;transition:all .3s ease;cursor:pointer}.year-btn[data-v-72d40c1c]:hover{border-color:var(--dept-primary);color:var(--dept-primary)}.year-btn.active[data-v-72d40c1c]{background:var(--dept-primary)!important;border-color:var(--dept-primary)!important;color:#fff!important}.section-btn[data-v-72d40c1c]{padding:.5rem 1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:0;font-weight:500;font-size:.875rem;color:#6b7280;transition:all .3s ease;cursor:pointer}.section-btn[data-v-72d40c1c]:hover{border-color:var(--dept-primary);color:var(--dept-primary)}.section-btn.active[data-v-72d40c1c]{background:var(--dept-primary)!important;border-color:var(--dept-primary)!important;color:#fff!important}.semester-btn[data-v-72d40c1c]{padding:.5rem 1.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:0;font-weight:500;font-size:.875rem;color:#6b7280;transition:all .3s ease;cursor:pointer}.semester-btn[data-v-72d40c1c]:hover{border-color:var(--dept-primary);color:var(--dept-primary)}.semester-btn.active[data-v-72d40c1c]{background:color-mix(in srgb,var(--dept-primary) 15%,white)!important;border-color:var(--dept-primary)!important;color:var(--dept-primary)!important}@media (max-width: 768px){.filters-body[data-v-72d40c1c]{padding:1rem}.filter-row[data-v-72d40c1c]{flex-direction:column;gap:1rem}.filter-options[data-v-72d40c1c]{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem;padding-inline-end:1.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.filter-options[data-v-72d40c1c]::-webkit-scrollbar{display:none}.filter-btn[data-v-72d40c1c]{flex-shrink:0}.filter-group[data-v-72d40c1c]{position:relative}.filter-group[data-v-72d40c1c]:after{content:"";position:absolute;top:1.75rem;bottom:0;right:0;width:2rem;background:linear-gradient(to left,white 30%,transparent);pointer-events:none}[dir=rtl] .filter-group[data-v-72d40c1c]:after{right:auto;left:0;background:linear-gradient(to right,white 30%,transparent)}}.schedule-container[data-v-72d40c1c]{position:relative}.schedule-table-wrapper[data-v-72d40c1c]{background:#fff;border-radius:0;border:1px solid #e5e7eb;overflow-x:auto;-webkit-overflow-scrolling:touch}.schedule-table[data-v-72d40c1c]{width:100%;min-width:600px;border-collapse:collapse}.schedule-header[data-v-72d40c1c]{background:var(--dept-primary, var(--harvard-dark));color:#fff;padding:.75rem .5rem;text-align:center;font-weight:600;letter-spacing:.02em;font-size:.8rem;white-space:nowrap;position:sticky;top:0;z-index:10}.schedule-header-time[data-v-72d40c1c]{min-width:70px;position:sticky;left:0;z-index:20;background:var(--dept-primary, var(--harvard-dark))}.schedule-header-day[data-v-72d40c1c]{min-width:100px}.day-full[data-v-72d40c1c]{display:inline}.day-short[data-v-72d40c1c]{display:none}.schedule-time[data-v-72d40c1c]{background:#f9fafb;padding:.5rem;text-align:center;border-right:2px solid #e5e7eb;min-width:70px;position:sticky;left:0;z-index:5}[dir=rtl] .schedule-time[data-v-72d40c1c]{border-right:none;border-left:2px solid #e5e7eb}.time-display[data-v-72d40c1c]{display:flex;flex-direction:column;align-items:center;gap:2px}.time-start[data-v-72d40c1c]{font-weight:700;font-size:.875rem;color:var(--harvard-dark)}.time-end[data-v-72d40c1c]{font-size:.7rem;color:#6b7280}.schedule-cell[data-v-72d40c1c]{padding:.35rem;border:1px solid #e5e7eb;vertical-align:top;min-width:100px;min-height:60px}.schedule-class[data-v-72d40c1c]{padding:.5rem;border-radius:0;height:100%;transition:all .3s ease;cursor:pointer;font-size:.75rem}.schedule-class[data-v-72d40c1c]:hover{transform:scale(1.02)}.class-name[data-v-72d40c1c]{font-weight:700;font-size:.75rem;margin-bottom:.25rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.class-code[data-v-72d40c1c]{font-size:.65rem;color:#6b7280;margin-bottom:.25rem}.class-faculty[data-v-72d40c1c]{font-size:.65rem;opacity:.9;margin-bottom:.25rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.class-room[data-v-72d40c1c]{font-size:.65rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.schedule-class-lecture[data-v-72d40c1c]{background:linear-gradient(135deg,color-mix(in srgb,var(--dept-primary) 10%,white),color-mix(in srgb,var(--dept-primary) 20%,white));border-right:3px solid var(--dept-primary);color:var(--harvard-dark)}[dir=ltr] .schedule-class-lecture[data-v-72d40c1c]{border-right:none;border-left:3px solid var(--dept-primary)}.schedule-class-lab[data-v-72d40c1c]{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-right:3px solid #3b82f6;color:var(--harvard-dark)}[dir=ltr] .schedule-class-lab[data-v-72d40c1c]{border-right:none;border-left:3px solid #3b82f6}.schedule-class-tutorial[data-v-72d40c1c]{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-right:3px solid #10b981;color:var(--harvard-dark)}[dir=ltr] .schedule-class-tutorial[data-v-72d40c1c]{border-right:none;border-left:3px solid #10b981}.schedule-class-workshop[data-v-72d40c1c]{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-right:3px solid #a855f7;color:var(--harvard-dark)}[dir=ltr] .schedule-class-workshop[data-v-72d40c1c]{border-right:none;border-left:3px solid #a855f7}@media (max-width: 768px){.schedule-page [data-aos][data-v-72d40c1c]{opacity:1!important;transform:none!important;transition:none!important}.schedule-skeleton[data-v-72d40c1c],.schedule-skeleton .skeleton-cell[data-v-72d40c1c],.schedule-skeleton .skeleton-header .skeleton-cell[data-v-72d40c1c]{animation:none}.schedule-class[data-v-72d40c1c]{transition:none}.schedule-class[data-v-72d40c1c]:hover{transform:none}.container-custom[data-v-72d40c1c]{padding:0 .75rem}.year-btn[data-v-72d40c1c]{padding:.5rem 1rem;font-size:.8rem}.semester-btn[data-v-72d40c1c],.section-btn[data-v-72d40c1c]{padding:.375rem 1rem;font-size:.75rem}.schedule-table[data-v-72d40c1c]{min-width:500px}.schedule-header[data-v-72d40c1c]{padding:.5rem .25rem;font-size:.7rem}.schedule-header-time[data-v-72d40c1c]{min-width:55px}.schedule-header-day[data-v-72d40c1c]{min-width:80px}.day-full[data-v-72d40c1c]{display:none}.day-short[data-v-72d40c1c]{display:inline}.schedule-time[data-v-72d40c1c]{padding:.35rem;min-width:55px}.time-start[data-v-72d40c1c]{font-size:.75rem}.time-end[data-v-72d40c1c]{font-size:.6rem}.schedule-cell[data-v-72d40c1c]{padding:.25rem;min-width:80px;min-height:50px}.schedule-class[data-v-72d40c1c]{padding:.35rem}.class-name[data-v-72d40c1c]{font-size:.65rem}.class-code[data-v-72d40c1c],.class-faculty[data-v-72d40c1c],.class-room[data-v-72d40c1c]{font-size:.55rem}}@media (max-width: 480px){.schedule-table[data-v-72d40c1c]{min-width:450px}.schedule-header-day[data-v-72d40c1c],.schedule-cell[data-v-72d40c1c]{min-width:70px}}.hero-bg-wrapper[data-v-72d40c1c]{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a,#2a2a2a 75%);background-size:200% 100%;animation:heroShimmer-72d40c1c 1.5s infinite}.hero-bg-image[data-v-72d40c1c]{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease}.hero-bg-image.loaded[data-v-72d40c1c]{opacity:1}@keyframes heroShimmer-72d40c1c{0%{background-position:200% 0}to{background-position:-200% 0}}.schedule-legend[data-v-72d40c1c]{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.legend-item[data-v-72d40c1c]{display:flex;align-items:center;gap:.75rem}.legend-color[data-v-72d40c1c]{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center}.legend-item-icon[data-v-72d40c1c]{width:1.25rem;height:1.25rem}.legend-lecture[data-v-72d40c1c]{background:linear-gradient(135deg,color-mix(in srgb,var(--dept-primary) 15%,white),color-mix(in srgb,var(--dept-primary) 30%,white));border-right:3px solid var(--dept-primary);color:var(--dept-primary)}[dir=ltr] .legend-lecture[data-v-72d40c1c]{border-right:none;border-left:3px solid var(--dept-primary)}.legend-lab[data-v-72d40c1c]{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-right:3px solid #3b82f6;color:#3b82f6}[dir=ltr] .legend-lab[data-v-72d40c1c]{border-right:none;border-left:3px solid #3b82f6}.legend-tutorial[data-v-72d40c1c]{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-right:3px solid #10b981;color:#10b981}[dir=ltr] .legend-tutorial[data-v-72d40c1c]{border-right:none;border-left:3px solid #10b981}.legend-workshop[data-v-72d40c1c]{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-right:3px solid #a855f7;color:#a855f7}[dir=ltr] .legend-workshop[data-v-72d40c1c]{border-right:none;border-left:3px solid #a855f7}.legend-label[data-v-72d40c1c]{font-weight:500;color:#374151;font-size:.875rem}@media (max-width: 768px){.schedule-legend[data-v-72d40c1c]{gap:1rem}.legend-item[data-v-72d40c1c]{gap:.5rem}.legend-color[data-v-72d40c1c]{width:2rem;height:2rem}.legend-item-icon[data-v-72d40c1c]{width:1rem;height:1rem}.legend-label[data-v-72d40c1c]{font-size:.75rem}}.schedule-skeleton[data-v-72d40c1c]{background:#fff;border:1px solid #e5e7eb;overflow:hidden}.skeleton-header[data-v-72d40c1c]{display:grid;grid-template-columns:100px repeat(6,1fr);background:#f9fafb;border-bottom:2px solid #e5e7eb}.skeleton-row[data-v-72d40c1c]{display:grid;grid-template-columns:100px repeat(6,1fr);border-bottom:1px solid #e5e7eb}.skeleton-row[data-v-72d40c1c]:last-child{border-bottom:none}.skeleton-cell[data-v-72d40c1c]{padding:1rem;min-height:80px;position:relative;overflow:hidden;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:skeletonShimmer-72d40c1c 1.5s infinite}.skeleton-cell.skeleton-time[data-v-72d40c1c]{min-height:80px;background:linear-gradient(90deg,#e5e7eb 25%,#d1d5db,#e5e7eb 75%);background-size:200% 100%;animation:skeletonShimmer-72d40c1c 1.5s infinite}.skeleton-header .skeleton-cell[data-v-72d40c1c]{min-height:50px;background:linear-gradient(90deg,#e5e7eb 25%,#d1d5db,#e5e7eb 75%);background-size:200% 100%;animation:skeletonShimmer-72d40c1c 1.5s infinite}@keyframes skeletonShimmer-72d40c1c{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 768px){.skeleton-header[data-v-72d40c1c],.skeleton-row[data-v-72d40c1c]{grid-template-columns:80px repeat(6,1fr)}.skeleton-cell[data-v-72d40c1c]{min-height:60px;padding:.5rem}}
