.calendar-mobile__nav[data-v-bafca71d]{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.calendar-mobile__nav-btn[data-v-bafca71d]{align-items:center;background:#fdfbf7;border:none;border-radius:8px;color:#56160b;cursor:pointer;display:flex;font-size:1rem;height:44px;justify-content:center;transition:background-color .3s ease;width:44px}.calendar-mobile__nav-btn[data-v-bafca71d]:active{background:#ece1cd}.calendar-mobile__month-label[data-v-bafca71d]{color:#56160b;font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:800;text-transform:capitalize}.calendar-mobile__grid[data-v-bafca71d]{display:flex;flex-direction:column;gap:.5rem}.calendar-mobile__day[data-v-bafca71d]{align-items:flex-start;background:#fdfbf7;border:none;border-radius:8px;cursor:pointer;display:flex;flex-direction:row;gap:1rem;padding:1rem;text-align:left;transition:background .3s ease}.calendar-mobile__day[data-v-bafca71d]:active{background:#f5f2eb}.calendar-mobile__day--today .calendar-mobile__day-number[data-v-bafca71d]{align-items:center;background:#9d4539;border-radius:50%;color:#faefed;display:inline-flex;height:24px;justify-content:center;width:24px}.calendar-mobile__day--selected[data-v-bafca71d]{background:#705b56;color:#faefed}.calendar-mobile__day--selected .calendar-mobile__day-number[data-v-bafca71d]{color:#faefed}.calendar-mobile__day--selected .calendar-mobile__day-month[data-v-bafca71d],.calendar-mobile__day--selected .calendar-mobile__day-more[data-v-bafca71d],.calendar-mobile__day--selected .calendar-mobile__day-time[data-v-bafca71d],.calendar-mobile__day--selected .calendar-mobile__day-weekday[data-v-bafca71d]{color:#e4cac5}.calendar-mobile__day-header[data-v-bafca71d]{align-items:center;display:flex;flex-direction:column;flex-shrink:0;padding-top:.25rem;width:48px}.calendar-mobile__day-weekday[data-v-bafca71d]{color:#705b56;font-family:Space Grotesk,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.03em;line-height:1;text-transform:uppercase}.calendar-mobile__day-number[data-v-bafca71d]{color:#56160b;font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:800;line-height:1.3}.calendar-mobile__day-month[data-v-bafca71d]{color:#705b56;font-family:Space Grotesk,sans-serif;font-size:.75rem;letter-spacing:.03em;line-height:1;text-transform:uppercase}.calendar-mobile__day-events[data-v-bafca71d]{display:flex;flex:1;flex-direction:column;gap:.25rem;min-width:0}.calendar-mobile__day-entry[data-v-bafca71d]{align-items:center;display:flex;font-size:.75rem;gap:.25rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-mobile__day-time[data-v-bafca71d]{color:#705b56;flex-shrink:0;font-family:Space Grotesk,sans-serif;font-variant-numeric:tabular-nums;font-weight:500}.calendar-mobile__day-tag[data-v-bafca71d]{overflow:hidden;text-overflow:ellipsis}.calendar-mobile__day-more[data-v-bafca71d]{color:#705b56;font-family:Space Grotesk,sans-serif;font-size:.75rem;font-weight:500;margin-top:.25rem}.calendar-mobile__empty[data-v-bafca71d]{color:#705b56;font-style:italic;padding:3rem 0;text-align:center}.calendar-grid[data-v-705c32cc]{width:100%}.calendar-grid__nav[data-v-705c32cc]{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.calendar-grid__nav-btn[data-v-705c32cc]{align-items:center;background:#fdfbf7;border:none;border-radius:8px;color:#56160b;cursor:pointer;display:flex;font-size:1rem;height:40px;justify-content:center;transition:background-color .3s ease;width:40px}.calendar-grid__nav-btn[data-v-705c32cc]:hover{background:#ece1cd}.calendar-grid__month-label[data-v-705c32cc]{color:#56160b;font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:800;text-transform:capitalize}.calendar-grid__weekdays[data-v-705c32cc]{display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr);margin-bottom:.25rem}.calendar-grid__weekday[data-v-705c32cc]{color:#705b56;font-family:Space Grotesk,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.5rem;text-align:left;text-transform:uppercase}.calendar-grid__days[data-v-705c32cc]{display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr)}.calendar-grid__day[data-v-705c32cc]{align-items:stretch;background:#ece1cd;border:none;border-radius:8px;cursor:default;display:flex;flex-direction:column;min-height:130px;padding:.5rem;position:relative;text-align:left;transition:background-color .3s ease}.calendar-grid__day--other-month[data-v-705c32cc]{background:#ddcdac}.calendar-grid__day--other-month .calendar-grid__day-number[data-v-705c32cc]{color:#705b56}.calendar-grid__day--has-events[data-v-705c32cc]{background:#fdfbf7;cursor:pointer}.calendar-grid__day--has-events[data-v-705c32cc]:hover{background:#ddcdac;z-index:1}.calendar-grid__day--selected[data-v-705c32cc]{background:#705b56;z-index:1}.calendar-grid__day--selected .calendar-grid__day-number[data-v-705c32cc]{color:#faefed}.calendar-grid__day--selected .calendar-grid__day-more[data-v-705c32cc],.calendar-grid__day--selected .calendar-grid__day-tag[data-v-705c32cc],.calendar-grid__day--selected .calendar-grid__day-time[data-v-705c32cc]{color:#e4cac5}.calendar-grid__day--selected[data-v-705c32cc]:hover{background:#a18984}.calendar-grid__day--today .calendar-grid__day-number[data-v-705c32cc]{align-items:center;background:#9d4539;border-radius:50%;color:#faefed;display:inline-flex;height:26px;justify-content:center;width:26px}.calendar-grid__day--today.calendar-grid__day--selected .calendar-grid__day-number[data-v-705c32cc]{background:#f5f2eb;color:#56160b}.calendar-grid__day--past .calendar-grid__day-number[data-v-705c32cc]{color:#705b56}.calendar-grid__day-number[data-v-705c32cc]{color:#56160b;font-family:Space Grotesk,sans-serif;font-size:.875rem;font-weight:500;line-height:1;margin-bottom:.5rem}.calendar-grid__day-events[data-v-705c32cc]{display:flex;flex:1;flex-direction:column;gap:.25rem}.calendar-grid__day-entry[data-v-705c32cc]{align-items:center;display:flex;font-size:.75rem;gap:.25rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-grid__day-time[data-v-705c32cc]{color:#705b56;flex-shrink:0;font-family:Space Grotesk,sans-serif;font-variant-numeric:tabular-nums;font-weight:500}.calendar-grid__day-tag[data-v-705c32cc]{overflow:hidden;text-overflow:ellipsis}.calendar-grid__day-more[data-v-705c32cc]{color:#705b56;font-family:Space Grotesk,sans-serif;font-size:.75rem;font-weight:500;margin-top:.25rem}.calendar-panel__overlay[data-v-a2c82f20]{animation:calendar-panel-fade-in-a2c82f20 .25s ease;background:#0000004d;display:flex;inset:0;justify-content:flex-end;overscroll-behavior:contain;position:fixed;z-index:200}.calendar-panel[data-v-a2c82f20]{animation:calendar-panel-slide-in-a2c82f20 .3s ease;background:#f5f2eb;display:flex;flex-direction:column;height:100%;max-width:400px;overflow-y:auto;position:relative;width:100%}.calendar-panel__header[data-v-a2c82f20]{align-items:center;background:#f5f2eb;display:flex;justify-content:space-between;padding:2rem;position:sticky;top:0;z-index:1}.calendar-panel__date[data-v-a2c82f20]{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:500;text-transform:capitalize}.calendar-panel__close[data-v-a2c82f20]{background:none;border:none;color:#705b56;cursor:pointer;font-size:1.5rem;line-height:1;padding:.5rem;transition:color .3s ease}.calendar-panel__close[data-v-a2c82f20]:hover{color:#56160b}.calendar-panel__close[data-v-a2c82f20]:focus-visible{outline:2px solid #705b56;outline-offset:2px}.calendar-panel__body[data-v-a2c82f20]{display:flex;flex-direction:column;gap:2rem;padding:2rem}.calendar-panel__event[data-v-a2c82f20]{background:#fdfbf7;border-radius:8px;padding:1rem}.calendar-panel__event-top[data-v-a2c82f20]{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.calendar-panel__event-time[data-v-a2c82f20]{color:#705b56;font-family:Space Grotesk,sans-serif;font-size:.875rem;font-variant-numeric:tabular-nums}.calendar-panel__event-title[data-v-a2c82f20]{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:500;line-height:1.3;margin-bottom:.5rem}.calendar-panel__event-info[data-v-a2c82f20]{color:#705b56;display:flex;font-size:.875rem;gap:1rem;margin-bottom:1rem}.calendar-panel__event-spots--full[data-v-a2c82f20]{font-style:italic}.calendar-panel__event-actions[data-v-a2c82f20]{display:flex;gap:.5rem}.calendar-panel__btn[data-v-a2c82f20]{flex:1;font-family:Space Grotesk,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.03em;padding:.5rem 1rem;text-align:center;text-decoration:none;text-transform:uppercase;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.calendar-panel__btn--primary[data-v-a2c82f20]{background:#56160b;border-radius:4px;color:#faefed}.calendar-panel__btn--primary[data-v-a2c82f20]:hover{background:color-mix(in srgb,#56160b 86%,#f5f2eb)}.calendar-panel__btn--secondary[data-v-a2c82f20]{background:#f5f2eb;border-radius:4px;color:#56160b}.calendar-panel__btn--secondary[data-v-a2c82f20]:hover{background:#ece1cd}.calendar-panel__empty[data-v-a2c82f20]{color:#705b56;font-style:italic;padding:3rem 0;text-align:center}@keyframes calendar-panel-fade-in-a2c82f20{0%{opacity:0}to{opacity:1}}@keyframes calendar-panel-slide-in-a2c82f20{0%{transform:translate(100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.calendar-panel[data-v-a2c82f20],.calendar-panel__overlay[data-v-a2c82f20]{animation:none}}.calendar-drawer__overlay[data-v-9b799a34]{align-items:flex-end;background:#0000004d;display:flex;inset:0;overscroll-behavior:contain;position:fixed;z-index:200}.calendar-drawer[data-v-9b799a34]{background:#f5f2eb;border-radius:16px 16px 0 0;display:flex;flex-direction:column;max-height:75vh;overflow:hidden;position:relative;width:100%}.calendar-drawer__handle[data-v-9b799a34]{background:#ddcdac;border-radius:999px;flex-shrink:0;height:4px;margin:.5rem auto 0;width:36px}.calendar-drawer__header[data-v-9b799a34]{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 2rem}.calendar-drawer__date[data-v-9b799a34]{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:500;text-transform:capitalize}.calendar-drawer__close[data-v-9b799a34]{background:none;border:none;color:#705b56;cursor:pointer;font-size:1.5rem;line-height:1;padding:.5rem;transition:color .3s ease}.calendar-drawer__close[data-v-9b799a34]:hover{color:#56160b}.calendar-drawer__close[data-v-9b799a34]:focus-visible{outline:2px solid #705b56;outline-offset:2px}.calendar-drawer__body[data-v-9b799a34]{overflow-y:auto;padding:1rem 2rem 3rem;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:1rem}.calendar-drawer__event[data-v-9b799a34]{background:#fdfbf7;border-radius:8px;padding:1rem}.calendar-drawer__event-top[data-v-9b799a34]{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.calendar-drawer__event-time[data-v-9b799a34]{color:#705b56;font-family:Space Grotesk,sans-serif;font-size:.875rem;font-variant-numeric:tabular-nums}.calendar-drawer__event-title[data-v-9b799a34]{font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:500;line-height:1.3;margin-bottom:.5rem}.calendar-drawer__event-info[data-v-9b799a34]{color:#705b56;display:flex;font-size:.875rem;gap:1rem;margin-bottom:1rem}.calendar-drawer__event-spots--full[data-v-9b799a34]{font-style:italic}.calendar-drawer__event-actions[data-v-9b799a34]{display:flex;gap:.5rem}.calendar-drawer__btn[data-v-9b799a34]{flex:1;font-family:Space Grotesk,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.03em;padding:.5rem 1rem;text-align:center;text-decoration:none;text-transform:uppercase;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.calendar-drawer__btn--primary[data-v-9b799a34]{background:#56160b;border-radius:4px;color:#faefed}.calendar-drawer__btn--primary[data-v-9b799a34]:hover{background:color-mix(in srgb,#56160b 86%,#f5f2eb)}.calendar-drawer__btn--secondary[data-v-9b799a34]{background:#f5f2eb;border-radius:4px;color:#56160b}.calendar-drawer__btn--secondary[data-v-9b799a34]:hover{background:#ece1cd}.course-calendar[data-v-b6c96ab8]{padding-bottom:3rem}.course-calendar__header[data-v-b6c96ab8]{margin-bottom:2rem;text-align:center}.course-calendar__title[data-v-b6c96ab8]{font-family:Space Grotesk,sans-serif;font-size:clamp(1.625rem,2.5vw,1.875rem);font-weight:800;letter-spacing:-.01em;line-height:1.15;margin-bottom:.5rem}.course-calendar__subtitle[data-v-b6c96ab8]{color:#705b56;font-size:.875rem}
