/* Renovacion Visual V10 - Login Elite + Preloader Elite + hotfix sidebar movil */
:root{
  --v10-ink:#08111f;
  --v10-muted:#667085;
  --v10-line:rgba(15,23,42,.08);
  --v10-primary:#2563eb;
  --v10-primary-2:#0ea5e9;
  --v10-violet:#7c3aed;
  --v10-panel:#ffffff;
  --v10-shadow:0 34px 90px rgba(15,23,42,.16);
  --v10-shadow-soft:0 18px 44px rgba(15,23,42,.10);
  --v10-safe-bottom:env(safe-area-inset-bottom,0px);
}

/* LOGIN ELITE */
.visual-v10-auth.premium-login-body{
  min-height:100vh!important;
  background:
    linear-gradient(90deg,rgba(37,99,235,.035) 1px,transparent 1px),
    linear-gradient(180deg,rgba(37,99,235,.035) 1px,transparent 1px),
    radial-gradient(circle at 16% 18%,rgba(37,99,235,.16),transparent 24rem),
    radial-gradient(circle at 88% 84%,rgba(124,58,237,.13),transparent 28rem),
    linear-gradient(180deg,#f8fbff 0%,#eef3f9 100%)!important;
  background-size:32px 32px,32px 32px,auto,auto,auto!important;
  overflow-x:hidden!important;
}
.visual-v10-auth::before{
  content:'';
  position:fixed;
  left:50%;
  top:50%;
  width:min(70vw,680px);
  height:min(70vw,680px);
  border-radius:50%;
  transform:translate(-50%,-48%);
  background:radial-gradient(circle,rgba(255,255,255,.88),rgba(255,255,255,.22) 52%,transparent 72%);
  pointer-events:none;
  z-index:0;
}
.visual-v10-auth .login-v6-bg-orb{opacity:.24;filter:blur(34px)}
.visual-v10-auth .login-v10-shell{
  position:relative;
  z-index:2;
  min-height:calc(var(--v10-vh, 1vh) * 100)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:38px 18px!important;
}
.visual-v10-auth .login-v10-card{
  width:min(100%,560px)!important;
  max-width:560px!important;
  border-radius:34px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(255,255,255,.86)!important;
  box-shadow:var(--v10-shadow)!important;
  overflow:hidden!important;
  transform:translateZ(0);
}
.visual-v10-auth .login-v10-card::before{
  content:'';
  display:block;
  height:5px;
  background:linear-gradient(90deg,var(--v10-primary),var(--v10-primary-2),var(--v10-violet));
}
.visual-v10-auth .login-v10-head{
  padding:42px 46px 18px!important;
  background:linear-gradient(180deg,rgba(248,251,255,.96),rgba(255,255,255,.94))!important;
}
.visual-v10-auth .login-v10-logo-wrap{
  width:112px!important;
  height:112px!important;
  border-radius:32px!important;
  margin-bottom:18px!important;
  box-shadow:0 22px 48px rgba(37,99,235,.14),inset 0 0 0 1px rgba(15,23,42,.04)!important;
}
.visual-v10-auth .login-clean-logo{max-width:74px!important;max-height:74px!important;}
.visual-v10-auth .login-v6-kicker{
  background:#eef5ff!important;
  color:#1d4ed8!important;
  border:1px solid rgba(29,78,216,.10);
  font-size:.73rem!important;
  letter-spacing:.13em!important;
}
.visual-v10-auth .login-v10-title{
  font-size:2.24rem!important;
  line-height:1.02!important;
  margin:16px auto 10px!important;
  color:var(--v10-ink)!important;
  letter-spacing:-.055em!important;
  max-width:390px;
}
.visual-v10-auth .login-v10-copy{
  max-width:385px!important;
  font-size:1rem!important;
  line-height:1.62!important;
  color:var(--v10-muted)!important;
}
.visual-v10-auth .login-v10-card .card-body{
  padding:30px 46px 42px!important;
}
.visual-v10-auth .login-v10-body-head{
  padding:0 0 4px!important;
  gap:14px!important;
}
.visual-v10-auth .login-v10-body-head h3{
  font-size:1.52rem!important;
  font-weight:900!important;
  letter-spacing:-.04em!important;
}
.visual-v10-auth .login-v10-body-head p{
  font-size:.96rem!important;
  color:#667085!important;
}
.visual-v10-auth .login-v6-role-pill{
  min-height:38px!important;
  padding:.55rem .85rem!important;
  font-size:.85rem!important;
  background:#f3f7ff!important;
}
.visual-v10-auth .login-v6-form label{
  font-size:.94rem!important;
  letter-spacing:-.01em;
  margin-bottom:.55rem!important;
}
.visual-v10-auth .login-v10-input-group{
  border-radius:20px!important;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.075)!important;
  background:#fff!important;
}
.visual-v10-auth .login-v10-input-group .form-control{
  min-height:60px!important;
  height:60px!important;
  font-size:1.02rem!important;
  color:#0f172a!important;
}
.visual-v10-auth .login-v10-input-group .input-group-text{
  min-width:56px!important;
  color:#64748b!important;
}
.visual-v10-auth .login-v6-toggle-password{
  min-width:56px!important;
  min-height:60px!important;
  color:#475569!important;
}
.visual-v10-auth .v4-password-toggle-wrap{display:none!important;}
.visual-v10-auth .login-v6-options{
  margin-bottom:1.35rem!important;
}
.visual-v10-auth .login-v6-options .custom-control-label{
  color:#334155!important;
  font-weight:760!important;
}
.visual-v10-auth .login-v6-help-text{
  color:#64748b!important;
}
.visual-v10-auth .login-v10-submit{
  min-height:60px!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 58%,#7c3aed 100%)!important;
  box-shadow:0 20px 44px rgba(37,99,235,.26)!important;
  font-size:1.05rem!important;
}
.visual-v10-auth .login-v10-submit:hover{
  transform:translateY(-1px);
  box-shadow:0 24px 54px rgba(37,99,235,.32)!important;
}
.visual-v10-auth .login-v6-footnote{
  max-width:380px;
  margin-left:auto;
  margin-right:auto;
  color:#98a2b3!important;
}

/* Hide all non-login floating tools on login */
.visual-v10-auth .v5-qa-button,
.visual-v10-auth .v5-qa-overlay,
.visual-v10-auth .v4-command-button,
.visual-v10-auth .v4-command-overlay,
.visual-v10-auth .v4-toast-stack,
.visual-v10-auth .v4-scroll-progress,
.visual-v10-auth #v4CommandOverlay,
.visual-v10-auth #v5QaOverlay,
.visual-v10-auth #v4ScrollProgress,
.visual-v10-auth #v4ToastStack{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* PRELOADER ELITE */
.visual-v10-auth .login-v10-preloader{
  background:rgba(241,246,252,.70)!important;
  backdrop-filter:blur(16px) saturate(1.04)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.04)!important;
}
.visual-v10-auth .login-v10-preloader-card{
  width:min(100%,460px)!important;
  border-radius:34px!important;
  padding:34px 32px 30px!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(255,255,255,.86)!important;
  box-shadow:0 38px 110px rgba(15,23,42,.20)!important;
}
.visual-v10-auth .login-v10-preloader-stage{
  width:136px!important;
  height:136px!important;
  margin-bottom:12px!important;
}
.visual-v10-auth .login-v6-stage-ring.ring-a{
  border-top-color:rgba(37,99,235,.65)!important;
  border-right-color:rgba(14,165,233,.38)!important;
  animation:v10-spin 1.25s linear infinite!important;
}
.visual-v10-auth .login-v6-stage-ring.ring-b{
  border-bottom-color:rgba(124,58,237,.55)!important;
  border-left-color:rgba(37,99,235,.25)!important;
  animation:v10-spin-reverse 1.65s linear infinite!important;
}
@keyframes v10-spin{to{transform:rotate(360deg)}}
@keyframes v10-spin-reverse{to{transform:rotate(-360deg)}}
.visual-v10-auth .login-v6-preloader-logo-wrap{
  width:80px!important;
  height:80px!important;
  border-radius:26px!important;
  box-shadow:0 20px 44px rgba(37,99,235,.18)!important;
}
.visual-v10-auth .login-v6-preloader-card h2{
  font-size:1.86rem!important;
  letter-spacing:-.045em!important;
}
.visual-v10-auth .login-v6-preloader-card p{
  max-width:340px;
  margin-left:auto;
  margin-right:auto;
}
.visual-v10-auth .login-v10-progress{
  height:11px!important;
  border-radius:999px!important;
}
.visual-v10-auth .login-v10-progress .login-preloader-progress-bar{
  background:linear-gradient(90deg,#22c55e,#0ea5e9,#2563eb,#7c3aed)!important;
}

/* Strong sidebar mobile hotfix inherited by app pages */
@media (max-width:767.98px){
  body.visual-v10{
    overflow-x:hidden!important;
    width:100%!important;
  }
  body.visual-v10 .wrapper,
  body.visual-v10 .content-wrapper,
  body.visual-v10 .main-header,
  body.visual-v10 .main-footer{
    margin-left:0!important;
    left:0!important;
    width:100%!important;
    max-width:100%!important;
    transform:none!important;
  }
  body.visual-v10:not(.sidebar-open) .main-sidebar,
  body.visual-v10:not(.sidebar-open) .premium-sidebar{
    transform:translate3d(-120vw,0,0)!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  body.visual-v10.sidebar-open .main-sidebar,
  body.visual-v10.sidebar-open .premium-sidebar{
    transform:translate3d(0,0,0)!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body.visual-v10.sidebar-open::after{
    content:'';
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.50);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    z-index:1040;
  }
  body.visual-v10 .main-sidebar{
    z-index:1048!important;
  }
  .visual-v10-auth .login-v10-shell{
    align-items:flex-start!important;
    padding:22px 12px 34px!important;
  }
  .visual-v10-auth .login-v10-card{
    width:calc(100vw - 24px)!important;
    max-width:430px!important;
    border-radius:30px!important;
  }
  .visual-v10-auth .login-v10-head{
    padding:30px 24px 10px!important;
  }
  .visual-v10-auth .login-v10-logo-wrap{
    width:96px!important;
    height:96px!important;
    border-radius:28px!important;
    margin-bottom:14px!important;
  }
  .visual-v10-auth .login-clean-logo{
    max-width:64px!important;
    max-height:64px!important;
  }
  .visual-v10-auth .login-v10-title{
    font-size:1.82rem!important;
    max-width:310px!important;
  }
  .visual-v10-auth .login-v10-copy{
    font-size:.96rem!important;
    max-width:310px!important;
  }
  .visual-v10-auth .login-v10-card .card-body{
    padding:24px 24px 30px!important;
  }
  .visual-v10-auth .login-v10-body-head{
    align-items:flex-start!important;
  }
  .visual-v10-auth .login-v10-body-head h3{
    font-size:1.42rem!important;
  }
  .visual-v10-auth .login-v10-input-group .form-control,
  .visual-v10-auth .login-v6-toggle-password{
    min-height:58px!important;
    height:58px!important;
  }
  .visual-v10-auth .login-v10-submit{
    min-height:58px!important;
  }
  .visual-v10-auth .login-v10-preloader-card{
    width:calc(100vw - 28px)!important;
    max-width:420px!important;
    padding:28px 22px 24px!important;
    border-radius:28px!important;
  }
  .visual-v10-auth .login-v10-preloader-stage{
    width:116px!important;
    height:116px!important;
  }
}

@media (max-width:380px){
  .visual-v10-auth .login-v10-title{font-size:1.68rem!important;}
  .visual-v10-auth .login-v10-card .card-body{padding-left:20px!important;padding-right:20px!important;}
  .visual-v10-auth .login-v6-options{display:block!important;}
  .visual-v10-auth .login-v6-help-text{margin-top:.55rem;display:inline-flex!important;}
}

@media (prefers-reduced-motion:reduce){
  .visual-v10-auth .login-v6-stage-ring,
  .visual-v10-auth .login-v6-preloader-logo-wrap{animation:none!important;}
}
