.bestapi-login{--auth-blue:#315eea;--auth-ink:#172943;--auth-muted:#8793a6;margin:0;padding:0;background:#f6f8fc;color:var(--auth-ink);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-size:14px;min-height:100vh;display:flex;flex-direction:column}.bestapi-login *{box-sizing:border-box}.bestapi-login a{text-decoration:none}.bestapi-login button,.bestapi-login input{font:inherit}.bestapi-login svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;flex-shrink:0}.bestapi-login a:focus-visible,.bestapi-login button:focus-visible,.bestapi-login input:focus-visible{outline:3px solid #94adff;outline-offset:4px}.auth-header{display:flex;justify-content:space-between;align-items:center;padding:28px 5%;width:100%;max-width:1500px;margin:auto auto 0}.auth-brand{display:flex;align-items:center;gap:10px;color:var(--auth-ink);font:800 25px "Avenir Next","Segoe UI",sans-serif;letter-spacing:-1px}.auth-brand:hover{color:var(--auth-ink)}.auth-mark{background:var(--auth-blue);display:grid;place-items:center;width:38px;height:40px;color:white;border-radius:11px;font-size:31px;letter-spacing:-5px;padding-right:5px}.brand-light{font-weight:450}.back-home{color:#75839a;font-size:12px;display:flex;gap:10px;align-items:center}.back-home:hover{color:var(--auth-blue)}.back-home>span{font-size:18px}.auth-shell{display:grid;grid-template-columns:1.06fr 1fr;width:calc(100% - 80px);max-width:1040px;margin:38px auto 45px;min-height:620px;background:#fff;border:1px solid #e5ebf4;border-radius:20px;box-shadow:0 18px 60px #203b6b08;overflow:hidden}.auth-story{padding:58px 47px 35px;background:linear-gradient(135deg,#edf3ff,#e8f0ff 65%,#e1edfc);position:relative;overflow:hidden}.story-eyebrow{font:600 10px "Avenir Next",sans-serif;letter-spacing:2.4px;color:#728dbc;margin-bottom:23px}.auth-story h1{font-size:37px;font-weight:600;line-height:1.55;letter-spacing:-1.5px;margin:0 0 18px}.auth-story h1>span{color:var(--auth-blue)}.story-description{color:#7c8eaa;font-size:13px;line-height:1.9;margin:0}.auth-illustration{margin-top:37px;border:1px solid #fff;background:#ffffffa8;box-shadow:0 12px 26px #6b8ecc10;border-radius:13px;padding:18px;transform:rotate(-2deg);max-width:376px}.illustration-top{display:flex;gap:9px;align-items:center;font:9px monospace;letter-spacing:1px;color:#9aaecc;margin-bottom:18px}.little-mark{font-size:15px;font-weight:600;color:#6e8dd0;letter-spacing:0}.illustration-top i{width:5px;height:5px;background:#9fbbdf;border-radius:50%;margin-left:auto}.illustration-search{height:38px;border:1px solid #e5ebf6;border-radius:7px;background:#fff;display:flex;gap:9px;align-items:center;padding:0 12px;font-size:10px;color:#a0aec4}.illustration-search svg{width:14px;height:14px}.illustration-search>span:last-child{margin-left:auto;font:14px monospace}.illustration-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.illustration-tools>div{display:flex;align-items:center;gap:7px;border:1px solid #e5ebf6;border-radius:7px;background:#fff;padding:11px 8px;font-size:9px;color:#8091ae;white-space:nowrap}.mini-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:5px;font-size:16px}.blue{color:#6282d6;background:#eef3ff}.green{color:#60a18e;background:#eef8f4}.purple{color:#9a85c4;background:#f4effb}.illustration-response{display:flex;gap:12px;align-items:center;background:#fff;padding:15px;border-radius:9px;margin:15px -25px -4px 22px;box-shadow:0 8px 22px #4a6d9e13;border:1px solid #e3eaf5;transform:rotate(3deg)}.response-symbol{font:600 22px monospace;color:var(--auth-blue);white-space:nowrap}.illustration-response strong{display:block;font-weight:500;font-size:11px;color:#58709a;margin-bottom:5px}.illustration-response div>span{display:block;font-size:8px;color:#9caac0;letter-spacing:.3px}.response-check{margin-left:auto;background:#eff6f4;color:#6a9c88;border-radius:50%;width:22px;height:22px;text-align:center;line-height:22px}.story-caption{display:flex;align-items:center;gap:7px;color:#8fa2c0;font-size:10px;margin-top:35px;letter-spacing:1px}.story-caption>span{width:5px;height:5px;border-radius:50%;background:#94abd0}
.auth-form-side{padding:65px 57px 44px;align-self:center}.form-eyebrow{display:block;color:var(--auth-blue);font-size:11px;letter-spacing:1px;margin-bottom:12px}.form-intro h2{font-size:28px;font-weight:600;letter-spacing:-.7px;color:var(--auth-ink);margin:0 0 11px}.form-intro p{font-size:11px;color:#929caf;line-height:1.7;margin:0 0 33px}.bestapi-login .auth-form .form-group{margin:0 0 22px}.bestapi-login .auth-form .control-label{display:block;color:#45566f;font-size:12px;font-weight:500;margin:0 0 10px}.input-wrap{position:relative}.bestapi-login .auth-form .form-control{height:48px;width:100%;padding:12px 15px 12px 43px;font-size:13px;border:1px solid #dfe6f0;border-radius:8px;background:#fcfdff;box-shadow:none;color:#243853;transition:border-color .15s,box-shadow .15s}.bestapi-login .auth-form .form-control::placeholder{color:#a5afbd;font-size:11px}.bestapi-login .auth-form .form-control:focus{outline:none;border-color:var(--auth-blue);box-shadow:0 0 0 3px #315eea12;background:#fff}.field-icon{position:absolute;left:14px;top:14px;color:#a0aec2;pointer-events:none}.bestapi-login .field-icon{width:18px;height:18px}.bestapi-login .auth-form .password-wrap .form-control{padding-right:49px}.bestapi-login .auth-form .help-block{margin:0}.password-toggle{position:absolute;right:5px;top:4px;width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:#97a6bc;border-radius:5px;cursor:pointer}.password-toggle:hover{color:var(--auth-blue);background:#f0f4ff}.password-toggle .eye-slash{display:none}.password-toggle[aria-pressed="true"] .eye-slash{display:block}.auth-options{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 26px}.remember-option{display:flex;align-items:center;gap:7px;margin:0;font-size:11px;font-weight:400;color:#8692a6;cursor:pointer}.remember-option input{margin:0;width:14px;height:14px;accent-color:var(--auth-blue)}.bestapi-login .forgot-link{background:transparent;border:0;padding:4px 0;color:var(--auth-blue);font-size:11px;cursor:pointer}.bestapi-login .auth-form .submit-group{margin-bottom:20px}.bestapi-login .login-submit{display:flex;justify-content:center;align-items:center;position:relative;height:47px;padding:10px 18px;background:var(--auth-blue);border:1px solid var(--auth-blue);border-radius:8px;font-size:14px;font-weight:500;box-shadow:0 5px 10px #315eea15}.bestapi-login .login-submit>span:last-child{position:absolute;right:17px;font-size:18px}.bestapi-login .login-submit:hover,.bestapi-login .login-submit:focus{background:#254ed0;border-color:#254ed0}.bestapi-login .login-submit:disabled{opacity:.6;cursor:wait}.signup-prompt{text-align:center;font-size:11px;color:#929daf;margin:0}.signup-prompt a{margin-left:7px;color:var(--auth-blue);font-weight:500}.signup-prompt a>span{margin-left:4px}.form-divider{border-top:1px solid #edf0f6;margin:32px 0 19px}.guest-link{display:flex;gap:8px;align-items:center;font-size:11px;color:#97a2b4}.guest-link svg{width:14px;height:14px}.guest-link>span:last-child{margin-left:auto;font-size:15px}.guest-link:hover{color:var(--auth-blue)}.auth-footer{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;padding:0 20px 25px;margin:0 auto auto;color:#a5aebe;font-size:10px}.auth-footer a{color:inherit}.bestapi-login .n-invalid{border-color:#c77676!important}.bestapi-login .n-default .msg-wrap{font-size:11px}.bestapi-login .layui-layer{border-radius:10px;overflow:hidden}.bestapi-login .layui-layer-title{background:#f5f8ff;color:#324c79}.bestapi-login .form-layer .btn-primary{background:var(--auth-blue);border-color:var(--auth-blue)}
@media(min-height:950px){.auth-shell{margin-top:65px;margin-bottom:65px}.auth-header{margin-top:auto}}
@media(max-width:1050px){.auth-shell{max-width:900px;min-height:570px}.auth-story{padding:48px 32px 30px}.auth-story h1{font-size:32px}.auth-form-side{padding:45px 35px}.illustration-tools>div{padding:9px 5px;gap:4px;font-size:8px}.auth-illustration{padding:15px}.illustration-response{margin-right:-20px}.story-caption{font-size:9px}}
@media(max-width:760px){.auth-header{padding:22px 24px}.auth-shell{grid-template-columns:1fr;width:calc(100% - 40px);max-width:460px;margin:28px auto 32px;min-height:0;border-radius:16px}.auth-story{display:none}.auth-form-side{padding:39px 33px}.auth-brand{font-size:23px}.auth-mark{width:33px;height:35px;border-radius:9px;font-size:28px}.back-home{font-size:11px}.form-intro h2{font-size:27px}.form-intro p{margin-bottom:30px}.bestapi-login .auth-form .form-control{height:50px;font-size:16px}.field-icon{top:15px}.password-toggle{top:5px}.bestapi-login .login-submit{height:49px}.auth-footer{font-size:9px;padding-bottom:22px}.form-divider{margin-top:30px}}
@media(max-width:380px){.auth-header{padding:20px}.back-home{font-size:10px;gap:5px}.auth-form-side{padding:32px 23px}.auth-shell{width:calc(100% - 28px)}.auth-brand{font-size:21px}.form-intro h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.bestapi-login *{transition:none!important}}

.auth-register .auth-shell{min-height:710px;margin-top:22px;margin-bottom:30px}.auth-register .auth-story{display:flex;flex-direction:column;justify-content:center}.auth-register .auth-form-side{padding-top:37px;padding-bottom:35px}.auth-register .form-intro p{margin-bottom:23px}.auth-register .auth-form .form-group{margin-bottom:17px}.bestapi-login .auth-form .auth-captcha .form-control{padding-left:13px;border-radius:8px 0 0 8px}.auth-captcha .input-group-btn{vertical-align:middle}.auth-captcha .input-group-btn .btn{height:48px;display:flex;align-items:center;background:#edf2ff;border-color:#dfe6f0;color:#315eea;border-radius:0 8px 8px 0;font-size:11px}.auth-captcha .input-group-btn img{object-fit:contain;cursor:pointer;border:1px solid #dfe6f0;border-left:0;border-radius:0 8px 8px 0;height:48px;width:112px;background:#fff}.auth-register .signup-prompt{margin-top:16px}
@media(max-width:760px){.auth-register .auth-shell{min-height:0;margin-top:20px}.auth-register .auth-story{display:none}.auth-register .auth-form-side{padding:31px 28px}.auth-captcha .input-group-btn .btn,.auth-captcha .input-group-btn img{height:50px}.auth-register .form-intro h2{font-size:26px}}

/* Password recovery dialog */
.bestapi-login .auth-reset-dialog{border-radius:16px;box-shadow:0 22px 80px #16274330;max-width:calc(100vw - 32px);overflow:hidden}
.bestapi-login .auth-reset-dialog .layui-layer-content{max-height:calc(100dvh - 64px);overflow-y:auto!important;height:auto!important}
.auth-reset-dialog .layui-layer-setwin{top:22px;right:22px}
.bestapi-login .reset-form{padding:30px;margin:0;background:#fff}
.reset-heading{padding-right:20px;margin-bottom:22px}
.reset-emblem{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf2ff;color:#315eea;margin-bottom:15px}
.reset-heading h2{font-size:23px;font-weight:600;margin:0 0 8px;color:#172943}
.reset-heading p{font-size:12px;line-height:1.8;color:#8996a9;margin:0}
.reset-methods{display:flex;gap:8px;padding:5px;background:#f3f6fc;border-radius:9px;margin:0 0 22px;border:0}
.reset-methods label{position:relative;flex:1;margin:0;cursor:pointer;font-weight:500}
.reset-methods input{position:absolute;opacity:0}
.reset-methods span{display:block;text-align:center;padding:10px 4px;border:1px solid transparent;border-radius:6px;font-size:12px;color:#7c8ca4}
.reset-methods input:checked+span{background:#fff;border-color:#e1e8f5;color:#315eea;box-shadow:0 2px 5px #17294308}
.reset-methods input:focus-visible+span{outline:3px solid #94adff;outline-offset:1px}
.bestapi-login .reset-form .form-group{margin:0 0 18px}
.bestapi-login .reset-form .control-label{display:block;text-align:left;width:auto;font-size:12px;font-weight:500;color:#465973;margin:0 0 8px;padding:0}
.bestapi-login .reset-form .form-control{height:44px;padding:10px 12px;border:1px solid #dfe6f0;border-radius:7px;background:#fcfdff;box-shadow:none;font-size:13px}
.bestapi-login .reset-form .form-control:focus{border-color:#315eea;box-shadow:0 0 0 3px #315eea12;background:#fff;outline:none}
.reset-form .form-control::placeholder{color:#a3adbd;font-size:11px}
.reset-form .input-group{display:flex;gap:9px;width:100%}
.reset-form .input-group>.form-control{float:none;min-width:0;flex:1;border-radius:7px!important}
.reset-form .input-group-btn{width:auto;display:flex;flex-shrink:0}
.bestapi-login .reset-form .btn-captcha{display:flex;align-items:center;justify-content:center;height:44px;border:1px solid #dce6ff;background:#edf2ff;color:#315eea;border-radius:7px!important;padding:0 13px;font-size:11px;min-width:104px}
.bestapi-login .reset-form .btn-captcha.disabled{opacity:.6}
.bestapi-login .reset-form .reset-submit{width:100%;height:45px;border-radius:8px;background:#315eea;border-color:#315eea;font-size:13px}
.bestapi-login .reset-form .reset-submit:hover{background:#254ed0}
.bestapi-login .reset-form .form-footer{margin:24px 0 0;padding:0;position:static;background:transparent;border:0}
.reset-note{border-top:1px solid #edf0f6;padding-top:17px;margin:20px 0 0;text-align:center;font-size:10px;color:#9aa6b8}
@media(max-width:480px){.bestapi-login .reset-form{padding:24px 20px}.reset-heading h2{font-size:21px}.bestapi-login .reset-form .form-control{font-size:16px}.reset-form .input-group{gap:7px}}

.auth-reset-dialog .layui-layer-setwin .layui-layer-close2{position:static;display:block;width:28px;height:28px;margin:0;background:#f3f6fc;border-radius:7px;text-align:center;text-decoration:none}
.auth-reset-dialog .layui-layer-setwin .layui-layer-close2:after{content:"×";font:22px/26px Arial,sans-serif;color:#8391a5}
.auth-reset-dialog .layui-layer-setwin .layui-layer-close2:hover{background:#e9effb}
