:root{--ink:#172033;--muted:#758198;--line:#e2e7f0;--primary:#315efb;--soft:#eff3ff}*{box-sizing:border-box}body{min-height:100vh;margin:0;background:radial-gradient(circle at 12% 12%,#e4ebff 0,transparent 32%),radial-gradient(circle at 88% 88%,#e5f8f1 0,transparent 29%),#f6f8fc;color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px}.login-card{width:min(420px,100%);padding:42px 38px 36px;border:1px solid rgba(255,255,255,.84);border-radius:22px;background:rgba(255,255,255,.93);box-shadow:0 22px 60px rgba(40,62,108,.14)}.brand-mark{display:grid;width:46px;height:46px;place-items:center;margin-bottom:22px;border-radius:14px;background:var(--soft);color:var(--primary);font-size:22px}.eyebrow{margin:0 0 7px;color:var(--primary);font-size:11px;font-weight:850;letter-spacing:.11em}.login-card h1{margin:0;font-size:28px;letter-spacing:-.04em}.intro{margin:11px 0 26px;color:var(--muted);font-size:13px;line-height:1.7}.login-form{display:grid;gap:9px}.login-form label{font-size:12px;font-weight:800;color:#455167}.login-form input{width:100%;height:46px;padding:0 13px;border:1px solid var(--line);border-radius:10px;outline:0;background:#fbfcfe;color:var(--ink);font:600 14px inherit;transition:.18s}.login-form input:focus{border-color:#91abff;box-shadow:0 0 0 3px rgba(49,94,251,.12);background:#fff}.login-form button{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;margin-top:10px;border:0;border-radius:10px;background:var(--primary);box-shadow:0 9px 16px rgba(49,94,251,.22);color:#fff;font:800 14px inherit;cursor:pointer;transition:.18s}.login-form button:hover{transform:translateY(-1px);background:#244ddd}.login-form button span{font-size:17px}.login-error{margin:-4px 0 17px;padding:10px 11px;border:1px solid #ffdce2;border-radius:9px;background:#fff2f4;color:#cc4059;font-size:12px;line-height:1.5}@media(max-width:480px){.login-card{padding:34px 24px 28px;border-radius:18px}}