/* Auth-only presentation. Backend switches and all form handlers remain intact. */
body.auth-site-page { --color-primary:#ff6739; --auth-ink:#202a3b; --auth-muted:#8993a4; background:#f4f6f9; color:var(--auth-ink); font-family:"PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.auth-site-page > .template { width:100%; min-width:0 !important; margin:0; padding:0; }
.auth-site-header .no-login[style*="display:block"],.auth-site-header .no-login[style*="display: block"] { display:flex !important; align-items:center; }
.auth-site-page * { box-sizing:border-box; }
.auth-site-page a { cursor:pointer; text-decoration:none; }
.auth-site-page a:focus-visible,.auth-site-page button:focus-visible { outline:3px solid #ffb59c; outline-offset:3px; }
.auth-site-page :is(#login,#regist) { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; width:100%; min-height:0; height:auto; padding:60px 24px; font-size:14px; }
.auth-site-page .auth-topbar { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; width:100%; max-width:1440px; min-height:88px; padding:20px 0; }
.auth-site-page .auth-brand { display:flex; align-items:center; min-height:34px; color:#e66e43; font-size:20px; font-weight:700; }
.auth-site-page .auth-brand img { display:block; width:auto; max-width:180px; max-height:38px; object-fit:contain; }
.auth-site-page .auth-topbar nav { display:flex; align-items:center; gap:30px; }
.auth-site-page .auth-topbar nav a { color:#738095; font-size:13px; white-space:nowrap; }
.auth-site-page .auth-topbar nav a:hover { color:#e46e44; }
.auth-site-page .login-container { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; justify-content:normal; width:100%; max-width:1100px; height:auto; min-height:620px; margin:0; padding:0; overflow:visible; border:1px solid #e2e7ef; border-radius:20px; background:#fff; box-shadow:0 16px 60px #24314b0c; }
.auth-site-page .container-back { position:relative; width:auto; height:auto; min-height:100%; border-radius:19px 0 0 19px; overflow:hidden; background:radial-gradient(ellipse at 95% 5%,#343143,#1c2133 45%,#101524 100%); }
.auth-site-page .container-back::after { content:""; position:absolute; width:330px; height:330px; right:-220px; bottom:15px; border:1px solid #ffffff0b; border-radius:50%; box-shadow:0 0 0 70px #ffffff03,0 0 0 140px #ffffff02; pointer-events:none; }
.auth-site-page .back-line1,.auth-site-page .back-line2,.auth-site-page .back-line3 { display:none; }
.auth-site-page .container-back .back-text { position:relative; z-index:1; margin:0; padding:60px 45px; color:#f1f4fb; font-family:inherit; }
.auth-site-page .auth-eyebrow { display:inline-block; margin-bottom:25px; color:#f0a384; font-size:12px; line-height:1.8; letter-spacing:1px; }
.auth-site-page .container-back .text-welcome { color:#f1f4fb; font-family:inherit; font-size:38px; font-weight:700; line-height:1.5; letter-spacing:.4px; }
.auth-site-page .text-welcome span { color:#ff9b74; font-size:32px; }
.auth-site-page .container-back .text-title { margin-top:20px; color:#b8c0d3; font-size:15px; line-height:1.9; font-weight:400; }
.auth-site-page .container-back .text-level { margin-top:12px; color:#939fb6; font-size:12px; line-height:1.9; }
.auth-site-page .auth-benefits { display:flex; flex-direction:column; gap:23px; margin-top:42px; padding-top:28px; border-top:1px solid #ffffff13; }
.auth-site-page .auth-benefits > div { display:flex; align-items:flex-start; gap:14px; }
.auth-site-page .auth-benefits > div > span { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:30px; height:30px; border:1px solid #f3a48620; border-radius:8px; background:#f3a48609; color:#dca88f; font-size:10px; font-family:Arial,sans-serif; }
.auth-site-page .auth-benefits p { margin:0; color:#909eb7; font-size:12px; line-height:1.9; }
.auth-site-page .auth-benefits strong { display:block; margin-bottom:4px; color:#d9e0ef; font-size:14px; font-weight:500; }
.auth-site-page .container-before { position:relative; right:auto; width:100%; height:auto; margin:0; overflow:visible; border:0; border-radius:0 19px 19px 0; background:#fff; box-shadow:none; z-index:1; }
.auth-site-page .login { position:relative; width:100%; max-width:520px; margin:0 auto; padding:58px 48px 42px; font-family:inherit; font-size:14px; line-height:1.7; }
.auth-site-page .login-text { margin:0 0 29px; }
.auth-site-page .login .login-text-title { margin:0 0 9px; color:#273145; font-size:29px; font-weight:700; line-height:1.5; }
.auth-site-page .login .login-text-regist { margin:0; color:#929bac; font-size:13px; line-height:1.8; }
.auth-site-page .login a { color:#df6840; font-size:inherit; }
.auth-site-page .login a:hover { color:#f1875c; }
.auth-site-page .login-text-regist a { margin-left:6px; font-weight:500; }
.auth-site-page .login .login-top { display:flex; align-items:center; gap:30px; width:100%; height:auto; margin:0 0 24px; border-bottom:1px solid #e9edf3; font-size:14px; line-height:1.8; }
.auth-site-page .login-top > div { width:auto; min-width:0; margin:0; padding:0 0 12px; border:0; border-bottom:2px solid transparent; color:#98a1b0; font-size:14px; font-weight:500; cursor:pointer; }
.auth-site-page .login-top > div.active { color:#dc683d; border-bottom-color:#ff7545; }
.auth-site-page .login-form,.auth-site-page .form-main { width:100%; margin:0; }
.auth-site-page .login .form-item { width:100%; margin:0 0 18px; font-size:14px; }
.auth-site-page .login .el-input { width:100%; height:auto; font-size:14px; }
.auth-site-page .login .el-input__inner,.auth-site-page .login .el-textarea__inner { height:48px; padding:0 15px; border:1px solid #e2e7ef; border-radius:8px; background:#fbfcfe; color:#3c485e; font-family:inherit; font-size:14px; box-shadow:none; }
.auth-site-page .login .el-input__inner::placeholder { color:#a9b1be; }
.auth-site-page .login .el-input__inner:focus,.auth-site-page .login .el-textarea__inner:focus { border-color:#ffa47e; background:#fff; outline:none; box-shadow:none; }
.auth-site-page .login .el-textarea__inner { min-height:90px; padding:12px 15px; }
.auth-site-page .login .el-input-group__prepend { width:92px; padding:0 12px; border-color:#e2e7ef; border-radius:8px 0 0 8px; background:#f3f6fa; color:#7f8ca1; }
.auth-site-page .login .el-input-group__prepend .el-select { width:92px; margin:0 -12px; }
.auth-site-page .login .el-input-group__prepend .el-input__inner { border:0; background:transparent; box-shadow:none; font-size:13px; }
.auth-site-page .login .el-input-group--prepend > .el-input__inner { border-radius:0 8px 8px 0; }
.auth-site-page .login .code-item { display:flex; align-items:stretch; gap:10px; height:auto; }
.auth-site-page .login .code-item > .el-input { flex:1; min-width:0; width:0; }
.auth-site-page .login .code-btn { flex:0 0 125px; width:125px; min-height:48px; height:auto; margin:0; padding:0 10px; border:1px solid #ffd0bd; border-radius:8px; background:#fff4ee; color:#d06c46; font-size:12px; line-height:1.6; }
.auth-site-page .login .rember-item { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; height:auto; line-height:1.8; }
.auth-site-page .login .rember-item .read-text { flex:1; min-width:0; padding:0; }
.auth-site-page .login .rember-item > span:last-child { flex-shrink:0; white-space:nowrap; font-size:12px; }
.auth-site-page .login .read-item { height:auto; margin:0 0 18px; color:#8a95a7; font-size:12px; line-height:1.9; }
.auth-site-page .login .read-text { color:#8a95a7; font-size:12px; font-weight:400; line-height:1.9; }
.auth-site-page .login .read-item.form-item { display:flex; align-items:flex-start; gap:9px; }
.auth-site-page .login .read-item .read-text { padding:0; }
.auth-site-page .login .el-checkbox { line-height:1.8; }
.auth-site-page .login .el-checkbox__inner { width:15px; height:15px; border-radius:4px; border-color:#d4dce7; }
.auth-site-page .login .el-checkbox__input.is-checked .el-checkbox__inner { border-color:#ff7847; background:#ff7847; }
.auth-site-page .login .el-checkbox__input.is-checked + .el-checkbox__label { color:#ca744f; }
.auth-site-page .login .el-button--primary { border-color:#ff7040; background:linear-gradient(135deg,#ff8053,#ff592c); color:#fff; }
.auth-site-page .login .el-button--primary:hover { border-color:#f46434; background:#f46434; }
.auth-site-page .login .login-btn { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; height:auto; margin:8px 0 0; padding:12px 18px; border-radius:8px; font-size:15px; font-weight:600; line-height:1.6; box-shadow:0 5px 15px #ff673919; }
.auth-site-page .login .pass-btn { width:100%; height:auto; min-height:44px; margin:12px 0 0; padding:10px 18px; border:1px solid #e5eaf1; border-radius:8px; background:#fff; color:#7e8b9e; font-size:13px; line-height:1.6; }
.auth-site-page .login .line-item { margin:28px 0 20px; }
.auth-site-page .login .el-divider { background:#edf0f5; }
.auth-site-page .login .el-divider__text { color:#a2acba; font-size:12px; }
.auth-site-page .login .login-type { display:flex; align-items:center; justify-content:center; gap:18px; height:auto; }
.auth-site-page .login .oauth-item { display:flex; align-items:center; justify-content:center; width:38px; height:38px; margin:0; padding:7px; border:1px solid #e8edf4; border-radius:50%; background:#f9fbfd; }
.auth-site-page .login .oauth-img { width:24px; height:24px; }
.auth-site-page .login .qr-code { top:54px; right:33px; width:34px; height:34px; opacity:.8; }
.auth-site-page .login .qr-code svg { width:100%; height:100%; }
.auth-site-page .login .qr-box { min-height:270px; }
.auth-site-page .login .qr-box-tips { margin-top:20px; color:#8995a6; font-size:13px; }
.auth-site-page .login-jump-btn { position:absolute; z-index:3; top:-34px; right:0; display:flex; align-items:center; justify-content:flex-end; gap:18px; width:auto; height:auto; padding:0; font-size:12px; }
.auth-site-page .login-jump-btn .lang-box { display:flex; gap:13px; color:#a2adbd; font-size:11px; }
.auth-site-page .login-jump-btn .lang-box span { cursor:pointer; }
.auth-site-page .login-jump-btn .lang-box .active { color:#e07850; }
.auth-site-page .login-jump-btn .btn { height:auto; padding:5px 12px; border:1px solid #e6eaf1; border-radius:5px; background:#fff; font-size:11px; line-height:1.6; }
.auth-site-page .login-jump-btn .btn a { color:#8a96a9; }
.auth-site-page .auth-page-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; width:100%; max-width:1100px; margin:auto 0 0; padding:14px 0 25px; color:#a2adbb; font-size:11px; line-height:1.9; }
.auth-site-page .auth-page-footer > div { display:flex; flex-wrap:wrap; gap:18px; }
.auth-site-page .auth-page-footer a { color:#99a5b5; font-size:11px; }
.auth-site-page .auth-page-footer a:hover { color:#dd7a51; }
.auth-site-page .custom-form { margin:22px 0; }
.auth-site-page .custom-form .el-form-item { margin-bottom:18px; }
.auth-site-page .custom-form .el-form-item__label { padding:0 0 8px; color:#7e8b9e; font-size:12px; line-height:1.8; }
.auth-site-page .password-rule-popover { right:0; left:auto; width:min(100%,340px); max-width:100%; border-color:#e4e9f0; border-radius:9px; color:#76869b; font-size:12px; box-shadow:0 6px 22px #25324b12; }
.auth-site-page .password-rule-item.is-pass { color:#399675; }
@media (max-width:1050px) {
  .auth-site-page .container-back .back-text { padding:50px 30px; }
  .auth-site-page .container-back .text-welcome { font-size:32px; }
  .auth-site-page .text-welcome span { font-size:28px; }
  .auth-site-page .login { padding:50px 32px 36px; }
}
@media (max-width:760px) {
  .auth-site-page :is(#login,#regist) { padding:44px 18px; }
  .auth-site-page .auth-topbar { min-height:75px; padding:18px 0; }
  .auth-site-page .auth-brand img { max-width:132px; max-height:30px; }
  .auth-site-page .auth-topbar nav { gap:18px; }
  .auth-site-page .auth-topbar nav a { font-size:11px; }
  .auth-site-page .login-container { display:block; min-height:0; max-width:520px; margin:0; border-radius:15px; }
  .auth-site-page .container-back { display:none; }
  .auth-site-page .container-before { min-height:0; border-radius:14px; }
  .auth-site-page .login { max-width:none; padding:35px 28px 29px; }
  .auth-site-page .login .login-text-title { font-size:26px; }
  .auth-site-page .login .qr-code { top:35px; right:25px; width:32px; height:32px; }
  .auth-site-page .auth-page-footer { justify-content:center; max-width:520px; text-align:center; padding:20px 0; }
  .auth-site-page .login-jump-btn { top:-32px; }
}
@media (max-width:380px) {
  .auth-site-page :is(#login,#regist) { padding-inline:14px; }
  .auth-site-page .login { padding:30px 21px; }
  .auth-site-page .login .code-btn { flex-basis:105px; width:105px; font-size:11px; }
  .auth-site-page .login-top { gap:23px; }
  .auth-site-page .auth-brand img { max-width:115px; }
  .auth-site-page .auth-topbar nav { gap:12px; }
}
