:root{font-family:'Segoe UI','Microsoft YaHei',sans-serif;color:#20313f;background:#f4f7f6}*{box-sizing:border-box}body{margin:0}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,440px);align-items:center;gap:70px;max-width:1140px;padding:48px 32px;margin:auto}.brand{color:#127d68;font-size:22px;font-weight:700;margin-bottom:64px}.intro h1{font-size:40px;line-height:1.5;letter-spacing:-1px;margin:0 0 20px}.intro p{color:#72837d;line-height:1.8}.steps{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:42px;font-size:13px;color:#547567}.steps span{padding:10px 14px;background:#e5efea;border-radius:8px}.steps i{font-style:normal;color:#8aa89b}.login-card{background:white;border:1px solid #e1e9e5;padding:38px;border-radius:18px;box-shadow:0 18px 60px #173c2b08}.eyebrow{font-size:12px;letter-spacing:2px;color:#127d68}.login-card h2{font-size:26px;margin:12px 0}.login-card p{font-size:13px;line-height:1.8;color:#7b8795}label{display:block;margin-top:22px;font-size:13px;font-weight:600}input{display:block;width:100%;min-width:0;margin-top:9px;font:inherit;padding:13px 12px;border:1px solid #dce5df;border-radius:8px;background:#fbfcfb;color:#20313f;outline:none}input:focus{border-color:#127d68;box-shadow:0 0 0 3px #127d6810}.password-row{display:flex;gap:8px;align-items:center}.password-row input{flex:1}.password-row button{margin-top:9px;padding:12px 8px;border:0;background:transparent;color:#127d68;font:inherit;cursor:pointer}.submit{border:0;background:#127d68;color:#fff;width:100%;padding:14px;border-radius:8px;margin-top:10px;font:inherit;font-weight:600;cursor:pointer}.submit:disabled{opacity:.55;cursor:wait}.login-card .message{min-height:24px;color:#b0443f;margin:16px 0 2px}.footer-note{text-align:center;margin-top:24px}.setup-note code{word-break:break-all;font-size:12px}[hidden]{display:none!important}@media(max-width:780px){.login-shell{grid-template-columns:1fr;gap:22px;padding:28px 18px;max-width:480px}.brand{margin-bottom:24px}.intro h1{font-size:27px}.steps{display:none}.login-card{padding:26px}.intro p{font-size:13px}}@media(prefers-reduced-motion:no-preference){input,.submit{transition:border-color .15s,opacity .15s}}
:root .login-options{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:22px}.login-options label{display:flex;align-items:center;gap:8px;margin:0;font-weight:400;cursor:pointer}.login-options input[type=checkbox]{width:16px;height:16px;min-width:16px;padding:0;margin:0;accent-color:#127d68}.login-card .remember-note{font-size:12px;margin:10px 0 0;color:#78877f}
