/* Aveade Business Central | One-time-code login only.
   The parent Aveade activation stylesheet supplies split-screen photo, brand and type.
   No OTP authentication, credential selection or validation logic is changed. */
body:has(.aveade-stage--otp) .aveade-stage--otp,
body:has(.aveade-stage--otp) .aveade-stage--otp #kc-otp-login-form,
body:has(.aveade-stage--otp) .aveade-stage--otp #kc-form-buttons{
  width:100%!important;max-width:500px!important;min-width:0!important;
  box-sizing:border-box!important;margin-left:0!important;margin-right:0!important;
}
body:has(.aveade-stage--otp) .aveade-stage--otp .aveade-stage-brand{margin-bottom:clamp(34px,5vh,54px)!important}
body:has(.aveade-stage--otp) .aveade-stage--otp .aveade-stage-subtitle{margin-bottom:34px!important}
.aveade-stage--otp #kc-otp-login-form{display:block!important;padding:0!important;background:transparent!important;box-shadow:none!important}
.aveade-stage--otp #kc-otp-login-form .form-group,
.aveade-stage--otp #kc-otp-login-form .pf-c-form__group{
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin:0 0 22px!important;padding:0!important;box-sizing:border-box!important;
}
.aveade-stage--otp #kc-otp-login-form .form-group > [class*="col-"],
.aveade-stage--otp #kc-otp-login-form .pf-c-form__group > [class*="col-"]{
  float:none!important;width:100%!important;max-width:100%!important;
  margin:0!important;padding:0!important;box-sizing:border-box!important;
}
/* Keycloak's original radio inputs and corresponding labels remain intact. */
.aveade-stage--otp #kc-otp-login-form div:has(> input[name="selectedCredentialId"]) {
  display:flex!important;flex-wrap:wrap!important;gap:10px!important;
  align-items:stretch!important;position:relative!important;
  padding:0!important;margin:0 0 4px!important;width:100%!important;max-width:100%!important;
}
.aveade-stage--otp #kc-otp-login-form input[name="selectedCredentialId"] {
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:0!important;opacity:0!important;overflow:hidden!important;
}
.aveade-stage--otp #kc-otp-login-form input[name="selectedCredentialId"] + label {
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  flex:1 1 calc(50% - 5px)!important;min-width:0!important;min-height:60px!important;
  gap:11px!important;padding:12px 15px!important;margin:0!important;
  border:1px solid #dbe1ea!important;border-radius:11px!important;
  background:#fff!important;box-shadow:none!important;cursor:pointer!important;
  font-size:14px!important;font-weight:650!important;line-height:1.3!important;color:#283447!important;
  box-sizing:border-box!important;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease!important;
}
.aveade-stage--otp #kc-otp-login-form input[name="selectedCredentialId"] + label::before {
  content:""!important;flex:0 0 17px!important;width:17px!important;height:17px!important;
  border-radius:50%!important;border:2px solid #b7c0cd!important;background:#fff!important;
  box-sizing:border-box!important;
}
.aveade-stage--otp #kc-otp-login-form input[name="selectedCredentialId"]:checked + label {
  background:#fff7f0!important;border-color:#ed681e!important;
  box-shadow:0 0 0 1px rgba(237,104,30,.18)!important;color:#192231!important;
}
.aveade-stage--otp #kc-otp-login-form input[name="selectedCredentialId"]:checked + label::before {
  border-color:#f26517!important;background:radial-gradient(circle at center,#f26517 0 44%,#fff 47% 100%)!important;
}
.aveade-stage--otp #kc-otp-login-form input[name="selectedCredentialId"]:focus-visible + label{
  outline:3px solid rgba(242,101,23,.28)!important;outline-offset:2px!important;
}
/* Keycloak's default mobile-phone icon is misleading for Mac / MacBook OTP credentials. */
.aveade-stage--otp #kc-otp-login-form input[name="selectedCredentialId"] + label :is(i,[class*="ItemIconBody"],[class*="item-icon"]){display:none!important}
.aveade-stage--otp #kc-otp-login-form input[name="selectedCredentialId"] + label :is(span,div){
  font-size:inherit!important;line-height:inherit!important;color:inherit!important;
  margin:0!important;padding:0!important;min-width:0!important;
}
.aveade-stage--otp #kc-otp-login-form label[for="otp"]{
  display:block!important;margin:0 0 9px!important;font-size:13px!important;
  font-weight:700!important;letter-spacing:.01em!important;color:#253143!important;
}
.aveade-stage--otp #kc-otp-login-form #otp{
  box-sizing:border-box!important;display:block!important;width:100%!important;min-width:0!important;
  height:54px!important;padding:0 15px!important;margin:0!important;
  border:1px solid #d8dee8!important;border-radius:10px!important;background:#fff!important;
  box-shadow:none!important;outline:0!important;color:#1b2432!important;
  font:600 16px/1.2 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  letter-spacing:.1em!important;text-align:left!important;
  appearance:none!important;
}
.aveade-stage--otp #kc-otp-login-form #otp:focus{
  border-color:#f26517!important;box-shadow:0 0 0 3px rgba(242,101,23,.13)!important;
}
.aveade-stage--otp #kc-otp-login-form #otp[aria-invalid="true"]{border-color:#be4a3e!important}
.aveade-stage--otp #kc-otp-login-form #input-error-otp-code,
.aveade-stage--otp #kc-otp-login-form [id*="error-otp"]{
  display:block!important;font-size:12px!important;line-height:1.5!important;
  margin:8px 0 0!important;color:#ab372d!important;
}
.aveade-stage--otp #kc-otp-login-form #kc-form-options{display:none!important}
.aveade-stage--otp #kc-otp-login-form #kc-form-buttons{
  padding:0!important;margin:28px 0 0!important;width:100%!important;
}
.aveade-stage--otp #kc-otp-login-form #kc-login{
  display:flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;width:100%!important;min-height:54px!important;
  padding:13px 18px!important;margin:0!important;border:0!important;border-radius:10px!important;
  background:linear-gradient(110deg,#fb790c,#e75314)!important;
  box-shadow:0 10px 22px rgba(226,88,20,.13)!important;
  color:#fff!important;font-size:15px!important;font-weight:750!important;
  text-align:center!important;text-decoration:none!important;cursor:pointer!important;
  -webkit-appearance:none!important;appearance:none!important;
}
.aveade-stage--otp #kc-otp-login-form #kc-login:focus-visible{
  outline:3px solid rgba(242,101,23,.3)!important;outline-offset:3px!important;
}
.aveade-stage--otp #kc-otp-login-form #kc-login:hover{filter:brightness(.98)}
@media(max-width:680px){
  .aveade-stage--otp #kc-otp-login-form input[name="selectedCredentialId"]+label{min-height:56px!important;padding:10px 13px!important}
  .aveade-stage--otp #kc-otp-login-form #otp{height:51px!important}
  .aveade-stage--otp .aveade-stage-subtitle{margin-bottom:27px!important}
}
@media(max-width:380px){.aveade-stage--otp #kc-otp-login-form input[name="selectedCredentialId"]+label{flex-basis:100%!important}}
@media(prefers-reduced-motion:reduce){.aveade-stage--otp *{transition:none!important}}
