@import './store-theme.less';

.auth-page {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  display: flex;
  flex-direction: column;
  background: linear-gradient(165deg, @store-bg 0%, fade(@store-accent, 12%) 45%, @store-bg 100%);
  box-sizing: border-box;
  overflow-x: hidden;
}

.auth-topbar {
  position: relative;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px @store-page-padding-x;
  background: fade(@store-card-bg, 92%);
  border-bottom: 1px solid @store-card-border;
  backdrop-filter: blur(10px);
}

.auth-topbar__brand,
a.auth-topbar__brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: @store-primary;
  font-weight: 600;
  font-size: 1.05rem;
}

.auth-topbar__link {
  font-size: 0.9rem;
  color: @store-accent;
  text-decoration: none;
  font-weight: 500;

  &:hover {
    color: @store-accent-hover;
  }
}

.auth-page__main {
  position: relative;
  z-index: 10;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px @store-page-padding-x 16px;
  box-sizing: border-box;
  pointer-events: auto;
}

.auth-card {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: min(100%, 24rem);
  margin: 0 auto;
  padding: 28px 24px 32px;
  box-sizing: border-box;
  border-radius: @store-radius;
  background: @store-card-bg;
  border: 1px solid @store-card-border;
  box-shadow: @store-shadow-hover;
  pointer-events: auto;
}

.auth-form-panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
  width: 100%;
  pointer-events: auto;

  .form {
    width: 100%;
    pointer-events: auto;
  }

  :deep(.arco-form-item) {
    margin-bottom: 14px;
    pointer-events: auto;
  }

  .formitem,
  :deep(.arco-btn.formitem) {
    width: 100%;
    min-height: 44px;
    margin-top: 8px;
    border-radius: 999px;
    background: @store-primary !important;
    border-color: @store-primary !important;
    pointer-events: auto;
    cursor: pointer;

    &:hover:not(:disabled) {
      background: @store-primary-light !important;
      border-color: @store-primary-light !important;
    }
  }

  .logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    text-align: center;

    img {
      flex-shrink: 0;
    }

    .title {
      color: @store-primary;
      font-size: 1.15rem;
      font-weight: 600;
    }
  }

  .forgetpass {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px;

    :deep(.arco-btn-text) {
      color: @store-accent;
      pointer-events: auto;
      cursor: pointer;
    }
  }

  .captcha {
    max-height: 36px;
    cursor: pointer;
    pointer-events: auto;
  }

  :deep(.arco-input-append) {
    padding: 0px
  }

  :deep(.arco-input-wrapper) {
    pointer-events: auto;
    background: @store-card-bg;
    border: 1px solid @store-card-border;
    border-radius: @store-radius-sm;

    &.arco-input-focus {
      border-color: @store-accent;
      box-shadow: 0 0 0 3px fade(@store-accent, 18%);
    }
  }

  :deep(.arco-input),
  :deep(.arco-input-password) {
    pointer-events: auto;
  }
}

.uni-login-panel {
  .uniLoginButton {
    display: flex;
    justify-content: center;
    gap: 32px;
    padding: 12px 0;
  }

  .tip {
    color: @store-text-muted;
    font-size: 0.85rem;
    text-align: center;
  }

  :deep(.arco-avatar) {
    background: fade(@store-accent, 22%) !important;
    color: @store-primary !important;
    cursor: pointer;
    pointer-events: auto;
  }
}

.auth-page__legal {
  position: relative;
  z-index: 10;
  margin: 0;
  padding: 12px @store-page-padding-x 20px;
  text-align: center;
  font-size: 12px;
  color: @store-text-muted;
}
