*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--xtop-color-text-primary,#171a1c);background:var(--xtop-color-surface-page,#f7f8f8);font-family:var(--xtop-typography-font-family-sans,Inter,"Microsoft YaHei",sans-serif);font-size:14px;-webkit-font-smoothing:antialiased}body{min-width:280px}button,input{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--xtop-color-border-focus,#0f1419);outline-offset:3px}.login-shell{display:flex;flex-direction:column;min-height:100svh;max-width:1440px;margin:auto;padding:40px 48px 28px}.login-brand{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;font-size:25px;font-weight:650;letter-spacing:-1.2px;line-height:40px}.login-brand img{display:block;border-radius:8px}.login-content{width:min(100%,360px);margin:auto;align-self:center;padding:64px 0 76px;animation:login-enter .3s ease-out both}.login-heading{margin-bottom:32px}.login-eyebrow{font-size:12px;font-weight:600;color:var(--xtop-color-text-muted,#73787d);margin:0 0 12px;letter-spacing:2px}.login-heading h1{font-size:28px;font-weight:600;line-height:1.35;letter-spacing:-.7px;margin:0 0 12px}.login-heading>p:last-child{margin:0;color:var(--xtop-color-text-secondary,#5b6065);font-size:14px;line-height:1.7}.login-field{display:flex;flex-direction:column;gap:9px;margin:0 0 22px;font-size:13px;font-weight:500}.login-field input{height:46px;border:1px solid var(--xtop-color-border-default,#dcdddf);border-radius:6px;background:#fff;color:var(--xtop-color-text-primary,#171a1c);width:100%;min-width:0;padding:0 13px;transition:border-color .15s,box-shadow .15s}.login-field input::placeholder{color:#8b9095;font-weight:400}.login-field input:focus{border-color:#0f1419;box-shadow:0 0 0 2px rgba(15,20,25,.06)}.login-field input:disabled{color:#73787d;background:#f1f2f3}.login-password-wrap{display:flex;position:relative}.login-password-wrap input{padding-right:64px}.login-reveal{position:absolute;right:5px;top:5px;height:36px;min-width:48px;border:0;border-radius:4px;background:transparent;color:#5b6065;font-size:12px}.login-reveal:hover:not(:disabled){background:#f1f2f3;color:#0f1419}.login-reveal:disabled{opacity:.5}.login-submit{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;width:100%;border:1px solid #0f1419;border-radius:6px;background:#0f1419;color:#fff;font-weight:500;transition:background .15s,transform .15s;margin-top:28px}.login-submit:hover:not(:disabled){background:#272c30}.login-submit:active:not(:disabled){transform:translateY(1px)}.login-submit:disabled{background:#c5c8cb;border-color:#c5c8cb;color:#fff}.login-submit[aria-busy=true]{background:#272c30;border-color:#272c30}.login-spinner{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:login-spin .75s linear infinite}.login-submit[aria-busy=true] .login-spinner{display:block}.login-error{padding:11px 12px;margin:0 0 12px;border:1px solid #edbdb7;border-radius:6px;background:#fcedea;color:#a52b20;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.login-retry{display:block;border:0;background:none;color:#3f4448;font-size:12px;text-decoration:underline;text-underline-offset:4px;margin:16px auto 0;min-height:36px;padding:6px 14px}.login-status{margin:18px 0 0;color:#73787d;font-size:12px;line-height:1.7;min-height:20px;text-align:center}.login-footer{display:flex;align-items:center;justify-content:center;gap:7px;color:#8b9095;font-size:11px;line-height:20px}.login-footer-mark{width:4px;height:4px;background:#73787d;border-radius:50%}[hidden]{display:none!important}@keyframes login-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes login-spin{to{transform:rotate(360deg)}}@media(max-width:600px){.login-shell{padding:26px 26px 22px}.login-content{padding:60px 0 64px}.login-brand{font-size:23px;gap:10px}.login-brand img{width:34px;height:34px}.login-heading h1{font-size:26px}.login-heading{margin-bottom:28px}.login-field input{font-size:16px}.login-footer{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
