Skip to main content

Spacing

Spacing makes content easier to read and shows which elements belong together. All values come from tokens — no custom numbers.

Spacing scale

Based on a 4px base unit. Components and layouts use only values from this scale.

TokenValue
space-00
space-10.25rem (4px)
space-20.5rem (8px)
space-30.75rem (12px)
space-41rem (16px)
space-51.5rem (24px)
space-62rem (32px)
space-72.5rem (40px)
space-83rem (48px)
space-94rem (64px)
space-106rem (96px)
Do / Don't
Do
Send request
Cancel

12px gap between stacked buttons. Each action is visually distinct.

Don't
Send request
Cancel

0px gap merges buttons together. Hard to distinguish separate actions.

Spacing scale
space-1
4px / 0.25rem
space-2
8px / 0.5rem
space-3
12px / 0.75rem
space-4
16px / 1rem
space-5
24px / 1.5rem
space-6
32px / 2rem
space-7
40px / 2.5rem
space-8
48px / 3rem
space-9
64px / 4rem
space-10
96px / 6rem

Where to use each token

Each spacing token has a specific role. Previews use redline annotations — red-tinted areas with boundary lines marking the exact spacing value.

TokenPxUsage in Senco
space-14Badge dot to label, icon gap inside tight components
space-28Inline button group gap (Money/Crypto tabs), FormField internal gap (label → input → helper)
space-312Transaction row internal padding, compact list item padding
space-416Between form fields (stacking), default component padding, screen edge margin (mobile)
space-524Card padding (all sides), content area padding, grid gutter (tablet)
space-632Between page sections, screen margin (desktop), grid gutter (desktop)
space-740Large section dividers
space-848Page section vertical spacing, hero to content gap
space-964Major section breaks
space-1096Page top/bottom padding, empty state vertical centering
Where to use each token
space-1 — Icon / dot to label
4px
Completed
space-2 — Inline button group gap
8px
space-3 — List item internal padding
12px
12px
Adaeze O.
-250 USD
Kwame M.
-120 USD
space-4 — Form field vertical gap
Devon
16px
Kim
space-5 — Card padding
24px
24px
From
Devon Kim
Canada
To
Min-ji Kim
South Korea
space-6 / space-8 — Section vertical spacing
32px
48px

Principles

PrincipleRule
GroupingRelated elements use smaller spacing (8px)
SeparationDistinct sections use larger spacing (32px+)
Vertical rhythmConsistent vertical intervals between blocks
Component internalPadding within components follows the scale
Component externalMargins between components follow the scale
Grouping vs. separation
Related — 8px gaps
8px
8px
Distinct — 32px gaps
32px
32px

Spacing utilities

Spacing utility classes use logical properties for RTL/LTR support:

ClassProperty
snc-m-{0-6}margin (all sides)
snc-mt-{value}margin-block-start (top)
snc-mb-{value}margin-block-end (bottom)
snc-mx-automargin-inline: auto (center)
snc-my-{value}margin-block (vertical)
snc-p-{0-6}padding (all sides)
snc-px-{value}padding-inline (horizontal)
snc-py-{value}padding-block (vertical)