.auth-card {
  max-width: 32rem;
}

.register-progress {
  padding: var(--space-2);
  background: var(--color-bg-2);
  border-bottom: var(--border-solid-1) var(--color-border-1);
}

.progress-steps {
  position: relative;
  display: flex;
  justify-content: space-around;
}

.progress-steps::before {
  content: '';
  position: absolute;
  top: var(--space-3);
  left: calc(100%/6);
  right: calc(100%/6);
  height: var(--space-1);
  background: var(--color-bg-gray-2);
  transform: translateY(-50%);
  z-index: 1;
}

.progress-bar {
  position: absolute;
  top: var(--space-3);
  left: calc(100%/6);
  right: calc(100%/6);
  width: 33.33%;
  height: var(--space-1);
  background: var(--color-success);
  transform: translateY(-50%);
  z-index: 2;
  transition: width 0.3s ease;
}

fieldset:disabled {
  opacity: 0.7;
  pointer-events: none;
}

.step {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: calc(100%/6);
  gap: var(--space-2);
}

.step-number {
  width: var(--space-6);
  height: var(--space-6);
  border-radius: var(--radius-full);
  background: var(--color-bg-gray-2);
  color: var(--color-text-gray-2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  transition: all 0.3s ease;
}

.step.active .step-number {
  background: var(--color-success);
  color: var(--color-text-2);
}

.step.completed .step-number {
  background: var(--color-success-dark);
  color: var(--color-text-1);
}

.step-label {
  max-width: 100%;
  color: var(--color-text-gray-2);
  font-size: 0.75em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.step.active .step-label {
  color: var(--color-success);
  font-weight: 600;
}

.step-content {
  display: none;
  border: none;
}

.step-content.active {
  display: block;
  animation: fadeIn 0.3s ease;
}

.step-title {
  margin-bottom: var(--space-6);
  color: var(--color-text-1);
}

.password-strength {
  margin-top: var(--space-2);
}

.strength-meter {
  height: var(--space-1);
  background: var(--color-bg-gray-1);
  margin-bottom: var(--space-1);
  border-radius: var(--radius-full);
  overflow: hidden;
}

.strength-fill {
  height: 100%;
  width: 0%;
  transition: width 0.3s ease;
}

.strength-fill.weak {
  background: var(--color-danger);
}

.strength-fill.medium {
  background: var(--color-warning);
}

.strength-fill.strong {
  background: var(--color-success);
}

.strength-text {
  color: var(--color-text-gray-2);
  font-size: 0.75em;
}

#password-match {
  margin-top: var(--space-1);
  font-size: 0.875em;
}

#password-match.match-success {
  color: var(--color-success);
}

#password-match.match-error {
  color: var(--color-danger);
}

.register-footer {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-top: var(--space-6);
  z-index: 9;
  pointer-events: none;
}

.register-footer .btn {
  pointer-events: auto;
}

.auth-link-wrapper {
  color: var(--color-text-gray-2);
  padding: var(--space-6);
  border-top: var(--border-solid-1) var(--color-border-1);
  font-size: 0.875em;
  text-align: center;
}

.terms-checkbox {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  margin-top: var(--space-4);
}

.terms-checkbox input[type="checkbox"] {
  margin-top: var(--space-1);
}

.terms-text {
  font-size: 0.875em;
  color: var(--color-text-gray-2);
}


@media (max-width: 480px) {
  .step-label {
    display: none;
  }

  .progress-steps::before {
    left: 20%;
    right: 20%;
  }

  .progress-bar {
    left: 20%;
    right: 20%;
  }

  .register-footer {
    flex-wrap: wrap;
    gap: var(--space-2);
  }

  .register-footer .btn {
    width: 100%;
  }

  .register-footer .prev-btn,
  .register-footer .next-btn,
  .register-footer #submit-button {
    order: 2;
  }
}