/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/app/page.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
.page_page__ZU32B {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 20% 20%, rgba(19, 127, 236, 0.18), transparent 35%),
    radial-gradient(circle at 80% 10%, rgba(124, 58, 237, 0.15), transparent 30%), #0f172a;
  padding: 22px;
  color: #0f172a;
}

.page_card__QV0Om {
  width: 100%;
  max-width: 378px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.2);
  border-radius: 16px;
  padding: 29px 25px;
}

.page_logo__7fc9l {
  width: 43px;
  height: 43px;
  margin: 0 auto 11px;
  border-radius: 13px;
  background: rgba(19, 127, 236, 0.16);
  display: grid;
  place-items: center;
  color: #137fec;
  font-size: 29px;
}

.page_title__3jonF {
  text-align: center;
  margin: 0;
  font-size: 23px;
  font-weight: 700;
  color: #0f172a;
}

.page_subtitle__iAJUg {
  text-align: center;
  margin: 5px 0 16px;
  font-size: 13px;
  color: #475569;
}

.page_form__Ou5d6 {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.page_label__2GA72 {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-weight: 600;
  color: #0f172a;
  font-size: 13px;
}

.page_inputWrapper__ApSA2 {
  position: relative;
  display: flex;
  align-items: center;
}

.page_inputWrapper__ApSA2 input {
  width: 100%;
  padding: 11px 11px 11px 36px;
  border-radius: 9px;
  border: 1px solid #e2e8f0;
  font-size: 13px;
  outline: none;
  transition:
    border 0.2s ease,
    box-shadow 0.2s ease;
}

.page_inputWrapper__ApSA2 input:focus {
  border-color: #137fec;
  box-shadow: 0 0 0 3px rgba(19, 127, 236, 0.2);
}

.page_icon__AYuK3 {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: #94a3b8;
}

.page_iconButton__l8erm {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: #94a3b8;
}

.page_submit__oMfyQ {
  margin-top: 4px;
  height: 40px;
  border: none;
  border-radius: 11px;
  background: linear-gradient(135deg, #137fec, #7c3aed);
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition:
    transform 0.1s ease,
    box-shadow 0.2s ease;
  box-shadow: 0 10px 30px rgba(19, 127, 236, 0.35);
}

.page_submit__oMfyQ:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.page_submit__oMfyQ:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 14px 36px rgba(19, 127, 236, 0.4);
}

.page_footer__sHKi3 {
  text-align: center;
  margin-top: 12px;
}

.page_link__36MaQ {
  font-size: 12px;
  color: #137fec;
  text-decoration: none;
}

.page_link__36MaQ:hover {
  text-decoration: underline;
}

.page_error__Jil8M {
  border: 1px solid rgba(220, 38, 38, 0.2);
  background: rgba(254, 242, 242, 0.9);
  color: #b91c1c;
  border-radius: 9px;
  padding: 9px 11px;
  font-size: 12px;
}

.page_success__Xb9nl {
  border: 1px solid rgba(22, 163, 74, 0.2);
  background: rgba(240, 253, 244, 0.9);
  color: #15803d;
  border-radius: 9px;
  padding: 9px 11px;
  font-size: 12px;
}

/* Step indicator */
.page_stepInfo__SrsxK {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.page_backButton__6QP6j {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: #475569;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}

.page_backButton__6QP6j:hover {
  background: rgba(15, 23, 42, 0.05);
  color: #0f172a;
}

.page_stepEmail__k_F_1 {
  font-size: 14px;
  color: #0f172a;
  font-weight: 500;
}

/* Auth options */
.page_authOptions__GK7rX {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
}

.page_authOption__eWeru {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 11px;
  cursor: pointer;
  transition: all 0.15s;
}

.page_authOption__eWeru:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
}

.page_authOptionPrimary__ZljQ4 {
  background: linear-gradient(135deg, rgba(19, 127, 236, 0.08), rgba(124, 58, 237, 0.08));
  border-color: rgba(19, 127, 236, 0.2);
}

.page_authOptionPrimary__ZljQ4:hover {
  background: linear-gradient(135deg, rgba(19, 127, 236, 0.12), rgba(124, 58, 237, 0.12));
  border-color: rgba(19, 127, 236, 0.3);
}

.page_authOptionIcon__Vf5Cd {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.page_authOptionIconPasskey__yLDvV {
  background: linear-gradient(135deg, #137fec, #7c3aed);
  color: #fff;
}

.page_authOptionIconPassword__15gFQ {
  background: #e2e8f0;
  color: #475569;
}

.page_authOptionContent__bQQDg {
  flex: 1 1;
}

.page_authOptionTitle__P6ZGf {
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
}

.page_authOptionDescription__R7Whi {
  font-size: 12px;
  color: #64748b;
  margin-top: 2px;
}

.page_authOptionArrow__w2YAp {
  color: #94a3b8;
}

/* Divider */
.page_divider__Ku6aS {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 8px 0;
  color: #94a3b8;
  font-size: 12px;
}

.page_divider__Ku6aS::before,
.page_divider__Ku6aS::after {
  content: '';
  flex: 1 1;
  height: 1px;
  background: #e2e8f0;
}

/* Loading indicator */
.page_checkingAuth__OM_zD {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 24px;
  color: #475569;
  font-size: 14px;
}

.page_spinner__1WnEQ {
  width: 24px;
  height: 24px;
  border: 2px solid #e2e8f0;
  border-top-color: #137fec;
  border-radius: 50%;
  animation: page_spin__W_8_q 0.8s linear infinite;
}

@keyframes page_spin__W_8_q {
  to {
    transform: rotate(360deg);
  }
}

/* Passkey authenticating state */
.page_passkeyAuth__7pzOg {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 24px;
}

.page_passkeyAuthIcon___7zU_ {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(19, 127, 236, 0.15), rgba(124, 58, 237, 0.15));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #137fec;
  font-size: 32px;
  animation: page_pulse__U_e85 2s ease-in-out infinite;
}

@keyframes page_pulse__U_e85 {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}

.page_passkeyAuthText__IQq51 {
  font-size: 14px;
  color: #0f172a;
  font-weight: 500;
  text-align: center;
}

.page_passkeyAuthHint__st_ut {
  font-size: 12px;
  color: #64748b;
  text-align: center;
}

.page_cancelButton__8qJNx {
  margin-top: 8px;
  padding: 8px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  color: #475569;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.15s;
}

.page_cancelButton__8qJNx:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
}

