body.nx.auth-page { margin: 0; min-height: 100svh; padding: 40px 22px; display: grid; place-items: center; }
.auth { width: 100%; max-width: 430px; }
.auth-brand { display: inline-block; margin-bottom: 36px; }
.auth-brand img { height: 28px; width: auto; }
.auth h1 { font-size: 32px; line-height: 1.15; letter-spacing: -.025em; margin: 0 0 12px; }
.auth-intro { color: var(--ink-soft); font-size: 16px; line-height: 1.6; margin: 0 0 28px; }
.auth .nx-input { min-height: 46px; font-size: 16px; }
.auth .nx-field > span { font-size: 14px; }
.auth-submit { width: fit-content; min-height: 46px; margin-top: 8px; }
.auth-footer { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 20px; font-size: 14px; line-height: 1.8; color: var(--ink-soft); }
.auth a { color: var(--rose-deep); }
.auth-note { font-size: 13px; line-height: 1.5; color: var(--muted); }
.auth-error { color: var(--late); background: var(--rose-faint); border: 1px solid var(--line); padding: 12px; margin: 16px 0; font-size: 14px; line-height: 1.5; border-radius: var(--r-sm); }
.auth-error[hidden] { display: none; }
.auth-status { padding: 18px 0; color: var(--ink-soft); line-height: 1.6; }
.auth a:focus-visible { outline: 2px solid var(--rose-deep); outline-offset: 4px; }

.auth .nx-sandbox-banner { margin-top:24px; }
.verification { margin-block:16px; max-width:100%; min-width:0; }

.auth [hidden] { display:none !important; }
