<!-- source-hash: ff394dac0474471ce2eebef4dbdbb49b -->
A pure-presentation compact card component for displaying marketing campaigns inline in chat interfaces. Renders a 3-row layout with icon, title, metadata, and description — with optional anchor wrapping for navigation.

## Key Components

### Interfaces

| Interface | Purpose |
|-----------|---------|
| `CampaignCardItem` | Minimal campaign data shape (id, name, description, start_date, goals) |
| `CampaignCardAdminAnchorProps` | Anchor element props bundle (href, target, rel, onClick) |
| `CampaignCardAdminProps` | Main component props (campaign, className, anchorProps) |

### Exports

- **`CampaignCardAdmin`** — Primary compact card. Renders as a clickable `<a>` when `anchorProps` is provided, otherwise falls back to a static `<span>`. Displays campaign name, start date, goal count, and description.
- **`CampaignCardAdminSkeleton`** — Loading placeholder matching the card's 3-row layout using shimmer blocks.

## Usage Example

```typescript
// With navigation link
<CampaignCardAdmin
  campaign={{
    id: 'camp_123',
    name: 'Q3 Product Launch',
    description: 'Multi-channel awareness campaign',
    start_date: '2024-07-01',
    goals: [{ id: 1 }, { id: 2 }],
  }}
  anchorProps={{
    href: '/campaigns/camp_123',
    target: '_blank',
    rel: 'noopener noreferrer',
  }}
/>

// Static (no navigation)
<CampaignCardAdmin
  campaign={{ id: 'camp_123', name: 'Q3 Launch' }}
/>

// Loading state
<CampaignCardAdminSkeleton className="my-2" />
```

> **Note:** This is the chat-inline compact variant only. The full-size admin card (with delete/manage actions) is managed by the hub, not this component.