body{background:#f4f7fc;color:#192434}.auth-header{height:80px;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e8edf4}.auth-header img{width:136px;height:42px;object-fit:contain}.auth-main{max-width:1160px;min-height:calc(100vh - 160px);margin:auto;padding:64px 36px;display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:center}.auth-intro h1{font-size:42px;margin:0 0 20px}.auth-intro>p{font-size:20px;line-height:1.8;color:#52657e}.auth-intro ul{padding-left:22px;color:#52657e;font-size:16px;line-height:2.4}.auth-intro .auth-sandbox{font-size:13px;border-left:2px solid #a8bff0;padding-left:16px;margin-top:36px}.auth-card{padding:36px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 36px #21457a08}.auth-card h2{margin:0 0 28px;font-size:25px}.auth-card label{display:block;font-weight:500;margin:20px 0 8px}.auth-card input{height:48px;background:#fff!important;color:#192434!important;-webkit-text-fill-color:#192434;border-color:#bdc9d9;box-shadow:none}.auth-card input:focus{border-color:#165dff;outline:2px solid #165dff15}.auth-card input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:#192434}.password-input,.code-input{position:relative;display:flex;gap:10px;align-items:center}.password-input input{padding-right:60px}.password-input button{position:absolute;right:12px;border:0;background:transparent;color:#52657e;font-size:13px}.code-input button{flex-shrink:0;height:48px;background:#f6f9ff;border:1px solid #c1cde1;border-radius:4px;padding:0 12px;color:#165dff;font-size:13px}.auth-submit{width:100%;margin-top:16px;min-height:48px}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-links{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:24px;font-size:13px}.auth-legal,.auth-footer{font-size:12px;color:#7b8798}.auth-footer{text-align:center;padding:20px}.auth-error{background:#fff1f0;border:1px solid #f2c2bc;padding:12px 14px;color:#aa3030;border-radius:4px}.auth-error p{font-size:13px;color:inherit;margin:6px 0 0}.auth-status{background:#edf6ff;padding:12px;color:#165dff}.auth-inline-error{color:#aa3030;font-size:13px;margin:12px 0 0;min-height:0}.auth-inline-error:empty{display:none}.captcha-container{margin-top:12px}@media(max-width:900px){.auth-main{grid-template-columns:minmax(0,440px);justify-content:center;padding:36px 20px;gap:0}.auth-intro{display:none}.auth-card{padding:30px;width:100%}}@media(max-width:480px){.auth-header{height:68px;padding:12px 20px}.auth-main{padding:28px 16px;min-height:calc(100dvh - 140px)}.auth-card{padding:26px 22px}.auth-card h2{font-size:23px}.auth-links{gap:12px}.auth-header img{width:120px}}

.auth-social{margin-top:26px;border-top:1px solid #e2e8f0;padding-top:22px}.auth-social h3{font-size:14px;color:#607085;font-weight:400}.social-actions{display:flex;gap:10px;flex-wrap:wrap}.social-actions form{margin:0}.social-actions button{display:flex;align-items:center;gap:7px;border:1px solid #dce3ed;background:white;border-radius:5px;padding:9px 15px;color:#334155;cursor:pointer}.social-icon{width:20px;height:20px;flex-shrink:0}.auth-social p{font-size:12px;line-height:1.7;margin:12px 0 0}
[hidden]{display:none!important}

.auth-client-page {
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    grid-template-rows: auto 1fr auto;
    background: #eaf0f9 url("/mvc/auth-cloud.svg") center / cover no-repeat;
}

.auth-client-page .auth-header {
    height: 68px;
    background: transparent;
    border: 0;
    padding-inline: clamp(20px, 4vw, 64px);
}

.auth-client-page .auth-header > a:last-child {
    color: #324862;
    font-size: 14px;
}

.auth-client-page .auth-main {
    width: 100%;
    max-width: 1112px;
    min-height: 0;
    grid-template-columns: minmax(0, 460px) minmax(0, 1fr);
    gap: clamp(56px, 7vw, 112px);
    padding: 40px 36px;
}

.auth-client-page .auth-card {
    grid-column: 1;
    grid-row: 1;
    padding: 40px;
    border: 1px solid #dfe7f3;
    border-radius: 8px;
    box-shadow: 0 16px 42px #234b9012;
}

.auth-client-page .auth-card h2 {
    font-size: 28px;
    letter-spacing: -.025em;
    margin-bottom: 24px;
}

.auth-client-page .auth-card label {
    color: #334963;
    font-size: 14px;
    margin-top: 16px;
}

.auth-client-page .auth-card input {
    min-width: 0;
    border-color: #c8d4e3;
    border-radius: 4px;
}

.auth-client-page .auth-card input:focus { border-color: #165dff; }
.auth-client-page .auth-submit { margin-top: 20px; border-radius: 4px; }
.auth-client-page .auth-links { margin-top: 20px; }
.auth-client-page .auth-social { margin-top: 22px; padding-top: 16px; }
.auth-client-page .auth-social h3 { margin: 0 0 12px; }
.auth-client-page .social-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(48px, 1fr));
    gap: 6px;
}
.auth-client-page .social-actions button {
    width: 100%;
    flex-direction: column;
    gap: 5px;
    padding: 7px 2px;
    font-size: 12px;
}
.auth-client-page .social-actions button:hover { border-color: #84a7eb; background: #f4f8ff; }

.auth-client-page .auth-intro h1 {
    color: #173765;
    font-size: clamp(34px, 3vw, 46px);
    letter-spacing: -.04em;
    line-height: 1.18;
    margin-bottom: 14px;
}

.auth-client-page .auth-intro > p {
    font-size: 16px;
    color: #3f5673;
    margin: 0;
}

.auth-client-page .auth-intro .auth-sandbox { margin-top: 28px; font-size: 13px; }
.auth-client-page .auth-footer { color: #455a75; }

.auth-image-captcha{margin-top:16px;min-width:0}
.auth-image-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}
.auth-card .auth-image-label label{margin:0;color:#334963;font-size:14px;font-weight:500}
.auth-image-label>span{font-size:12px;color:#748397;white-space:nowrap}
.auth-image-row{display:grid;grid-template-columns:minmax(0,1fr) clamp(112px,38%,144px);gap:12px;align-items:stretch}
.auth-card .auth-image-row input{width:100%;min-width:0;height:48px;margin:0;padding:10px 12px;font-size:16px;letter-spacing:1px}
.auth-image-refresh{display:flex;align-items:center;justify-content:center;min-width:0;height:48px;padding:0 4px;border:1px solid #c8d4e3;border-radius:4px;background:#f6f9fe;color:#64748b;cursor:pointer;overflow:hidden}
.auth-image-refresh:hover{border-color:#84a7eb;background:#edf3ff}
.auth-image-refresh:focus-visible{outline:2px solid #165dff;outline-offset:3px}
.auth-image-refresh:disabled{cursor:wait}
.auth-image-refresh img{display:block;width:100%;height:100%;object-fit:contain}
.auth-image-refresh span{font-size:13px;letter-spacing:0}
.auth-card .auth-image-hint{margin:7px 0 0;color:#748397;font-size:12px;line-height:1.6}
.auth-image-captcha.has-error .auth-image-hint{color:#aa3030}
.captcha-container:has(>.auth-image-captcha[hidden]){margin-top:0}

@media (max-width: 900px) {
    .auth-client-page { background-position: 58% center; }
    .auth-client-page .auth-main {
        grid-template-columns: minmax(0, 460px);
        gap: 0;
        padding: 32px 20px;
    }
}

@media (max-width: 480px) {
    .auth-client-page .auth-main { padding: 20px 16px; }
    .auth-client-page .auth-card { padding: 26px 22px; }
    .auth-client-page .auth-card h2 { font-size: 24px; }
}

/* 腾讯验证与图形验证共用一个验证入口；不额外叠加验证框。 */
.auth-security[hidden]{display:none}.auth-security>label{display:block;margin:0 0 8px;font-size:14px;font-weight:500;color:#27364b}
.auth-security-button{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 14px;border:1px solid #d5dce6;border-radius:4px;background:#f7f9fc;color:#46556c;text-align:left;font:inherit;font-size:14px;cursor:pointer}
.auth-security-button svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.auth-security-arrow{margin-left:auto;font-size:22px;line-height:1}.auth-security-button:hover{border-color:#165dff;background:#f2f6ff}.auth-security-button:focus-visible{outline:2px solid #165dff;outline-offset:2px}.auth-security-button:disabled{cursor:wait;opacity:.7}
.auth-security-hint{font-size:12px;line-height:1.6;color:#7c8798;margin:7px 0 0}.auth-security.is-verified .auth-security-button{background:#f0faf5;border-color:#9bd4b7;color:#178552}.auth-security.has-error .auth-security-hint{color:#b42318}

/* 客户入口沿用速科的品牌介绍＋右侧表单；管理登录不受影响。 */
.auth-client-page{font-size:14px}.auth-client-page .auth-card{border-radius:3px;box-shadow:0 10px 32px #273f6510}.auth-client-page .auth-card h2{font-size:25px;letter-spacing:0;font-weight:600}.auth-client-page .auth-card input,.auth-client-page .auth-submit{border-radius:2px}.auth-client-page .auth-card label{font-size:13px}.auth-client-page .auth-header{background:#fff;border-bottom:1px solid #e7ecf3}.auth-client-page .auth-footer a{font-size:12px;color:#637795;margin-right:16px}
@media(min-width:901px){.auth-client-page{position:relative;isolation:isolate;background:#f0f3f9 url('/mvc/auth-cloud.svg') right center/cover no-repeat}.auth-client-page:before{content:"";position:fixed;left:0;top:68px;bottom:0;width:31.5%;background:#202735;z-index:-1}.auth-client-page .auth-main{max-width:none;grid-template-columns:minmax(0,31.5%) minmax(0,1fr);gap:0;padding:40px 0}.auth-client-page .auth-intro{grid-column:1;grid-row:1;padding:20px clamp(30px,3vw,60px);align-self:start;margin-top:34px}.auth-client-page .auth-intro h1{font-size:clamp(30px,2.4vw,44px);line-height:1.4;color:#fff;letter-spacing:0;font-weight:600}.auth-client-page .auth-intro>p{color:#c4cfdf;font-size:17px;line-height:2}.auth-client-page .auth-card{grid-column:2;grid-row:1;width:min(460px,calc(100% - 64px));margin-inline:auto;padding:36px 40px}.auth-client-page .auth-footer{margin-left:31.5%;color:#8a98aa}}
