body {
    background: linear-gradient(135deg, #1a1a2e 0%, #2d2d3f 40%, #1d1e2c 100%);
    min-height: 100vh;
}

.demo {
    padding-top: 20px;
    text-align: center;
    color: var(--ba-text-secondary) !important;
    font-size: 14px;
}

.main-body {
    top: 50%;
    left: 50%;
    position: absolute;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    overflow: hidden;
    z-index: 10;
}

.login-main .login-bottom .center .item input {
    display: inline-block;
    width: 227px;
    height: 22px;
    padding: 0;
    position: absolute;
    border: 0;
    outline: 0;
    font-size: 14px;
    letter-spacing: 0;
    background: transparent;
    color: var(--ba-text-primary);
}

.login-main .login-bottom .center .item input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px var(--ba-bg-white) inset !important;
    -webkit-text-fill-color: var(--ba-text-primary) !important;
}

.login-main .login-bottom .center .item .icon-1 {
    background: url(../images/icon-login.png) no-repeat 1px 0;
}

.login-main .login-bottom .center .item .icon-2 {
    background: url(../images/icon-login.png) no-repeat -54px 0;
}

.login-main .login-bottom .center .item .icon-3 {
    background: url(../images/icon-login.png) no-repeat -106px 0;
}

.login-main .login-bottom .center .item .icon-4 {
    background: url(../images/icon-login.png) no-repeat 0 -43px;
    position: absolute;
    right: -10px;
    cursor: pointer;
    opacity: .6;
    transition: var(--ba-transition);
}

.login-main .login-bottom .center .item .icon-4:hover {
    opacity: 1;
}

.login-main .login-bottom .center .item .icon-5 {
    background: url(../images/icon-login.png) no-repeat -55px -43px;
}

.login-main .login-bottom .center .item .icon-6 {
    background: url(../images/icon-login.png) no-repeat 0 -93px;
    position: absolute;
    right: -10px;
    margin-top: 8px;
    cursor: pointer;
}


.login-main .login-bottom .tip .icon-nocheck {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    border: solid 1px var(--ba-text-secondary);
    position: relative;
    top: 2px;
    margin: 1px 8px 1px 1px;
    cursor: pointer;
}

.login-main .login-bottom .tip .icon-check {
    margin: 0 7px 0 0;
    width: 14px;
    height: 14px;
    border: none;
    background: url(../images/icon-login.png) no-repeat -111px -48px;
}

.login-main .login-bottom .center .item .icon {
    display: inline-block;
    width: 33px;
    height: 22px;
}

.login-main .login-bottom .center .item {
    width: 288px;
    height: 35px;
    border-bottom: 1px solid var(--ba-border-base);
    margin-bottom: 35px;
    transition: var(--ba-transition);
}

.login-main .login-bottom .center .item:focus-within {
    border-bottom-color: var(--ba-primary);
    border-bottom-width: 2px;
}

.login-main {
    width: 428px;
    position: relative;
    float: left;
}

.login-main .login-top {
    height: 117px;
    background: linear-gradient(135deg, var(--ba-primary) 0%, #337ecc 100%);
    border-radius: var(--ba-radius-large) var(--ba-radius-large) 0 0;
    font-family: SourceHanSansCN-Regular;
    font-size: 30px;
    font-weight: 400;
    font-stretch: normal;
    letter-spacing: 0;
    color: #fff;
    line-height: 117px;
    text-align: center;
    overflow: hidden;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    position: relative;
}

.login-main .login-top .bg1 {
    display: inline-block;
    width: 74px;
    height: 74px;
    background: #fff;
    opacity: .1;
    border-radius: 0 74px 0 0;
    position: absolute;
    left: 0;
    top: 43px;
}


.login-main .login-top .bg2 {
    display: inline-block;
    width: 94px;
    height: 94px;
    background: #fff;
    opacity: .1;
    border-radius: 50%;
    position: absolute;
    right: -16px;
    top: -16px;
}

.login-main .login-bottom {
    width: 428px;
    background: var(--ba-bg-white);
    border-radius: 0 0 var(--ba-radius-large) var(--ba-radius-large);
    padding-bottom: 53px;
    box-shadow: var(--ba-shadow-light);
}

.login-main .login-bottom .center {
    width: 288px;
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 15px;
    position: relative;
}

.login-main .login-bottom .tip {
    clear: both;
    height: 16px;
    line-height: 16px;
    width: 288px;
    margin: 0 auto;
}

.container {
    position: static;
    font-size: 12px;
    height: 100%;
}

input::-webkit-input-placeholder {
    color: var(--ba-text-placeholder);
}

input::-moz-placeholder {
    color: var(--ba-text-placeholder);
}

input:-moz-placeholder {
    color: var(--ba-text-placeholder);
}

input:-ms-input-placeholder {
    color: var(--ba-text-placeholder);
}

html {
    height: 100%;
}

.login-main .login-bottom .tip {
    clear: both;
    height: 16px;
    line-height: 16px;
    width: 288px;
    margin: 0 auto;
}

.login-main .login-bottom .tip .login-tip {
    font-family: MicrosoftYaHei;
    font-size: 12px;
    font-weight: 400;
    font-stretch: normal;
    letter-spacing: 0;
    color: var(--ba-text-secondary);
    cursor: pointer;
}

.login-main .login-bottom .tip .forget-password {
    font-stretch: normal;
    letter-spacing: 0;
    color: var(--ba-primary);
    text-decoration: none;
    position: absolute;
    right: 62px;
    transition: var(--ba-transition);
}

.login-main .login-bottom .tip .forget-password:hover {
    color: #66b1ff;
}

.login-main .login-bottom .login-btn {
    width: 288px;
    height: 44px;
    background: linear-gradient(135deg, var(--ba-primary) 0%, #337ecc 100%);
    border-radius: var(--ba-radius-base);
    margin: 24px auto 0;
    text-align: center;
    line-height: 44px;
    color: #fff;
    font-size: 16px;
    letter-spacing: 2px;
    cursor: pointer;
    border: none;
    font-weight: 500;
    transition: var(--ba-transition);
    box-shadow: 0 4px 12px rgba(64, 158, 255, .25);
}

.login-main .login-bottom .login-btn:hover {
    opacity: .9;
    box-shadow: 0 6px 20px rgba(64, 158, 255, .35);
    transform: translateY(-1px);
}

.login-main .login-bottom .center .item .validateImg {
    position: absolute;
    right: 1px;
    cursor: pointer;
    height: 36px;
    border: 1px solid var(--ba-border-lighter);
    border-radius: var(--ba-radius-base);
    transition: var(--ba-transition);
}

.login-main .login-bottom .center .item .validateImg:hover {
    border-color: var(--ba-primary);
}

.footer {
    left: 0;
    bottom: 0;
    color: rgba(255, 255, 255, .65);
    width: 100%;
    position: absolute;
    text-align: center;
    line-height: 30px;
    padding-bottom: 10px;
    font-size: 13px;
    letter-spacing: .5px;
}

.padding-5 {
    padding: 5px !important;
}

.footer a, .footer span {
    color: rgba(255, 255, 255, .65);
    transition: var(--ba-transition);
}

.footer a:hover {
    color: #fff;
}


@media screen and (max-width: 428px) {
    .login-main {
        width: 360px !important;
    }

    .login-main .login-top {
        width: 360px !important;
    }

    .login-main .login-bottom {
        width: 360px !important;
    }

    .login-main .login-bottom .center,
    .login-main .login-bottom .tip,
    .login-main .login-bottom .login-btn,
    .login-main .login-bottom .center .item {
        width: 260px !important;
    }

    .login-main .login-bottom .center .item input {
        width: 200px !important;
    }
}

@media screen and (max-width: 360px) {
    .login-main {
        width: 320px !important;
    }

    .login-main .login-top {
        width: 320px !important;
        font-size: 24px;
    }

    .login-main .login-bottom {
        width: 320px !important;
    }
}
