/* 双端登录共用居中布局，仅保留系统名称与登录表单。 */
.centered-login{--green:#1766ed;--green-dark:#0b54d6;--green-light:#edf3ff;background:#e4f2e9;color:#4b5563;font-size:14px}
.login-main{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:28px 20px}
.login-card{width:100%;max-width:420px;padding:38px 36px;background:#fff;border:1px solid #e6eaf0;border-radius:10px;box-shadow:0 8px 32px #20395e08}
.login-card h1{font-size:22px;font-weight:600;line-height:1.5;letter-spacing:0;color:#253142;text-align:center;margin:0 0 32px}
.centered-login .login-input-label{position:relative;display:block;margin:0 0 18px}
.centered-login .login-input-label input{margin:0;min-height:48px;padding:13px 54px 13px 42px;background:#f8f9fc;border:1px solid #e2e7ef;border-radius:7px;font-size:14px;font-weight:400;line-height:1.5}
.centered-login .login-input-label input:focus{border-color:#1766ed;background:#fff;box-shadow:0 0 0 3px #1766ed0d}
.centered-login input::placeholder{color:#929ba8}
.centered-login .input-icon{position:absolute;left:14px;top:16px;color:#929dad;display:flex;pointer-events:none}
.centered-login .input-icon .icon{width:17px;height:17px}
.centered-login .show-password{position:absolute;top:0;right:5px;min-height:48px;min-width:44px;padding:0 8px;border:0;background:none;color:#7b8798;font-size:12px}
.centered-login .login-submit{width:100%;min-height:46px;height:46px;margin-top:8px;border-radius:7px;font-size:14px;font-weight:500;box-shadow:none}
.centered-login .alert{font-size:13px;margin-bottom:18px}
@media(max-width:480px){.login-main{padding:20px}.login-card{padding:32px 24px}.login-card h1{font-size:20px;margin-bottom:28px}}

/* 用户端以产品简介与登录双栏呈现，样式仅作用于用户端。 */
.centered-login[data-scope="client"]{--green:#2f6bff;--green-dark:#2358db;background:#f4f7fc;color:#172b4d}
.centered-login[data-scope="client"] .login-main{max-width:1120px;margin:0 auto;padding:64px 40px;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:72px;align-content:center}
.login-product{min-width:0;padding:8px 0}
.login-product h2{font-size:64px;line-height:1.24;font-weight:650;letter-spacing:-1.5px;color:#172b4d;margin:0}
.login-product h2 span{color:#2f6bff}
.product-summary{font-size:18px;line-height:1.85;color:#64758e;margin:30px 0 0}
.centered-login[data-scope="client"] .login-card{max-width:none;padding:32px 36px 24px;border:1px solid #e4eaf4;border-radius:16px;box-shadow:0 16px 48px #20395e0a}
.centered-login[data-scope="client"] .login-welcome h1{font-size:25px;line-height:1.4;letter-spacing:0;font-weight:600;color:#172b4d;text-align:left;margin:0 0 8px}
.login-welcome p{font-size:12px;line-height:1.8;color:#7b8799;margin:0 0 26px}
.login-field-title{display:block;color:#3d4e68;font-size:13px;font-weight:500;margin:0 0 9px}
.centered-login[data-scope="client"] .login-input-label{margin-bottom:20px}
.centered-login[data-scope="client"] .input-icon{top:47px}
.centered-login[data-scope="client"] .show-password{top:30px;min-height:50px}
.centered-login[data-scope="client"] .login-input-label input{height:50px;background:#fafbfe;border-color:#dfe6f0;border-radius:8px;color:#172b4d}
.centered-login[data-scope="client"] .login-input-label input:focus{border-color:#2f6bff;background:#fff;box-shadow:0 0 0 3px #2f6bff0d}
.centered-login[data-scope="client"] .login-submit{height:48px;min-height:48px;margin-top:6px;border-radius:8px;font-size:15px;font-weight:500}
@media(max-width:1020px){.centered-login[data-scope="client"] .login-main{gap:40px;padding:48px 32px;grid-template-columns:minmax(0,1fr) 390px}.login-product h2{font-size:48px;letter-spacing:-1px}.product-summary{font-size:16px;margin-top:26px}}
@media(max-width:800px){.centered-login[data-scope="client"] .login-main{max-width:500px;grid-template-columns:minmax(0,1fr);gap:28px;padding:36px 24px}.login-product{padding:0 8px}.login-product h2{font-size:30px;line-height:1.4;letter-spacing:0}.login-product h2 br{display:none}.login-product h2 span{margin-left:6px}.product-summary{display:none}.centered-login[data-scope="client"] .login-card{padding:24px 28px}}
@media(max-width:380px){.centered-login[data-scope="client"] .login-main{padding:24px 16px;gap:20px}.login-product h2{font-size:25px}.centered-login[data-scope="client"] .login-card{padding:20px}}

/* 用户端数字验证码 */
.login-captcha{margin:0 0 16px}
.captcha-row{display:flex;align-items:center;gap:12px}
.centered-login .captcha-row input{min-width:0;flex:1;width:0;height:50px;margin:0;padding:12px 14px;background:#fafbfe;border:1px solid #dfe6f0;border-radius:8px;font-size:14px;color:#172b4d}
.captcha-refresh{flex:0 0 132px;height:50px;padding:0;border:1px solid #dfe6f0;border-radius:8px;background:#eef3fc;color:#64758e;overflow:hidden;cursor:pointer}
.captcha-refresh img{display:block;width:100%;height:100%}
.captcha-refresh img[hidden],.captcha-refresh span[hidden]{display:none}
.captcha-refresh:focus-visible{outline:2px solid #2f6bff;outline-offset:3px}
.captcha-refresh:disabled{cursor:wait}
.captcha-hint{font-size:12px;line-height:1.6;color:#7b8799;margin:8px 0 0}
@media(max-width:380px){.captcha-row{gap:8px}.captcha-refresh{flex-basis:116px}.centered-login .captcha-row input{padding:12px 10px;font-size:13px}}
