.BookingDialog-module-scss-module__iHh0Iq__overlay{background:var(--color-dim-black);z-index:10000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.BookingDialog-module-scss-module__iHh0Iq__container{background:var(--color-white);width:min(420px,100%);max-height:80vh;color:var(--color-black);border-radius:16px;flex-direction:column;gap:16px;padding:24px;display:flex;overflow-y:auto}.BookingDialog-module-scss-module__iHh0Iq__title{margin:0;font-size:18px;font-weight:700}.BookingDialog-module-scss-module__iHh0Iq__lessonSummary{background:var(--color-bg);border-radius:8px;flex-direction:column;gap:4px;padding:12px 16px;display:flex}.BookingDialog-module-scss-module__iHh0Iq__lessonTitle{margin:0;font-size:15px;font-weight:600}.BookingDialog-module-scss-module__iHh0Iq__lessonMeta{color:var(--color-gray-dark);margin:0;font-size:13px}.BookingDialog-module-scss-module__iHh0Iq__subscriptionSection{flex-direction:column;gap:8px;display:flex}.BookingDialog-module-scss-module__iHh0Iq__sectionLabel{color:var(--color-gray-dark);margin:0;font-size:13px;font-weight:600}.BookingDialog-module-scss-module__iHh0Iq__subscriptionList{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.BookingDialog-module-scss-module__iHh0Iq__subscriptionItem{border:1px solid var(--color-gray-light);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.BookingDialog-module-scss-module__iHh0Iq__subscriptionItem:has(input:checked){border-color:var(--color-black)}.BookingDialog-module-scss-module__iHh0Iq__subscriptionItem input{accent-color:var(--color-black)}.BookingDialog-module-scss-module__iHh0Iq__subscriptionInfo{flex-direction:column;gap:2px;min-width:0;display:flex}.BookingDialog-module-scss-module__iHh0Iq__subscriptionName{font-size:14px;font-weight:600}.BookingDialog-module-scss-module__iHh0Iq__subscriptionMeta{color:var(--color-gray-normal);font-size:12px}.BookingDialog-module-scss-module__iHh0Iq__noSubscription{flex-direction:column;gap:8px;display:flex}.BookingDialog-module-scss-module__iHh0Iq__purchaseLink{background:var(--color-primary);height:36px;color:var(--color-black);border-radius:8px;align-self:flex-start;align-items:center;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.BookingDialog-module-scss-module__iHh0Iq__hint{color:var(--color-gray-normal);margin:0;font-size:13px}.BookingDialog-module-scss-module__iHh0Iq__successMessage{margin:0;font-size:14px;line-height:1.6}.BookingDialog-module-scss-module__iHh0Iq__error{color:var(--color-system-red);margin:0;font-size:13px}.BookingDialog-module-scss-module__iHh0Iq__actions{gap:8px;display:flex}.BookingDialog-module-scss-module__iHh0Iq__actions button{flex:1}.BookingDialog-module-scss-module__iHh0Iq__primaryButton{background:var(--color-primary);height:44px;color:var(--color-black);cursor:pointer;border:none;border-radius:8px;font-size:14px;font-weight:700}.BookingDialog-module-scss-module__iHh0Iq__primaryButton:disabled{background:var(--color-gray-light);color:var(--color-gray-normal);cursor:default}.BookingDialog-module-scss-module__iHh0Iq__secondaryButton{border:1px solid var(--color-gray-light);height:44px;color:var(--color-black);cursor:pointer;background:0 0;border-radius:8px;font-size:14px;font-weight:600}
.ClassFilterDropdown-module-scss-module__xxppMq__root{align-self:flex-start;position:relative}.ClassFilterDropdown-module-scss-module__xxppMq__trigger{border:1px solid var(--color-gray-light);background:var(--color-white);height:32px;color:var(--color-gray-dark);cursor:pointer;border-radius:16px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;display:flex}.ClassFilterDropdown-module-scss-module__xxppMq__triggerActive{border-color:var(--color-black);color:var(--color-black)}.ClassFilterDropdown-module-scss-module__xxppMq__triggerLabel{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.ClassFilterDropdown-module-scss-module__xxppMq__chevronOpen{transform:rotate(180deg)}.ClassFilterDropdown-module-scss-module__xxppMq__panel{z-index:100;background:var(--color-white);min-width:240px;max-height:320px;box-shadow:0 8px 24px var(--color-dim-black);border-radius:12px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.ClassFilterDropdown-module-scss-module__xxppMq__optionList{border-top:1px solid var(--color-gray-light);margin:4px 0 0;padding:4px 0 0;list-style:none}.ClassFilterDropdown-module-scss-module__xxppMq__option{color:var(--color-black);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.ClassFilterDropdown-module-scss-module__xxppMq__option:hover{background:var(--color-bg)}.ClassFilterDropdown-module-scss-module__xxppMq__option input{accent-color:var(--color-black);flex-shrink:0}.ClassFilterDropdown-module-scss-module__xxppMq__optionLabel{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}
.LessonCard-module-scss-module__g24a6G__card{background:var(--color-white);color:var(--color-black);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.LessonCard-module-scss-module__g24a6G__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.LessonCard-module-scss-module__g24a6G__status{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.LessonCard-module-scss-module__g24a6G__badge{flex-shrink:0;align-items:center;gap:6px;font-size:13px;display:inline-flex}.LessonCard-module-scss-module__g24a6G__badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.LessonCard-module-scss-module__g24a6G__badgeOpen{color:var(--color-system-green)}.LessonCard-module-scss-module__g24a6G__badgeBooked,.LessonCard-module-scss-module__g24a6G__badgeWaitlisted{color:var(--color-black)}.LessonCard-module-scss-module__g24a6G__badgeMuted{color:var(--color-gray-normal)}.LessonCard-module-scss-module__g24a6G__badgeCancelled{color:var(--color-system-red)}.LessonCard-module-scss-module__g24a6G__count,.LessonCard-module-scss-module__g24a6G__subInfo{color:var(--color-gray-normal);font-size:13px}.LessonCard-module-scss-module__g24a6G__title{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:600;overflow:hidden}.LessonCard-module-scss-module__g24a6G__infoList{flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.LessonCard-module-scss-module__g24a6G__infoRow{gap:12px;font-size:13px;display:flex}.LessonCard-module-scss-module__g24a6G__infoRow dt{width:60px;color:var(--color-gray-normal);flex-shrink:0;align-items:center;gap:6px;display:flex}.LessonCard-module-scss-module__g24a6G__infoRow dd{color:var(--color-gray-dark);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.LessonCard-module-scss-module__g24a6G__primaryAction{background:var(--color-primary);height:32px;color:var(--color-black);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:0 12px;font-size:13px;font-weight:700}.LessonCard-module-scss-module__g24a6G__outlineAction{border:1px solid var(--color-gray-light);height:32px;color:var(--color-black);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;padding:0 12px;font-size:13px;font-weight:600}.LessonCard-module-scss-module__g24a6G__cancelReason{color:var(--color-gray-normal);margin:0;font-size:13px}
.ReservationCalendar-module-scss-module__He7S-G__calendar{background:var(--color-white);border-radius:16px;min-width:0;overflow:hidden}.ReservationCalendar-module-scss-module__He7S-G__weekdayRow{grid-template-columns:repeat(7,1fr);display:grid}.ReservationCalendar-module-scss-module__He7S-G__weekday{color:var(--color-gray-normal);padding:12px 10px 4px;font-size:12px}.ReservationCalendar-module-scss-module__He7S-G__grid{grid-template-columns:repeat(7,1fr);display:grid}.ReservationCalendar-module-scss-module__He7S-G__cell{border:none;border-right:1px solid var(--color-bg);border-bottom:1px solid var(--color-bg);cursor:pointer;text-align:left;background:0 0;flex-direction:column;align-items:stretch;gap:8px;min-height:clamp(88px,10vw,147px);padding:8px;display:flex;overflow:hidden}.ReservationCalendar-module-scss-module__He7S-G__cell:nth-child(7n){border-right:none}.ReservationCalendar-module-scss-module__He7S-G__cell:nth-last-child(-n+7){border-bottom:none}.ReservationCalendar-module-scss-module__He7S-G__outMonth .ReservationCalendar-module-scss-module__He7S-G__dayNumber{color:var(--color-gray-light)}.ReservationCalendar-module-scss-module__He7S-G__dayNumber{width:32px;height:32px;color:var(--color-gray-dark);border-radius:50%;justify-content:center;align-self:flex-start;align-items:center;font-size:15px;font-weight:600;display:inline-flex}.ReservationCalendar-module-scss-module__He7S-G__selected{background:var(--color-primary);color:var(--color-black)}.ReservationCalendar-module-scss-module__He7S-G__chips{flex-direction:column;align-items:stretch;gap:4px;min-width:0;display:flex}.ReservationCalendar-module-scss-module__He7S-G__chip{white-space:nowrap;text-overflow:ellipsis;border-radius:8px;padding:2px 8px;font-size:clamp(11px,1vw,14px);line-height:1.5;overflow:hidden}.ReservationCalendar-module-scss-module__He7S-G__chip_open{background:var(--color-primary);color:var(--color-black)}.ReservationCalendar-module-scss-module__He7S-G__chip_booked{background:var(--color-black);color:var(--color-white)}.ReservationCalendar-module-scss-module__He7S-G__chip_waitlisted{background:var(--color-white);border:1px solid var(--color-primary);color:var(--color-black)}.ReservationCalendar-module-scss-module__He7S-G__chip_full,.ReservationCalendar-module-scss-module__He7S-G__chip_closed{background:var(--color-bg);color:var(--color-gray-normal)}.ReservationCalendar-module-scss-module__He7S-G__chip_cancelled{background:var(--color-bg);color:var(--color-system-red);text-decoration:line-through}.ReservationCalendar-module-scss-module__He7S-G__more{color:var(--color-gray-normal);font-size:11px}
.ReservationView-module-scss-module__Qp0a8q__main{max-width:1440px;min-height:60vh;margin:0 auto;padding:0 clamp(16px,4.4vw,64px) 96px}.ReservationView-module-scss-module__Qp0a8q__monthNav{align-items:center;gap:8px;padding:24px 0;display:flex}.ReservationView-module-scss-module__Qp0a8q__monthTitle{text-align:center;min-width:64px;color:var(--color-black);margin:0;font-size:24px;font-weight:600}.ReservationView-module-scss-module__Qp0a8q__monthButton{cursor:pointer;width:32px;height:32px;color:var(--color-black);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.ReservationView-module-scss-module__Qp0a8q__monthButton:hover{background:var(--color-gray-light)}.ReservationView-module-scss-module__Qp0a8q__layout{grid-template-columns:minmax(0,869fr) minmax(0,443fr);align-items:start;gap:24px;display:grid}@media (max-width:960px){.ReservationView-module-scss-module__Qp0a8q__layout{grid-template-columns:1fr}}.ReservationView-module-scss-module__Qp0a8q__listColumn{min-width:0}@media (min-width:961px){.ReservationView-module-scss-module__Qp0a8q__listColumn{align-self:stretch;position:relative}}.ReservationView-module-scss-module__Qp0a8q__listInner{flex-direction:column;gap:24px;display:flex}@media (min-width:961px){.ReservationView-module-scss-module__Qp0a8q__listInner{position:absolute;inset:0}}.ReservationView-module-scss-module__Qp0a8q__listScroll{flex-direction:column;display:flex}@media (min-width:961px){.ReservationView-module-scss-module__Qp0a8q__listScroll{overscroll-behavior:contain;flex:1;min-height:0;padding-right:8px;overflow-y:auto}}.ReservationView-module-scss-module__Qp0a8q__timeline{flex-direction:column;gap:24px;display:flex;position:relative}.ReservationView-module-scss-module__Qp0a8q__timeline:before{content:"";background:var(--color-gray-light);width:1px;position:absolute;top:8px;bottom:0;left:3px}.ReservationView-module-scss-module__Qp0a8q__dayGroup{flex-direction:column;gap:12px;padding-left:20px;display:flex;position:relative}.ReservationView-module-scss-module__Qp0a8q__dayGroup:after{content:"";background:var(--color-gray-light);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;left:0}.ReservationView-module-scss-module__Qp0a8q__dayHeading{color:var(--color-gray-dark);margin:0;font-size:14px;font-weight:600}.ReservationView-module-scss-module__Qp0a8q__lessonList{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.ReservationView-module-scss-module__Qp0a8q__message{text-align:center;color:var(--color-gray-normal);margin:0;padding:48px 0}.ReservationView-module-scss-module__Qp0a8q__loadingSpinner{border:3px solid var(--color-gray-light);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;margin:48px auto;animation:1s linear infinite ReservationView-module-scss-module__Qp0a8q__spin}@keyframes ReservationView-module-scss-module__Qp0a8q__spin{to{transform:rotate(360deg)}}
