.auth-screen{min-height:100svh;display:grid;align-items:center;padding:48px 24px;color:var(--g-ink);background:var(--g-bg);font-family:var(--font-sans),system-ui,sans-serif}.auth-frame{width:min(100%,900px);margin:0 auto;display:grid;grid-template-columns:280px minmax(0,1fr);overflow:hidden;border:1px solid var(--g-line);border-radius:var(--g-r-card);background:var(--g-card);box-shadow:var(--shadow-pop)}.auth-context{display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:32px 28px;background:var(--g-card-2);border-right:1px solid var(--g-line)}.auth-brand{width:56px;height:auto}.auth-context-main h2{margin:18px 0 22px;font-size:var(--g-fs-title);font-weight:500;color:var(--g-ink)}.auth-product-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--g-r-input);background:var(--g-accent-soft);color:var(--g-accent)}.auth-steps{display:grid;gap:12px;margin:0;padding:0;list-style:none;color:var(--g-muted);font-size:var(--g-fs-body)}.auth-steps li{display:flex;align-items:center;gap:10px}.auth-steps li.is-current{color:var(--g-ink)}.auth-step-number{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--g-line);font-size:var(--g-fs-cap)}.auth-steps li.is-current .auth-step-number{border-color:var(--g-accent);color:var(--g-accent)}.auth-steps li.is-complete .auth-step-number{background:var(--g-accent-soft);border-color:transparent;color:var(--g-accent)}.auth-context-footer{color:var(--g-dim);font-size:var(--g-fs-cap)}.auth-panel{display:grid;align-content:start;gap:20px;padding:40px 44px;min-width:0}.auth-heading h1{margin:0;font-size:var(--g-fs-section);font-weight:500;color:var(--g-ink);outline:none}.auth-heading p{margin:8px 0 0;color:var(--g-muted);font-size:var(--g-fs-body);line-height:1.55}.auth-account{display:inline-block;margin-top:10px;padding:3px 9px;border-radius:999px;background:var(--g-badge);color:var(--g-badge-ink);font-size:var(--g-fs-cap)}.auth-error{display:grid;gap:4px;padding:12px 14px;border-radius:var(--g-r-input);background:var(--g-err-soft);color:var(--g-err);font-size:var(--g-fs-body);outline:none}.auth-form{display:grid;gap:16px}.auth-field{display:grid;gap:7px}.auth-field label{color:var(--g-muted);font-size:var(--g-fs-cap)}.auth-input-base{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--g-line);border-radius:var(--g-r-input);background:var(--g-bg);color:var(--g-ink);font:inherit;font-size:var(--g-fs-body)}.auth-input-base:focus-visible{outline:2px solid var(--g-accent);outline-offset:1px}.auth-code-input{font-family:var(--font-mono),ui-monospace,monospace;letter-spacing:.3em;font-size:20px;text-align:center}.auth-password{position:relative}.auth-password .auth-input-base{padding-right:46px}.auth-password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--g-r-input);background:transparent;color:var(--g-muted);cursor:pointer}.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid transparent;border-radius:var(--g-r-input);background:var(--g-ink);color:var(--g-ink-inverse);font:inherit;font-size:var(--g-fs-body);font-weight:500;cursor:pointer}.auth-btn-outline{background:transparent;color:var(--g-ink);border-color:var(--g-line)}.auth-btn:disabled{opacity:.5;cursor:default}.auth-btn:focus-visible,.auth-password-toggle:focus-visible,.auth-text-button:focus-visible{outline:2px solid var(--g-accent);outline-offset:2px}.auth-passkey-button,.auth-submit{width:100%}.auth-secondary,.auth-text-button{justify-self:start}.auth-text-button{display:inline-flex;align-items:center;gap:6px;padding:4px 0;border:0;background:transparent;color:var(--g-muted);font:inherit;font-size:var(--g-fs-cap);cursor:pointer}.auth-text-button:hover{color:var(--g-ink)}.auth-loading{display:flex;align-items:center;gap:10px;color:var(--g-muted)}.auth-spinner{animation:auth-spin 1s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}.auth-enrollment{display:grid;gap:16px}.auth-qr-area{display:grid;place-items:center;padding:16px;border-radius:var(--g-r-card);background:var(--g-ink)}.auth-qr{width:204px;height:204px;image-rendering:pixelated}.auth-qr-placeholder{display:grid;place-items:center;gap:8px;min-height:204px;color:var(--g-ink-inverse)}.auth-qr-caption,.auth-qr-placeholder{font-size:var(--g-fs-cap);text-align:center}.auth-qr-caption{margin:0;color:var(--g-muted)}.auth-manual{color:var(--g-muted);font-size:var(--g-fs-cap)}.auth-manual summary{cursor:pointer}.auth-manual a{display:inline-flex;align-items:center;gap:4px;color:var(--g-accent)}.auth-secret{display:flex;align-items:center;gap:8px;margin:8px 0;padding:8px 10px;border:1px solid var(--g-line);border-radius:var(--g-r-input)}.auth-secret code{flex:1;overflow-wrap:anywhere;color:var(--g-ink);font-family:var(--font-mono),ui-monospace,monospace}.auth-secret button{display:grid;place-items:center;width:32px;height:32px;border:0;background:transparent;color:var(--g-muted);cursor:pointer}.auth-recovery{display:grid;gap:14px}.auth-recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;border:1px solid var(--g-line);border-radius:var(--g-r-input);background:var(--g-bg)}.auth-recovery-codes code{font-family:var(--font-mono),ui-monospace,monospace;color:var(--g-ink);font-size:var(--g-fs-body)}.auth-recovery-actions{display:flex;flex-wrap:wrap;gap:8px}.auth-saved-check{display:flex;align-items:center;gap:8px;color:var(--g-muted);font-size:var(--g-fs-body)}.auth-missing-codes{margin:0;color:var(--g-err)}.auth-panel-footer{padding-top:8px;border-top:1px solid var(--g-line)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (max-width:760px){.auth-frame{grid-template-columns:1fr}.auth-context{border-right:0;border-bottom:1px solid var(--g-line);padding:22px}.auth-steps{display:none}.auth-panel{padding:28px 22px}}@media (prefers-reduced-motion:reduce){.auth-spinner{animation:none}}