/* NexHost Server-Rendered Registration v1.4.3. Loaded in HEAD by WHMCS hook. */
/* Center the form vertically within the visible app area; no parent Lagom selector needed.
   Main viewport allowance is measured from the observed NexHost shell:
   desktop header 82px + footer 70px = 152px.
   min-height (never fixed height) lets CAPTCHA, validation, and narrow screens grow.
   A growing CSS viewport on zoom-out preserves the form's vertical center. */
.nx-sr-server{
  box-sizing:border-box;
  width:100%;
  max-width:460px;
  min-height:calc(100vh - 152px);
  min-height:calc(100dvh - 152px);
  margin:0 auto;
  padding:clamp(24px,3.8vh,42px) 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#1b2b4c;
  text-align:left;
}
.nx-sr-server *, .nx-sr-server *:before, .nx-sr-server *:after{box-sizing:border-box}
.nx-sr-server-form{margin:0;padding:0;background:transparent;box-shadow:none;border:0;max-width:100%}
.nx-sr-heading{margin:0 0 28px}
.nx-sr-heading h1{font-weight:740;letter-spacing:-.035em;font-size:25px;line-height:1.18;margin:0 0 9px;color:#15213b}
.nx-sr-heading p{margin:0;max-width:36ch;color:#78859c;font-size:13px;line-height:1.68}
.nx-sr-field{min-width:0;margin-bottom:18px;text-align:left}
.nx-sr-field>label,.nx-sr-currency>label,.nx-sr-custom-field>label{display:block;font-weight:640;color:#31415a;font-size:12px;margin:0 0 8px}
.nx-sr-field>label span{color:#5077e8}
.nx-sr-server .form-control,.nx-sr-server input[type=email],.nx-sr-server input[type=text],.nx-sr-server input[type=password],.nx-sr-server select{width:100%;height:44px;min-height:44px;line-height:1.4;padding:10px 12px;border:1px solid #dfe5f0;border-radius:9px;background:#fff;color:#20314f;font-size:13px;box-shadow:none!important;outline:none;transition:border-color .16s,box-shadow .16s}
.nx-sr-server .form-control:focus,.nx-sr-server input:focus,.nx-sr-server select:focus{border-color:#5077e8;box-shadow:0 0 0 3px rgba(74,112,231,.11)!important}
.nx-sr-server input::placeholder{color:#a2acc0}
.nx-sr-password-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.nx-sr-pass-control{position:relative}.nx-sr-server .nx-sr-pass-control input{padding-right:50px}
.nx-sr-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;padding:5px 6px;color:#4e6ee2;background:transparent;font-weight:650;font-size:11px;cursor:pointer}
.nx-sr-meta{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:4px 0 20px}
.nx-sr-currency{min-width:125px;max-width:200px;flex:0 1 160px}.nx-sr-server .nx-sr-currency select{height:40px;min-height:40px}
.nx-sr-custom-field{flex:1 1 170px;min-width:0}.nx-sr-custom-field small{display:block;font-size:11px;color:#7b899f;margin-top:4px}
.nx-sr-custom-field input[type=checkbox]{width:auto;height:auto;min-height:auto}
.nx-sr-marketing,.nx-sr-tos{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.55;color:#596983;cursor:pointer;margin:8px 0 20px;font-weight:450}
.nx-sr-server .nx-sr-marketing input,.nx-sr-server .nx-sr-tos input{height:15px;min-height:15px;width:15px;flex:0 0 15px;margin:2px 0 0;accent-color:#476de2}
.nx-sr-checks{margin:0 0 16px}.nx-sr-tos{margin:10px 0}
.nx-sr-feedback{min-height:0;font-size:11px;margin:-8px 0 11px}.nx-sr-feedback.is-error{color:#be3149}.nx-sr-feedback.is-ok{color:#228767}
.nx-sr-error{font-size:11px;color:#be3149;margin-top:5px}
.nx-sr-submit.btn{display:block;width:100%;height:48px;font-size:13px;font-weight:720;border:0;border-radius:10px;background:#3f66e3;color:#fff!important;box-shadow:0 8px 18px rgba(69,104,227,.15);margin-top:6px}
.nx-sr-submit.btn:hover,.nx-sr-submit.btn:focus{background:#3055cb}
.nx-sr-signin{margin:22px 0 0;font-size:12px;text-align:center;color:#8792a8}
.nx-sr-signin a{font-weight:700;color:#3f66e3;text-decoration:none}
.nx-sr-extra-security{margin:6px 0 15px}.nx-sr-strength{display:none}
/* No nested card: leave Lagom's outer authentication surface as the only visible box. */
body:has(.nx-sr-server) #registration .card,
body:has(.nx-sr-server) #registration .panel {background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
/* Flatten any extra Lagom wrapper that contains the entire custom registration surface. */
body:has(.nx-sr-server) .login-wrapper .card:has(.nx-sr-server),
body:has(.nx-sr-server) .logincontainer .card:has(.nx-sr-server),
body:has(.nx-sr-server) .login-body .card:has(.nx-sr-server){border:0!important;box-shadow:none!important;background:transparent!important}

@media(max-width:540px){
  /* NexHost mobile shell: 64px top bar + 92px footer */
  .nx-sr-server{max-width:100%;min-height:calc(100vh - 156px);min-height:calc(100dvh - 156px);margin:0 auto;padding:24px 0}
  .nx-sr-heading{margin-bottom:24px}
  .nx-sr-heading h1{font-size:23px}
  .nx-sr-heading p{max-width:none}
  .nx-sr-password-grid{grid-template-columns:1fr;gap:0}
}
@media(prefers-reduced-motion:reduce){.nx-sr-server *{transition:none!important}}
