.cms-register-page .cms-login-shell { width: min(100%, 62rem); }
.cms-register-panel { padding-block: clamp(1.4rem, 3vw, 2.4rem); }
.cms-register-panel .cms-login-header { margin-bottom: 1rem; }
.cms-register-form { gap: .78rem; }

.cms-register-alert { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: .55rem; margin-bottom: .7rem; font-size: .69rem; }

.cms-register-password-tools { display: grid; grid-template-columns: auto minmax(8rem, 1fr); align-items: center; gap: .8rem; }
.cms-register-password-tools .form-check { display: flex; align-items: center; gap: .42rem; margin: 0; color: var(--bs-secondary-color); font-size: .67rem; }
.cms-register-password-tools .form-check-input { width: 1rem; height: 1rem; margin: 0; }
.cms-register-password-meter { min-width: 0; margin: 0 !important; }
.cms-register-password-meter:empty { display: none; }

.cms-register-requirements { padding: .7rem .8rem; border: 1px solid var(--login-border); border-radius: .65rem; background: color-mix(in srgb, var(--bs-tertiary-bg) 68%, var(--bs-body-bg)); }
.cms-register-requirements-title { display: flex; align-items: center; gap: .35rem; margin-bottom: .5rem; color: var(--bs-body-color); font-size: .65rem; font-weight: 750; }
.cms-register-requirements-title i { color: var(--bs-primary); }
.cms-register-requirements .pwdRules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .32rem .8rem; margin: 0; padding: 0; border: 0 !important; background: transparent !important; list-style: none; }
.cms-register-requirements .pwdRules li { display: flex; align-items: center; gap: .35rem; min-width: 0; color: var(--bs-secondary-color); font-size: .62rem; }
.cms-register-requirements .pwdRules li i { flex: 0 0 auto; }
.cms-register-requirements .pwdRules li.valid { color: var(--bs-success-text-emphasis); }
.cms-register-requirements .pwdRules li.valid i { color: var(--bs-success); }
.cms-register-requirements .pwdRules li.invalid i { color: var(--bs-secondary-color); opacity: .6; }

.cms-register-terms { padding: .65rem .75rem; border: 1px solid var(--login-border); border-radius: .65rem; }
.cms-register-terms .form-check { display: flex; align-items: flex-start; gap: .5rem; margin: 0; padding: 0; }
.cms-register-terms .form-check-input { flex: 0 0 auto; width: 1rem; height: 1rem; margin: .12rem 0 0; }
.cms-register-terms .form-check-label { color: var(--bs-secondary-color); font-size: .67rem; line-height: 1.45; }
.cms-register-terms .invalid-feedback { font-size: .63rem; }
.cms-register-form.was-validated .cms-register-terms:has(#terms:invalid) > .invalid-feedback { display: block; }

@media (max-width: 767.98px) {
  .cms-register-page .cms-login-shell { width: min(100%, 31rem); }
  .cms-register-password-tools { grid-template-columns: 1fr; gap: .5rem; }
}

@media (max-width: 479.98px) {
  .cms-register-requirements .pwdRules { grid-template-columns: 1fr; }
}
