:root{--ink:#17202a;--muted:#667085;--line:#d8e0e5;--green:#176b4d;--nav:#202a33;--soft:#f4f6f8}*{box-sizing:border-box}body{margin:0;min-height:100vh;font:14px "Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--soft)}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(300px,38%) 1fr}.login-brand{display:flex;align-items:center;justify-content:center;gap:14px;background:var(--nav);color:#fff}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:6px;background:#d9e7df;color:#184d39;font-size:20px;font-weight:800}.login-brand strong,.login-brand span{display:block}.login-brand strong{font-size:20px}.login-brand span{margin-top:5px;color:#9eacb6;font-size:12px}.login-panel{display:flex;align-items:center;justify-content:center;padding:32px;background:#fff}.login-form-wrap{width:min(380px,100%)}.login-heading{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}.login-heading h1{margin:0 0 7px;font-size:24px}.login-heading p{margin:0;color:var(--muted)}form{display:grid;gap:18px}label{display:grid;gap:7px;color:#3e4a54;font-size:13px;font-weight:600}input{height:42px;border:1px solid #bfc9d1;border-radius:5px;padding:0 12px;font:inherit;color:var(--ink);background:#fbfcfd}input:focus{outline:2px solid rgba(23,107,77,.14);border-color:var(--green)}button{height:42px;border:1px solid var(--green);border-radius:5px;background:var(--green);color:#fff;font:inherit;font-weight:700;cursor:pointer}button:disabled{opacity:.55;cursor:wait}.form-message{min-height:18px;color:#b24332;font-size:12px}.form-message.ok{color:var(--green)}.password-rule{margin-top:-10px;color:var(--muted);font-size:11px}.hidden{display:none}@media(max-width:720px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:140px}.login-panel{align-items:flex-start;padding-top:48px}}