/* CloudNova v7.1 - authentication layout hard reset
 * Loaded after legacy login.css and CloudNova v7.
 */
body.cnv4-auth,
body.cn42-auth{
  --cn71-auth-blue:#1677ff;
  --cn71-auth-blue-strong:#0b62e6;
  --cn71-auth-ink:#132238;
  --cn71-auth-text:#40566f;
  --cn71-auth-muted:#7d8ea5;
  --cn71-auth-line:#dce8f6;
  --cn71-auth-soft:#f5f9ff;
  min-width:0!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  overflow-x:hidden!important;
  background:#f5f9ff!important;
}
body.cnv4-auth *,body.cn42-auth *{box-sizing:border-box}
body.cnv4-auth .login-container,
body.cn42-auth .login-container{
  width:100%!important;
  min-width:0!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  height:auto!important;
  padding:0!important;
  background:
    radial-gradient(circle at 10% 12%,rgba(22,119,255,.09),transparent 28%),
    radial-gradient(circle at 92% 80%,rgba(0,188,212,.07),transparent 25%),
    #f5f9ff!important;
  background-image:none!important;
}
body.cnv4-auth .login-container-row,
body.cn42-auth .login-container-row{
  width:100%!important;
  min-width:0!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  height:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
}
body.cnv4-auth .max-login,
body.cn42-auth .max-login{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  height:auto!important;
  padding:0!important;
  margin:0 auto!important;
}
body.cnv4-auth .login-head,
body.cn42-auth .login-head{
  position:relative!important;
  z-index:20!important;
  flex:0 0 64px!important;
  width:100%!important;
  height:64px!important;
  min-height:64px!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--cn71-auth-line)!important;
  box-shadow:none!important;
  backdrop-filter:blur(12px)!important;
}
body.cnv4-auth .login-head-container,
body.cn42-auth .login-head-container{
  width:100%!important;
  height:64px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
body.cnv4-auth .login-logo,
body.cn42-auth .login-logo{width:auto!important;height:auto!important;min-width:0!important}
body.cnv4-auth .login-logo a,
body.cn42-auth .login-logo a{display:inline-flex!important;align-items:center!important;max-width:180px!important}
body.cnv4-auth .login-logo img,
body.cn42-auth .login-logo img{
  width:auto!important;
  max-width:168px!important;
  height:auto!important;
  max-height:34px!important;
  object-fit:contain!important;
  border-radius:0!important;
}
body.cnv4-auth .login-title,
body.cn42-auth .login-title{display:flex!important;align-items:center!important;gap:10px!important}
body.cnv4-auth .login-title a,
body.cn42-auth .login-title a{
  height:36px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #d6e3f2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#48617f!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
body.cnv4-auth .login-title a:hover,
body.cn42-auth .login-title a:hover{border-color:#9fc5f7!important;background:#f7fbff!important;color:var(--cn71-auth-blue)!important}

body.cnv4-auth .login-mian,
body.cn42-auth .login-mian{
  flex:1 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  padding:34px 0!important;
  overflow:visible!important;
  background:transparent!important;
}
body.cnv4-auth .login-mian>.max-login,
body.cn42-auth .login-mian>.max-login{
  width:min(1120px,calc(100% - 40px))!important;
  max-width:1120px!important;
  min-width:0!important;
}
body.cnv4-auth .login-mian-container,
body.cn42-auth .login-mian-container{
  width:100%!important;
  max-width:1120px!important;
  min-width:0!important;
  min-height:570px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0!important;
  gap:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(410px,.88fr)!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  overflow:hidden!important;
  border:1px solid #d8e5f4!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 24px 64px rgba(50,88,135,.13)!important;
}
body.cnv4-auth .login-mian-bg,
body.cn42-auth .login-mian-bg{
  position:relative!important;
  isolation:isolate!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:570px!important;
  max-height:none!important;
  padding:40px!important;
  display:flex!important;
  align-items:flex-end!important;
  overflow:hidden!important;
  visibility:visible!important;
  background:
    radial-gradient(circle at 23% 21%,rgba(22,119,255,.11),transparent 26%),
    linear-gradient(145deg,#edf6ff 0%,#f8fbff 58%,#eaf9ff 100%)!important;
}
body.cnv4-auth .login-mian-bg>a,
body.cn42-auth .login-mian-bg>a{display:none!important}
body.cnv4-auth .login-mian-bg:before,
body.cn42-auth .login-mian-bg:before{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  top:54px!important;
  right:34px!important;
  bottom:122px!important;
  left:34px!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  background:url('/themes/clientarea/CloudNova/assets_custom/svg/cloudnova-v7-auth.svg') center center/contain no-repeat!important;
  pointer-events:none!important;
  animation:cn71AuthFloat 7s ease-in-out infinite!important;
}
body.cnv4-auth .login-mian-bg:after,
body.cn42-auth .login-mian-bg:after{
  content:"一站式云资源管理\A弹性计算 · 稳定网络 · 7×24 技术支持"!important;
  white-space:pre-wrap!important;
  position:relative!important;
  z-index:2!important;
  max-width:520px!important;
  color:var(--cn71-auth-ink)!important;
  font-size:24px!important;
  line-height:1.65!important;
  font-weight:720!important;
  letter-spacing:-.025em!important;
}
@keyframes cn71AuthFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-7px,0)}}

body.cnv4-auth .login-mian-form,
body.cn42-auth .login-mian-form{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:44px 46px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:stretch!important;
  overflow:visible!important;
  overflow-y:visible!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.cnv4-auth .login-tab,
body.cn42-auth .login-tab{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  margin:0 0 24px!important;
  padding:0 0 12px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0 22px!important;
  border:0!important;
  border-bottom:1px solid #e3edf8!important;
}
body.cnv4-auth .login-tab-item,
body.cn42-auth .login-tab-item{
  position:relative!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0 0 11px!important;
  color:#73859d!important;
  font-size:15px!important;
  line-height:22px!important;
  font-weight:650!important;
  -webkit-font-smoothing:antialiased!important;
  cursor:pointer!important;
}
body.cnv4-auth .login-tab-item.active,
body.cn42-auth .login-tab-item.active{color:var(--cn71-auth-blue)!important}
body.cnv4-auth .login-tab-item.active:after,
body.cn42-auth .login-tab-item.active:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:-13px!important;
  width:100%!important;
  min-width:44px!important;
  height:2px!important;
  margin:0!important;
  border-radius:10px!important;
  background:var(--cn71-auth-blue)!important;
}
body.cnv4-auth .transitionSwitching,
body.cn42-auth .transitionSwitching{display:none!important}
body.cnv4-auth .text-register,
body.cn42-auth .text-register{
  position:static!important;
  margin-left:auto!important;
  color:#7d8da2!important;
  font-size:12px!important;
  line-height:22px!important;
  white-space:nowrap!important;
}
body.cnv4-auth .text-register p,
body.cn42-auth .text-register p{margin:0!important}
body.cnv4-auth .text-register a,
body.cn42-auth .text-register a{color:var(--cn71-auth-blue)!important;font-weight:680!important}

body.cnv4-auth .login-content,
body.cn42-auth .login-content{
  width:100%!important;
  min-width:0!important;
  max-height:none!important;
  padding:0!important;
  overflow:visible!important;
  overflow-y:visible!important;
}
body.cnv4-auth .login-content .tab-content,
body.cn42-auth .login-content .tab-content,
body.cnv4-auth .login-content .tab-pane,
body.cn42-auth .login-content .tab-pane,
body.cnv4-auth .login-content form,
body.cn42-auth .login-content form{width:100%!important;min-width:0!important}
body.cnv4-auth .login-content .form-group,
body.cn42-auth .login-content .form-group{
  width:100%!important;
  min-width:0!important;
  margin:0 0 16px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
body.cnv4-auth .login-content label,
body.cn42-auth .login-content label{
  display:block!important;
  margin:0 0 7px!important;
  color:#40556f!important;
  font-size:12px!important;
  line-height:18px!important;
  font-weight:620!important;
}
body.cnv4-auth .login-content .form-control,
body.cn42-auth .login-content .form-control{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  padding:0 13px!important;
  border:1px solid #d4e1ef!important;
  border-radius:9px!important;
  background:#fbfdff!important;
  color:#21364f!important;
  font-size:13px!important;
  line-height:42px!important;
  box-shadow:none!important;
}
body.cnv4-auth .login-content textarea.form-control,
body.cn42-auth .login-content textarea.form-control{height:auto!important;min-height:92px!important;padding-top:10px!important;line-height:1.6!important}
body.cnv4-auth .login-content .form-control:focus,
body.cn42-auth .login-content .form-control:focus{
  border-color:#75affb!important;
  background:#fff!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(22,119,255,.10)!important;
}
body.cnv4-auth .input-group,
body.cn42-auth .input-group{
  width:100%!important;
  min-width:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
}
body.cnv4-auth .input-group>.form-control,
body.cn42-auth .input-group>.form-control{flex:1 1 0!important;width:1%!important;min-width:0!important}
body.cnv4-auth .input-group-append,
body.cn42-auth .input-group-append{flex:0 0 auto!important;margin-left:8px!important;display:flex!important;align-items:stretch!important}
body.cnv4-auth .input-group-append .btn,
body.cn42-auth .input-group-append .btn{
  min-width:104px!important;
  height:44px!important;
  padding:0 14px!important;
  border-radius:9px!important;
  white-space:nowrap!important;
}
body.cnv4-auth .input-group-append img,
body.cn42-auth .input-group-append img{
  display:block!important;
  width:112px!important;
  max-width:112px!important;
  height:44px!important;
  object-fit:cover!important;
  border:1px solid #d4e1ef!important;
  border-radius:9px!important;
  background:#fff!important;
}
body.cnv4-auth .custom-dropdown,
body.cn42-auth .custom-dropdown{position:relative!important;flex:0 0 112px!important;width:112px!important;min-width:112px!important}
body.cnv4-auth .custom-dropdown-selection,
body.cn42-auth .custom-dropdown-selection{
  width:112px!important;
  min-width:112px!important;
  height:44px!important;
  padding:0 26px 0 11px!important;
  line-height:42px!important;
  border:1px solid #d4e1ef!important;
  border-radius:9px!important;
  background:#f7faff!important;
  color:#536a85!important;
  font-size:12px!important;
}
body.cnv4-auth .custom-dropdown+.form-control,
body.cn42-auth .custom-dropdown+.form-control{margin-left:8px!important;border-radius:9px!important}
body.cnv4-auth .custom-dropdown-list,
body.cn42-auth .custom-dropdown-list{
  z-index:40!important;
  top:48px!important;
  left:0!important;
  min-width:220px!important;
  max-width:min(320px,80vw)!important;
  border:1px solid #d7e3f0!important;
  border-radius:9px!important;
  box-shadow:0 12px 30px rgba(33,67,109,.14)!important;
}
body.cnv4-auth .login-content .btn-primary,
body.cn42-auth .login-content .btn-primary{
  height:44px!important;
  border:1px solid var(--cn71-auth-blue)!important;
  border-radius:9px!important;
  background:var(--cn71-auth-blue)!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:42px!important;
  font-weight:680!important;
  box-shadow:none!important;
}
body.cnv4-auth .login-content .btn-primary:hover,
body.cn42-auth .login-content .btn-primary:hover{background:var(--cn71-auth-blue-strong)!important;border-color:var(--cn71-auth-blue-strong)!important}
body.cnv4-auth .login-content .mt-3,
body.cn42-auth .login-content .mt-3{margin-top:18px!important}
body.cnv4-auth .login-content .mt-3 .btn-block,
body.cn42-auth .login-content .mt-3 .btn-block{width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}
body.cnv4-auth .serviceTerms,
body.cn42-auth .serviceTerms{
  margin-top:18px!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  color:#74869c!important;
  font-size:11px!important;
  line-height:1.7!important;
}
body.cnv4-auth .Oauth_login,
body.cn42-auth .Oauth_login{margin-top:20px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}

body.cnv4-auth .login-footer,
body.cn42-auth .login-footer{
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:56px!important;
  margin:0!important;
  padding:16px 0!important;
  border-top:1px solid #dfe9f5!important;
  background:#fff!important;
}
body.cnv4-auth .login-footer .max-login,
body.cn42-auth .login-footer .max-login{width:min(1180px,calc(100% - 40px))!important}
body.cnv4-auth .footer-content,
body.cn42-auth .footer-content{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  flex-wrap:wrap!important;
}
body.cnv4-auth .login-footer-item,
body.cn42-auth .login-footer-item{
  height:auto!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
body.cnv4-auth .login-footer-item a,
body.cn42-auth .login-footer-item a,
body.cnv4-auth .statement a,
body.cn42-auth .statement a{font-size:11px!important;line-height:20px!important;color:#8495aa!important}
body.cnv4-auth .statement,
body.cn42-auth .statement{display:flex!important;align-items:center!important;gap:14px!important;margin-left:auto!important;white-space:nowrap!important}

/* medium screens: preserve form first, reduce decorative area */
@media (max-width:1100px){
  body.cnv4-auth .login-mian-container,body.cn42-auth .login-mian-container{grid-template-columns:minmax(0,.92fr) minmax(400px,1.08fr)!important}
  body.cnv4-auth .login-mian-bg,body.cn42-auth .login-mian-bg{padding:32px!important}
  body.cnv4-auth .login-mian-bg:before,body.cn42-auth .login-mian-bg:before{top:70px!important;right:20px!important;bottom:136px!important;left:20px!important}
  body.cnv4-auth .login-mian-bg:after,body.cn42-auth .login-mian-bg:after{font-size:21px!important}
  body.cnv4-auth .login-mian-form,body.cn42-auth .login-mian-form{padding:40px 38px!important}
}

/* tablet/mobile: the form is the product; decoration is removed instead of shrinking it */
@media (max-width:991.98px){
  body.cnv4-auth .login-mian,body.cn42-auth .login-mian{align-items:flex-start!important;padding:24px 0 30px!important}
  body.cnv4-auth .login-mian>.max-login,body.cn42-auth .login-mian>.max-login{width:min(560px,calc(100% - 28px))!important}
  body.cnv4-auth .login-mian-container,body.cn42-auth .login-mian-container{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
    border-radius:16px!important;
  }
  body.cnv4-auth .login-mian-bg,body.cn42-auth .login-mian-bg{display:none!important}
  body.cnv4-auth .login-mian-form,body.cn42-auth .login-mian-form{
    width:100%!important;
    min-height:0!important;
    padding:36px 38px!important;
    border-radius:16px!important;
  }
  body.cnv4-auth .login-footer,body.cn42-auth .login-footer{margin-top:auto!important}
}

@media (max-width:640px){
  body.cnv4-auth .max-login,body.cn42-auth .max-login{width:calc(100% - 24px)!important}
  body.cnv4-auth .login-head,body.cn42-auth .login-head,
  body.cnv4-auth .login-head-container,body.cn42-auth .login-head-container{height:60px!important;min-height:60px!important;flex-basis:60px!important}
  body.cnv4-auth .login-logo img,body.cn42-auth .login-logo img{max-width:132px!important;max-height:30px!important}
  body.cnv4-auth .login-title a,body.cn42-auth .login-title a{height:34px!important;padding:0 11px!important;font-size:12px!important}
  body.cnv4-auth .login-mian,body.cn42-auth .login-mian{padding:14px 0 22px!important}
  body.cnv4-auth .login-mian>.max-login,body.cn42-auth .login-mian>.max-login{width:calc(100% - 20px)!important}
  body.cnv4-auth .login-mian-container,body.cn42-auth .login-mian-container{border-radius:14px!important;box-shadow:0 14px 36px rgba(50,88,135,.10)!important}
  body.cnv4-auth .login-mian-form,body.cn42-auth .login-mian-form{padding:26px 22px 28px!important;border-radius:14px!important}
  body.cnv4-auth .login-tab,body.cn42-auth .login-tab{gap:0 18px!important;margin-bottom:22px!important}
  body.cnv4-auth .login-tab-item,body.cn42-auth .login-tab-item{font-size:14px!important}
  body.cnv4-auth .text-register,body.cn42-auth .text-register{
    order:10!important;
    flex:0 0 100%!important;
    width:100%!important;
    margin:7px 0 0!important;
    padding-top:9px!important;
    border-top:1px dashed #e5edf7!important;
    white-space:normal!important;
  }
  body.cnv4-auth .login-content .form-group,body.cn42-auth .login-content .form-group{margin-bottom:14px!important}
  body.cnv4-auth .login-content .form-control,body.cn42-auth .login-content .form-control{height:44px!important;font-size:13px!important}
  body.cnv4-auth .custom-dropdown,body.cn42-auth .custom-dropdown{flex-basis:96px!important;width:96px!important;min-width:96px!important}
  body.cnv4-auth .custom-dropdown-selection,body.cn42-auth .custom-dropdown-selection{width:96px!important;min-width:96px!important;padding-left:9px!important;font-size:11px!important}
  body.cnv4-auth .input-group-append,body.cn42-auth .input-group-append{margin-left:6px!important}
  body.cnv4-auth .input-group-append .btn,body.cn42-auth .input-group-append .btn{min-width:92px!important;padding:0 10px!important;font-size:12px!important}
  body.cnv4-auth .input-group-append img,body.cn42-auth .input-group-append img{width:96px!important;max-width:96px!important}
  body.cnv4-auth .login-footer,body.cn42-auth .login-footer{min-height:0!important;padding:14px 0!important}
  body.cnv4-auth .footer-content,body.cn42-auth .footer-content{justify-content:center!important;text-align:center!important}
  body.cnv4-auth .login-footer-item,body.cn42-auth .login-footer-item{display:none!important}
  body.cnv4-auth .statement,body.cn42-auth .statement{margin:0 auto!important;justify-content:center!important}
}

@media (max-width:380px){
  body.cnv4-auth .login-mian>.max-login,body.cn42-auth .login-mian>.max-login{width:calc(100% - 14px)!important}
  body.cnv4-auth .login-mian-form,body.cn42-auth .login-mian-form{padding:22px 16px 24px!important}
  body.cnv4-auth .login-tab,body.cn42-auth .login-tab{gap:0 13px!important}
  body.cnv4-auth .login-tab-item,body.cn42-auth .login-tab-item{font-size:13px!important}
  body.cnv4-auth .custom-dropdown,body.cn42-auth .custom-dropdown{flex-basis:88px!important;width:88px!important;min-width:88px!important}
  body.cnv4-auth .custom-dropdown-selection,body.cn42-auth .custom-dropdown-selection{width:88px!important;min-width:88px!important}
  body.cnv4-auth .input-group-append .btn,body.cn42-auth .input-group-append .btn{min-width:84px!important}
  body.cnv4-auth .input-group-append img,body.cn42-auth .input-group-append img{width:88px!important;max-width:88px!important}
}

@media (prefers-reduced-motion:reduce){body.cnv4-auth .login-mian-bg:before,body.cn42-auth .login-mian-bg:before{animation:none!important}}
