.auth-page{--auth-ink:#2c323b;--auth-muted:#66717c;--auth-link:#007f73;display:grid;place-items:center;min-height:100dvh;padding:100px 24px 140px;position:relative;background:#fff;color:var(--auth-ink);font-family:Inter,Noto Sans SC,Microsoft YaHei,PingFang SC,sans-serif}.auth-page :where(a,button,input):focus-visible{outline:2px solid var(--auth-link);outline-offset:3px}.auth-topbar{position:absolute;inset:28px 48px auto;display:flex;justify-content:space-between;gap:20px;color:var(--auth-muted);font-size:14px;line-height:22px}.auth-back,.auth-topbar{align-items:center;min-height:44px}.auth-back{display:inline-flex;gap:8px;border-radius:6px}.auth-back:hover{color:var(--auth-link)}.auth-stack{width:100%;max-width:600px;align-items:stretch;gap:24px}.auth-card,.auth-stack{min-width:0;display:flex;flex-direction:column}.auth-card{gap:32px;min-height:602px;padding:47px 59px;border:1px solid #e4e9ec;border-radius:18px;background:#fff}.auth-heading{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}.auth-brand{width:auto;height:40px;max-width:100%;-o-object-fit:contain;object-fit:contain}.auth-heading h1{font-size:28px;line-height:40px;font-weight:700}.auth-heading p{margin-top:8px;color:var(--auth-muted);font-size:14px;line-height:22px}.auth-fields{display:flex;flex-direction:column;gap:24px;border:0;padding:0;margin:0;min-width:0}.auth-field>label{display:block;font-size:14px;line-height:22px;margin-bottom:8px}.auth-input-wrap{position:relative}.auth-input-wrap>svg{position:absolute;left:16px;top:18px;width:20px;height:20px;color:var(--auth-muted);pointer-events:none;stroke-width:1.7}.auth-input-wrap input{width:100%;min-width:0;height:56px;padding:0 16px 0 46px;border:1px solid #dce3e8;border-radius:10px;background:#f5f7f8;color:var(--auth-ink);font-size:16px;line-height:24px}.auth-input-wrap input::-moz-placeholder{color:#6b7785;opacity:1}.auth-input-wrap input::placeholder{color:#6b7785;opacity:1}.auth-input-wrap input[name=password]{padding-right:56px}.auth-input-wrap input[aria-invalid=true]{border-color:#ba3d3d}.auth-password-toggle{position:absolute;right:6px;top:6px;display:grid;place-items:center;width:44px;height:44px;border-radius:8px;color:var(--auth-muted)}.auth-password-toggle:hover{background:#e9eef0}.auth-password-toggle svg{width:20px;height:20px;stroke-width:1.7}.auth-alternatives{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 12px;min-height:44px;margin-top:12px;font-size:14px;line-height:22px;color:var(--auth-muted)}.auth-alternatives a,.auth-alternatives button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding-inline:6px;border-radius:6px}.auth-alternatives a:hover,.auth-alternatives button:hover{text-decoration:underline;text-underline-offset:3px}.auth-switch{display:flex;align-items:center;gap:4px;margin-left:auto}.auth-switch button{color:var(--auth-link);font-weight:500}.auth-submit{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;width:100%;border-radius:10px;background:#00c7b1;color:#073e39;font-size:16px;font-weight:500}.auth-submit:hover:not(:disabled){background:#00bba7}.auth-submit:disabled{cursor:wait;opacity:.7}.auth-submit svg{width:20px;height:20px;animation:auth-spin 1s linear infinite}.auth-demo{min-height:44px;margin-top:8px;color:var(--auth-link);font-size:13px}.auth-policy{min-height:24px;padding-inline:60px;color:var(--auth-muted);font-size:12px;line-height:18px}.auth-policy-row{display:flex;align-items:center;gap:10px;min-width:0;white-space:nowrap}.auth-policy-row input{width:16px;height:16px;flex-shrink:0;margin:0}@keyframes auth-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.auth-submit svg{animation:none}}@media (max-width:699px){.auth-page{padding:92px 16px max(28px,env(safe-area-inset-bottom));align-items:start}.auth-topbar{inset:16px 20px auto;font-size:12px}.auth-topbar>p{display:none}.auth-card{min-height:0;padding:28px 24px;gap:24px}.auth-heading{gap:20px}.auth-brand{height:34px}.auth-heading h1{font-size:24px;line-height:34px}.auth-heading p{font-size:12px;line-height:20px}.auth-fields{gap:20px}.auth-alternatives{font-size:12px;gap:0 4px}.auth-alternatives a,.auth-alternatives button{padding-inline:2px}.auth-stack{gap:20px}.auth-policy{padding-inline:0;font-size:11px}}@media (max-width:359px){.auth-policy{font-size:10px}}