.login-page{background:linear-gradient(145deg, var(--paper), var(--soft));gap:28px;min-height:100dvh;padding:28px 24px}.login-topbar{justify-content:space-between;align-items:center;gap:16px;width:min(1080px,100%);display:flex}.login-back{color:var(--brand);text-underline-offset:4px;padding:12px 0;font-size:13px;text-decoration:underline}.login-page .login-card{border-radius:20px;width:min(440px,100%);margin:auto 0 0;padding:36px;box-shadow:0 16px 48px #1f302914}.login-context{color:var(--brand);margin:0 0 10px;font-size:13px;font-weight:700}.login-card h1{letter-spacing:-.8px;margin:0 0 10px;font-size:clamp(27px,4vw,32px);line-height:1.15}.login-heading>p:last-child{color:#596475;margin:0;font-size:14px;line-height:1.5}.login-card .login-form{gap:20px;margin-top:26px}.login-field{gap:8px;min-width:0;display:grid}.login-form .login-field>label{color:var(--ink);font-size:14px}.login-form .login-field input{border-radius:10px;min-width:0;min-height:48px;font-size:16px}.login-card .login-field-help{color:#596475;margin:0;font-size:12px;line-height:1.5}.login-card .password-control{gap:8px}:root .login-card .password-control button{min-width:80px;min-height:48px;color:var(--ui-link);background:var(--ui-surface-soft);padding:8px 12px}:root .login-card .password-control button:hover:not(:disabled){background:var(--ui-surface-soft);border-color:var(--ui-link)}.login-card .password-control button:disabled{opacity:.6;cursor:wait}.login-form .login-submit{gap:10px;width:100%;min-height:48px;transition:background-color .2s}.login-form .login-submit:hover{transform:none}.login-form .login-error{overflow-wrap:anywhere;margin:0;padding:12px 14px;font-size:13px;line-height:1.5}.login-error strong{margin-bottom:4px;display:block}.login-error p{margin:0}.login-form .login-warning{color:#735000;background:#fff5d6;border-radius:8px;margin:0;padding:8px 10px;font-size:12px}.login-progress:empty{display:none}.recovery-login-link{align-items:center;width:fit-content;min-height:44px;display:inline-flex}.login-progress{text-align:center;color:#596475;font-size:12px}.login-register{border-top:1px solid var(--line);text-align:center;margin-top:24px;padding-top:20px;font-size:13px;line-height:1.5}.login-register p{color:#596475;margin:0 0 4px}.login-register a{min-height:44px;color:var(--brand);text-underline-offset:4px;align-items:center;padding:4px 8px;font-weight:700;text-decoration:underline;display:inline-flex}.login-support{color:#596475;text-align:center;max-width:390px;margin:0 0 auto;font-size:12px;line-height:1.6}.login-page a:focus-visible,.login-page button:focus-visible,.login-error:focus{outline:3px solid var(--brand);outline-offset:3px}.login-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@media (max-width:600px){.login-page{gap:24px;padding:16px}.login-page .login-card{margin:0;padding:26px 22px;box-shadow:0 8px 24px #1f30290f}.login-card .login-form{margin-top:24px}.login-topbar .brand{font-size:18px}.login-back{font-size:12px}.login-support{margin:0}}@media (max-width:360px){.login-page{gap:20px;padding:12px}.login-page .login-card{padding:24px 18px}.login-card .password-control button{min-width:70px;padding:8px}}@media (prefers-reduced-motion:reduce){.login-spinner{animation:none}.login-form .login-submit{transition:none}}
