html{min-height:100%;height:auto;overflow:auto}
.login-page{min-height:100dvh;height:auto;overflow:visible;display:grid;place-items:center;padding:40px 20px;background:var(--chat-bg);isolation:isolate}
.login-page:before{content:"";position:fixed;inset:0;z-index:-1;background-image:url('/static/chat-pattern.svg');background-size:420px;opacity:var(--pattern-opacity);pointer-events:none}
.login-card{width:408px;max-width:100%;padding:40px 38px 38px;border:1px solid var(--line);border-radius:24px 24px 8px 24px;background:var(--panel);box-shadow:0 14px 70px #19142412}
.login-card h1{text-align:center;font-size:36px;line-height:1.2;font-weight:600;letter-spacing:-1.25px;margin:0 0 34px}
.login-card label{display:block;margin:0 0 8px;font-size:12px;font-weight:500;color:var(--muted)}
.login-card input{display:block;width:100%;height:52px;margin:0 0 22px;padding:0 15px;border:1px solid var(--line);border-radius:11px;background:var(--panel-soft);font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}
.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}
.login-card input::placeholder{font-size:13px}
.login-card input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--panel-soft) inset;-webkit-text-fill-color:var(--ink);caret-color:var(--ink)}
.login-card #otp{letter-spacing:.5px}
.login-card .error{font-size:12px;line-height:1.6;color:var(--danger);overflow-wrap:anywhere;margin:0 0 18px}
.login-card .error:empty{display:none}
.login-submit{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:51px;margin-top:6px;padding:13px 18px;border-radius:11px;background:#7962cf;color:#fff;font-size:14px;font-weight:600;transition:background .15s}
.login-submit:hover:not(:disabled){background:#6b54c4}.login-submit svg{width:20px;height:20px}
[data-theme="dark"] .login-card{box-shadow:0 14px 70px #0004}
[data-theme="dark"] .login-submit{background:var(--selected)}
[data-theme="dark"] .login-submit:hover:not(:disabled){background:#907ee1}
@media(max-width:480px){.login-page{padding:28px 20px}.login-card{padding:32px 26px 30px;border-radius:21px 21px 7px 21px}.login-card h1{font-size:32px;margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){.login-card input,.login-submit{transition:none}}
