    /* --- Registration-specific styles --- */
    .register-page {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    .register-nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 32px;
      border-bottom: 1px solid var(--border);
      background: var(--navy-mid);
    }
    .register-nav .nav-logo {
      color: var(--gold);
      font-size: 16px;
      font-weight: 700;
      letter-spacing: 0.5px;
      text-decoration: none;
    }
    .register-nav .nav-link {
      color: var(--slate);
      font-size: 13px;
      text-decoration: none;
      transition: color 0.15s;
    }
    .register-nav .nav-link:hover {
      color: var(--gold);
    }

    .register-body {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 40px 20px;
    }

    .register-card {
      background: var(--navy-mid);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 40px;
      width: 100%;
      max-width: 560px;
      box-shadow: var(--shadow);
    }
    .register-card h1 {
      color: var(--gold);
      font-size: 22px;
      margin-bottom: 4px;
      text-align: center;
    }
    .register-card .register-subtitle {
      color: var(--slate);
      font-size: 13px;
      margin-bottom: 32px;
      text-align: center;
    }

    /* --- Step Indicator --- */
    .step-indicator {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0;
      margin-bottom: 32px;
    }
    .step-item {
      display: flex;
      align-items: center;
      gap: 0;
    }
    .step-circle {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 13px;
      font-weight: 700;
      border: 2px solid var(--border);
      background: transparent;
      color: var(--slate);
      transition: all 0.3s;
      flex-shrink: 0;
    }
    .step-item.active .step-circle {
      border-color: var(--gold);
      color: var(--gold);
      box-shadow: 0 0 0 4px rgba(200, 150, 62, 0.15);
    }
    .step-item.done .step-circle {
      border-color: var(--gold);
      background: var(--gold);
      color: var(--navy);
    }
    .step-label {
      font-size: 11px;
      color: var(--slate);
      margin-left: 8px;
      white-space: nowrap;
      transition: color 0.3s;
    }
    .step-item.active .step-label {
      color: var(--gold);
      font-weight: 600;
    }
    .step-item.done .step-label {
      color: var(--gold);
    }
    .step-connector {
      width: 40px;
      height: 2px;
      background: var(--border);
      margin: 0 12px;
      flex-shrink: 0;
      transition: background 0.3s;
    }
    .step-connector.done {
      background: var(--gold);
    }

    /* --- Form Step Panels --- */
    .form-step {
      display: none;
    }
    .form-step.active {
      display: block;
    }
    .form-step h2 {
      font-size: 16px;
      color: #fff;
      margin-bottom: 4px;
    }
    .form-step .step-desc {
      font-size: 12px;
      color: var(--slate);
      margin-bottom: 20px;
    }

    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }

    /* --- Checkbox / Multi-select groups --- */
    .checkbox-group {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      margin-top: 4px;
    }
    .checkbox-group label {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 13px;
      color: #CBD5E1;
      cursor: pointer;
      padding: 8px 12px;
      background: rgba(255, 255, 255, 0.03);
      border: 1px solid var(--card-border);
      border-radius: var(--radius-sm);
      transition: all 0.15s;
    }
    .checkbox-group label:hover {
      background: rgba(255, 255, 255, 0.06);
      border-color: var(--border);
    }
    .checkbox-group input[type="checkbox"] {
      accent-color: var(--gold);
      width: 16px;
      height: 16px;
      cursor: pointer;
    }
    .checkbox-group input[type="checkbox"]:checked + span {
      color: var(--gold);
    }

    /* --- Navigation Buttons --- */
    .form-nav {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 24px;
      gap: 12px;
    }
    .form-nav .btn {
      min-width: 120px;
      justify-content: center;
    }

    /* --- Error display --- */
    .register-error {
      background: var(--red-dim);
      color: var(--red);
      padding: 10px;
      border-radius: var(--radius-sm);
      font-size: 13px;
      margin-bottom: 16px;
      display: none;
    }

    /* --- Success State --- */
    .success-state {
      display: none;
      text-align: center;
      padding: 20px 0;
    }
    .success-state .success-icon {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: var(--green-dim);
      border: 2px solid var(--green);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 28px;
      margin-bottom: 20px;
    }
    .success-state h2 {
      font-size: 20px;
      color: #fff;
      margin-bottom: 12px;
    }
    .success-state p {
      font-size: 14px;
      color: var(--slate);
      line-height: 1.6;
      max-width: 380px;
      margin: 0 auto 24px;
    }

    /* --- Required asterisk --- */
    .required::after {
      content: " *";
      color: var(--red);
    }

    /* --- Responsive --- */
    @media (max-width: 640px) {
      .register-card {
        padding: 24px;
      }
      .register-nav {
        padding: 12px 16px;
        flex-wrap: wrap;
        gap: 8px;
      }
      .form-row {
        grid-template-columns: 1fr;
      }
      .checkbox-group {
        grid-template-columns: 1fr;
      }
      .step-label {
        display: none;
      }
      .step-connector {
        width: 24px;
        margin: 0 6px;
      }
    }

    @media (max-width: 480px) {
      .register-nav {
        padding: 10px 12px;
      }
      .register-card {
        padding: 20px;
        margin: 16px;
      }
      .register-card h1 {
        font-size: 20px;
      }
      .form-group input,
      .form-group select {
        font-size: 16px; /* prevents iOS auto-zoom on focus */
      }
      .form-nav {
        gap: 8px;
      }
      .form-nav .btn {
        min-width: 100px;
        font-size: 13px;
      }
      .step-circle {
        width: 28px;
        height: 28px;
        font-size: 12px;
      }
      .step-connector {
        width: 20px;
        margin: 0 4px;
      }
    }