:root{--login-blue:#1765ee;--login-text:#10213b;--login-muted:#6e7d95;--login-line:#d5e0ef}*{box-sizing:border-box}html,body.login-page{width:100%;min-width:320px;height:100%;min-height:100%;margin:0}body.login-page{overflow:hidden;color:var(--login-text);background:#eef5fd;font-family:"Microsoft YaHei","PingFang SC",system-ui,-apple-system,sans-serif}.login-layout{display:grid;grid-template-columns:minmax(560px,41.25%) minmax(0,1fr);width:100%;height:100vh;min-height:640px}.login-form-side{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:46px 58px 82px;background:radial-gradient(circle at 74% 36%,rgba(255,255,255,.98) 0 18%,rgba(255,255,255,0) 52%),linear-gradient(143deg,#f8fbff 0%,#edf4fd 53%,#e5effb 100%)}.login-wave-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}.login-card{position:relative;z-index:1;width:min(482px,100%);padding:40px 40px 34px;border:1px solid rgba(255,255,255,.95);border-radius:16px;background:rgba(255,255,255,.84);box-shadow:0 22px 58px rgba(71,100,143,.16),0 4px 14px rgba(54,84,130,.08),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(16px)}.login-brand{display:flex;align-items:center;gap:18px}.login-brand-logo,.showcase-logo{display:block;object-fit:cover;border-radius:16px}.login-brand-logo{width:66px;height:66px;flex:0 0 66px;box-shadow:0 8px 20px rgba(14,92,229,.18)}.login-brand h1{margin:0 0 7px;font-size:25px;font-weight:800;letter-spacing:-.5px}.login-brand p{margin:0;color:var(--login-muted);font-size:14px;line-height:1.5}.login-welcome{margin:45px 0 28px;text-align:center}.login-welcome h2{margin:0 0 8px;font-size:30px;font-weight:800;letter-spacing:1px}.login-welcome p{margin:0;color:var(--login-muted);font-size:15px}.login-error{display:flex;align-items:flex-start;gap:9px;margin:-12px 0 18px;padding:10px 13px;border:1px solid #fed7aa;border-radius:9px;color:#b45309;background:#fff7ed;font-size:14px;line-height:1.45}.login-error img{width:18px;height:18px;margin-top:1px}.login-form{display:grid;gap:10px}.login-form label{margin-top:1px;font-size:14px;font-weight:700}.login-input-wrap{position:relative;display:flex;align-items:center;height:52px;margin-bottom:6px;border:1px solid #cbd9eb;border-radius:9px;background:rgba(255,255,255,.8);box-shadow:inset 0 2px 4px rgba(45,72,111,.035),0 1px 0 rgba(255,255,255,.9);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.login-input-wrap:focus-within{border-color:#5a94f5;background:#fff;box-shadow:0 0 0 3px rgba(47,117,238,.12)}.login-input-wrap>img{width:21px;height:21px;margin-left:16px;opacity:.82}.login-input-wrap input{width:100%;height:100%;min-width:0;padding:0 46px 0 14px;border:0;outline:0;color:var(--login-text);background:transparent;font:inherit;font-size:15px}.login-input-wrap input::placeholder{color:#9aa8bc}.login-form .login-input-wrap input,.login-form .login-input-wrap input:focus{border:0;border-radius:0;outline:0;background:transparent;box-shadow:none}.login-form .login-input-wrap input:-webkit-autofill,.login-form .login-input-wrap input:-webkit-autofill:hover,.login-form .login-input-wrap input:-webkit-autofill:focus{-webkit-text-fill-color:var(--login-text);-webkit-box-shadow:0 0 0 1000px #fff inset;box-shadow:0 0 0 1000px #fff inset;caret-color:var(--login-text)}.password-toggle{position:absolute;top:50%;right:12px;display:grid;width:34px;height:34px;padding:7px;border:0;border-radius:8px;background:transparent;transform:translateY(-50%);cursor:pointer}.password-toggle:hover{background:#edf4ff}.password-toggle img{width:20px;height:20px}.login-submit{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:54px;margin-top:8px;border:0;border-radius:9px;color:#fff;background:linear-gradient(180deg,#347df6 0%,#1255dc 100%);box-shadow:0 11px 22px rgba(18,85,220,.25),inset 0 1px 0 rgba(255,255,255,.28);font:inherit;font-size:17px;font-weight:800;letter-spacing:.5px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.login-submit:hover{filter:brightness(1.04);box-shadow:0 13px 25px rgba(18,85,220,.3),inset 0 1px 0 rgba(255,255,255,.3);transform:translateY(-1px)}.login-submit:active{transform:translateY(1px)}.login-submit img{width:20px;height:20px;filter:brightness(0) invert(1)}.login-security{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:26px;color:#8492a8;font-size:13px}.login-security img{width:17px;height:17px;opacity:.72}.login-footer{position:absolute;z-index:1;bottom:38px;left:0;display:flex;align-items:center;justify-content:center;gap:18px;width:100%;color:#7d8ba0;font-size:13px}.login-footer i{width:1px;height:14px;background:#94a3b8}.login-showcase{position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 25% 34%,rgba(21,111,255,.68),transparent 39%),radial-gradient(circle at 87% 20%,rgba(0,86,237,.58),transparent 46%),linear-gradient(145deg,#0633ad 0%,#041f82 54%,#06236e 100%)}.login-showcase::before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.045),transparent 26%),repeating-linear-gradient(90deg,rgba(120,189,255,.025) 0 1px,transparent 1px 120px);pointer-events:none}.showcase-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(70px)}.showcase-glow-top{top:-14%;right:-9%;width:44vw;height:44vw;background:rgba(0,111,255,.2)}.showcase-glow-bottom{bottom:-22%;left:12%;width:52vw;height:29vw;background:rgba(0,98,255,.26)}.showcase-copy{position:relative;z-index:2;width:min(560px,53%);margin:clamp(92px,17vh,178px) 0 0 9%}.showcase-logo{width:62px;height:62px;margin-bottom:24px;border:2px solid rgba(255,255,255,.72);box-shadow:0 10px 28px rgba(0,0,0,.2)}.showcase-copy h2{margin:0;color:#fff;font-size:clamp(36px,3vw,55px);font-weight:900;line-height:1.15;letter-spacing:1px;text-shadow:0 7px 25px rgba(0,27,99,.24)}.showcase-copy>p{margin:22px 0 28px;color:rgba(237,247,255,.92);font-size:clamp(16px,1.1vw,20px);line-height:1.85}.showcase-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.showcase-feature{display:flex;align-items:center;gap:14px;min-height:84px;padding:16px 20px;border:1px solid rgba(133,203,255,.32);border-radius:11px;color:#f5fbff;background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(69,155,255,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(10px);font-size:16px;font-weight:700}.showcase-feature img{width:34px;height:34px;padding:4px;border:1px solid rgba(144,220,255,.55);border-radius:50%;filter:brightness(0) invert(1);opacity:.9}.showcase-illustration{position:absolute;z-index:1;right:-7%;bottom:-1%;width:min(69%,760px);max-height:80%;object-fit:contain;object-position:right bottom;pointer-events:none;user-select:none}
@media(max-width:1380px){.login-layout{grid-template-columns:minmax(520px,43%) minmax(0,1fr)}.login-form-side{padding-inline:42px}.showcase-copy{width:min(525px,62%);margin-left:8%}.showcase-feature{min-height:76px;padding:13px 16px;font-size:15px}.showcase-illustration{right:-13%;width:73%}}
@media(max-height:780px){.login-layout{min-height:580px}.login-form-side{padding-block:28px 60px}.login-card{padding:28px 34px 24px}.login-brand-logo{width:56px;height:56px;flex-basis:56px}.login-brand h1{font-size:22px}.login-welcome{margin:25px 0 19px}.login-welcome h2{font-size:26px}.login-input-wrap{height:47px}.login-submit{height:49px}.login-security{margin-top:18px}.login-footer{bottom:22px}.showcase-copy{margin-top:8vh}.showcase-logo{width:54px;height:54px;margin-bottom:16px}.showcase-copy>p{margin:14px 0 20px;line-height:1.65}.showcase-feature{min-height:66px}}
@media(max-width:1040px){body.login-page{overflow-y:auto}.login-layout{display:block;height:auto;min-height:100vh}.login-form-side{min-height:100vh;padding:54px 28px 92px}.login-showcase{display:none}}
@media(max-width:560px){.login-form-side{align-items:flex-start;padding:24px 16px 76px}.login-card{padding:27px 22px 24px;border-radius:14px}.login-brand{gap:12px}.login-brand-logo{width:50px;height:50px;flex-basis:50px;border-radius:12px}.login-brand h1{font-size:18px}.login-brand p{font-size:12px}.login-welcome{margin:30px 0 22px}.login-footer{bottom:24px;gap:10px;font-size:11px}}