@font-face{font-family:Geist;src:url('/fonts/geist-latin.woff2') format('woff2');font-display:swap}
@font-face{font-family:GeistMono;src:url('/fonts/geist-mono-latin.woff2') format('woff2');font-display:swap}
:root{color-scheme:light;--ink:#1a1c1e;--muted:#73767a;--line:#dedfdf;--yellow:#f4b400}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);font-family:Geist,"Microsoft YaHei","PingFang SC",Arial,sans-serif;background:#f1f2ef}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.login-header{height:88px;padding:0 4%;display:flex;align-items:center;background:#fff;gap:24px}
.login-header img{display:block;width:202px;height:auto}
.header-divider{height:30px;width:1px;background:var(--line)}
.header-title{font-size:14px;letter-spacing:1px}
.website{margin-left:auto;font-size:13px;color:#55595b;white-space:nowrap}
.website span{margin-left:12px}
.login-scene{position:relative;isolation:isolate;min-height:calc(100svh - 144px);padding:64px 8%;display:flex;align-items:center;justify-content:space-between;gap:64px;background:#47565a url('/brand/factory.webp') center center/cover no-repeat}
.scene-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,24,29,.75) 0%,rgba(16,27,33,.42) 47%,rgba(16,27,33,.12) 100%)}
.intro{color:#fff;align-self:stretch;display:flex;flex-direction:column;justify-content:center;position:relative;padding:28px 0 72px}
.eyebrow{font:12px GeistMono,monospace;letter-spacing:2px;display:flex;align-items:center;gap:12px}
.eyebrow span{width:7px;height:7px;background:var(--yellow)}
h1{font-size:clamp(32px,3.7vw,58px);line-height:1.4;letter-spacing:1px;font-weight:600;margin:22px 0}
.description{font-size:17px;color:#e4e8e8;letter-spacing:1px;line-height:1.8}
.factory-caption{position:absolute;bottom:12px;display:flex;align-items:center;gap:12px;color:#e0e5e6;font-size:12px;letter-spacing:1px}
.factory-caption span{width:28px;height:1px;background:#d2d6d7}
.login-card{flex:0 0 420px;max-width:100%;background:#fff;padding:36px 38px 30px;box-shadow:0 20px 60px #0d181d30;border-top:3px solid var(--yellow)}
.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font:10px GeistMono,monospace;letter-spacing:1.5px;color:#85878a}
.preview-label{font-family:inherit;letter-spacing:1px;color:#796327;background:#fff7dd;padding:5px 8px}
h2{margin:25px 0 10px;font-size:28px;font-weight:600;letter-spacing:1px}
.card-description{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 27px}
label{display:block;font-size:13px;font-weight:600;margin:20px 0 9px}
input{border:1px solid #d9dcdd;border-radius:0;width:100%;height:48px;padding:0 13px;background:#fafbf9;color:var(--ink);font-size:14px;outline:none}
input:focus{border-color:#b28a20;box-shadow:0 0 0 2px #f4b40025;background:#fff}
input::placeholder{color:#989b9d}
.password-field{position:relative}
.password-field input{padding-right:62px}
#toggle-password{position:absolute;right:1px;top:1px;height:46px;width:58px;background:none;border:0;color:#777b7f;font-size:12px;cursor:pointer}
.message{min-height:39px;padding:10px 0 7px;color:#ac302a;font-size:12px;line-height:1.7}
.submit{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 18px;height:48px;border:1px solid var(--yellow);background:var(--yellow);color:#17191b;cursor:pointer;font-size:15px;font-weight:600;transition:background .15s}
.submit:hover{background:#ffc629}
.submit:disabled{opacity:.65;cursor:wait}
button:focus-visible,a:focus-visible{outline:2px solid #ad7f00;outline-offset:3px}
.account-help{font-size:11px;color:#85878a;line-height:1.9;margin:18px 0 24px}
.card-note{padding-top:20px;border-top:1px solid #e8e9e7;display:flex;align-items:flex-start;gap:10px}
.card-note>span{background:var(--yellow);width:5px;height:5px;margin-top:7px;flex-shrink:0}
.card-note p{font-size:11px;line-height:1.9;color:#85878a;margin:0}
.login-footer{min-height:56px;padding:16px 4%;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#85878a;letter-spacing:.5px}
.login-footer b{font:10px GeistMono,monospace;margin-left:8px}
@media(min-width:1600px){.login-scene{padding-left:12%;padding-right:12%}}
@media(max-width:1000px){.login-scene{gap:32px;padding:45px 5%}.login-card{flex-basis:380px;padding:30px}.header-title{font-size:12px}.intro h1{font-size:34px}}
@media(max-width:700px){.login-header{height:72px;padding:0 22px;gap:16px}.login-header img{width:166px}.header-title,.header-divider{display:none}.website{font-size:11px}.login-scene{min-height:calc(100svh - 128px);display:block;padding:25px 22px 36px;background-position:42% center}.scene-shade{background:rgba(15,28,33,.52)}.intro{padding:0}.intro .eyebrow{font-size:9px;letter-spacing:1.3px;margin:8px 0 14px}.intro h1,.description,.factory-caption{display:none}.login-card{width:100%;max-width:420px;margin:0 auto;padding:28px}.login-footer{padding:15px 22px;flex-wrap:wrap;line-height:1.7;font-size:9px}.login-card h2{margin-top:20px}}
