/* BIDSMART_CLIENT_REGISTER_CLEANUP_V1
   Visual cleanup only for the Client registration page. No logic changes. */

body.client-auth-page.client-register-page{
  min-height:100vh!important;
  background:
    radial-gradient(circle at 8% 8%,rgba(197,22,34,.035),transparent 22%),
    #f4f5f7!important;
  overflow-x:hidden!important;
}

.client-register-page .client-register-shell{
  width:min(1180px,calc(100% - 32px))!important;
  margin:22px auto 34px!important;
  padding:0!important;
  display:grid!important;
  gap:16px!important;
}

.client-register-page .client-register-head{
  display:grid!important;
  grid-template-columns:210px minmax(0,1fr)!important;
  gap:28px!important;
  align-items:center!important;
  padding:22px 28px!important;
  border:1px solid #e1e6ea!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(16,20,24,.05)!important;
}

.client-register-page .client-register-brand{
  min-height:96px!important;
  padding:16px 18px!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  border:1px solid #e8ebef!important;
  border-radius:18px!important;
  background:#fafbfc!important;
  text-decoration:none!important;
}
.client-register-page .client-register-brand img{
  width:64px!important;
  height:64px!important;
  object-fit:contain!important;
  display:block!important;
}
.client-register-page .client-register-brand span{
  display:grid!important;
  gap:2px!important;
}
.client-register-page .client-register-brand strong{
  color:#17191d!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1!important;
}
.client-register-page .client-register-brand small{
  color:#6d7781!important;
  font-size:12px!important;
  line-height:1.3!important;
}

.client-register-page .client-register-head .client-auth-eyebrow{
  display:block!important;
  margin:0 0 8px!important;
  color:#c51622!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.14em!important;
}
.client-register-page .client-register-head h1{
  margin:0 0 10px!important;
  color:#121418!important;
  font-size:clamp(34px,4.2vw,56px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}
.client-register-page .client-register-head p{
  margin:0!important;
  color:#707b86!important;
  font-size:16px!important;
  line-height:1.55!important;
  max-width:850px!important;
}

.client-register-page .client-register-card{
  padding:18px!important;
  border:1px solid #e1e6ea!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(16,20,24,.04)!important;
}
.client-register-page .client-alert.error{
  margin:2px 2px 14px!important;
  border:1px solid rgba(197,22,34,.18)!important;
  border-left:4px solid #c51622!important;
  border-radius:14px!important;
  background:#fff6f6!important;
  color:#92232a!important;
  padding:14px 16px!important;
  font-size:14px!important;
}

.client-register-page .client-register-form{
  display:grid!important;
  gap:18px!important;
}

.client-register-page .client-form-section{
  padding:16px!important;
  border:1px solid #e6eaee!important;
  border-radius:18px!important;
  background:#fbfcfd!important;
}
.client-register-page .client-form-section-head{
  margin:0 0 14px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:16px!important;
}
.client-register-page .client-form-section-head strong{
  color:#17191d!important;
  font-size:16px!important;
  font-weight:900!important;
}
.client-register-page .client-form-section-head span{
  color:#7b8490!important;
  font-size:13px!important;
  line-height:1.45!important;
  text-align:right!important;
}

.client-register-page .client-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.client-register-page .client-form-grid label{
  display:grid!important;
  gap:7px!important;
  color:#37404a!important;
  font-size:13px!important;
  font-weight:850!important;
}
.client-register-page .client-form-grid .span-2{
  grid-column:1 / -1!important;
}
.client-register-page .client-form-grid input,
.client-register-page .client-form-grid select{
  min-height:52px!important;
  width:100%!important;
  padding:0 14px!important;
  border:1px solid #d8dee5!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#17191d!important;
  font-size:15px!important;
  box-shadow:none!important;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease!important;
}
.client-register-page .client-form-grid input::placeholder{
  color:#a1abb5!important;
}
.client-register-page .client-form-grid input:focus,
.client-register-page .client-form-grid select:focus{
  border-color:#d24b53!important;
  box-shadow:0 0 0 4px rgba(197,22,34,.08)!important;
  outline:none!important;
}
.client-register-page .client-phone-input{
  min-height:52px!important;
  display:grid!important;
  grid-template-columns:70px 1fr!important;
  align-items:center!important;
  border:1px solid #d8dee5!important;
  border-radius:12px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.client-register-page .client-phone-input:focus-within{
  border-color:#d24b53!important;
  box-shadow:0 0 0 4px rgba(197,22,34,.08)!important;
}
.client-register-page .client-phone-input span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:100%!important;
  border-right:1px solid #e2e7ec!important;
  color:#3a434c!important;
  font-size:15px!important;
  font-weight:900!important;
  background:#fafbfc!important;
}
.client-register-page .client-phone-input input{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.client-register-page .client-upload-card{
  display:grid!important;
  gap:8px!important;
  padding:18px!important;
  border:1px dashed #d4dae0!important;
  border-radius:16px!important;
  background:#fff!important;
}
.client-register-page .client-upload-card strong{
  color:#17191d!important;
  font-size:15px!important;
}
.client-register-page .client-upload-card span{
  color:#7a8390!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.client-register-page .client-upload-card input[type="file"]{
  margin-top:4px!important;
  max-width:100%!important;
}

.client-register-page .client-otp-final{
  background:linear-gradient(180deg,#fff9f9 0%,#fff 100%)!important;
}
.client-register-page .client-otp-row{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr) 180px!important;
  gap:12px!important;
  align-items:center!important;
}
.client-register-page .client-otp-row input{
  min-height:50px!important;
  padding:0 14px!important;
  border:1px solid #d8dee5!important;
  border-radius:12px!important;
  background:#fff!important;
  font-size:15px!important;
}
.client-register-page .client-otp-row input:focus{
  border-color:#d24b53!important;
  box-shadow:0 0 0 4px rgba(197,22,34,.08)!important;
  outline:none!important;
}
.client-register-page .client-otp-status{
  margin:10px 2px 0!important;
  color:#6f7985!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.client-register-page .client-otp-status.is-success{color:#1d6f49!important}
.client-register-page .client-otp-status.is-error{color:#9a2630!important}
.client-register-page .client-otp-status.is-info{color:#5e6a75!important}

.client-register-page .client-consent{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  padding:14px 16px!important;
  border:1px solid #e5e9ee!important;
  border-radius:16px!important;
  background:#fbfcfd!important;
}
.client-register-page .client-consent input{
  width:18px!important;
  height:18px!important;
  margin-top:3px!important;
  flex:0 0 auto!important;
}
.client-register-page .client-consent span{
  color:#49515b!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.client-register-page .client-consent a{
  color:#c51622!important;
  font-weight:800!important;
  text-decoration:none!important;
}

.client-register-page .client-register-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}
.client-register-page .client-primary-btn,
.client-register-page .client-secondary-btn{
  min-height:50px!important;
  padding:0 18px!important;
  border-radius:12px!important;
  font-size:14px!important;
  font-weight:900!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.client-register-page .client-primary-btn{
  min-width:230px!important;
  box-shadow:0 10px 20px rgba(197,22,34,.18)!important;
}
.client-register-page .client-secondary-btn{
  min-width:220px!important;
  border-color:#d7dde3!important;
  background:#fff!important;
  color:#2d3540!important;
}
.client-register-page .client-secondary-btn:hover{
  background:#f5f7f9!important;
}

/* keep mobile clean */
@media (max-width: 980px){
  .client-register-page .client-register-head{
    grid-template-columns:1fr!important;
  }
  .client-register-page .client-form-section-head{
    flex-direction:column!important;
  }
  .client-register-page .client-form-section-head span{
    text-align:left!important;
  }
}
@media (max-width: 760px){
  .client-register-page .client-register-shell{
    width:calc(100% - 18px)!important;
    margin:12px auto 24px!important;
  }
  .client-register-page .client-register-head{
    padding:18px!important;
    border-radius:18px!important;
    gap:16px!important;
  }
  .client-register-page .client-register-brand{
    min-height:auto!important;
  }
  .client-register-page .client-register-head h1{
    font-size:clamp(30px,9vw,42px)!important;
  }
  .client-register-page .client-register-card{
    padding:12px!important;
    border-radius:18px!important;
  }
  .client-register-page .client-form-section{
    padding:14px!important;
  }
  .client-register-page .client-form-grid{
    grid-template-columns:1fr!important;
  }
  .client-register-page .client-form-grid .span-2{
    grid-column:auto!important;
  }
  .client-register-page .client-otp-row{
    grid-template-columns:1fr!important;
  }
  .client-register-page .client-register-actions{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .client-register-page .client-primary-btn,
  .client-register-page .client-secondary-btn{
    width:100%!important;
    min-width:0!important;
  }
}
