﻿/* Account entry pages: login and register */
html,
        body {
            height: 100%;
            margin: 0;
            font-family: "Microsoft YaHei", Arial, sans-serif;
            color: #1f2d3d;
            background: #dfeeff;
        }

        [v-cloak] {
            display: none;
        }

        .login-page {
            position: relative;
            min-height: 100%;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            background:
                radial-gradient(circle at 14% 22%, rgba(47, 128, 237, .22), transparent 30%),
                radial-gradient(circle at 86% 14%, rgba(39, 117, 230, .24), transparent 32%),
                radial-gradient(circle at 50% 56%, rgba(255, 255, 255, .76), transparent 34%),
                linear-gradient(180deg, #edf6ff 0%, #dcecff 56%, #d3e7fb 100%);
        }

        .login-page:before,
        .login-page:after {
            content: "";
            position: absolute;
            pointer-events: none;
            z-index: 0;
        }

        .login-page:before {
            width: 760px;
            height: 760px;
            left: -240px;
            bottom: -510px;
            border-radius: 50%;
            background: rgba(93, 169, 245, .20);
        }

        .login-page:after {
            width: 980px;
            height: 280px;
            right: -220px;
            bottom: -180px;
            border-radius: 50% 50% 0 0;
            background: rgba(255, 255, 255, .34);
        }

        .login-topbar {
            position: relative;
            z-index: 1;
            height: 60px;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .login-topbar-inner {
            width: 1160px;
            display: flex;
            align-items: center;
        }

        .login-topbar-logo {
            width: 42px;
            height: 42px;
            margin-right: 12px;
            border-radius: 7px;
            object-fit: contain;
            background: #fff;
            box-shadow: 0 2px 8px rgba(16, 62, 110, .10);
        }

        .login-topbar-title {
            font-size: 23px;
            line-height: 30px;
            font-weight: 700;
            color: #1f2d3d;
        }

        .login-main {
            position: relative;
            z-index: 1;
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 24px 20px 32px;
            box-sizing: border-box;
        }

        .login-card {
            width: 420px;
            padding: 34px 34px 28px;
            border-radius: 16px;
            background: rgba(255, 255, 255, .96);
            box-shadow: 0 22px 58px rgba(29, 78, 137, .22);
            box-sizing: border-box;
        }

        .login-card-title {
            margin-bottom: 22px;
            text-align: center;
        }

        .login-card-title h1 {
            margin: 0;
            color: #1f2d3d;
            font-size: 26px;
            line-height: 34px;
            font-weight: 700;
        }

        .login-card-title p {
            margin: 8px 0 0;
            color: #7b8794;
            font-size: 13px;
        }

        .login-tabs {
            display: flex;
            margin-bottom: 20px;
            padding: 4px;
            border: 1px solid #c9dbf3;
            border-radius: 11px;
            background: #e3eefb;
            box-shadow: inset 0 1px 2px rgba(31, 83, 143, .06);
        }

        .login-tab {
            flex: 1;
            height: 36px;
            border: 0;
            border-radius: 8px;
            background: transparent;
            color: #4f5f73;
            cursor: pointer;
            font-size: 14px;
            font-weight: 500;
            transition: all .16s ease;
        }

        .login-tab:hover {
            color: #1d6fe8;
        }

        .login-tab.is-active {
            color: #fff;
            background: linear-gradient(180deg, #3f8ef7 0%, #2f80ed 100%);
            box-shadow: 0 5px 12px rgba(47, 128, 237, .28);
            font-weight: 600;
        }

        .login-form-item {
            margin-bottom: 16px;
        }

        .login-form-item label {
            display: block;
            margin-bottom: 7px;
            color: #344054;
            font-size: 13px;
            font-weight: 600;
        }

        .login-input {
            width: 100%;
            height: 42px;
            padding: 0 13px;
            border: 1px solid #d9e2ef;
            border-radius: 9px;
            box-sizing: border-box;
            color: #263445;
            font-size: 14px;
            outline: none;
            background: #fff;
            transition: border-color .16s ease, box-shadow .16s ease;
        }

        .login-input:hover {
            border-color: #aac0de;
        }

        .login-input:focus {
            border-color: #2f80ed;
            box-shadow: 0 0 0 3px rgba(47, 128, 237, .10);
        }

        .login-input.is-error {
            border-color: #f56c6c;
            box-shadow: 0 0 0 3px rgba(245, 108, 108, .12);
        }

        .login-sms-row,
        .login-code-row {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .login-sms-row .login-input,
        .login-code-row .login-input {
            flex: 1;
            min-width: 0;
        }

        .login-sms-btn {
            width: 112px;
            height: 42px;
            border: 1px solid #c9dcf6;
            border-radius: 9px;
            color: #1d6fe8;
            background: #f3f8ff;
            cursor: pointer;
            font-size: 13px;
        }

        .login-sms-btn:disabled {
            color: #98a2b3;
            border-color: #e4e7ed;
            background: #f5f7fa;
            cursor: not-allowed;
        }

        .login-code-img {
            height: 38px;
            border: 1px solid #d9e2ef;
            border-radius: 7px;
            cursor: pointer;
        }

        .login-code-refresh {
            color: #2f80ed;
            font-size: 13px;
            white-space: nowrap;
            cursor: pointer;
            text-decoration: none;
        }

        .login-error {
            min-height: 20px;
            margin: 2px 0 12px;
            color: #f04438;
            font-size: 13px;
            line-height: 20px;
        }

        .login-submit {
            width: 100%;
            height: 42px;
            border: 0;
            border-radius: 9px;
            color: #fff;
            background: #2f80ed;
            cursor: pointer;
            font-size: 17px;
            font-weight: 600;
            transition: background .16s ease;
        }

        .login-submit:hover {
            background: #1d6fe8;
        }

        .login-submit:disabled {
            background: #9ec5fb;
            cursor: wait;
        }

        .login-extra {
            margin-top: 18px;
            text-align: center;
            color: #667085;
            font-size: 13px;
        }

        .login-extra a {
            color: #2f80ed;
            text-decoration: none;
            cursor: pointer;
        }

        .login-footer {
            position: relative;
            z-index: 1;
            display: flex;
            justify-content: center;
            padding: 0 20px 28px;
            box-sizing: border-box;
            color: #6b7785;
            font-size: 12px;
            text-align: center;
        }

        .login-footer-inner {
            width: 1160px;
            line-height: 24px;
        }

        .login-footer-line {
            min-height: 24px;
        }

        .login-footer a {
            color: #6b7785;
            text-decoration: none;
        }

        .login-footer a:hover {
            color: #2f80ed;
        }

        .login-footer-separator {
            display: inline-block;
            width: 10px;
        }

        @@media (max-width: 760px) {
            .login-topbar-inner,
            .login-footer-inner {
                width: 100%;
            }

            .login-main {
                align-items: flex-start;
                padding-top: 34px;
            }

            .login-card {
                width: 100%;
                max-width: 420px;
            }

        }

/* Register page */
.account-page {
            position: relative;
            min-height: 100%;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            box-sizing: border-box;
            background:
                radial-gradient(circle at 14% 22%, rgba(47, 128, 237, .22), transparent 30%),
                radial-gradient(circle at 86% 14%, rgba(39, 117, 230, .24), transparent 32%),
                radial-gradient(circle at 50% 56%, rgba(255, 255, 255, .76), transparent 34%),
                linear-gradient(180deg, #edf6ff 0%, #dcecff 56%, #d3e7fb 100%);
        }

        .account-page:before,
        .account-page:after {
            content: "";
            position: absolute;
            pointer-events: none;
            z-index: 0;
        }

        .account-page:before {
            width: 760px;
            height: 760px;
            left: -240px;
            bottom: -510px;
            border-radius: 50%;
            background: rgba(93, 169, 245, .20);
        }

        .account-page:after {
            width: 980px;
            height: 280px;
            right: -220px;
            bottom: -180px;
            border-radius: 50% 50% 0 0;
            background: rgba(255, 255, 255, .34);
        }

        .account-topbar {
            position: relative;
            z-index: 1;
            height: 60px;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .account-topbar-inner {
            width: 1160px;
            display: flex;
            align-items: center;
        }

        .account-topbar-logo {
            width: 42px;
            height: 42px;
            margin-right: 12px;
            border-radius: 7px;
            object-fit: contain;
            background: #fff;
            box-shadow: 0 2px 8px rgba(16, 62, 110, .10);
        }

        .account-topbar-title {
            color: #1f2d3d;
            font-size: 23px;
            line-height: 30px;
            font-weight: 700;
        }

        .account-main {
            position: relative;
            z-index: 1;
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 24px 20px 32px;
            box-sizing: border-box;
        }

        .account-card {
            width: 430px;
            padding: 34px 42px 30px;
            border-radius: 16px;
            background: rgba(255, 255, 255, .96);
            box-shadow: 0 22px 58px rgba(29, 78, 137, .22);
            box-sizing: border-box;
        }

        @@media (max-width: 760px) {
            .account-topbar-inner {
                width: 100%;
            }

            .account-main {
                align-items: flex-start;
                padding-top: 34px;
            }

            .account-card {
                width: 100%;
                max-width: 430px;
            }
        }
        .account-title {
            margin-bottom: 20px;
        }

        .account-title h2 {
            margin: 0;
            color: #1f2d3d;
            font-size: 24px;
            line-height: 1.3;
        }

        .account-title span {
            display: block;
            margin-top: 7px;
            color: #8a98aa;
            font-size: 13px;
        }

        .account-form-item {
            margin-bottom: 14px;
        }

        .account-form-item label {
            display: block;
            margin-bottom: 7px;
            color: #344054;
            font-size: 13px;
            font-weight: 600;
        }

        .account-input {
            width: 100%;
            height: 40px;
            padding: 0 12px;
            border: 1px solid #d9e2ef;
            border-radius: 8px;
            box-sizing: border-box;
            color: #263445;
            font-size: 14px;
            outline: none;
            transition: border-color .16s ease, box-shadow .16s ease;
        }

        .account-input:hover {
            border-color: #aac0de;
        }

        .account-input:focus,
        .account-input.is-error {
            border-color: #2f80ed;
            box-shadow: 0 0 0 3px rgba(47, 128, 237, .12);
        }

        .account-input.is-error {
            border-color: #f56c6c;
            box-shadow: 0 0 0 3px rgba(245, 108, 108, .12);
        }

        .account-sms-row,
        .account-code-row {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .account-sms-row .account-input,
        .account-code-row .account-input {
            flex: 1;
            min-width: 0;
        }

        .account-sms-btn {
            width: 112px;
            height: 40px;
            border: 1px solid #c9dcf6;
            border-radius: 8px;
            color: #1d6fe8;
            background: #f3f8ff;
            cursor: pointer;
            font-size: 13px;
        }

        .account-sms-btn:disabled {
            color: #98a2b3;
            border-color: #e4e7ed;
            background: #f5f7fa;
            cursor: not-allowed;
        }

        .account-code-img {
            height: 38px;
            cursor: pointer;
            border-radius: 6px;
            border: 1px solid #d9e2ef;
        }

        .account-code-refresh {
            color: #2f80ed;
            font-size: 13px;
            white-space: nowrap;
            cursor: pointer;
            text-decoration: none;
        }

        .account-error {
            min-height: 20px;
            margin: 0 0 12px;
            color: #f04438;
            font-size: 13px;
            line-height: 20px;
        }

        .account-submit {
            width: 100%;
            height: 42px;
            border: 0;
            border-radius: 9px;
            color: #fff;
            background: #2f80ed;
            cursor: pointer;
            font-size: 17px;
            font-weight: 600;
            transition: background .16s ease;
        }

        .account-submit:hover {
            background: #1d6fe8;
        }

        .account-submit:disabled {
            background: #9ec5fb;
            cursor: wait;
        }

        .account-extra {
            margin-top: 18px;
            text-align: center;
            color: #667085;
            font-size: 13px;
        }

        .account-extra a {
            color: #2f80ed;
            text-decoration: none;
            cursor: pointer;
        }
        .account-footer {
            position: relative;
            z-index: 1;
            display: flex;
            justify-content: center;
            padding: 0 20px 28px;
            box-sizing: border-box;
            color: #6b7785;
            font-size: 12px;
            text-align: center;
        }

        .account-footer-inner {
            width: 1160px;
            line-height: 24px;
        }

        .account-footer-line {
            min-height: 24px;
        }

        .account-footer-separator {
            display: inline-block;
            width: 10px;
        }