/* PM24 V364 — Business OTP retry feedback + one root/mobile scroll surface. */

body.public-business-register .pgm-business-otp-error{
  display:block;
  width:100%;
  max-width:100%;
  margin:0;
  padding:10px 12px;
  border:1px solid #ffc8cf;
  border-radius:12px;
  background:#fff0f2;
  color:#c51f31;
  box-sizing:border-box;
  font-size:11.5px;
  font-weight:800;
  line-height:1.45;
  overflow-wrap:anywhere;
}
body.public-business-register .pgm-business-otp-input[aria-invalid="true"]{
  border-color:#ef6676!important;
  box-shadow:0 0 0 4px rgba(239,102,118,.12)!important;
}
body.public-business-register .pgm-business-primary[aria-busy="true"],
body.public-business-register .pgm-business-primary:disabled{
  cursor:wait!important;
  opacity:.86!important;
  transform:none!important;
}

/* This stylesheet is loaded only by business-register.php, so root rules are
   safely scoped by the asset itself. Keep horizontal sizing on the layout
   viewport and make the document root the only vertical scroll container. */
@media (max-width:900px){
  html,
  body.public-business-register{
    inline-size:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow-x:clip!important;
    scrollbar-gutter:auto!important;
    background:#eef4fb!important;
  }
  html{
    min-height:100%!important;
    overflow-y:auto!important;
    scrollbar-width:none;
  }
  html::-webkit-scrollbar,
  body.public-business-register::-webkit-scrollbar,
  body.public-business-register .pgm-business-auth::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
  }
  body.public-business-register{
    min-height:100dvh!important;
    height:auto!important;
    overflow-y:visible!important;
    overscroll-behavior-y:auto!important;
    scrollbar-width:none;
  }
  body.public-business-register>.appbar,
  body.public-business-register .appbar,
  body.public-business-register .pgm-public-footer,
  body.public-business-register .bottom-nav{
    display:none!important;
  }
  body.public-business-register>main.page,
  body.public-business-register>.page{
    display:block!important;
    inline-size:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:100dvh!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  body.public-business-register .pgm-business-auth{
    display:block!important;
    inline-size:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:100dvh!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:12px!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    scrollbar-gutter:auto!important;
    scrollbar-width:none!important;
    box-sizing:border-box!important;
  }
  body.public-business-register .pgm-business-auth-grid{
    display:block!important;
    inline-size:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    transform:none!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.public-business-register .pgm-business-auth-hero{display:none!important}
  body.public-business-register .pgm-business-auth-card-wrap{
    display:block!important;
    inline-size:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:14px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  body.public-business-register .pgm-business-auth-card{
    inline-size:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:22px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  body.public-business-register .pgm-business-auth-card-head,
  body.public-business-register .pgm-business-auth-form,
  body.public-business-register .pgm-business-identity,
  body.public-business-register .pgm-business-demo,
  body.public-business-register .pgm-business-secondary,
  body.public-business-register .pgm-business-auth-help{
    inline-size:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  body.public-business-register .pgm-business-auth-form>input,
  body.public-business-register .pgm-business-auth-form>select,
  body.public-business-register .pgm-business-phone,
  body.public-business-register .pgm-business-primary{
    inline-size:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  body.public-business-register .pgm-business-auth-help{
    margin:12px 0 0!important;
    padding:0 4px calc(8px + env(safe-area-inset-bottom))!important;
    overflow-wrap:anywhere!important;
  }
}

@media (max-width:420px){
  body.public-business-register .pgm-business-auth{padding:8px!important}
  body.public-business-register .pgm-business-auth-card-wrap{padding:10px!important}
  body.public-business-register .pgm-business-auth-card{padding:20px 16px!important}
  body.public-business-register .pgm-business-auth-card h2{font-size:27px!important}
  body.public-business-register .pgm-business-otp-input{
    font-size:22px!important;
    letter-spacing:.42em!important;
  }
}

/* PM24 V365 — hard mobile viewport ownership.
   Chromium/device emulation can reserve a root scrollbar gutter even when all
   inner shells are fluid. Lock the document root and let BODY be the single,
   hidden-scrollbar surface. This removes the right rail without changing OTP. */
@media (max-width:900px){
  html{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    scrollbar-gutter:auto!important;
  }
  body.public-business-register{
    position:absolute!important;
    inset:0!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:auto!important;
    scrollbar-width:none!important;
    scrollbar-gutter:auto!important;
  }
  body.public-business-register::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
  }
  body.public-business-register>main.page,
  body.public-business-register>.page,
  body.public-business-register .pgm-business-auth,
  body.public-business-register .pgm-business-auth-grid,
  body.public-business-register .pgm-business-auth-card-wrap{
    width:100vw!important;
    max-width:100vw!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
  body.public-business-register .pgm-business-auth-grid{
    width:100%!important;
    max-width:100%!important;
  }
  body.public-business-register .pgm-business-auth-card-wrap{
    width:100%!important;
    max-width:100%!important;
  }
  body.public-business-register .pgm-business-auth-card{
    width:100%!important;
    max-width:100%!important;
  }
}
