html,
body {
    height: 100%;
}

.app-login {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
}

.login-box {
    padding: 50px;
    width: 520px;
    background-color: var(--bs-white);
    border-radius: 15px;
    box-shadow: 0 0 20px rgba(0, 0, 0, .08);
}
.login-tabs {
    height: 48px;
    background-color: #f6f6f6;
    border-radius: 48px;
}
.login-tabs span {
    display: block;
    float: left;
    width: 50%;
    height: 48px;
    line-height: 48px;
    color: var(--bs-default);
    font-size: 16px;
    text-align: center;
    transition: all .1s linear;
    cursor: pointer;
}
.login-tabs span.active {
    background-color: var(--bs-success);
    border-radius: 48px;
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .1);
    color: var(--bs-white);
}
.login-title {
    font-size: 24px;
    text-align: center;
}
.login-content {
    display: none;
}
.login-content.active {
    display: block;
}
.login-form {
    margin-top: 60px;
}
.login-input,
.login-verify,
.login-button {
    transition: all .1s linear;
}
.login-input {
    position: relative;
    margin-top: 40px;
    border-bottom: 1px solid #eaeaea;
}
.login-input:first-child {
    margin-top: 20px;
}
.login-input span,
.login-input input {
    display: block;
}
.login-input span {
    position: absolute;
    top: 0;
    height: 48px;
    line-height: 48px;
    color: #bbb;
    transition: all .1s linear;
}
.login-input span.name {
    left: 0;
    pointer-events: none;
}
.login-input span.get,
.login-input span.eye {
    right: 0;
}
.login-input span.get {
    cursor: not-allowed;
}
.login-input span.get.enable {
    cursor: pointer;
}
.login-input span.get.enable:hover {
    color: var(--bs-secondary);
}
.login-input span.get.disabled {
    cursor: not-allowed;
}
.login-input span.get.disabled:hover {
    color: #bbb;
}
.login-input span.eye {
    cursor: pointer;
}
.login-input span.eye i {
    font-size: 20px;
}
.login-input span.eye:hover {
    color: var(--bs-secondary);
}
.login-input input {
    width: 100%;
    height: 46px;
    color: var(--bs-secondary);
    font-size: 14px;
}
.login-input.input-not-empty span.name,
.login-input.input-focus span.name {
    top: -20px;
    height: auto;
    line-height: normal;
}
.login-input.input-focus {
    border-bottom-color: var(--bs-success);
}
.login-input.is-invalid {
    border-bottom-color: #fb7071;
}
.login-input.is-invalid span.name {
    color: #fb7071;
}
.login-verify,
.login-button {
    margin-top: 30px;
    height: 48px;
    border-radius: 48px;
    color: var(--bs-default);
    text-align: center;
    cursor: pointer;
}
.login-verify {
    line-height: 46px;
    border: 1px solid #eaeaea;
}
.login-verify:hover,
.login-verify.is-valid {
    border-color: var(--bs-success);
    color: var(--bs-success);
}
.login-button {
    background-color: #f6f6f6;
    line-height: 48px;
    font-size: 16px;
}
.login-button.enable {
    background-color: var(--bs-success);
    box-shadow: 0 4px 10px rgba(52, 205, 139, .4);
    color: var(--bs-white);
}
.login-agreement {
    margin-top: 15px;
}
.login-agreement .box {
    display: flex;
    align-items: center;
}
.login-agreement .box i {
    position: relative;
    margin-right: 10px;
    width: 17px;
    height: 17px;
    border: 1px solid #eaeaea;
    border-radius: 5px;
    cursor: pointer;
}
.login-agreement .box.active i {
    border-color: var(--bs-primary);
}
.login-agreement .box.active i::after {
    content: '';
    position: absolute;
    inset: 3px;
    background-color: var(--bs-primary);
    border-radius: 2px;
}
.login-agreement .box a {
    color: var(--bs-primary);
}
.login-agreement .box a:hover {
    color: rgba(var(--bs-primary-rgb), .8);
}
.login-other {
    margin-top: 30px;
    font-size: 0;
    text-align: center;
}
.login-other a {
    color: var(--bs-default);
    font-size: 14px;
}
.login-other a span {
    color: var(--bs-primary);
}
.login-other a:hover {
    color: var(--bs-secondary);
}
.login-other a:hover span {
    color: rgba(var(--bs-primary-rgb), .8);
}