# AuthCard

> Sign in and sign up: credentials, a one-time code, a forgotten password, and what follows each.

- **Level**: organism · **Status**: stable · **Role**: surface
- **Import**: `import { AuthCard } from "@rrios-forge/ui/organisms/auth-card";`
- **Source**: `packages/ui/src/organisms/auth-card`

The card a person signs in or signs up with, walking them from their email and password or a magic link through a one-time code, a forgotten password and the final confirmation.

## Use it for

- Auth flow → `AuthCard`

## Axes

| Axis | Part | Values | Default | Meaning |
|---|---|---|---|---|
| `size` | — | `sm` `md` `lg` | `md` | Ergonomic scale, in three families (control, text, container). |

## Stories

- [Magic link (default)](/?path=/story/components-organisms-authcard--magic-link) · frame: `/iframe.html?id=components-organisms-authcard--magic-link&viewMode=story`
- [Magic link only (no password toggle)](/?path=/story/components-organisms-authcard--magic-link-only) · frame: `/iframe.html?id=components-organisms-authcard--magic-link-only&viewMode=story`
- [OTP step](/?path=/story/components-organisms-authcard--one-time-code) · frame: `/iframe.html?id=components-organisms-authcard--one-time-code&viewMode=story`
- [Forgot password](/?path=/story/components-organisms-authcard--forgot) · frame: `/iframe.html?id=components-organisms-authcard--forgot&viewMode=story`
- [With global error](/?path=/story/components-organisms-authcard--error-state) · frame: `/iframe.html?id=components-organisms-authcard--error-state&viewMode=story`
- [Success](/?path=/story/components-organisms-authcard--success) · frame: `/iframe.html?id=components-organisms-authcard--success&viewMode=story`
- [Sizes](/?path=/story/components-organisms-authcard--sizes) · frame: `/iframe.html?id=components-organisms-authcard--sizes&viewMode=story`

## Decisions that name it

- ADR-032 — Themes compose by layers; brands are a checked layer

## Always

- Tokens only (R04); variants are semantic axes, never appearance (R02).
- Typography and actions are Poesía atoms, never raw HTML with utilities.
- Vibrant panes need a ground and never nest (ADR-027).
