.main-layout-module__S-z6Eq__mainLayout{flex-direction:column;width:100dvw;height:100dvh;max-height:100dvh;padding:1rem;display:flex;position:relative;overflow:hidden}.main-layout-module__S-z6Eq__main{max-height:100%;padding-bottom:1rem;overflow-y:auto}@media (min-width:768px){.main-layout-module__S-z6Eq__mainLayout{grid-template:"nav header"4rem"nav main"/4.5rem auto;gap:1.5rem 2.5rem;padding:1.5rem;display:grid}.main-layout-module__S-z6Eq__main{grid-area:main}}
.navigation-module__3zKb0a__navigation{z-index:49;grid-template-rows:3rem 1fr auto;justify-content:space-between;align-items:start;padding:1rem 0;display:grid;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.navigation-module__3zKb0a__navItems,.navigation-module__3zKb0a__viewSwitcher{list-style:none}.navigation-module__3zKb0a__navItems,.navigation-module__3zKb0a__userProfile{background-color:var(--backgrounds-tui-background-alt-2);border-radius:4rem;gap:1rem;padding:.5rem;display:flex;box-shadow:0 0 5px #2b909c8c}.navigation-module__3zKb0a__viewSwitcher{background-color:var(--backgrounds-tui-background-alt-2);border-radius:4rem;gap:1rem;padding:.5rem;display:none;box-shadow:0 0 5px #2b909c8c}.navigation-module__3zKb0a__navItems li a,.navigation-module__3zKb0a__userProfile li a,.navigation-module__3zKb0a__userProfile button,.navigation-module__3zKb0a__viewSwitcher li a{align-items:center;gap:1rem;padding:.75rem;display:flex}.navigation-module__3zKb0a__userProfile li::marker{content:""}.navigation-module__3zKb0a__navItems li:active,.navigation-module__3zKb0a__navItems li:hover,.navigation-module__3zKb0a__userProfile li:hover,.navigation-module__3zKb0a__viewSwitcher li:active,.navigation-module__3zKb0a__viewSwitcher li:hover,.navigation-module__3zKb0a__navItems li.navigation-module__3zKb0a__active{background-color:var(--color-primary);color:var(--text-color-inverse);border-radius:4rem}.navigation-module__3zKb0a__userProfile{justify-content:center;align-items:center;margin-top:auto}.navigation-module__3zKb0a__navigationContainer{flex-direction:column;gap:.5rem;display:flex}@media (min-width:768px){.navigation-module__3zKb0a__navigation{position:inherit;bottom:unset;flex-direction:column;grid-area:nav;height:100%}.navigation-module__3zKb0a__navItems{margin:1rem 0}.navigation-module__3zKb0a__navItems,.navigation-module__3zKb0a__userProfile{flex-direction:column}.navigation-module__3zKb0a__viewSwitcher{flex-direction:column;display:flex}}
.signup-module__8Fjwta__signupPage{background-color:var(--backgrounds-tui-background-alt);width:100%;min-height:100vh}.signup-module__8Fjwta__signupContainer{min-height:100vh}.signup-module__8Fjwta__backgroundImage{display:none}.signup-module__8Fjwta__quote{z-index:2;text-shadow:0 1px 2px #000c;max-width:90%;margin-top:40px;padding:20px;font-size:16px;font-weight:200;line-height:1.4}.signup-module__8Fjwta__poweredBy{margin-top:20px;font-size:14px}.signup-module__8Fjwta__formSection{background:url(/login-image.jpg) top/cover no-repeat;flex-direction:column;justify-content:flex-end;width:100%;min-height:100dvh;display:flex;position:relative;overflow:hidden}.signup-module__8Fjwta__formContainer{background-color:var(--backgrounds-tui-background-base);border-radius:var(--border-radius-xl)var(--border-radius-xl)0 0;flex-direction:column;max-height:85dvh;padding:1.5rem 1.5rem 2rem;display:flex;position:relative;box-shadow:0 -4px 20px #00000026}.signup-module__8Fjwta__headerContainer{text-align:center;flex-shrink:0;margin-bottom:.5rem;padding-bottom:1rem;position:relative}.signup-module__8Fjwta__formWrapper{flex:1;padding:0 .25rem 1rem;overflow:hidden auto}:is(.signup-module__8Fjwta__formWrapper [data-slot=form-item-label],.signup-module__8Fjwta__formWrapper label){color:var(--text-color)}.signup-module__8Fjwta__formWrapper [data-slot=form-item-description]{color:var(--text-color-muted)}.signup-module__8Fjwta__welcomeText{color:var(--text-color);z-index:1;max-width:100%;font-size:24px;font-weight:300;line-height:1.2;position:relative}.signup-module__8Fjwta__highlight{color:var(--text-color);font-size:1.75rem;font-weight:700;position:relative}.signup-module__8Fjwta__highlight:before{content:"";background-color:var(--backgrounds-tui-background-accent-2);z-index:-1;width:4.5rem;height:.625rem;position:absolute;bottom:.25rem}.signup-module__8Fjwta__subtitle{color:var(--text-color-muted);margin-top:.75rem;font-size:.95rem}.signup-module__8Fjwta__avatarSection{flex-direction:column;align-items:center;margin-bottom:1.5rem;display:flex}.signup-module__8Fjwta__avatarPreview{border:3px solid var(--backgrounds-tui-background-accent-2);background-color:var(--backgrounds-tui-background-base);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin-bottom:.75rem;display:flex;overflow:hidden}.signup-module__8Fjwta__avatarImage{object-fit:cover;width:100%;height:100%}.signup-module__8Fjwta__avatarPlaceholder{color:var(--text-color-muted);font-size:2.5rem}.signup-module__8Fjwta__uploadButton{margin-top:.25rem}.signup-module__8Fjwta__form{flex-direction:column;gap:1.25rem;width:100%;display:flex}.signup-module__8Fjwta__formRow{flex-direction:column;gap:1rem;display:flex}.signup-module__8Fjwta__submitButton{margin-top:1.5rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600}.signup-module__8Fjwta__successContainer{text-align:center;padding:2rem}.signup-module__8Fjwta__successIcon{color:var(--color-success);justify-content:center;margin-bottom:1.5rem;display:flex}.signup-module__8Fjwta__successTitle{color:var(--text-color);margin-bottom:1rem;font-size:1.5rem;font-weight:600}.signup-module__8Fjwta__successMessage{color:var(--text-color-muted);margin-bottom:2rem;line-height:1.5}.signup-module__8Fjwta__errorMessage{color:var(--color-error);border-radius:var(--border-radius-md);background-color:#ef44441a;border:1px solid #ef44444d;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.signup-module__8Fjwta__passwordRequirements{color:var(--text-color-muted);margin-top:.25rem;font-size:.8rem}@media (min-width:768px){.signup-module__8Fjwta__signupPage{flex-direction:row;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.signup-module__8Fjwta__signupContainer{border-radius:var(--border-radius-xl);background-image:none;grid-template-columns:1fr 2fr;width:min(90dvw,85rem);min-height:auto;max-height:90dvh;display:grid;overflow:hidden;box-shadow:0 0 33px 5px #a3bdfa66}.signup-module__8Fjwta__backgroundImage{background:url(/login-image.jpg) 50%/cover;justify-content:flex-start;min-height:600px;display:block;position:relative}.signup-module__8Fjwta__quote{color:var(--text-color-inverse);padding:40px;position:absolute;bottom:0}.signup-module__8Fjwta__formSection{min-height:auto;max-height:90dvh;box-shadow:none;background-color:var(--backgrounds-tui-background-base);background-image:none;flex-direction:column;justify-content:flex-start;display:flex;overflow:hidden}.signup-module__8Fjwta__formContainer{min-height:auto;max-height:90dvh;box-shadow:none;background:0 0;border-radius:0;flex-direction:column;width:100%;padding:2rem;display:flex}.signup-module__8Fjwta__headerContainer{flex-shrink:0;margin-bottom:0;padding-bottom:1.5rem}.signup-module__8Fjwta__formWrapper{flex:1;width:100%;max-width:min(100%,38rem);margin:0 auto;padding:0 1rem 2rem;overflow-y:auto}.signup-module__8Fjwta__welcomeText,.signup-module__8Fjwta__highlight{font-size:2rem}.signup-module__8Fjwta__formRow{flex-direction:row;gap:1.5rem}.signup-module__8Fjwta__formRow>*{flex:1}.signup-module__8Fjwta__avatarSection{margin-bottom:2rem}.signup-module__8Fjwta__avatarPreview{width:110px;height:110px}}@media (min-width:1024px){.signup-module__8Fjwta__signupContainer{width:min(85dvw,80rem)}.signup-module__8Fjwta__formContainer{padding:3rem 2.5rem}}@media (min-width:1280px){.signup-module__8Fjwta__signupContainer{width:min(80dvw,75rem)}}
.page-header-module__ZCPxYq__header{grid-area:header;justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.page-header-module__ZCPxYq__bellContainer{color:var(--text-color-inverse);cursor:pointer;background-color:#48a6b1b5;border-radius:50%;padding:.75rem}.page-header-module__ZCPxYq__bellContainer:hover{background-color:#48a6b1}.page-header-module__ZCPxYq__title,.page-header-module__ZCPxYq__mobileTitle{font-family:Inter;font-size:2.25rem;font-style:normal;font-weight:200;line-height:normal}.page-header-module__ZCPxYq__mobileTitle{font-size:1.5rem}@media (min-width:768px){.page-header-module__ZCPxYq__header{grid-area:header}.page-header-module__ZCPxYq__title{font-size:2rem}}
.notification-item-module__hIXJsq__container{cursor:pointer;border-bottom:1px solid var(--notification-item-border,#f3f4f6);padding:16px 20px;transition:background-color .2s;display:flex}.notification-item-module__hIXJsq__container:last-child{border-bottom:none}.notification-item-module__hIXJsq__container:hover{background-color:var(--notification-item-hover-bg,#f9fafb)}.notification-item-module__hIXJsq__unread{background-color:var(--notification-unread-bg,#fef3c7)}.notification-item-module__hIXJsq__unread:hover{background-color:var(--notification-unread-hover-bg,#fde68a)}.notification-item-module__hIXJsq__read{background-color:#0000}.notification-item-module__hIXJsq__iconContainer{background-color:var(--notification-icon-bg,#e5e7eb);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-right:12px;display:flex}.notification-item-module__hIXJsq__content{flex:1;min-width:0}.notification-item-module__hIXJsq__header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.notification-item-module__hIXJsq__typeBadge{text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:500}.notification-item-module__hIXJsq__type-class{background-color:var(--notification-class-bg,#dbeafe);color:var(--notification-class-color,#1e40af);border-color:var(--notification-class-border,#93c5fd)}.notification-item-module__hIXJsq__type-info{background-color:var(--notification-info-bg,#d1fae5);color:var(--notification-info-color,#065f46);border-color:var(--notification-info-border,#6ee7b7)}.notification-item-module__hIXJsq__type-course{background-color:var(--notification-course-bg,#fef3c7);color:var(--notification-course-color,#92400e);border-color:var(--notification-course-border,#fbbf24)}.notification-item-module__hIXJsq__type-substitution{background-color:var(--notification-substitution-bg,#fce7f3);color:var(--notification-substitution-color,#be185d);border-color:var(--notification-substitution-border,#f9a8d4)}.notification-item-module__hIXJsq__type-waitlist{background-color:var(--notification-waitlist-bg,#fef3c7);color:var(--notification-waitlist-color,#b45309);border-color:var(--notification-waitlist-border,#fcd34d)}.notification-item-module__hIXJsq__timestamp{color:var(--notification-timestamp-color,#9ca3af);font-size:11px}.notification-item-module__hIXJsq__message{color:var(--notification-message-color,#374151);word-wrap:break-word;margin:0 0 8px;font-size:14px;line-height:1.4}.notification-item-module__hIXJsq__classInfo,.notification-item-module__hIXJsq__courseInfo{color:var(--notification-detail-color,#6b7280);align-items:center;gap:8px;font-size:12px;display:flex}.notification-item-module__hIXJsq__className,.notification-item-module__hIXJsq__courseName{color:var(--notification-detail-name-color,#374151);font-weight:500}.notification-item-module__hIXJsq__classTime{font-family:monospace}
.notification-list-module__oKVkaW__container{flex-direction:column;height:100%;display:flex}.notification-list-module__oKVkaW__header{background-color:var(--notification-header-bg,#f9fafb);border-bottom:1px solid var(--notification-header-border,#e5e7eb);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.notification-list-module__oKVkaW__title{color:var(--notification-title-color,#111827);margin:0;font-size:16px;font-weight:600}.notification-list-module__oKVkaW__markAllReadButton{color:var(--notification-mark-read-color,#6b7280);height:auto;padding:4px 8px;font-size:12px;text-decoration:underline}.notification-list-module__oKVkaW__markAllReadButton:hover{color:var(--notification-mark-read-hover-color,#374151)}.notification-list-module__oKVkaW__scrollArea{flex:1;max-height:400px}.notification-list-module__oKVkaW__loadingContainer{color:var(--notification-loading-color,#6b7280);flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.notification-list-module__oKVkaW__spinner{border:2px solid var(--notification-spinner-border,#e5e7eb);border-top:2px solid var(--notification-spinner-top,#3b82f6);border-radius:50%;width:24px;height:24px;margin-bottom:12px;animation:1s linear infinite notification-list-module__oKVkaW__spin}@keyframes notification-list-module__oKVkaW__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.notification-list-module__oKVkaW__emptyContainer{color:var(--notification-empty-color,#9ca3af);justify-content:center;align-items:center;padding:40px 20px;font-style:italic;display:flex}.notification-list-module__oKVkaW__notificationsContainer{padding:8px 0}
.booking-page-client-module__e_HGMa__mainContainer{width:100%;padding-bottom:7.5rem;container-type:inline-size}@container (max-width:340px){.booking-page-client-module__e_HGMa__cardContainer{grid-template-columns:1fr}}
.notification-bell-module__dJ-Qna__bellContainer{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:background-color .2s;display:flex;position:relative}.notification-bell-module__dJ-Qna__bellContainer:hover{background-color:var(--notification-bell-hover-bg,#0000000d)}.notification-bell-module__dJ-Qna__badge{border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;font-size:11px;font-weight:600;animation:2s infinite notification-bell-module__dJ-Qna__pulse;display:flex;position:absolute;top:0;right:0;transform:translate(50%,-50%)}@keyframes notification-bell-module__dJ-Qna__pulse{0%{box-shadow:0 0 #48a6b1b3}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.notification-bell-module__dJ-Qna__popoverContent{border:1px solid var(--notification-popover-border,#e5e7eb);background-color:var(--notification-popover-bg,#fff);border-radius:12px;width:400px;max-width:90vw;max-height:500px;padding:0;box-shadow:0 10px 25px #00000026}
