.v110-login-page{
  --v110-purple:#4b1fb3;
  --v110-purple-2:#6d43d5;
  --v110-dark:#08142f;
  --v110-text:#18233b;
  --v110-muted:#6f7a90;
  --v110-line:#e7e2f2;
  --v110-soft:#f6f2ff;
  background:#f6f7fb;
  color:var(--v110-text);
}

.v110-login-page .v60-topbar{
  height:88px;
  background:#fff;
  border-bottom:1px solid #eeeaf5;
}
.v110-login-page .v60-nav-wrap{
  grid-template-columns:300px 1fr auto;
  gap:26px;
}
.v110-login-page .v60-brand img{
  width:270px;
  max-width:100%;
  height:auto;
  max-height:66px;
  object-fit:contain;
}
.v110-login-page .v60-main-nav{gap:34px}
.v110-login-page .v60-main-nav a{font-size:13px}
.v110-login-page .v60-btn{
  height:44px;
  min-width:104px;
  padding:0 18px;
  font-size:13px;
}
.v110-login-page .container{
  width:min(calc(100% - 56px),1420px);
}

.v110-login{
  padding:34px 0 58px;
  background:
    radial-gradient(circle at 8% 8%,rgba(92,52,201,.09),transparent 28%),
    radial-gradient(circle at 92% 12%,rgba(111,76,214,.08),transparent 24%),
    linear-gradient(180deg,#fbfaff 0%,#f6f7fb 100%);
}

.v110-login-shell{
  display:grid;
  grid-template-columns:minmax(0,.94fr) minmax(460px,.76fr);
  min-height:690px;
  padding:0!important;
  overflow:hidden;
  border:1px solid var(--v110-line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 28px 70px rgba(50,31,95,.10);
}

.v110-login-visual{
  min-height:690px;
  padding:42px 46px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 95% 3%,rgba(255,255,255,.10),transparent 30%),
    linear-gradient(145deg,#4a1fae 0%,#6035ca 52%,#7454d7 100%);
}
.v110-login-visual:before,
.v110-login-visual:after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.v110-login-visual:before{
  width:350px;height:350px;
  right:-130px;top:-140px;
  background:rgba(255,255,255,.055);
}
.v110-login-visual:after{
  width:260px;height:260px;
  left:-110px;bottom:-125px;
  background:rgba(255,255,255,.055);
}

.v110-login-brand{
  width:250px;
  max-width:72%;
  min-height:70px;
  padding:11px 15px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  background:#fff;
  position:relative;
  z-index:1;
}
.v110-login-brand img{
  display:block;
  width:100%;
  height:auto;
  max-height:54px;
  object-fit:contain;
}

.v110-login-copy{
  max-width:620px;
  padding:42px 0 34px;
  position:relative;
  z-index:1;
}
.v110-eyebrow{
  display:inline-flex;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.v110-login-visual .v110-eyebrow{color:#e6dcff}
.v110-login-copy h1{
  margin:12px 0 18px;
  color:#fff;
  font-size:clamp(42px,4.5vw,66px);
  line-height:1.03;
  letter-spacing:-2.8px;
}
.v110-login-copy h1 span{color:#ded2ff}
.v110-login-copy>p{
  max-width:580px;
  margin:0;
  color:#e2d9f7;
  font-size:16px;
  line-height:1.72;
}

.v110-feature-list{
  display:grid;
  gap:10px;
  margin-top:30px;
}
.v110-feature-list>div{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:13px;
  background:rgba(255,255,255,.07);
}
.v110-feature-icon{
  width:38px;height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:14px;
  font-weight:900;
}
.v110-feature-list p{margin:0}
.v110-feature-list strong{
  display:block;
  color:#fff;
  font-size:12px;
}
.v110-feature-list small{
  display:block;
  margin-top:3px;
  color:#d9cff0;
  font-size:10px;
  line-height:1.45;
}

.v110-login-bottom{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}
.v110-login-bottom span{
  min-height:31px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#eee8ff;
  font-size:10px;
  font-weight:800;
}

.v110-login-card{
  padding:50px 52px 42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
}
.v110-card-head{
  display:grid;
  grid-template-columns:50px 1fr;
  gap:15px;
  align-items:start;
  margin-bottom:27px;
}
.v110-card-mark{
  width:48px;height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#f0eaff;
  color:var(--v110-purple);
  font-size:13px;
  font-weight:950;
}
.v110-card-head .v110-eyebrow{
  color:var(--v110-purple);
  margin-bottom:5px;
}
.v110-card-head h2{
  margin:0;
  color:var(--v110-dark);
  font-size:34px;
  line-height:1.1;
  letter-spacing:-1.2px;
}
.v110-card-head p{
  margin:7px 0 0;
  color:var(--v110-muted);
  font-size:13px;
  line-height:1.55;
}
.v110-alert{margin-bottom:18px!important}

.v110-form{display:grid;gap:17px}
.v110-field{
  display:grid;
  gap:7px;
  color:#313b52;
  font-size:12px;
  font-weight:850;
}
.v110-input-wrap{position:relative}
.v110-input-wrap .input{
  width:100%;
  height:52px;
  padding:0 82px 0 45px;
  border:1px solid #ddd8e9;
  border-radius:12px;
  background:#fff;
  color:var(--v110-text);
  font-size:13px;
  box-shadow:none;
  transition:.18s ease;
}
.v110-input-wrap .input[name="login"]{padding-right:14px}
.v110-input-wrap .input:focus{
  outline:none;
  border-color:#7653d7;
  box-shadow:0 0 0 4px rgba(84,35,188,.09);
}
.v110-input-icon{
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  width:20px;
  text-align:center;
  color:#7250ce;
  font-size:12px;
  pointer-events:none;
}
.v110-password-toggle{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  min-height:32px;
  padding:0 10px;
  border:0;
  border-radius:8px;
  background:#f5f1ff;
  color:var(--v110-purple);
  font:inherit;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}

.v110-form-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:-3px;
}
.v110-secure-note{
  color:#718096;
  font-size:10px;
  font-weight:750;
}
.v110-form-row a{
  color:var(--v110-purple)!important;
  text-decoration:none!important;
  font-size:11px;
  font-weight:850;
}
.v110-submit{
  min-height:52px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,#5827c2,#42189d);
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(78,31,177,.20);
  transition:.18s ease;
}
.v110-submit:hover{transform:translateY(-1px)}
.v110-submit b{font-size:15px}

.v110-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin:22px 0;
  color:#a4acbb;
  font-size:10px;
}
.v110-divider:before,.v110-divider:after{
  content:"";
  flex:1;
  height:1px;
  background:#ece8f2;
}

.v110-register-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:15px 16px;
  border:1px solid #e4def0;
  border-radius:13px;
  background:#faf8ff;
}
.v110-register-box strong{
  display:block;
  color:var(--v110-dark);
  font-size:12px;
}
.v110-register-box p{
  margin:3px 0 0;
  color:#7b869a;
  font-size:10px;
}
.v110-register-box>a{
  flex:0 0 auto;
  min-height:39px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#fff;
  border:1px solid #d8cfee;
  color:var(--v110-purple)!important;
  text-decoration:none!important;
  font-size:10px;
  font-weight:900;
}

.v110-account-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:10px;
}
.v110-account-links>a{
  min-height:75px;
  padding:12px;
  display:grid;
  grid-template-columns:33px 1fr auto;
  gap:9px;
  align-items:center;
  border:1px solid #e8e3f1;
  border-radius:12px;
  background:#fff;
  text-decoration:none!important;
}
.v110-account-links>a>span{
  width:31px;height:31px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#f1ebff;
  color:var(--v110-purple);
  font-size:11px;
  font-weight:900;
}
.v110-account-links strong{
  display:block;
  color:var(--v110-dark);
  font-size:10px;
}
.v110-account-links small{
  display:block;
  margin-top:3px;
  color:#8a94a6;
  font-size:9px;
  line-height:1.35;
}
.v110-account-links b{
  color:var(--v110-purple);
  font-size:12px;
}

.v110-card-foot{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #eeeaf4;
  color:#9aa2b1;
  font-size:9px;
  line-height:1.45;
}
.v110-card-foot span{max-width:310px}
.v110-card-foot a{
  color:#6a48c8!important;
  text-decoration:none!important;
  font-weight:850;
  white-space:nowrap;
}

.v110-login-page .ig-footer{margin-top:0}

@media(max-width:1180px){
  .v110-login-page .v60-nav-wrap{grid-template-columns:250px 1fr auto}
  .v110-login-page .v60-brand img{width:230px}
  .v110-login-page .v60-main-nav{gap:20px}
  .v110-login-shell{grid-template-columns:minmax(0,.9fr) minmax(430px,.8fr)}
  .v110-login-card{padding:44px 38px 36px}
  .v110-login-visual{padding:38px}
}

@media(max-width:1020px){
  .v110-login-page .v60-topbar{height:74px}
  .v110-login-page .v75-header .v60-brand img{
    width:190px!important;
    max-width:190px;
  }
  .v110-login{padding-top:22px}
  .v110-login-shell{
    grid-template-columns:1fr;
    max-width:760px;
  }
  .v110-login-visual{
    min-height:auto;
    padding:30px;
  }
  .v110-login-copy{padding:34px 0 24px}
  .v110-login-copy h1{font-size:42px}
  .v110-feature-list{grid-template-columns:repeat(3,1fr)}
  .v110-feature-list>div{
    grid-template-columns:1fr;
    align-items:start;
  }
  .v110-login-card{padding:38px 34px}
}

@media(max-width:760px){
  .v110-login-page .container{width:100%!important}
  .v110-login{padding:14px 12px 38px}
  .v110-login-shell{border-radius:20px}
  .v110-login-visual{padding:24px 21px}
  .v110-login-brand{width:205px}
  .v110-login-copy h1{
    font-size:36px;
    letter-spacing:-1.6px;
  }
  .v110-login-copy>p{font-size:14px}
  .v110-feature-list{grid-template-columns:1fr}
  .v110-login-bottom{display:none}
  .v110-login-card{padding:30px 21px}
  .v110-card-head{
    grid-template-columns:42px 1fr;
    gap:12px;
  }
  .v110-card-mark{width:42px;height:42px}
  .v110-card-head h2{font-size:29px}
  .v110-account-links{grid-template-columns:1fr}
  .v110-register-box{
    align-items:flex-start;
    flex-direction:column;
  }
  .v110-register-box>a{width:100%}
  .v110-card-foot{
    flex-direction:column;
  }
}

@media(max-width:420px){
  .v110-login-copy h1{font-size:32px}
  .v110-login-card{padding:26px 18px}
}
