Design foundations/Spacing, radius, shadows
Valere CRM · Design foundations

Design foundations

Spacing, radius, shadows

A spacing scale on a 4 px step, four radii and one working shadow. The app does not declare them as its own tokens: they are Tailwind's default values, so this page gives both the size in pixels and the Tailwind key.

Source: classes in web/packages/crm/src and web/shared/components; shadows from web/shared/theme/tokens.css. "In code" is the number of uses (counted 2026-10-05).

Spacing scale

The steps that occur in the gap-*, p-* and m-* classes. The most common are 12 and 16 px.

KeypxSizeTypical useIn code
0.52
A label over its value (Fact)8
14
Between menu items; inside a tile19
1.56
Label, field and hint; the dot or icon and the text in a chip16
28
A table cell's vertical padding; groups of chips and buttons64
2.510
Horizontal padding of a chip, tag and pill12
312
Padding in a field and a menu item; table head; tab110
3.514
Form message2
416
Sidebar; a cell's horizontal padding; the tile grid105
520
Card and tile padding; a button's horizontal padding35
624
Between blocks inside a page43
832
The sign-in pages' padding (AuthLayout); the Components gallery4
1040
A table's empty state12
1664
Room for the Show button in a password field2

Radius

SampleClasspxWhereIn code
rounded-sm4The Show button in a password field1
rounded-md8Buttons, fields, filters, menu items, form messages, a function chip32
rounded-lg12Cards, tiles, the table wrapper, the health breakdown21
rounded-full—Stage, deal type and tag pills and their dot, status pills, the Deal Health score, the avatar, stage bar dots30

Shadows

Tables and fields are flat. Cards lift slightly. The popover shadow is declared, but nothing uses it yet.

SampleTokenValueWhereIn code
no shadow—Fields, a table inside a card—
shadow-card0 1px 2px rgba(29, 39, 36, 0.05)Cards, tiles, the table wrapper, the sign-in card, the health breakdown21
shadow-popover0 8px 24px rgba(29, 39, 36, 0.12)Declared in the tokens; no component uses it0
shadowTailwind's default, not a tokenThe knob of the Land terms switch1

Shell and control sizes

The fixed sizes every page is built on.

ElementpxClassFile
Sidebar width: open / folded240 / 64w-60, w-16Sidebar.styles.ts
Sidebar menu item40h-10Sidebar.styles.ts
Page padding24p-6AppLayout.styles.ts
Gap between page blocks16gap-4AppLayout.styles.ts
Button36h-9Button.styles.ts
Field, filter, labeled select36h-9TextField.styles.ts, Dropdown.styles.ts
Card title bar56h-14Card.tsx
Card padding20p-5Card.tsx
Chip, tag, status pill24h-6Chip.styles.ts, StatusPill.tsx
Deal Health score24h-6HealthChip.styles.ts
Table head40py-3 and a 16 px lineoverview-parts.tsx
Table cell padding8 / 16px-4 py-2overview-parts.tsx
Table footer with the pager56h-14Pager.tsx
Avatar: in the sidebar / on My account32 / 48size-8, size-12Sidebar.styles.ts, UserAvatar.tsx
Health breakdown width384PANEL_WIDTHDealHealth.tsx

Compared with the design board

The "Type, spacing and shape" board of the Design Foundations canvas.