.test-email-button {
  margin: 1.5rem 0 0.5rem 0;
  padding: 1rem;
  border: 1px solid var(--theme-elevation-150);
  border-radius: var(--style-radius-s, 4px);
  background-color: var(--theme-elevation-50);

  &__header {
    margin-bottom: 1rem;
  }

  &__title {
    margin: 0 0 0.25rem 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--theme-elevation-800);
  }

  &__description {
    margin: 0;
    font-size: 0.8125rem;
    color: var(--theme-elevation-500);
  }

  &__form {
    display: flex;
    gap: 0.75rem;
    align-items: flex-end;
  }

  &__input-group {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }

  &__label {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--theme-elevation-600);
  }

  &__input {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--theme-elevation-200);
    border-radius: var(--style-radius-s, 4px);
    font-size: 0.875rem;
    background-color: var(--theme-input-background);
    color: var(--theme-elevation-800);
    transition: border-color 0.15s ease;

    &:focus {
      outline: none;
      border-color: var(--theme-success-500);
    }

    &:disabled {
      opacity: 0.6;
      cursor: not-allowed;
    }

    &::placeholder {
      color: var(--theme-elevation-400);
    }
  }

  &__button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border: none;
    border-radius: var(--style-radius-s, 4px);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
    background-color: var(--theme-success-500);
    color: white;

    &:hover:not(:disabled) {
      background-color: var(--theme-success-600);
    }

    &:disabled {
      opacity: 0.6;
      cursor: not-allowed;
    }

    &--loading {
      background-color: var(--theme-elevation-400);
    }
  }

  &__icon {
    flex-shrink: 0;
  }

  &__spinner {
    width: 16px;
    height: 16px;
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: test-email-spin 0.8s linear infinite;
  }

  &__result {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-top: 1rem;
    padding: 0.75rem;
    border-radius: var(--style-radius-s, 4px);
    font-size: 0.8125rem;

    &--success {
      background-color: rgba(var(--theme-success-500-rgb), 0.1);
      border: 1px solid var(--theme-success-500);
      color: var(--theme-success-600);
    }

    &--error {
      background-color: rgba(var(--theme-error-500-rgb), 0.1);
      border: 1px solid var(--theme-error-500);
      color: var(--theme-error-600);
    }
  }

  &__result-icon {
    flex-shrink: 0;
    margin-top: 0.125rem;
  }

  &__result-message {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }

  &__result-id {
    font-size: 0.75rem;
    opacity: 0.8;
    font-family: var(--font-mono);
  }

  &__warning {
    margin: 0.75rem 0 0 0;
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
    color: var(--theme-warning-600);
    background-color: rgba(var(--theme-warning-500-rgb), 0.1);
    border-radius: var(--style-radius-s, 4px);
  }
}

@keyframes test-email-spin {
  to {
    transform: rotate(360deg);
  }
}

// Dark mode support
.dark .test-email-button {
  background-color: var(--theme-elevation-100);
  border-color: var(--theme-elevation-200);

  &__input {
    border-color: var(--theme-elevation-250);
  }
}
