.auth-page{justify-content:center;padding-block:56px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;max-width:440px;box-shadow:var(--shadow-2);padding:40px 32px}.auth-title{letter-spacing:-.02em;text-align:center;margin-bottom:8px;font-size:1.7rem;font-weight:700;line-height:1.15}.auth-sub{color:var(--ink-soft);text-align:center;margin:0 0 28px;font-size:1rem;line-height:1.6}.auth-form[hidden]{display:none}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{flex-direction:column;display:flex}.auth-label{color:var(--ink);margin-bottom:6px;font-size:.9rem;font-weight:600}.auth-input{width:100%;font-size:.95rem;font-family:var(--font-body);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:11px 14px;transition:border-color .15s,box-shadow .15s}.auth-input:focus{border-color:var(--primary-200);box-shadow:var(--shadow-focus);outline:none}.auth-input::placeholder{color:var(--muted)}.auth-help{color:var(--muted);margin-top:5px;font-size:.78rem;line-height:1.5}.auth-field-error{color:#dc2626;margin-top:5px;font-size:.8rem;line-height:1.5}.auth-forgot-link{color:var(--primary-dark);align-self:flex-end;margin-top:-8px;font-size:.8rem}.auth-forgot-link:hover{text-decoration:underline}.auth-submit{width:100%;padding:13px 18px;font-size:1rem}.auth-form-error{color:#991b1b;border-radius:var(--r-sm);background:#fdecec;border:1px solid #dc262640;padding:11px 14px;font-size:.9rem;line-height:1.55}.auth-success{background:var(--success-bg);color:#0c5132;border-radius:var(--r-sm);border:1px solid #15803d40;padding:13px 16px;font-size:.9rem;line-height:1.55}.auth-footer-link{border-top:1px solid var(--line);text-align:center;color:var(--ink-soft);margin-top:24px;padding-top:22px;font-size:.95rem}.auth-footer-link-inline{border-top:none;margin-top:4px;padding-top:0}.auth-footer-link a{color:var(--primary-dark);font-weight:600}.auth-footer-link a:hover{text-decoration:underline}.auth-consent{color:var(--muted);margin-top:2px;font-size:.78rem;line-height:1.6}.auth-password-row{position:relative}.auth-password-generate{color:var(--primary-dark);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:.78rem;font-weight:600;display:inline-flex;position:absolute;top:0;right:0}.auth-password-generate:hover{text-decoration:underline}.auth-show-password{color:var(--ink-soft);cursor:pointer;align-items:center;gap:8px;margin-top:-4px;font-size:.8rem;display:inline-flex}.auth-show-password input{cursor:pointer}.auth-pw-wrap{position:relative}.auth-pw-wrap .auth-input{padding-right:44px}.auth-pw-toggle{cursor:pointer;width:42px;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;bottom:0;right:0}.auth-pw-toggle:hover{color:var(--ink)}.auth-actions{flex-direction:column;gap:12px;display:flex}.auth-otp-input{letter-spacing:.5em;text-align:center;text-indent:.5em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.6rem}.auth-resend-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.auth-resend-btn{color:var(--primary-dark);cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem;font-weight:600}.auth-resend-btn:disabled{color:var(--muted);cursor:default;font-weight:500}.auth-resend-btn:not(:disabled):hover{text-decoration:underline}@media (width<=640px){.auth-page{padding-block:32px}.auth-card{border-radius:var(--r-md);padding:32px 22px}.auth-title{font-size:1.45rem}}.auth-claim-context[hidden]{display:none}.auth-claim-context{background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--r-md);color:var(--primary-dark);align-items:center;gap:10px;margin:0 0 16px;padding:10px 14px;font-size:.9rem;display:flex}.auth-claim-context svg{flex:none}.auth-or{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;margin:-2px 0;font-size:.72rem;font-weight:600;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--line);flex:1;height:1px}.cf-turnstile,[data-sitekey]{max-width:100%;overflow:hidden}
