.site-v2-body,
.site-v2-body html {
    min-height: 100%;
}

.site-v2-body {
    margin: 0;
    background: #00030c;
    color: #fff;
    font-family: "PingFang SC", "Hiragino Sans", "Microsoft YaHei", Arial, sans-serif;
}

.site-v2-shell {
    width: 100%;
    max-width: 472px;
    min-height: 100vh;
    margin: 0 auto;
    background: #00030c;
    overflow-x: hidden;
}

.login-v2 {
    position: relative;
    min-height: 100vh;
    padding: 64px 17px 26px;
    background: url("/static/apps/front/site_v2/images/bg-sub-login.png") center top / cover no-repeat;
    box-sizing: border-box;
}

.login-v2-language {
    position: absolute;
    top: 18px;
    right: 17px;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid rgba(255, 243, 183, .55);
    border-radius: 50%;
    color: #fff3b7;
    background: rgba(10, 8, 22, .5);
    font-size: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.login-v2-logo {
    display: flex;
    justify-content: center;
    margin-bottom: 55px;
}

.login-v2-logo img {
    width: 130px;
    height: auto;
    object-fit: contain;
}

.login-v2-partners {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 40px;
}

.login-v2-partner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 148px;
    padding: 0;
    border-radius: 6px;
    box-sizing: border-box;
    text-align: center;
}

.login-v2-partner img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.login-v2-form {
    margin-bottom: 45px;
}

.register-v2-form {
    margin-bottom: 36px;
}

.register-v2 {
    padding-top: 52px;
    padding-bottom: 24px;
}

.register-v2 .login-v2-logo {
    margin-bottom: 42px;
}

.register-v2 .login-v2-partners {
    gap: 12px;
    margin-bottom: 32px;
}

.register-v2 .login-v2-partner {
    min-height: 136px;
}

.register-v2 .login-v2-input-wrap {
    height: 55px;
    margin-bottom: 15px;
}

.register-v2 .login-v2-input-icon {
    left: 24px;
    width: 22px;
    height: 22px;
}

.register-v2 .login-v2-input {
    padding-left: 74px;
}

.login-v2-input-wrap {
    position: relative;
    height: 59px;
    margin-bottom: 18px;
}

.login-v2-input-icon {
    position: absolute;
    top: 50%;
    left: 29px;
    width: 25px;
    height: 25px;
    transform: translateY(-50%);
    object-fit: contain;
}

.login-v2-input {
    width: 100%;
    height: 100%;
    padding: 0 18px 0 88px;
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: 7px;
    color: #fff;
    background: rgba(10, 8, 22, .5);
    font-size: 15px;
    box-sizing: border-box;
}

.login-v2-input::placeholder {
    color: rgba(255, 255, 255, .24);
}

.login-v2-input:focus {
    outline: none;
    border-color: #fff3b7;
}

.login-v2-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 31px 4px 67px;
    color: #fff3b7;
    font-size: 14px;
}

.register-v2-rule {
    margin: 22px 4px 36px;
    color: #fff3b7;
    font-size: 13px;
    line-height: 1.5;
}

.register-v2 .login-v2-submit {
    height: 54px;
}

.register-v2 .login-v2-actions {
    gap: 10px;
}

.register-v2 .login-v2-action {
    min-height: 62px;
}

.login-v2-remember {
    display: flex;
    align-items: center;
    margin: 0;
    font-weight: 400;
}

.login-v2-remember input {
    width: 18px;
    height: 18px;
    margin: 0 7px 0 0;
    appearance: none;
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: 4px;
    background: transparent;
}

.login-v2-remember input:checked {
    border-color: #fff3b7;
    background: #fff3b7;
    box-shadow: inset 0 0 0 3px #21002f;
}

.login-v2-forgot {
    color: #fff3b7;
    text-decoration: none;
}

.login-v2-submit {
    width: 100%;
    height: 55px;
    border: 0;
    border-radius: 8px;
    color: #2b0835;
    background: linear-gradient(180deg, #fff4cf 0%, #d69c37 60%, #a96200 100%);
    box-shadow: 0 4px 10px rgba(214, 156, 55, .28);
    font-size: 16px;
    font-weight: 800;
}

.login-v2-submit:disabled {
    opacity: .62;
}

.login-v2-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.login-v2-action {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 64px;
    border: 1px solid rgba(255, 255, 255, .86);
    border-radius: 8px;
    color: #fff3b7;
    background: rgba(36, 16, 65, .66);
    text-decoration: none;
    box-sizing: border-box;
}

.login-v2-action:focus,
.login-v2-action:hover {
    color: #fff3b7;
    text-decoration: none;
}

.login-v2-action img {
    width: 25px;
    height: 25px;
    margin-bottom: 5px;
    object-fit: contain;
}

.login-v2-action span {
    font-size: 12px;
    line-height: 1.2;
}

#NavFooter.site-v2-footer {
    display: none;
}
