.page-module__kVjznq__container{background-color:#f8f8f8;min-height:100vh;padding-bottom:24px;overflow-x:hidden}.page-module__kVjznq__gymIconSelector{will-change:transform;justify-content:center;gap:12px;padding:20px 0;transition:transform .15s ease-out;display:flex;overflow-x:visible;transform:translate(0,0)}.page-module__kVjznq__gymIconButton{cursor:pointer;background:#f0f0f0;border:2px solid #ccc;border-radius:50%;flex-shrink:0;width:44px;height:44px;padding:0;transition:all .15s ease-out;position:relative;overflow:hidden}.page-module__kVjznq__gymIconButton:hover{transform:scale(1.08)}.page-module__kVjznq__gymIconButtonActive{border-color:#2fbfb8;transform:scale(1.25);box-shadow:0 0 12px #2fbfb880}.page-module__kVjznq__gymIconImage{object-fit:cover;filter:grayscale(70%)blur(.5px);opacity:.7;border-radius:50%;width:100%;height:100%;transition:all .15s ease-out}.page-module__kVjznq__gymIconImageActive{filter:grayscale(0%)blur();opacity:1}.page-module__kVjznq__gymCarouselContainer{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;gap:12px;padding:0 0 16px;display:flex;overflow-x:auto}.page-module__kVjznq__gymCarouselContainer::-webkit-scrollbar{display:none}.page-module__kVjznq__gymProfileCard{color:#fff;scroll-snap-align:center;scroll-snap-stop:always;background:linear-gradient(135deg,#333 0%,#555 100%);border-radius:16px;flex-shrink:0;min-width:calc(85% - 24px);max-width:calc(85% - 24px);padding:20px;overflow:hidden}.page-module__kVjznq__gymProfileCardInactive{opacity:.6}.page-module__kVjznq__gymProfileCardInactive .page-module__kVjznq__gymProfileImage,.page-module__kVjznq__gymProfileCardInactive .page-module__kVjznq__gymProfileInfo,.page-module__kVjznq__gymProfileCardInactive .page-module__kVjznq__gymActions{filter:blur(1px)}.page-module__kVjznq__gymProfileCard:first-child{margin-left:calc(7.5% + 12px)}.page-module__kVjznq__gymProfileCard:last-child{margin-right:calc(7.5% + 12px)}.page-module__kVjznq__gymProfileImage{aspect-ratio:16/9;object-fit:cover;border-radius:10px;width:100%;margin-bottom:14px}.page-module__kVjznq__gymProfileInfo{align-items:center;gap:10px;margin-bottom:14px;display:flex}.page-module__kVjznq__gymBrandLogo{letter-spacing:-.5px;text-shadow:0 1px 2px #0003;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:800;display:flex;position:relative}.page-module__kVjznq__gymBrandLogo:before{content:"";pointer-events:none;background:linear-gradient(135deg,#fff3 0%,#fff0 50%);border-radius:8px;position:absolute;inset:0}.page-module__kVjznq__gymName{font-size:16px;font-weight:700}.page-module__kVjznq__gymActions{gap:10px;display:flex}.page-module__kVjznq__gymActionButton{cursor:pointer;border:none;border-radius:20px;align-items:center;gap:4px;padding:8px 12px;font-size:12px;font-weight:600;transition:opacity .2s;display:flex}.page-module__kVjznq__gymActionButton:hover{opacity:.9}.page-module__kVjznq__contactButton{color:#fff;background:#2fbfb8}.page-module__kVjznq__infoButton{color:#333;background:#fff;border:1px solid #ddd;text-decoration:none}.page-module__kVjznq__locationButton{color:#2fbfb8;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.page-module__kVjznq__tabContainer{margin-bottom:20px;padding:0 16px}.page-module__kVjznq__optionsContent{padding:0 16px;animation:.3s ease-out page-module__kVjznq__contentFadeIn}.page-module__kVjznq__optionsSection{margin-bottom:24px}.page-module__kVjznq__optionsSectionTitle{color:#333;text-align:center;margin-bottom:16px;font-size:16px;font-weight:700}.page-module__kVjznq__optionsList{background:#fff;border-radius:12px;overflow:hidden}.page-module__kVjznq__optionItem{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:16px;display:flex}.page-module__kVjznq__optionItem:last-child{border-bottom:none}.page-module__kVjznq__optionInfo{flex-direction:column;flex:1;gap:4px;min-width:0;margin-right:12px;display:flex}.page-module__kVjznq__optionName{color:#333;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.page-module__kVjznq__optionExpiry{color:#2fbfb8;font-size:12px}.page-module__kVjznq__optionDescription{color:#888;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.page-module__kVjznq__optionPrice{color:#333;white-space:nowrap;flex-shrink:0;font-size:18px;font-weight:700}.page-module__kVjznq__optionPriceUnit{color:#666;font-size:13px;font-weight:500}.page-module__kVjznq__optionsTotal{justify-content:flex-end;align-items:center;gap:16px;margin-top:8px;padding:16px;display:flex}.page-module__kVjznq__optionsTotalLabel{color:#666;font-size:14px}.page-module__kVjznq__optionsTotalPrice{color:#333;font-size:20px;font-weight:700}@keyframes page-module__kVjznq__contentFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-module__kVjznq__planCardsGrid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px;padding:0 16px;animation:.3s ease-out page-module__kVjznq__contentFadeIn;display:grid}.page-module__kVjznq__planCard{border-radius:12px;flex-direction:column;min-height:140px;padding:12px;display:flex;position:relative}.page-module__kVjznq__planCardGreen{color:#fff;background:linear-gradient(135deg,#2fbfb8 0%,#4dccca 100%)}.page-module__kVjznq__planCardYellow{color:#fff;background:linear-gradient(135deg,#f5a623 0%,#f7c94b 100%)}.page-module__kVjznq__planCardOrange{color:#fff;background:linear-gradient(135deg,#ff9500 0%,#ffb84d 100%)}.page-module__kVjznq__planCardBlue{color:#fff;background:linear-gradient(135deg,#4a90d9 0%,#6bb3ff 100%)}.page-module__kVjznq__planCardPurple{color:#fff;background:linear-gradient(135deg,#9b59b6 0%,#be90d4 100%)}.page-module__kVjznq__planCardHeader{justify-content:flex-end;align-items:flex-start;margin-bottom:8px;display:flex}.page-module__kVjznq__planCardRemaining{text-align:right}.page-module__kVjznq__planCardRemainingLabel{opacity:.95;font-size:10px;font-weight:500}.page-module__kVjznq__planCardRemainingValue{font-size:20px;font-weight:700;line-height:1}.page-module__kVjznq__planCardName{min-height:40px;margin-bottom:auto;font-size:15px;font-weight:700;line-height:1.3}.page-module__kVjznq__planCardFooter{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.page-module__kVjznq__planCardDetailButton{cursor:pointer;color:#fff;background:#ffffff26;border:1px solid #ffffff80;border-radius:14px;padding:6px 12px;font-size:11px;font-weight:600;transition:all .2s}.page-module__kVjznq__planCardDetailButton:hover{background:#ffffff40;border-color:#ffffffb3}.page-module__kVjznq__planCardButton{cursor:pointer;color:#333;background:#fff;border:none;border-radius:14px;padding:8px 14px;font-size:11px;font-weight:700;transition:all .2s;box-shadow:0 2px 8px #00000026}.page-module__kVjznq__planCardButton:hover{transform:scale(1.02);box-shadow:0 4px 12px #0003}.page-module__kVjznq__planCardButtonDisabled{opacity:.5;cursor:not-allowed}.page-module__kVjznq__actionButtons{margin-bottom:24px;padding:0 16px}.page-module__kVjznq__actionButton{cursor:pointer;color:#fff;background:linear-gradient(135deg,#2fbfb8 0%,#4dccca 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 4px 12px #2fbfb84d}.page-module__kVjznq__actionButton:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2fbfb866}.page-module__kVjznq__actionButton:active{transform:translateY(0)}.page-module__kVjznq__sectionTitle{color:#333;margin-bottom:16px;font-size:16px;font-weight:700}.page-module__kVjznq__reservationSection{background:linear-gradient(#0000 0%,#2fbfb808 100%);padding:32px 16px}.page-module__kVjznq__reservationSectionTitle{color:#1a1a1a;letter-spacing:-.01em;text-align:center;margin-bottom:16px;font-size:20px;font-weight:700}.page-module__kVjznq__monthSelector{justify-content:center;align-items:center;gap:4px;margin-bottom:24px;display:flex}.page-module__kVjznq__monthNavBtn{color:#666;cursor:pointer;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;box-shadow:0 1px 3px #00000014}.page-module__kVjznq__monthNavBtn:hover{color:#fff;background:#2fbfb8;box-shadow:0 2px 8px #2fbfb84d}.page-module__kVjznq__monthNavBtn:active{transform:scale(.95)}.page-module__kVjznq__monthDisplay{color:#1a1a1a;text-align:center;min-width:120px;padding:0 16px;font-size:16px;font-weight:600}.page-module__kVjznq__reservationCards{flex-direction:column;gap:10px;display:flex}.page-module__kVjznq__reservationCard{background:#fff;border-radius:12px;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000000f}.page-module__kVjznq__reservationCard:hover{box-shadow:0 4px 12px #0000001a}.page-module__kVjznq__reservationCardCompleted{opacity:.6}.page-module__kVjznq__reservationCardCompleted:hover{opacity:.9}.page-module__kVjznq__statusIndicator,.page-module__kVjznq__statusIndicatorUpcoming,.page-module__kVjznq__statusIndicatorCompleted{display:none}.page-module__kVjznq__dateColumn{background:#f5f5f5;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.page-module__kVjznq__dateDay{color:#1a1a1a;font-size:20px;font-weight:700;line-height:1}.page-module__kVjznq__dateDayOfWeek{color:#888;margin-top:2px;font-size:11px;font-weight:500}.page-module__kVjznq__contentColumn{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.page-module__kVjznq__reservationMeta{align-items:center;gap:6px;display:flex}.page-module__kVjznq__statusBadge{border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.page-module__kVjznq__statusBadgeUpcoming{color:#2fbfb8;background:#e8f8f7}.page-module__kVjznq__statusBadgeCompleted{color:#999;background:#f0f0f0}.page-module__kVjznq__timeDisplay{color:#999;align-items:center;gap:3px;font-size:11px;display:flex}.page-module__kVjznq__gymNameLink{color:#1a1a1a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;text-decoration:none;overflow:hidden}.page-module__kVjznq__gymNameLink:hover{color:#2fbfb8}.page-module__kVjznq__planNameText{color:#888;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.page-module__kVjznq__instructorColumn{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.page-module__kVjznq__instructorAvatar{border-radius:50%;flex-shrink:0;width:36px;height:36px;overflow:hidden}.page-module__kVjznq__instructorImage{object-fit:cover;width:100%;height:100%}.page-module__kVjznq__instructorName{color:#666;text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:6em;font-size:10px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.page-module__kVjznq__viewAllLink{color:#2fbfb8;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:4px;margin-top:20px;padding:12px 24px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 2px 8px #2fbfb826}.page-module__kVjznq__viewAllLink:hover{color:#fff;background:linear-gradient(135deg,#2fbfb8 0%,#4dccca 100%);transform:translateY(-1px);box-shadow:0 4px 16px #2fbfb84d}.page-module__kVjznq__eventsSection{padding:32px 16px 40px}.page-module__kVjznq__eventsSectionHeader{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.page-module__kVjznq__eventsSectionTitle{color:#1a1a1a;letter-spacing:-.01em;font-size:20px;font-weight:700}.page-module__kVjznq__eventsViewAll{color:#666;align-items:center;gap:2px;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.page-module__kVjznq__eventsViewAll:hover{color:#2fbfb8}.page-module__kVjznq__eventsList{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.page-module__kVjznq__eventCard{background:#fff;border-radius:10px;text-decoration:none;transition:all .2s;display:block;overflow:hidden;box-shadow:0 1px 3px #0000000f}.page-module__kVjznq__eventCard:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.page-module__kVjznq__eventCardImageWrapper{aspect-ratio:16/9;width:100%;position:relative}.page-module__kVjznq__eventCardImage{object-fit:cover}.page-module__kVjznq__eventCardContent{padding:10px 10px 8px}.page-module__kVjznq__eventCardBadge{color:#fff;z-index:1;background:#2fbfb8;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:600;position:absolute;top:6px;left:6px}.page-module__kVjznq__eventCardText{min-width:0}.page-module__kVjznq__eventCardTitle{color:#1a1a1a;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.page-module__kVjznq__eventCardDescription,.page-module__kVjznq__eventCardArrow{display:none}.page-module__kVjznq__loadingContainer{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:400px;display:flex}.page-module__kVjznq__spinner{border:3px solid #f0f0f0;border-top-color:#2fbfb8;border-radius:50%;width:48px;height:48px;animation:1s linear infinite page-module__kVjznq__spin}@keyframes page-module__kVjznq__spin{to{transform:rotate(360deg)}}.page-module__kVjznq__loadingText{color:#999;font-size:14px}.page-module__kVjznq__emptyState{text-align:center;background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.page-module__kVjznq__emptyStateFull{text-align:center;background:#fff;border-radius:12px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;padding:40px 20px;display:flex}.page-module__kVjznq__emptyStateIcon{color:#ccc;width:48px;height:48px;margin-bottom:12px}.page-module__kVjznq__emptyStateText{color:#999;margin-bottom:16px;font-size:14px}.page-module__kVjznq__emptyStateButton{color:#fff;cursor:pointer;background:#2fbfb8;border:none;border-radius:20px;padding:10px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .2s}.page-module__kVjznq__emptyStateButton:hover{opacity:.9}
