/* Scoped to the register page to avoid collisions */
.register-page .ej-card {
  border: 1px solid rgba(15, 23, 42, 0.08); /* slate-900/8 */
  border-radius: 16px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
}

.register-page .ej-input {
  width: 100%;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  padding: 10px 12px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.register-page .ej-input:focus {
  border-color: #3b82f6; /* blue-500 */
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

.register-page .ej-primary-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  border-radius: 9999px;
  padding: 10px 16px;
  font-weight: 600;
  background: linear-gradient(90deg, #025fbc, #06a2dd);
  color: #fff;
  transition: transform .05s ease, opacity .15s ease;
}
.register-page .ej-primary-btn:disabled {
  opacity: .6; cursor: not-allowed;
}
.register-page .ej-primary-btn:hover { opacity: .95; }
.register-page .ej-primary-btn:active { transform: translateY(1px); }

.register-page .ej-checkbox {
  width: 16px; height: 16px;
  border-radius: 4px;
  border: 1px solid rgba(15, 23, 42, 0.2);
}

.register-page .tab {
  display: flex; align-items: center; gap: .5rem;
  padding: .75rem 1rem;
  background: #f8fafc; /* slate-50 */
  border-bottom: 2px solid transparent;
}
.register-page .tab.active {
  background: #fff;
  border-bottom-color: #2563eb; /* blue-600 */
  font-weight: 600;
}
.register-page .dot {
  display:inline-block; width: 18px; height: 18px; border-radius: 8px;
}
.register-page .dot.client { background:#2563eb; }   /* blue-600 */
.register-page .dot.partner { background:#059669; }  /* emerald-600 */

.register-page .check {
  display:inline-block; width: 18px; height: 18px; flex:0 0 18px;
  border-radius: 50%; background:#e2fbe8; position: relative;
}
.register-page .check::after{
  content:''; position:absolute; left:5px; top:4px;
  width:6px; height:10px; border-right:2px solid #059669; border-bottom:2px solid #059669;
  transform: rotate(45deg);
}

.register-page .pwd-toggle{
  position:absolute; right:8px; top:50%; transform: translateY(-50%);
  color:#64748b; /* slate-500 */
  padding: 4px; border-radius: 6px;
}
.register-page .pwd-toggle:hover{ background:#f1f5f9; } /* slate-100 */

/* Constrain content width on the register page */
.register-page .ej-wrap {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;   /* 16px gutter */
  padding-right: 1rem;  /* 16px gutter */
}

@media (min-width: 640px) {
  .register-page .ej-wrap {
    padding-left: 1.25rem;  /* 20px */
    padding-right: 1.25rem; /* 20px */
  }
}
