.custom-login-page {
  --custom-login-page-bg: #fff;
  --custom-login-brand-color: #151515;
  --custom-login-title-color: #151515;
  --custom-login-description-color: #999;
  --custom-login-link-color: #1466ff;
  --custom-login-primary-bg: #1466ff;
  --custom-login-primary-text: #fff;
  --custom-login-secondary-bg: #f5f5f5;
  --custom-login-secondary-text: #151515;
  --custom-login-agreement-text: #666;
  --custom-login-agreement-link: #151515;
  --custom-login-checkbox-border: #bdbdc2;
  --custom-login-checkbox-bg: #fff;
  --custom-login-checkbox-checked-bg: #1466ff;
  --custom-login-checkbox-checked-border: #1466ff;
  --custom-login-notice-bg: #fff;
  --custom-login-notice-border: #f31856;
  --custom-login-notice-title: #f31856;
  --custom-login-notice-description: #aaa;

  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 32px 28px 40px;
  box-sizing: border-box;
  background: var(--custom-login-page-bg);

  &__shell {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  &__notice {
    display: flex;
    flex-direction: column;
    padding: 16px 18px 16px 20px;
    border: 1px solid var(--custom-login-notice-border);
    border-radius: 14px;
    background: var(--custom-login-notice-bg);
    box-sizing: border-box;
    box-shadow: 0 6px 18px rgba(220, 38, 38, 0.12);
  }

  &__notice-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  &__notice-title {
    color: var(--custom-login-notice-title);
    font-size: 21px;
    font-weight: 600;
    line-height: 27px;
  }

  &__close {
    color: var(--custom-login-description-color);
    font-size: 12px;
    font-weight: 400;
    line-height: 22px;
  }

  &__notice-description {
    margin-top: 8px;
    color: var(--custom-login-notice-description);
    font-size: 18px;
    font-weight: 240;
    line-height: 22px;
  }

  &__field-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 20px;
  }

  &__field {
    display: flex;
    flex-direction: column;
  }

  &__label {
    margin-bottom: 8px;
    color: var(--custom-login-title-color);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
  }

  &__input-shell {
    display: flex;
    align-items: center;
    min-height: 56px;
    padding: 0 16px;
    border-radius: 16px;
    background: var(--custom-login-secondary-bg);
    box-sizing: border-box;

    &--with-action {
      padding-right: 8px;
    }
  }

  &__prefix {
    margin-right: 10px;
    color: var(--custom-login-title-color);
    font-size: 15px;
    font-weight: 500;
    line-height: 22px;
  }

  &__input {
    flex: 1;
    min-width: 0;
    color: var(--custom-login-title-color);
    font-size: 15px;
    font-weight: 400;
    line-height: 22px;
  }

  &__send-code {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 14px;
    border-radius: 12px;
    background: var(--custom-login-page-bg);
    flex-shrink: 0;

    &--disabled {
      opacity: 0.6;
    }
  }

  &__send-code-text {
    color: var(--custom-login-link-color);
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
  }

  &__agreement {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
    padding: 0;
  }

  &__checkbox {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border: 1px solid var(--custom-login-checkbox-border);
    border-radius: 50%;
    background: var(--custom-login-checkbox-bg);
    box-sizing: border-box;
    flex-shrink: 0;

    &--checked {
      border-color: var(--custom-login-checkbox-checked-border);
      background: var(--custom-login-checkbox-checked-bg);
    }
  }

  &__checkbox-mark {
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
  }

  &__agreement-copy {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 1 auto;
    min-width: 0;
    flex-wrap: wrap;
  }

  &__agreement-text,
  &__agreement-link {
    font-size: 12px;
    line-height: 18px;
  }

  &__agreement-text {
    color: var(--custom-login-agreement-text);
  }

  &__agreement-link {
    color: var(--custom-login-agreement-link);
    font-weight: 500;
  }

  &__button-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 20px;
    width: 100%;
  }

  &__primary-btn,
  &__secondary-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 56px;
    border-radius: 16px;
  }

  &__primary-btn {
    background: var(--custom-login-primary-bg);

    &--disabled {
      opacity: 0.7;
    }
  }

  &__secondary-btn {
    background: var(--custom-login-secondary-bg);
  }

  &__primary-btn-text,
  &__secondary-btn-text {
    text-align: center;
    font-size: 17px;
    font-weight: 600;
    line-height: 22px;
  }

  &__primary-btn-text {
    color: var(--custom-login-primary-text);
  }

  &__secondary-btn-text {
    color: var(--custom-login-secondary-text);
  }
}
