/* ============================================
   REGISTER PAGE CSS
   Estilos para register.ejs
   
   Comparte estilos base con login.css:
   .login-branding, .login-branding-inner,
   .login-branding-grid, .login-branding-content,
   .login-feature-list, .login-feature-icon,
   .login-form-panel, .login-form-inner,
   .login-logo-mobile, .login-header,
   .login-footer, .login-link,
   .login-error-banner
   
   Estos ya están definidos en login.css —
   aquí solo agregamos lo específico de register.
   ============================================ */


/* ============================================
   LAYOUT
   Igual que login — reutilizamos .login-page
   pero con clase propia por si se necesita
   diferenciar en el futuro
   ============================================ */

.register-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--bg-page);
}

@media (min-width: 1024px) {
  .register-page {
    flex-direction: row;
  }
}


/* ============================================
   INDICADOR DE PASOS
   ============================================ */

.register-steps {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-8);
}

.register-step {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.step-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--gray-100);
  color: var(--text-light);
  font-size: var(--font-size-sm);
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all var(--transition-base);
}

.register-step.active .step-num {
  background: var(--primary);
  color: var(--white);
}

.register-step.completed .step-num {
  background: var(--primary);
  color: var(--white);
}

.step-label {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--text-light);
  transition: color var(--transition-base);
}

@media (min-width: 768px) {
  .step-label {
    font-size: var(--font-size-base);
  }
}

.register-step.active .step-label {
  color: var(--text-primary);
}

.register-step.completed .step-label {
  color: var(--primary);
}

.register-step-line {
  flex: 1;
  height: 2px;
  background: var(--border);
  border-radius: 2px;
  max-width: 60px;
}


/* ============================================
   INPUT DE CLAVE
   Fuente monoespaciada para el formato
   ============================================ */

.register-key-input {
  font-family: 'Courier New', Courier, monospace;
  font-size: var(--font-size-lg);
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .register-key-input {
    font-size: var(--font-size-xl);
    letter-spacing: 3px;
  }
}