.auth-page{--auth-ink:var(--ui-ink);--auth-muted:var(--ui-hint);--auth-line:var(--ui-line);--auth-blue:#429bc8;--auth-blue-deep:#3188b8;--auth-blue-soft:#eaf6fb;--auth-teal:#6d9ccf;--auth-yellow:#f2c968;--auth-coral:#de806d}
html,body.auth-page{min-height:100%;height:auto}
body.auth-page{padding:0;color:var(--auth-ink);background:#edf7fb;font-family:"Microsoft YaHei","PingFang SC",sans-serif}
.auth-page *{box-sizing:border-box}.auth-shell{position:relative;display:flex;min-height:100vh;align-items:center;justify-content:center;overflow:hidden}
.auth-intro{position:absolute;inset:0;display:flex;min-height:100vh;flex-direction:column;padding:42px clamp(48px,7vw,116px);overflow:hidden;background:linear-gradient(145deg,#eaf4fc 0%,#eef7fa 56%,#e7f2fc 100%)}
.auth-intro:after{position:absolute;content:"";border-radius:50%;pointer-events:none;bottom:-120px;left:-80px;width:340px;height:340px;background:radial-gradient(circle,rgba(86,159,214,.16) 0 1px,transparent 2px);background-size:19px 19px;opacity:.65}
.auth-brand{position:relative;z-index:2;display:inline-flex;align-items:center;gap:9px;width:max-content;color:#35545b;text-decoration:none}.auth-brand>img,.auth-brand-fallback{display:block;width:50px;height:50px;border-radius:10px;object-fit:contain}.auth-brand strong{font-size:16px;letter-spacing:.3px}
.auth-intro-copy{position:relative;z-index:1;margin-top:clamp(78px,13vh,145px)}.auth-kicker{display:flex;align-items:center;gap:7px;margin:0 0 17px;color:#4b8fc7;font-size:13px;font-weight:700;letter-spacing:.8px}.auth-kicker i{color:#e6aa52}.auth-intro-copy h1{margin:0;color:#28424a;font-size:clamp(36px,4vw,54px);font-weight:700;letter-spacing:1px;line-height:1.28}.auth-intro-copy h1 span{display:block;margin-left:0;font-size:.7em;letter-spacing:.2px;line-height:1.52}.auth-intro-copy>p:last-child{max-width:none;margin:20px 0 0;color:#65808b;font-size:15px;line-height:1.9;white-space:nowrap}
.auth-decoration{position:absolute;z-index:0;inset:18px 0 36px;overflow:hidden;pointer-events:none}.auth-decoration img{position:absolute;display:block;opacity:.17}.auth-deco-book{top:11%;right:8%;width:15%;transform:rotate(13deg)}.auth-deco-calculator{right:4%;bottom:13%;width:6%;transform:rotate(18deg)}.auth-deco-circuit{top:48%;right:6%;width:12%;transform:rotate(-12deg)}.auth-deco-lab{bottom:6%;left:36%;width:7%;transform:rotate(24deg)}.auth-deco-formula{position:absolute;top:19%;left:48%;opacity:.2;color:#76a7b3;font-family:Georgia,serif;font-size:19px;transform:rotate(-11deg)}.auth-illustration{position:absolute;z-index:1;top:54%;left:7%;width:min(520px,42vw);height:315px;pointer-events:none;transform:translateY(-50%)}.auth-illustration img{position:absolute;display:block}.auth-flow-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.auth-flow-lines path{fill:none;stroke:#8bc7d3;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:2 8;opacity:.75}.auth-process-item{filter:drop-shadow(0 8px 9px rgba(76,128,140,.1))}.auth-process-pdf{bottom:12%;left:2%;width:14%;transform:rotate(-8deg)}.auth-process-word{top:3%;left:26%;width:10%;transform:rotate(8deg)}.auth-process-excel{bottom:12%;left:30%;width:10%;transform:rotate(-5deg)}.auth-process-image{top:29%;left:38%;width:10%;transform:rotate(7deg)}.auth-process-formula{position:absolute;top:20%;left:7%;display:grid;width:50px;height:50px;place-items:center;border-radius:16px;color:#ca9b42;background:#fff1cd;box-shadow:0 7px 14px rgba(191,151,72,.11);font-family:Georgia,serif;font-size:25px;transform:rotate(-9deg)}.auth-result-paper{top:8%;right:2%;width:32%;filter:drop-shadow(0 12px 12px rgba(70,126,137,.13))}.auth-intro-footer{position:relative;z-index:2;margin:auto 0 0;color:var(--ui-hint);font-size:12px;letter-spacing:.4px}
.auth-login-stage{position:relative;z-index:3;display:flex;width:min(440px,calc(100% - 32px));flex-direction:column;align-items:center}.auth-login-brand{margin:0 0 30px;text-shadow:0 2px 12px rgba(255,255,255,.7)}.auth-login-brand>img{width:42px;height:42px}.auth-login-brand strong{color:var(--ui-ink);font-size:21px;letter-spacing:.5px}.auth-panel{display:flex;width:100%;align-items:center;justify-content:center;padding:40px 46px;background:rgba(255,255,255,.94);border:1px solid rgba(207,229,234,.86);border-radius:22px;box-shadow:0 22px 55px rgba(73,125,140,.15);backdrop-filter:blur(10px)}.auth-panel-inner{width:100%}.auth-panel-heading{text-align:center}.auth-panel-heading h2{margin:0;color:var(--ui-ink);font-size:24px;font-weight:700;letter-spacing:.4px}.auth-panel-heading h2 i{margin-right:8px;color:#07c160;font-size:30px;vertical-align:-2px}.auth-panel-heading p{margin:8px 0 20px;color:var(--ui-hint);font-size:13px}
.auth-wechat-mode.is-hidden{display:none}.auth-wechat-card{position:relative;display:flex;width:min(100%,300px);align-items:center;flex-direction:column;justify-content:center;margin-inline:auto}.auth-qr-container{position:relative;z-index:1;display:flex;width:100%;height:300px;flex:0 0 300px;align-items:center;justify-content:center}.auth-qr-container:empty:before{position:absolute;top:12px;left:50%;width:200px;height:200px;max-width:calc(100% - 18px);max-height:calc(100% - 18px);background:url("../../img/auth/qr-locked-placeholder.svg") center/contain no-repeat;content:"";filter:blur(3px);opacity:.58;transform:translateX(-50%)}.auth-qr-container:empty:after{position:absolute;top:112px;left:50%;display:grid;width:58px;height:58px;place-items:center;border-radius:50%;color:#4787a8;background:rgba(255,255,255,.94);box-shadow:0 5px 18px rgba(67,124,157,.18);content:"\f023";font-family:FontAwesome;font-size:25px;transform:translate(-50%,-50%)}.auth-qr-container iframe{display:block;width:280px;max-width:100%;height:300px;border:0}.auth-wechat-status{position:absolute;z-index:2;right:0;top:280px;left:0;margin:0 12px;color:#668da8;font-size:12px;line-height:1.2;text-align:center}.auth-qr-actions{display:flex;min-height:20px;align-items:center;justify-content:center;gap:18px;margin-top:2px}.auth-qr-actions button,.auth-qr-actions a{padding:0;border:0;color:#428eae;background:transparent;font-size:12px;line-height:1.2;text-decoration:none}.auth-qr-actions [hidden]{display:none}.auth-wechat-mode>.auth-agreement{margin-top:4px;line-height:1.2}.auth-wechat-unavailable{min-height:220px;gap:12px;color:#7895a3}.auth-wechat-unavailable>i{font-size:36px}.auth-wechat-unavailable p{margin:0;font-size:13px}
/* Loaded through WxLogin href inside WeChat's iframe; keep scan status visible. */
.impowerBox .title{display:none}.impowerBox .qrcode{display:block;box-sizing:border-box;width:200px;height:200px;margin:12px auto 0}.impowerBox .info{width:260px;margin-top:12px}
.auth-mode-tabs{display:flex;gap:26px;margin-bottom:17px;border-bottom:1px solid #e1ebef}.auth-panel.is-register .auth-mode-tabs{margin-top:25px}.auth-mode-tabs a{position:relative;padding:0 1px 10px;color:#8a9da7;font-size:14px;text-decoration:none}.auth-mode-tabs a:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;content:"";background:transparent}.auth-mode-tabs a.is-active{color:#3b899f;font-weight:700}.auth-mode-tabs a.is-active:after{background:#5db2c9}
.auth-form.is-hidden{display:none}.auth-form>label,.auth-captcha{position:relative;display:block;margin:0 0 13px}.auth-form>label>span,.auth-captcha>span{display:block;margin:0 0 6px;color:#4c6470;font-size:12px;font-weight:700}.auth-form>label>span em{margin-left:4px;color:#9cadb4;font-size:12px;font-style:normal;font-weight:400}.auth-form>label>i{position:absolute;bottom:14px;left:13px;color:#8ab5c4;font-size:14px;line-height:14px}.auth-form input.form-control,.auth-form>label input{width:100%;height:42px;padding:0 12px 0 35px;border:1px solid var(--ui-line);border-radius:9px;color:var(--ui-ink);background:#fff;box-shadow:none;outline:0;font-size:13px;transition:.18s}.auth-form>label input::placeholder{color:#b0c0c7}.auth-form>label input:hover{border-color:#b8d8e3}.auth-form>label input:focus{border-color:#70b8d0;box-shadow:0 0 0 3px rgba(94,177,207,.13)}.auth-captcha .input-group{width:100%}.auth-captcha input{height:42px!important;border-color:var(--ui-line)!important;border-radius:9px 0 0 9px!important;box-shadow:none!important}.auth-captcha .input-group-btn .btn{height:42px;border-radius:0 9px 9px 0}
.auth-form-options{display:flex;align-items:center;justify-content:space-between;margin:-1px 0 17px}.auth-remember{display:flex!important;align-items:center;gap:6px;margin:0!important;color:#8197a2!important;font-size:12px!important;font-weight:400!important}.auth-remember input{position:absolute;opacity:0}.auth-remember i{display:inline-grid;width:15px;height:15px;place-items:center;border:1px solid #bdd2da;border-radius:4px;background:#fff}.auth-remember input:checked+i{border-color:#67afc8;background:#67afc8}.auth-remember input:checked+i:after{content:"\2713";color:#fff;font-family:Arial,sans-serif;font-size:12px;font-style:normal;line-height:1}.btn-forgot{padding:0;border:0;color:#5a9eb6;background:transparent;font-size:12px}.auth-submit{width:100%;gap:8px}.auth-agreement{margin:15px 0 0;color:var(--ui-hint);font-size:12px;line-height:1.6;text-align:center}
.auth-page .form-layer .form-footer{background:#f7fafb}.auth-page .form-layer .form-body{padding:18px}.auth-panel-heading h2 .fa-user-circle-o{color:#429bc8;font-size:27px;vertical-align:-1px}
@media(max-width:900px){.auth-shell{display:flex}.auth-intro{position:absolute;min-height:100vh;padding:28px 32px}.auth-intro-copy{margin-top:45px}.auth-intro-copy h1{font-size:34px}.auth-intro-copy>p:last-child{display:none}.auth-illustration,.auth-intro-footer{display:none}.auth-panel{min-height:0;padding:38px 25px}}
@media(max-width:520px){.auth-shell{overflow:auto;align-items:flex-start;padding:32px 0}.auth-intro{min-height:100vh;padding:24px}.auth-intro-copy{margin-top:38px}.auth-intro-copy h1{font-size:28px}.auth-kicker{margin-bottom:9px}.auth-login-stage{width:min(440px,calc(100% - 28px))}.auth-login-brand{margin-bottom:22px}.auth-login-brand>img{width:38px;height:38px}.auth-login-brand strong{font-size:19px}.auth-panel{padding:28px 18px}.auth-panel-heading h2{font-size:21px}}
.auth-mobile-notice{display:none}
.auth-mobile-copy{width:100%;text-align:center}
.auth-mobile-icon{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 20px;border-radius:16px;color:var(--auth-blue);background:var(--auth-blue-soft);font-size:28px}
.auth-mobile-copy h2{margin:0;color:var(--auth-ink);font-size:22px;line-height:1.5}
.auth-mobile-copy>p{margin:12px 0 22px;color:var(--auth-muted);font-size:14px;line-height:1.9}
.auth-mobile-site{display:flex;flex-direction:column;gap:8px;margin-bottom:24px;padding:18px 12px;border:1px solid var(--auth-line);border-radius:10px;background:var(--auth-blue-soft)}
.auth-mobile-site strong{font-size:17px;color:var(--auth-ink)}
.auth-mobile-site span{color:var(--auth-blue-deep);font-size:18px;line-height:1.5;overflow-wrap:anywhere;user-select:all}
@media(max-width:767px),(pointer:coarse) and (max-width:1024px){.auth-desktop-login{display:none}.auth-mobile-notice{display:flex}.auth-login-stage:has(.auth-mobile-notice){padding-bottom:24px}}
.auth-sms-row{display:flex;align-items:center;gap:8px}.auth-form>label .auth-sms-row input{min-width:0;padding-left:35px}.auth-sms-row button{width:106px;flex:0 0 106px}
.auth-agreement-check{display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-weight:400}.auth-agreement-check input{position:absolute;opacity:0}.auth-agreement-check>i{display:grid;width:16px;height:16px;flex:0 0 16px;place-items:center;border:1.5px solid #8bb9d8;border-radius:4px;background:#fff;transition:.16s}.auth-agreement-check input:checked+i{border-color:#3d93ca;background:#3d93ca}.auth-agreement-check input:checked+i:after{content:"\2713";color:#fff;font-size:12px;font-style:normal}.auth-agreement-check span,.auth-agreement-check a{font-weight:400}.auth-agreement-check a{color:#3688be;text-decoration:none}.auth-agreement-dialog{max-height:calc(75vh - 60px);padding:22px;overflow:auto;color:#47616b;line-height:1.8;white-space:pre-wrap}.auth-mode-switch{display:block;margin:22px auto 0;padding:6px 8px;border:0;color:#668a9a;background:transparent;font-size:12px;cursor:pointer}.auth-mode-switch:hover,.auth-mode-switch:focus{color:#2781a6;text-decoration:underline}.auth-mode-switch i{margin-right:4px}
