/* Container */
.sso-form {
  background:#fff;
  padding:24px 28px;
  box-shadow:0 8px 26px rgba(0,0,0,.06);
  text-align:left;
}

/* Hero text */
.sso-hero h2{
  margin:0 0 .35em 0;
  line-height:1.25;
}
.sso-hero p{margin:0 0 1.25em 0}

/* Rows */
.site-rows{
  list-style:none;
  margin:0 0 20px 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.site-row{
  background:#f7f7fa;
  border:1px solid #e6e3ee;
  padding:12px 14px;
  transition:.15s ease;
}
.site-row label{
  display:flex;
  align-items:center;
  gap:16px;
  cursor:pointer;
}

/* Big left checkbox */
.site-row input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  width:24px;height:24px;
  border:2px solid #1f3e6b;
  display:inline-block;
  position:relative;
  margin:0;
}
.site-row input[type="checkbox"]:checked{
  background:#1f3e6b;
}
.site-row input[type="checkbox"]:checked::after{
  content:"";
  position:absolute; inset:0;
  background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="white" viewBox="0 0 16 16"><path d="M13.485 1.929a1 1 0 0 1 .086 1.414l-7.5 8a1 1 0 0 1-1.496 0l-3-3.2a1 1 0 1 1 1.45-1.378l2.253 2.403 6.754-7.202a1 1 0 0 1 1.453-.037Z"/></svg>') center/16px 16px no-repeat;
}

/* Logo */
.logo-wrap{display:inline-flex; align-items:center}
.site-logo{
  display:block;
  width:460px;           /* wide banners like your mock */
  max-width:100%;
  height:auto;
}

/* Already a member */
.site-row.is-member{
  opacity:.75;
  filter:grayscale(0.15);
}
.site-row .member-badge{
  margin-left:auto;
  font-weight:700;
  font-size:.9rem;
  color:#604a79;
}
.site-row.is-member .member-badge{display:inline}
.site-row.is-member .member-badge[hidden]{display:inline}

/* Button */
.sso-register-btn{
  display:block;
  width:100%;
  background:#1f3e6b;
  color:#fff;
  padding:14px 22px;
  border:none;
  font-size:1.05rem;
  cursor:pointer;
  margin-top:10px;
}

/* Spinner */
#sso-spinner{display:none;text-align:center;margin-top:18px}
.spinner{width:42px;height:42px;border:4px solid rgba(0,0,0,.1);border-left-color:#1f3e6b;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 10px}
@keyframes spin{to{transform:rotate(360deg)}}

/* Modal (unchanged colors to match button) */
.modal-overlay .modal-content button#password-continue{background:#1f3e6b;color:#fff}
