/* Login presentation only; authentication remains in the original login.js. */
body.sf-login-page{margin:0;background:#f7f7f8;color:#202124;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;min-height:100vh}
.sf-login-page *{box-sizing:border-box}
.sf-login-page a{color:inherit;text-decoration:none}
.sf-auth-nav{max-width:1200px;margin:auto;min-height:96px;padding:24px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #e6e6e9}
.sf-auth-brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:650;min-width:0}
.sf-auth-brand img{width:40px;height:40px;object-fit:contain;padding:3px;background:#fff8e8;border-radius:11px;flex-shrink:0}
.sf-auth-back{white-space:nowrap;font-size:13px;color:#62666d!important}
.sf-auth-back span{padding-left:12px}
.sf-login-page .sf-auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,430px);gap:80px;max-width:1120px;min-height:calc(100vh - 154px);margin:auto;padding:52px 40px;background:none;overflow:visible;align-items:center}
.sf-login-page .sf-auth-layout::before,.sf-login-page .sf-auth-layout::after{display:none}
.sf-auth-eyebrow{color:#6b7078;font-size:12px;letter-spacing:.12em;margin:0 0 18px}
.sf-auth-intro h1{font-size:clamp(30px,3.2vw,45px);font-weight:700;line-height:1.45;letter-spacing:-1.7px;margin:0 0 22px}
.sf-auth-intro h1 span{color:#73767c}
.sf-auth-description{color:#777b82;font-size:14px;line-height:1.9;margin:0}
.sf-auth-art{position:relative;isolation:isolate;width:270px;height:210px;margin:25px 0 12px;display:flex;align-items:center;justify-content:center}
.sf-auth-orbit{position:absolute;width:240px;height:150px;bottom:18px;background:#f3e9b6;border-radius:50%;transform:rotate(-12deg);z-index:-1}
.sf-auth-art img{width:210px;height:210px;object-fit:contain;transform:rotate(-5deg)}
.sf-auth-shortcuts{display:flex;gap:24px;font-size:12px;color:#666b73}
.sf-auth-shortcuts a:hover,.sf-auth-back:hover{text-decoration:underline}
.sf-login-page .auth-card{max-width:none;padding:36px;background:#fff;color:#202124;border:1px solid #e6e6e9;border-radius:24px;box-shadow:0 16px 50px #232b3b06;backdrop-filter:none;-webkit-backdrop-filter:none}
.sf-auth-card-heading{margin-bottom:28px}
.sf-auth-card-heading .sf-auth-eyebrow{margin-bottom:10px}
.sf-auth-card-heading h2{font-size:28px;font-weight:650;letter-spacing:-.8px;margin:0 0 10px;color:#202124}
.sf-auth-card-heading>p:last-child{font-size:13px;color:#777b82;margin:0;line-height:1.7}
.sf-login-page .form-floating>.form-control{border:1px solid #dedfe3;border-radius:12px;background:#fafafb;color:#22252a;font-size:14px;box-shadow:none}
.sf-login-page .form-floating>label{font-size:13px;color:#787e86}
.sf-login-page .form-floating>label::after{background:none!important}
.sf-login-page .form-control:focus{border-color:#0874e4;background:#fff;color:#202124;box-shadow:0 0 0 3px #0874e416}
.sf-login-page .auth-card .text-link{color:#0874d8}
.sf-login-page .auth-card .text-link:hover{text-decoration:underline}
.sf-login-page .form-check{color:#6b7078}
.sf-login-page .form-check label{font-size:12px}
.sf-login-page .form-check input[type=checkbox]{border-color:#babfc6;box-shadow:none;flex-shrink:0}
.sf-login-page .form-check input[type=checkbox]:checked{background:#0874e4;border-color:#0874e4}
.sf-login-page .image-code{width:100%;max-width:150px;height:48px;object-fit:contain;margin-left:0;border:1px solid #e4e6ea;border-radius:10px}
.sf-login-page .btn-gradient{background:#0874e4;background-image:none;color:#fff;border-radius:12px;min-height:48px;box-shadow:none;font-size:15px;font-weight:600}
.sf-login-page .btn-gradient:hover{background:#0063c9;transform:none;filter:none;box-shadow:none}
.sf-login-page .btn-passkey{background:#fff;color:#555d67;border:1px solid #e2e4e8;box-shadow:none;font-size:13px;font-weight:500;letter-spacing:0}
.sf-login-page .btn-passkey[hidden]{display:none}
.sf-login-page .btn-passkey:hover{background:#f7f8fa;border-color:#bec5cf;transform:none;box-shadow:none}
.sf-login-page .btn-passkey__badge{background:#edf3fa;color:#3873b2;box-shadow:none}
.sf-login-page .btn-passkey:hover .btn-passkey__badge{box-shadow:none}
.sf-login-page .auth-card .text-center{color:#777b82;font-size:12px!important}
.sf-auth-footer{text-align:center;font-size:11px;color:#878b92;padding:0 24px 24px;line-height:1.6}
.sf-login-page a:focus-visible,.sf-login-page button:focus-visible,.sf-login-page input:focus-visible{outline:2px solid #0874e4;outline-offset:4px}
@media(max-width:900px){.sf-login-page .sf-auth-layout{gap:35px;padding:40px 28px}.sf-auth-nav{padding:20px 28px}.sf-auth-intro h1{font-size:32px;letter-spacing:-1px}.sf-login-page .auth-card{padding:28px}}
@media(max-width:700px){.sf-auth-nav{padding:18px 20px;min-height:80px;gap:12px}.sf-auth-brand{font-size:13px;gap:8px}.sf-auth-brand span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-auth-back{font-size:12px}.sf-auth-back span{padding-left:2px}.sf-login-page .sf-auth-layout{display:block;max-width:460px;min-height:0;padding:30px 20px}.sf-auth-intro{display:none}.sf-login-page .auth-card{padding:28px 24px;border-radius:20px}.sf-auth-card-heading{margin-bottom:24px}.sf-auth-card-heading h2{font-size:26px}.sf-auth-footer{padding-bottom:30px}}
@media(max-width:360px){.sf-auth-nav{padding:16px 14px}.sf-auth-brand span{max-width:155px}.sf-login-page .sf-auth-layout{padding:24px 14px}.sf-login-page .auth-card{padding:24px 18px}}
