*{box-sizing:border-box}
:root{--login-brand:#1e5961;--login-brand-deep:#184851;--login-aqua:#58b5bd;--login-aqua-strong:#419da8;--login-gold:#deb767;--login-ivory:#fbfaf6;--login-paper:#fffefa;--login-ink:#19364e;--login-muted:#76899a;--login-line:#d8e3e5;--login-danger:#a93830}
html,body{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}
body{min-width:0;background:var(--login-ivory);color:var(--login-ink);font-family:"Microsoft YaHei","Noto Sans SC",system-ui,sans-serif}
.login-shell{display:grid;grid-template-columns:168px minmax(420px,.94fr) minmax(500px,1.06fr);width:100%;min-width:0;height:100vh;min-height:100vh;overflow:hidden;background:var(--login-ivory)}
.login-brand{display:flex;align-items:flex-start;padding:clamp(46px,5.4vw,76px) 22px;background:var(--login-brand);color:#fff}
.login-brand-lockup{display:grid;gap:12px;max-width:124px}
.login-brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:11px;background:var(--login-gold);color:var(--login-brand-deep);font-size:27px;font-weight:900;line-height:1}
.login-brand h1,.login-brand p{margin:0}
.login-brand h1{font-size:23px;line-height:1.2;letter-spacing:-.06em;font-weight:800;white-space:nowrap}
.login-brand p{margin-top:6px;color:#d8e8e9;font-size:12px;line-height:1.45;white-space:nowrap}
.login-workspace{display:grid;align-items:center;min-width:0;padding:clamp(58px,9vh,106px) clamp(34px,4vw,64px) clamp(58px,9vh,106px) clamp(56px,7.5vw,118px);background:var(--login-paper)}
.login-form{display:grid;width:min(100%,390px);min-width:0;gap:18px}
.login-intro{display:grid;gap:9px;margin-bottom:7px}
.login-eyebrow{margin:0;color:#277f8b;font-size:13px;font-weight:800;letter-spacing:.04em}
.login-form h2{margin:0;color:var(--login-ink);font-size:clamp(34px,3.3vw,45px);line-height:1.11;letter-spacing:-.07em;font-weight:850;overflow-wrap:anywhere}
.login-form .login-copy{margin:0;max-width:385px;color:var(--login-muted);font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.login-form label{display:grid;min-width:0;gap:7px;color:#314d63;font-size:14px;font-weight:800}
.login-form label span{line-height:1.2}
.login-form input{display:block;width:100%;min-width:0;height:48px;border:1px solid var(--login-line);border-radius:8px;background:#fff;color:var(--login-ink);padding:0 14px;font:inherit;font-size:15px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.login-form input::placeholder{color:#a9b7c2}
.login-form input:hover{border-color:#a9cdd1}
.login-form input:focus{border-color:var(--login-aqua-strong);box-shadow:0 0 0 3px rgba(88,181,189,.15)}
.login-form button{width:100%;min-height:50px;border:0;border-radius:8px;background:var(--login-aqua);box-shadow:0 7px 16px rgba(45,128,138,.13);color:#fff;font:800 16px inherit;letter-spacing:.02em;cursor:pointer;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
.login-form button:hover{background:var(--login-aqua-strong);box-shadow:0 9px 19px rgba(45,128,138,.2);transform:translateY(-1px)}
.login-form button:focus-visible{outline:3px solid rgba(222,183,103,.82);outline-offset:3px}
.login-option-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:-6px}
.login-form .remember-password-option{display:inline-flex;align-items:center;gap:7px;color:#5d7584;font-size:13px;font-weight:700;cursor:pointer}
.login-form .remember-password-option input{width:17px;min-width:17px;height:17px;min-height:17px;margin:0;padding:0;accent-color:var(--login-aqua-strong);box-shadow:none}
.login-form .remembered-account-clear{width:auto;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;color:#3d8791;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.login-form .remembered-account-clear:hover{background:transparent;color:#236a73;box-shadow:none;transform:none}
.login-security{margin:8px 0 0;color:#8f9dab;font-size:12px;line-height:1.55}
.form-error{border-left:4px solid var(--login-danger);border-radius:0 8px 8px 0;background:#fff2f0;color:#8d2c25;padding:11px 13px;font-size:13px;line-height:1.45}
.login-art{position:relative;min-width:0;overflow:hidden;background:#fbfaf6}
.login-art-copy{position:absolute;z-index:2;top:clamp(78px,10vh,124px);right:clamp(42px,5vw,82px);display:grid;gap:15px;color:#8195a6;text-align:left}
.login-art-copy p{margin:0;font-size:clamp(14px,1.25vw,19px);font-weight:500;letter-spacing:.28em;line-height:1.9;white-space:nowrap}
.login-art-copy i{display:block;width:34px;height:2px;background:#d9ae56}
.login-art img{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;object-fit:cover;object-position:58% center}
@media(max-width:1120px){.login-shell{grid-template-columns:144px minmax(380px,.92fr) minmax(390px,1.08fr)}.login-brand{padding-left:18px;padding-right:18px}.login-workspace{padding-left:46px}.login-art img{object-position:61% center}}
@media(max-width:760px){html,body{width:100%;height:100%;min-width:0;overflow:hidden}.login-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:170px minmax(0,1fr);width:100%;max-width:100vw;height:100vh;min-height:100vh;overflow:hidden}.login-brand{align-items:center;padding:20px 28px}.login-brand-lockup{display:flex;align-items:center;gap:14px;max-width:none;min-width:0}.login-brand-mark{width:58px;height:58px;flex:0 0 58px;border-radius:13px;font-size:31px}.login-brand h1{font-size:29px;letter-spacing:-.07em}.login-brand p{margin-top:4px;font-size:14px;line-height:1.35}.login-workspace{display:block;min-width:0;min-height:0;overflow:hidden;padding:0;background:var(--login-paper)}.login-form{width:100%;max-width:none;min-width:0;height:100%;align-content:start;gap:11px;padding:22px 28px 18px}.login-intro{gap:6px;margin-bottom:4px}.login-eyebrow{font-size:12px}.login-form h2{font-size:31px;line-height:1.1}.login-form .login-copy{font-size:14px;line-height:1.55}.login-form label{gap:5px;font-size:13px}.login-form input{height:46px;border-radius:9px;padding:0 13px;font-size:16px}.login-form button{min-height:50px;border-radius:9px;font-size:15px}.login-option-row{margin-top:-3px}.login-security{margin:2px 0 0;font-size:12px;line-height:1.4}.login-art{display:none}.form-error{padding:8px 10px;font-size:12px}}
@media(max-width:420px){.login-brand{padding-left:24px;padding-right:24px}.login-form{padding-left:24px;padding-right:24px}}
@media(max-height:660px) and (max-width:760px){.login-shell{grid-template-rows:138px minmax(0,1fr)}.login-brand{padding-top:14px;padding-bottom:14px}.login-brand-mark{width:50px;height:50px;flex-basis:50px;border-radius:12px;font-size:27px}.login-brand h1{font-size:26px}.login-brand p{font-size:12px}.login-form{gap:8px;padding-top:14px;padding-bottom:14px}.login-intro{gap:3px;margin-bottom:0}.login-form h2{font-size:27px}.login-form .login-copy{font-size:13px;line-height:1.4}.login-form input{height:42px}.login-form button{min-height:45px}.login-security{font-size:11px}.form-error{padding:7px 9px;font-size:12px}}
