@keyframes login-module-scss-module__Dj8RjG__enter{0%{opacity:var(--enter-opacity,1);transform:translate3d(var(--enter-translate-x,0), var(--enter-translate-y,0), 0) scale3d(var(--enter-scale,1), var(--enter-scale,1), var(--enter-scale,1))}}@keyframes login-module-scss-module__Dj8RjG__exit{to{opacity:var(--exit-opacity,1);transform:translate3d(var(--exit-translate-x,0), var(--exit-translate-y,0), 0) scale3d(var(--exit-scale,1), var(--exit-scale,1), var(--exit-scale,1))}}.login-module-scss-module__Dj8RjG__suspenseFallback{text-align:center;color:var(--muted-foreground);padding:2rem 0}
@keyframes auth-layout-module-scss-module__8lg3SG__enter{0%{opacity:var(--enter-opacity,1);transform:translate3d(var(--enter-translate-x,0), var(--enter-translate-y,0), 0) scale3d(var(--enter-scale,1), var(--enter-scale,1), var(--enter-scale,1))}}@keyframes auth-layout-module-scss-module__8lg3SG__exit{to{opacity:var(--exit-opacity,1);transform:translate3d(var(--exit-translate-x,0), var(--exit-translate-y,0), 0) scale3d(var(--exit-scale,1), var(--exit-scale,1), var(--exit-scale,1))}}.auth-layout-module-scss-module__8lg3SG__wrapper{background-color:var(--background);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:3rem 1rem;display:flex}.auth-layout-module-scss-module__8lg3SG__container{flex-direction:column;gap:2rem;width:100%;max-width:28rem;display:flex}.auth-layout-module-scss-module__8lg3SG__logoWrapper{flex-direction:column;align-items:center;gap:.75rem;display:flex}.auth-layout-module-scss-module__8lg3SG__logo{width:auto;height:3rem}.auth-layout-module-scss-module__8lg3SG__logoFallback{border-radius:calc(var(--radius) + 4px);background-color:var(--primary);width:3rem;height:3rem;color:var(--primary-foreground);justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;display:flex}.auth-layout-module-scss-module__8lg3SG__title{color:var(--foreground);font-size:1.25rem;font-weight:600}
@keyframes google-sign-in-button-module-scss-module__6k8c2q__enter{0%{opacity:var(--enter-opacity,1);transform:translate3d(var(--enter-translate-x,0), var(--enter-translate-y,0), 0) scale3d(var(--enter-scale,1), var(--enter-scale,1), var(--enter-scale,1))}}@keyframes google-sign-in-button-module-scss-module__6k8c2q__exit{to{opacity:var(--exit-opacity,1);transform:translate3d(var(--exit-translate-x,0), var(--exit-translate-y,0), 0) scale3d(var(--exit-scale,1), var(--exit-scale,1), var(--exit-scale,1))}}.google-sign-in-button-module-scss-module__6k8c2q__button{border-radius:var(--radius);border:1px solid var(--border);background-color:var(--background);width:100%;color:var(--foreground);cursor:pointer;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s;display:flex;box-shadow:0 1px 2px #0000000d}.google-sign-in-button-module-scss-module__6k8c2q__button:hover{background-color:var(--accent)}.google-sign-in-button-module-scss-module__6k8c2q__button:disabled{opacity:.5;cursor:not-allowed}.google-sign-in-button-module-scss-module__6k8c2q__icon{width:1.25rem;height:1.25rem}
@keyframes login-form-module-scss-module__qY_E9q__enter{0%{opacity:var(--enter-opacity,1);transform:translate3d(var(--enter-translate-x,0), var(--enter-translate-y,0), 0) scale3d(var(--enter-scale,1), var(--enter-scale,1), var(--enter-scale,1))}}@keyframes login-form-module-scss-module__qY_E9q__exit{to{opacity:var(--exit-opacity,1);transform:translate3d(var(--exit-translate-x,0), var(--exit-translate-y,0), 0) scale3d(var(--exit-scale,1), var(--exit-scale,1), var(--exit-scale,1))}}.login-form-module-scss-module__qY_E9q__wrapper{flex-direction:column;gap:1.5rem;display:flex}.login-form-module-scss-module__qY_E9q__card{border-radius:calc(var(--radius) + 4px);border:1px solid var(--border);background-color:var(--card);flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex;box-shadow:0 1px 2px #0000000d}.login-form-module-scss-module__qY_E9q__header{flex-direction:column;display:flex}.login-form-module-scss-module__qY_E9q__heading{color:var(--foreground);font-size:1.125rem;font-weight:600}.login-form-module-scss-module__qY_E9q__subheading{color:var(--muted-foreground);margin-top:.25rem;font-size:.875rem}.login-form-module-scss-module__qY_E9q__error{border-radius:var(--radius);background-color:color-mix(in srgb, var(--destructive) 10%, transparent);color:var(--destructive);padding:.75rem;font-size:.875rem}.login-form-module-scss-module__qY_E9q__form{flex-direction:column;gap:1rem;display:flex}.login-form-module-scss-module__qY_E9q__fieldGroup{flex-direction:column;gap:.5rem;display:flex}.login-form-module-scss-module__qY_E9q__labelRow{justify-content:space-between;align-items:center;display:flex}.login-form-module-scss-module__qY_E9q__label{color:var(--foreground);font-size:.875rem;font-weight:500}.login-form-module-scss-module__qY_E9q__forgotLink{color:var(--primary);font-size:.875rem;text-decoration:none}.login-form-module-scss-module__qY_E9q__forgotLink:hover{text-decoration:underline}.login-form-module-scss-module__qY_E9q__input{border-radius:var(--radius);border:1px solid var(--input);background-color:var(--background);outline:none;width:100%;padding:.5rem .75rem;font-size:.875rem}.login-form-module-scss-module__qY_E9q__input::placeholder{color:var(--muted-foreground)}.login-form-module-scss-module__qY_E9q__input:focus{box-shadow:0 0 0 2px var(--ring);outline:none}.login-form-module-scss-module__qY_E9q__submitButton{border-radius:var(--radius);background-color:var(--primary);width:100%;color:var(--primary-foreground);cursor:pointer;border:none;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.login-form-module-scss-module__qY_E9q__submitButton:hover{background-color:color-mix(in srgb, var(--primary) 90%, transparent)}.login-form-module-scss-module__qY_E9q__submitButton:disabled{opacity:.5;cursor:not-allowed}.login-form-module-scss-module__qY_E9q__divider{position:relative}.login-form-module-scss-module__qY_E9q__divider .login-form-module-scss-module__qY_E9q__dividerLine{align-items:center;display:flex;position:absolute;inset:0}.login-form-module-scss-module__qY_E9q__divider .login-form-module-scss-module__qY_E9q__dividerLine .login-form-module-scss-module__qY_E9q__dividerBorder{border-top:1px solid var(--border);width:100%}.login-form-module-scss-module__qY_E9q__divider .login-form-module-scss-module__qY_E9q__dividerLabel{justify-content:center;display:flex;position:relative}.login-form-module-scss-module__qY_E9q__divider .login-form-module-scss-module__qY_E9q__dividerLabel span{background-color:var(--card);text-transform:uppercase;color:var(--muted-foreground);padding:0 .5rem;font-size:.75rem}.login-form-module-scss-module__qY_E9q__footer{text-align:center;color:var(--muted-foreground);font-size:.875rem}.login-form-module-scss-module__qY_E9q__footerLink{color:var(--primary);font-weight:500;text-decoration:none}.login-form-module-scss-module__qY_E9q__footerLink:hover{text-decoration:underline}
@keyframes signup-form-module-scss-module__ARTZdG__enter{0%{opacity:var(--enter-opacity,1);transform:translate3d(var(--enter-translate-x,0), var(--enter-translate-y,0), 0) scale3d(var(--enter-scale,1), var(--enter-scale,1), var(--enter-scale,1))}}@keyframes signup-form-module-scss-module__ARTZdG__exit{to{opacity:var(--exit-opacity,1);transform:translate3d(var(--exit-translate-x,0), var(--exit-translate-y,0), 0) scale3d(var(--exit-scale,1), var(--exit-scale,1), var(--exit-scale,1))}}.signup-form-module-scss-module__ARTZdG__wrapper{flex-direction:column;gap:1.5rem;display:flex}.signup-form-module-scss-module__ARTZdG__roleSelector{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.signup-form-module-scss-module__ARTZdG__roleButton{border-radius:var(--radius);border:2px solid var(--border);text-align:left;cursor:pointer;background:0 0;padding:1rem;transition:border-color .15s,background-color .15s}.signup-form-module-scss-module__ARTZdG__roleButton:hover{border-color:color-mix(in srgb, var(--muted-foreground) 30%, transparent)}.signup-form-module-scss-module__ARTZdG__roleButtonActive{border-color:var(--primary);background-color:color-mix(in srgb, var(--primary) 5%, transparent)}.signup-form-module-scss-module__ARTZdG__roleTitle{font-size:.875rem;font-weight:600}.signup-form-module-scss-module__ARTZdG__roleDescription{color:var(--muted-foreground);margin-top:.25rem;font-size:.75rem}.signup-form-module-scss-module__ARTZdG__card{border-radius:calc(var(--radius) + 4px);border:1px solid var(--border);background-color:var(--card);flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex;box-shadow:0 1px 2px #0000000d}.signup-form-module-scss-module__ARTZdG__header{flex-direction:column;display:flex}.signup-form-module-scss-module__ARTZdG__heading{color:var(--foreground);font-size:1.125rem;font-weight:600}.signup-form-module-scss-module__ARTZdG__subheading{color:var(--muted-foreground);margin-top:.25rem;font-size:.875rem}.signup-form-module-scss-module__ARTZdG__error{border-radius:var(--radius);background-color:color-mix(in srgb, var(--destructive) 10%, transparent);color:var(--destructive);padding:.75rem;font-size:.875rem}.signup-form-module-scss-module__ARTZdG__form{flex-direction:column;gap:1rem;display:flex}.signup-form-module-scss-module__ARTZdG__fieldGroup{flex-direction:column;gap:.5rem;display:flex}.signup-form-module-scss-module__ARTZdG__label{color:var(--foreground);font-size:.875rem;font-weight:500}.signup-form-module-scss-module__ARTZdG__input{border-radius:var(--radius);border:1px solid var(--input);background-color:var(--background);outline:none;width:100%;padding:.5rem .75rem;font-size:.875rem}.signup-form-module-scss-module__ARTZdG__input::placeholder{color:var(--muted-foreground)}.signup-form-module-scss-module__ARTZdG__input:focus{box-shadow:0 0 0 2px var(--ring);outline:none}.signup-form-module-scss-module__ARTZdG__submitButton{border-radius:var(--radius);background-color:var(--primary);width:100%;color:var(--primary-foreground);cursor:pointer;border:none;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.signup-form-module-scss-module__ARTZdG__submitButton:hover{background-color:color-mix(in srgb, var(--primary) 90%, transparent)}.signup-form-module-scss-module__ARTZdG__submitButton:disabled{opacity:.5;cursor:not-allowed}.signup-form-module-scss-module__ARTZdG__divider{position:relative}.signup-form-module-scss-module__ARTZdG__divider .signup-form-module-scss-module__ARTZdG__dividerLine{align-items:center;display:flex;position:absolute;inset:0}.signup-form-module-scss-module__ARTZdG__divider .signup-form-module-scss-module__ARTZdG__dividerLine .signup-form-module-scss-module__ARTZdG__dividerBorder{border-top:1px solid var(--border);width:100%}.signup-form-module-scss-module__ARTZdG__divider .signup-form-module-scss-module__ARTZdG__dividerLabel{justify-content:center;display:flex;position:relative}.signup-form-module-scss-module__ARTZdG__divider .signup-form-module-scss-module__ARTZdG__dividerLabel span{background-color:var(--card);text-transform:uppercase;color:var(--muted-foreground);padding:0 .5rem;font-size:.75rem}.signup-form-module-scss-module__ARTZdG__studentRedirectExample{border-radius:var(--radius);background-color:color-mix(in srgb, var(--muted) 50%, transparent);justify-content:center;padding:1rem;display:flex}.signup-form-module-scss-module__ARTZdG__exampleUrl{color:var(--primary);font-size:.875rem;font-weight:500}.signup-form-module-scss-module__ARTZdG__footer{text-align:center;color:var(--muted-foreground);font-size:.875rem}.signup-form-module-scss-module__ARTZdG__footerLink{color:var(--primary);font-weight:500;text-decoration:none}.signup-form-module-scss-module__ARTZdG__footerLink:hover{text-decoration:underline}
@keyframes forgot-password-form-module-scss-module__AxINbW__enter{0%{opacity:var(--enter-opacity,1);transform:translate3d(var(--enter-translate-x,0), var(--enter-translate-y,0), 0) scale3d(var(--enter-scale,1), var(--enter-scale,1), var(--enter-scale,1))}}@keyframes forgot-password-form-module-scss-module__AxINbW__exit{to{opacity:var(--exit-opacity,1);transform:translate3d(var(--exit-translate-x,0), var(--exit-translate-y,0), 0) scale3d(var(--exit-scale,1), var(--exit-scale,1), var(--exit-scale,1))}}.forgot-password-form-module-scss-module__AxINbW__wrapper{flex-direction:column;gap:1.5rem;display:flex}.forgot-password-form-module-scss-module__AxINbW__card{border-radius:calc(var(--radius) + 4px);border:1px solid var(--border);background-color:var(--card);flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex;box-shadow:0 1px 2px #0000000d}.forgot-password-form-module-scss-module__AxINbW__cardSuccess{border-radius:calc(var(--radius) + 4px);border:1px solid var(--border);background-color:var(--card);flex-direction:column;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 1px 2px #0000000d}.forgot-password-form-module-scss-module__AxINbW__header{flex-direction:column;display:flex}.forgot-password-form-module-scss-module__AxINbW__heading{color:var(--foreground);font-size:1.125rem;font-weight:600}.forgot-password-form-module-scss-module__AxINbW__subheading{color:var(--muted-foreground);margin-top:.25rem;font-size:.875rem}.forgot-password-form-module-scss-module__AxINbW__emailHighlight{color:var(--foreground);font-weight:500}.forgot-password-form-module-scss-module__AxINbW__infoText{color:var(--muted-foreground);font-size:.875rem}.forgot-password-form-module-scss-module__AxINbW__error{border-radius:var(--radius);background-color:color-mix(in srgb, var(--destructive) 10%, transparent);color:var(--destructive);padding:.75rem;font-size:.875rem}.forgot-password-form-module-scss-module__AxINbW__form{flex-direction:column;gap:1rem;display:flex}.forgot-password-form-module-scss-module__AxINbW__fieldGroup{flex-direction:column;gap:.5rem;display:flex}.forgot-password-form-module-scss-module__AxINbW__label{color:var(--foreground);font-size:.875rem;font-weight:500}.forgot-password-form-module-scss-module__AxINbW__input{border-radius:var(--radius);border:1px solid var(--input);background-color:var(--background);outline:none;width:100%;padding:.5rem .75rem;font-size:.875rem}.forgot-password-form-module-scss-module__AxINbW__input::placeholder{color:var(--muted-foreground)}.forgot-password-form-module-scss-module__AxINbW__input:focus{box-shadow:0 0 0 2px var(--ring);outline:none}.forgot-password-form-module-scss-module__AxINbW__submitButton{border-radius:var(--radius);background-color:var(--primary);width:100%;color:var(--primary-foreground);cursor:pointer;border:none;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.forgot-password-form-module-scss-module__AxINbW__submitButton:hover{background-color:color-mix(in srgb, var(--primary) 90%, transparent)}.forgot-password-form-module-scss-module__AxINbW__submitButton:disabled{opacity:.5;cursor:not-allowed}.forgot-password-form-module-scss-module__AxINbW__footer{text-align:center;color:var(--muted-foreground);font-size:.875rem}.forgot-password-form-module-scss-module__AxINbW__footerLink{color:var(--primary);font-weight:500;text-decoration:none}.forgot-password-form-module-scss-module__AxINbW__footerLink:hover{text-decoration:underline}
@keyframes reset-password-form-module-scss-module__7bClxq__enter{0%{opacity:var(--enter-opacity,1);transform:translate3d(var(--enter-translate-x,0), var(--enter-translate-y,0), 0) scale3d(var(--enter-scale,1), var(--enter-scale,1), var(--enter-scale,1))}}@keyframes reset-password-form-module-scss-module__7bClxq__exit{to{opacity:var(--exit-opacity,1);transform:translate3d(var(--exit-translate-x,0), var(--exit-translate-y,0), 0) scale3d(var(--exit-scale,1), var(--exit-scale,1), var(--exit-scale,1))}}.reset-password-form-module-scss-module__7bClxq__wrapper{flex-direction:column;gap:1.5rem;display:flex}.reset-password-form-module-scss-module__7bClxq__card{border-radius:calc(var(--radius) + 4px);border:1px solid var(--border);background-color:var(--card);flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex;box-shadow:0 1px 2px #0000000d}.reset-password-form-module-scss-module__7bClxq__cardSuccess{border-radius:calc(var(--radius) + 4px);border:1px solid var(--border);background-color:var(--card);flex-direction:column;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 1px 2px #0000000d}.reset-password-form-module-scss-module__7bClxq__header{flex-direction:column;display:flex}.reset-password-form-module-scss-module__7bClxq__heading{color:var(--foreground);font-size:1.125rem;font-weight:600}.reset-password-form-module-scss-module__7bClxq__subheading{color:var(--muted-foreground);margin-top:.25rem;font-size:.875rem}.reset-password-form-module-scss-module__7bClxq__error{border-radius:var(--radius);background-color:color-mix(in srgb, var(--destructive) 10%, transparent);color:var(--destructive);padding:.75rem;font-size:.875rem}.reset-password-form-module-scss-module__7bClxq__form{flex-direction:column;gap:1rem;display:flex}.reset-password-form-module-scss-module__7bClxq__fieldGroup{flex-direction:column;gap:.5rem;display:flex}.reset-password-form-module-scss-module__7bClxq__label{color:var(--foreground);font-size:.875rem;font-weight:500}.reset-password-form-module-scss-module__7bClxq__input{border-radius:var(--radius);border:1px solid var(--input);background-color:var(--background);outline:none;width:100%;padding:.5rem .75rem;font-size:.875rem}.reset-password-form-module-scss-module__7bClxq__input::placeholder{color:var(--muted-foreground)}.reset-password-form-module-scss-module__7bClxq__input:focus{box-shadow:0 0 0 2px var(--ring);outline:none}.reset-password-form-module-scss-module__7bClxq__submitButton{border-radius:var(--radius);background-color:var(--primary);width:100%;color:var(--primary-foreground);cursor:pointer;border:none;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.reset-password-form-module-scss-module__7bClxq__submitButton:hover{background-color:color-mix(in srgb, var(--primary) 90%, transparent)}.reset-password-form-module-scss-module__7bClxq__submitButton:disabled{opacity:.5;cursor:not-allowed}.reset-password-form-module-scss-module__7bClxq__loginButton{border-radius:var(--radius);background-color:var(--primary);width:100%;color:var(--primary-foreground);text-align:center;padding:.625rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:block}.reset-password-form-module-scss-module__7bClxq__loginButton:hover{background-color:color-mix(in srgb, var(--primary) 90%, transparent)}.reset-password-form-module-scss-module__7bClxq__footer{text-align:center;color:var(--muted-foreground);font-size:.875rem}.reset-password-form-module-scss-module__7bClxq__footerLink{color:var(--primary);font-weight:500;text-decoration:none}.reset-password-form-module-scss-module__7bClxq__footerLink:hover{text-decoration:underline}
