No layout changes. Each archetype is reproduced as-is from the actual app, then the AFTER column applies only the snug+1 spacing tokens — padding, gaps, margins. Same components, same columns, same visual hierarchy. Only the rhythm changes.
Spacing changes here are limited: the masonry grid, FilterBar, and LetterBar already have their own (correct) rhythm. The only thing that adopts the new tokens is the empty-state Panel shown when nothing matches.
p-16 + mb-3All filtered out — switch back to All.
p-card + mb-labelAll filtered out — switch back to All.
No further changes. Showing the spec for cross-checking.
gap-card-gap (9 px) between Panelsp-card (15 px) interiorgap-section (15 px)gap-chip (7 px)mb-label (7 px)Layout stays exactly as-is — sidebar nav on the left, stacked cards on the right. The only thing that changes is the Card helper inside SettingsPanel.tsx: p-5 → p-card (20→15) and header margin mb-3 → mb-label (12→7). Card-to-card stacking gap also tightens to gap-card-gap (9 px) from the existing space-y-4 (16 px).
p-5 · mb-3 · space-y-4p-card · mb-label · gap-card-gapp-5 (20px) → p-card (15px)mb-3 (12px) → mb-label (7px) on the titlespace-y-4 (16px) → gap-card-gap (9px) between Cardsspace-y-3 blocks → gap-section (15px) — wider, since these are full sub-sectionsSame layout as today: header at the top of the modal/page, scrollable body below. Body is either an empty-state Panel or a grid. Only the empty-state Panel adopts the new tokens (p-16 → p-card). Header strip and grid stay untouched.
p-16Deleted images appear here for 30 days before they're gone for good.
p-cardDeleted images appear here for 30 days before they're gone for good.