/* BonanzaNet registration visual layer.
   Scoped to /customer/register. No registration, GPS, upload or OTP behavior changes. */
html{background:#f3f9ff}
body.bn-register-page{
  --bn-blue:#086fd8;--bn-orange:#f49a00;--bn-ink:#10254a;
  --bn-muted:#5a6d8a;--bn-edge:#d9e9fa;
  background:#f3f9ff!important;
  background-image:radial-gradient(780px 540px at 7% 0%,rgba(144,216,255,.30),transparent 78%),
    radial-gradient(700px 450px at 98% 7%,rgba(190,230,255,.34),transparent 77%),
    linear-gradient(150deg,#eaf7ff,#f7fbff 45%,#fff)!important;
  color:var(--bn-ink)!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.bn-register-page *, .bn-register-page *::before, .bn-register-page *::after{box-sizing:border-box}
.bn-register-page .register-container{
  min-height:100vh;display:flex;align-items:flex-start;justify-content:center;
  padding:clamp(18px,4vw,54px) 15px 40px;
}
.bn-register-page .register-card{
  width:100%;max-width:840px;overflow:hidden;border-radius:23px;
  background:#fff!important;backdrop-filter:none!important;
  border:1px solid #dcecfb!important;box-shadow:0 20px 54px rgba(21,92,159,.11)!important;
}
.bn-register-page .register-header{
  padding:24px 31px!important;text-align:left!important;
  color:#10254a!important;border-bottom:1px solid #e1ecf8!important;
  background:linear-gradient(110deg,#fff 0%,#f2f9ff 60%,#e8f5ff 100%)!important;
  position:relative;overflow:hidden;
}
.bn-register-page .register-header::after{
  content:"";position:absolute;right:-51px;top:-118px;width:260px;height:260px;
  border:40px solid rgba(98,193,249,.09);border-radius:50%;pointer-events:none;
}
.bn-register-page .bn-register-head-row{
  position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:16px;
}
.bn-register-page .bn-register-head-main{flex:1;min-width:0}
.bn-register-page .bn-register-logo{
  display:block;width:250px;max-width:100%;height:auto;max-height:68px;
  object-fit:contain;object-position:left center;margin-bottom:16px;
}
.bn-register-page .bn-register-heading{display:flex;align-items:center;gap:12px}
.bn-register-page .bn-register-heading-icon{
  flex-shrink:0;display:grid;place-items:center;width:43px;height:43px;
  color:#fff;border-radius:12px;font-size:21px;
  background:linear-gradient(140deg,#ffb13a,#fb8400);box-shadow:0 6px 15px rgba(239,142,0,.15);
}
.bn-register-page .bn-register-heading h1{
  color:#0c2b57!important;font-size:clamp(20px,2.5vw,27px);font-weight:900;
  letter-spacing:-.6px;line-height:1.24;margin:0 0 3px;
}
.bn-register-page .bn-register-heading p{
  color:#59728f!important;font-size:13px;font-weight:550;line-height:1.5;margin:0;
}
.bn-register-page .bn-register-login{
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
  background:#fff!important;border:1.5px solid #c5e0f7!important;
  color:#096ac8!important;border-radius:11px!important;
  font-size:13px;font-weight:800;padding:10px 17px;box-shadow:none!important;text-decoration:none;
}
.bn-register-page .bn-register-login:hover{background:#eaf6ff!important;border-color:#0874df!important;color:#075aac!important}
.bn-register-page .form-container{padding:30px 32px 23px!important;background:#fff!important}
.bn-register-page form[action="/customer/register"]{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;
}
.bn-register-page form[action="/customer/register"] > div:nth-child(n+5),
.bn-register-page form[action="/customer/register"] > button{grid-column:1/-1}
.bn-register-page .form-label{color:#1a345c!important;font-size:14px;font-weight:800;margin-bottom:8px}
.bn-register-page .form-label i{color:#0879dc}
.bn-register-page .required-note{color:#e45a54;font-size:13px;font-weight:850}
.bn-register-page .form-control,.bn-register-page .form-select{
  background:#fff!important;border:1px solid #cbdff1!important;color:#17345e!important;
  border-radius:11px!important;padding:11px 14px;min-height:49px;
  margin-bottom:17px;font-size:15px;font-weight:500;box-shadow:none;
  transition:border-color .18s,box-shadow .18s;
}
.bn-register-page textarea.form-control{min-height:88px;resize:vertical}
.bn-register-page .form-control::placeholder{color:#90a4bc!important;opacity:1}
.bn-register-page .form-control:focus,.bn-register-page .form-select:focus{
  background:#fff!important;color:#17345e!important;border-color:#138ce8!important;
  box-shadow:0 0 0 3px rgba(4,137,235,.12)!important;
}
.bn-register-page .form-select option{background:#fff!important;color:#17345e!important}
.bn-register-page .form-control:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;
  -webkit-text-fill-color:#17345e!important;
}
.bn-register-page .text-muted,.bn-register-page .footer-text{color:#637b98!important}
.bn-register-page .text-muted[style*="font-size: 11px"]{font-size:12px!important;line-height:1.55}
.bn-register-page form > .p-3.mb-3[style*="background"]{
  background:#f5faff!important;border:1px solid #dcebf9!important;
  border-radius:15px!important;padding:19px!important;margin-top:2px;
}
.bn-register-page form > .p-3.mb-3 > .form-label:first-child{font-size:15px}
.bn-register-page .register-file-wrap{margin-bottom:15px}
.bn-register-page .register-file-label{
  background:#fff!important;border:1.5px dashed #b4d4ef!important;
  color:#244467!important;min-height:58px;border-radius:12px;
  padding:12px 14px;transition:border-color .18s,background .18s,box-shadow .18s;
}
.bn-register-page .register-file-label:hover,
.bn-register-page .register-file-input:focus+.register-file-label{
  background:#eff8ff!important;border-color:#0879df!important;
  box-shadow:0 0 0 3px rgba(4,137,235,.09)!important;
}
.bn-register-page .register-file-label .file-icon{
  width:37px;height:37px;border-radius:10px;
  color:#0877d9!important;background:#e8f5ff!important;font-size:17px;
}
.bn-register-page .register-file-label .file-title{
  font-size:14px;font-weight:800;color:#18375f!important;
}
.bn-register-page .register-file-label .file-name{
  color:#748aa5!important;font-size:12px;line-height:1.4;margin-top:3px;
}
.bn-register-page .gps-required-box{
  padding:18px!important;margin-bottom:20px;
  background:#eef8ff!important;border:1px solid #cce7f9!important;border-radius:14px;
}
.bn-register-page .gps-required-box .form-label{font-size:15px}
.bn-register-page .gps-required-box .d-flex.gap-2{gap:10px!important}
.bn-register-page .gps-required-box .btn{min-height:45px;font-size:13px;font-weight:800;padding:9px 12px}
.bn-register-page .btn-outline-info{
  background:#fff!important;color:#0778d9!important;border:1.5px solid #8dc9f8!important;
}
.bn-register-page .btn-outline-info:hover{background:#e2f3ff!important;border-color:#0875dc!important;color:#0757a9!important}
.bn-register-page .btn-outline-secondary{
  background:#fff!important;color:#345a80!important;border:1.5px solid #bdd3e7!important;
}
.bn-register-page .btn-outline-secondary:hover{background:#edf5fc!important;border-color:#89b7df!important;color:#18365c!important}
.bn-register-page .gps-status-ok{color:#178455!important}
.bn-register-page .gps-status-error{color:#cd3f42!important}
.bn-register-page .terms-consent{
  border:1px solid #d9e9f7!important;border-radius:12px!important;
  padding:14px 16px!important;background:#f8fbff!important;margin:0 0 14px!important;
  display:flex;align-items:flex-start;gap:9px;
}
.bn-register-page .terms-consent .form-check-input{
  width:18px;height:18px;flex:0 0 auto;margin:3px 0 0!important;
  border:1.5px solid #a9c6e2;background-color:#fff;box-shadow:none;
}
.bn-register-page .terms-consent .form-check-input:checked{background-color:#0875dc;border-color:#0875dc}
.bn-register-page .terms-consent .form-check-label{
  color:#435e7d!important;font-size:13px;line-height:1.6;
}
.bn-register-page .terms-consent a,.bn-register-page .footer-text a{
  color:#0874d5!important;font-weight:800;text-decoration:none;
}
.bn-register-page .terms-consent a:hover,.bn-register-page .footer-text a:hover{text-decoration:underline}
.bn-register-page .btn-register{
  background:linear-gradient(135deg,#159af4,#0062e9)!important;
  color:#fff!important;border:0!important;border-radius:11px!important;
  font-size:15px;font-weight:850;min-height:51px;padding:13px 18px;
  margin-top:5px;box-shadow:0 8px 20px rgba(4,109,221,.16)!important;
}
.bn-register-page .btn-register:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 10px 24px rgba(4,109,221,.20)!important}
.bn-register-page .btn-register:disabled{opacity:.55;transform:none;box-shadow:none!important}
.bn-register-page .footer-text{
  border-top:1px solid #e3eff9;margin-top:27px!important;
  padding-top:18px;font-size:13px;text-align:center;
}
.bn-register-page .footer-text a.text-muted{color:#5c7392!important;font-size:12px}
.bn-register-page .footer-text a.text-muted:hover{color:#0874d5!important}
.bn-register-page .alert{border-radius:12px}
.bn-register-page .alert-danger{background:#fff1f1!important;border:1px solid #f4cccc!important;color:#9c3838!important}
.bn-register-page .alert-success{background:#eefaF4!important;border:1px solid #c9e9d8!important;color:#236445!important}
.bn-register-page .modal-content{
  background:#fff!important;border:1px solid #d7e8f8!important;border-radius:16px!important;
  box-shadow:0 24px 66px rgba(13,70,120,.18);
}
.bn-register-page .modal-title{color:#18365f;font-size:16px;font-weight:850}
.bn-register-page .modal-header,.bn-register-page .modal-footer{border-color:#e0edf9!important}
.bn-register-page .modal-header .btn-close-white{filter:none!important}
.bn-register-page #picker-map{height:320px;width:100%;border-radius:12px}
.bn-register-page .btn-outline-success{background:#fff!important;color:#168652!important;border:1px solid #8fdcb4!important;border-radius:10px}
.bn-register-page .btn-outline-success:hover{background:#edfcf3!important}
@media(max-width:767.98px){
  .bn-register-page .register-container{padding:16px 10px 28px}
  .bn-register-page .register-card{border-radius:18px}
  .bn-register-page .register-header{padding:20px 19px!important}
  .bn-register-page .form-container{padding:23px 19px 19px!important}
  .bn-register-page .bn-register-logo{width:210px;margin-bottom:15px}
  .bn-register-page .bn-register-heading h1{font-size:21px}
  .bn-register-page form[action="/customer/register"]{grid-template-columns:1fr}
  .bn-register-page form[action="/customer/register"] > *{grid-column:1/-1}
  .bn-register-page form > .p-3.mb-3[style*="background"]{padding:15px!important}
}
@media(max-width:425px){
  .bn-register-page .bn-register-head-row{align-items:flex-start}
  .bn-register-page .bn-register-login{font-size:12px;padding:8px 11px}
  .bn-register-page .bn-register-logo{width:190px}
  .bn-register-page .bn-register-heading-icon{width:39px;height:39px}
  .bn-register-page .bn-register-heading h1{font-size:19px}
  .bn-register-page .gps-required-box .d-flex.gap-2{flex-wrap:wrap}
  .bn-register-page .gps-required-box .d-flex.gap-2 .btn{flex:1 1 100%;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .bn-register-page *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
