CuraCare

Tonal palette system: 5 key hues, each expanded to a 13-step scale and mapped to semantic system roles. Teal primary, Amber secondary, Violet tertiary. Variable-bound in Figma.

Colours

The palette uses a tonal model: each key hue expanded to a 13-step scale (tones 0 to 100), then mapped to semantic system roles for light and dark mode. Hover any chip to see its tone value.

Reference palettes, full tonal scale (0 to 100)

Teal (Primary)

01020304050607080909599100

Amber (Secondary)

01020304050607080909599100

Violet (Tertiary)

01020304050607080909599100

Neutral

01020304050607080909599100

Error

01020304050607080909599100

System roles, semantic mapping

Primary#006778
On Primary#FFFFFF
Primary Container#A9ECF8
On Primary Container#001F25
Secondary#794C00
On Secondary#FFFFFF
Secondary Container#FDE8BA
On Secondary Container#271900
Tertiary#6430A2
On Tertiary#FFFFFF
Tertiary Container#E5D9F5
On Tertiary Container#21005E
Error#B3261E
On Error#FFFFFF
Error Container#F9DEDC
On Error Container#410E0B
Surface#FAFAFA
On Surface#1A1B1E
Surface Variant#E1E3E4
On Surface Variant#444749

Color tokens, system roles

CSS VariableTokenLightDark
--md-sys-color-primarymd.sys.color.primary#006778#72D4EA
--md-sys-color-on-primarymd.sys.color.on-primary#FFFFFF#003644
--md-sys-color-primary-containermd.sys.color.primary-container#A9ECF8#004E60
--md-sys-color-on-primary-containermd.sys.color.on-primary-container#001F25#A9ECF8
--md-sys-color-secondarymd.sys.color.secondary#794C00#F5BB43
--md-sys-color-on-secondarymd.sys.color.on-secondary#FFFFFF#3E2900
--md-sys-color-secondary-containermd.sys.color.secondary-container#FDE8BA#583E00
--md-sys-color-on-secondary-containermd.sys.color.on-secondary-container#271900#FDE8BA
--md-sys-color-tertiarymd.sys.color.tertiary#6430A2#C39EFF
--md-sys-color-on-tertiarymd.sys.color.on-tertiary#FFFFFF#360092
--md-sys-color-tertiary-containermd.sys.color.tertiary-container#E5D9F5#4D23A6
--md-sys-color-on-tertiary-containermd.sys.color.on-tertiary-container#21005E#E5D9F5
--md-sys-color-errormd.sys.color.error#B3261E#F2B8B5
--md-sys-color-on-errormd.sys.color.on-error#FFFFFF#601410
--md-sys-color-error-containermd.sys.color.error-container#F9DEDC#8C1D18
--md-sys-color-on-error-containermd.sys.color.on-error-container#410E0B#F9DEDC
--md-sys-color-surfacemd.sys.color.surface#FAFAFA#1A1B1E
--md-sys-color-on-surfacemd.sys.color.on-surface#1A1B1E#E1E3E4
--md-sys-color-surface-variantmd.sys.color.surface-variant#E1E3E4#444749
--md-sys-color-on-surface-variantmd.sys.color.on-surface-variant#444749#C5C7C9
--md-sys-color-outlinemd.sys.color.outline#74777A#8E9193
--md-sys-color-outline-variantmd.sys.color.outline-variant#C5C7C9#444749

Typography

Inter, 15 styles following a structured type scale, all variable-bound in Figma. Display for hero numerics, Headline for screen titles, Title for card headers, Body for content, Label for actions.

Type scale, Inter (15 styles)

Display Large57px / 400 / 64px lh
Display Large
Display Medium45px / 400 / 52px lh
Display Medium
Display Small36px / 400 / 44px lh
Display Small
Headline Large32px / 400 / 40px lh
Headline Large
Headline Medium28px / 400 / 36px lh
Headline Medium
Headline Small24px / 400 / 32px lh
Headline Small
Title Large22px / 500 / 28px lh
Title Large — Doctor name, card headers
Title Medium16px / 500 / 24px lh
Title Medium — Section subheads
Title Small14px / 500 / 20px lh
Title Small — Compact headings
Body Large16px / 400 / 24px lh
Body Large — Descriptions, primary body copy
Body Medium14px / 400 / 20px lh
Body Medium — Supporting text, secondary content
Body Small12px / 400 / 16px lh
Body Small — Captions, legal, fine print
Label Large14px / 500 / 20px lh
Label Large — Buttons, CTAs, booking confirm
Label Medium12px / 500 / 16px lh
LABEL MEDIUM — Chips, availability tags
Label Small11px / 500 / 16px lh
LABEL SMALL — Nav items, micro labels

Typography tokens

TokenCSS VariableSizeWeightLine height
md.sys.typescale.display-large--md-sys-typescale-display-large-size57px40064px
md.sys.typescale.display-medium--md-sys-typescale-display-medium-size45px40052px
md.sys.typescale.display-small--md-sys-typescale-display-small-size36px40044px
md.sys.typescale.headline-large--md-sys-typescale-headline-large-size32px40040px
md.sys.typescale.headline-medium--md-sys-typescale-headline-medium-size28px40036px
md.sys.typescale.headline-small--md-sys-typescale-headline-small-size24px40032px
md.sys.typescale.title-large--md-sys-typescale-title-large-size22px50028px
md.sys.typescale.title-medium--md-sys-typescale-title-medium-size16px50024px
md.sys.typescale.title-small--md-sys-typescale-title-small-size14px50020px
md.sys.typescale.body-large--md-sys-typescale-body-large-size16px40024px
md.sys.typescale.body-medium--md-sys-typescale-body-medium-size14px40020px
md.sys.typescale.body-small--md-sys-typescale-body-small-size12px40016px
md.sys.typescale.label-large--md-sys-typescale-label-large-size14px50020px
md.sys.typescale.label-medium--md-sys-typescale-label-medium-size12px50016px
md.sys.typescale.label-small--md-sys-typescale-label-small-size11px50016px

Spacing

A 4-point system: 10 spacing tokens from 4px to 64px, used consistently across padding, gaps, and section rhythm. Variable-bound in Figma.

Spacing scale (10 tokens)

spacing-2xs
4px
spacing-xs
8px
spacing-sm
12px
spacing-md
16px
spacing-lg
20px
spacing-xl
24px
spacing-2xl
32px
spacing-3xl
40px
spacing-4xl
48px
spacing-5xl
64px

Spacing tokens

CSS VariableTokenValueUsage
--md-sys-spacing-2xsspacing.2xs4pxIcon gaps, tight chip padding
--md-sys-spacing-xsspacing.xs8pxList item padding, inner gaps
--md-sys-spacing-smspacing.sm12pxCard inner padding (compact)
--md-sys-spacing-mdspacing.md16pxDefault component padding
--md-sys-spacing-lgspacing.lg20pxCard padding, nav item height
--md-sys-spacing-xlspacing.xl24pxSection gaps, modal padding
--md-sys-spacing-2xlspacing.2xl32pxBetween content blocks
--md-sys-spacing-3xlspacing.3xl40pxScreen-level margins
--md-sys-spacing-4xlspacing.4xl48pxPage horizontal padding
--md-sys-spacing-5xlspacing.5xl64pxSection vertical rhythm

Shape

Six corner radius tokens, from sharp (0px) through to fully rounded pill (9999px). Each maps to a distinct UI use, from icon chips to floating action buttons.

Radius scale (6 tokens)

none
0px
extra-small
4px
small
8px
medium
12px
large
16px
full
9999px

Shape, radius tokens

CSS VariableTokenValueUsage
--md-sys-shape-corner-nonemd.sys.shape.corner.none0pxDividers, image fills
--md-sys-shape-corner-extra-smallmd.sys.shape.corner.extra-small4pxTags, chips, badges
--md-sys-shape-corner-smallmd.sys.shape.corner.small8pxButtons, text fields, compact cards
--md-sys-shape-corner-mediummd.sys.shape.corner.medium12pxCards, dialogs, menus
--md-sys-shape-corner-largemd.sys.shape.corner.large16pxBottom sheets, large cards
--md-sys-shape-corner-fullmd.sys.shape.corner.full9999pxFABs, pills, search bars

Elevation

Six elevation levels for layering surfaces, from flat (level 0) through to floating sheets (level 5). Each level pairs a key shadow with an ambient one for natural depth.

Elevation scale (6 levels)

level-0
flat
level-1
1dp
level-2
3dp
level-3
6dp
level-4
8dp
level-5
12dp

Elevation tokens

CSS VariableTokenShadowUsage
--md-sys-elevation-level-0md.sys.elevation.level-0noneFlat surfaces, dividers
--md-sys-elevation-level-1md.sys.elevation.level-10 1px 2px / 0 1px 3px 1pxCards at rest, raised buttons
--md-sys-elevation-level-2md.sys.elevation.level-20 1px 2px / 0 2px 6px 2pxFABs, search bars
--md-sys-elevation-level-3md.sys.elevation.level-30 1px 3px / 0 4px 8px 3pxHover state on cards
--md-sys-elevation-level-4md.sys.elevation.level-40 2px 3px / 0 6px 10px 4pxDropdown menus, tooltips
--md-sys-elevation-level-5md.sys.elevation.level-50 4px 4px / 0 8px 12px 6pxBottom sheets, dialogs

All tokens live in Figma as variable collections: Color, Reference (65 variables, 13 tones x 5 palettes), Color, System (27 variables, Light + Dark via VARIABLE_ALIAS), Typography (45 variables), Shape, Radius (6), Spacing (10), Elevation (6).