Copied!
UBL Design System Library V4
v4.0.0.44
Design System Documentation

UBL Digital App

The single source of truth for all visual decisions in the UBL mobile banking application. Covers tokens, typography, effects, and guidelines for iOS and Android.

Variables
128 tokens
Collections
6
Paint Styles
34
Text Styles
48
Platforms
iOS · Android
Modes
Light · Dark
02.1

Cloudveil — Neutral Scale

Primary neutral palette. 11 steps, fully inverted between Light and Dark mode. Includes Hex and RGB values for both platforms.

Light Mode
10#F8F9FC
20#F4F5F8
30#EDF0F6
40#E8EBF2
50#E3E7EE
60#DCE2EB
70#9AA4B8
80#858F9E
90#5F6776
100#3E444E
110#24282F
Dark Mode
10#0B0E13
20#0F1219
30#121820
40#161B26
50#353C4A
60#585F6E
70#7C8291
80#858F9E
90#9FA5B8
100#BEC4D1
110#DCE0E8
StepLight HexLight RGBDark HexDark RGBUsage
cloudveil-10
#F8F9FC
rgb(248, 249, 252)
#0B0E13
rgb(11, 14, 19) Page background
cloudveil-20
#F4F5F8
rgb(244, 245, 248)
#0F1219
rgb(15, 18, 25) Subtle background
cloudveil-30
#EDF0F6
rgb(237, 240, 246)
#121820
rgb(18, 24, 32) Hover / pressed
cloudveil-40
#E8EBF2
rgb(232, 235, 242)
#161B26
rgb(22, 27, 38) Border / divider
cloudveil-50
#E3E7EE
rgb(227, 231, 238)
#353C4A
rgb(53, 60, 74) Disabled state
cloudveil-60
#DCE2EB
rgb(220, 226, 235)
#585F6E
rgb(88, 95, 110) Subtle border
cloudveil-70
#9AA4B8
rgb(154, 164, 184)
#7C8291
rgb(124, 130, 145) Placeholder text
cloudveil-80
#858F9E
rgb(133, 143, 158)
#858F9E
rgb(133, 143, 158) Secondary text
cloudveil-90
#5F6776
rgb(95, 103, 118)
#9FA5B8
rgb(159, 165, 184) Body text
cloudveil-100
#3E444E
rgb(62, 68, 78)
#BEC4D1
rgb(190, 196, 209) Primary text
cloudveil-110
#24282F
rgb(36, 40, 47)
#DCE0E8
rgb(220, 224, 232) Headings
02.2

Cerulean — Brand Scale

Primary brand color. Fully inverted in dark mode for legibility on dark surfaces.

Light Mode
10#CCE5F3
20#AAD4EC
30#80BCE2
40#55A8D8
50#2B93CF
60#007ABB
70#0068A4
80#005383
90#003E63
100#002A42
110#001927
Dark Mode
10#FBFCFE
20#F8FAFE
30#F5F8FB
40#F2F5FA
50#EEF2F8
60#EBEEF5
70#D1D8E5
80#A4ACBE
90#7F8595
100#5C6069
110#3D4049
StepLight HexLight RGBDark HexDark RGBUsage
cerulean-10
#CCE5F3
rgb(204, 229, 243)
#FBFCFE
rgb(251, 252, 254) Lightest tint
cerulean-20
#AAD4EC
rgb(170, 212, 236)
#F8FAFE
rgb(248, 250, 254) Brand bg subtle
cerulean-30
#80BCE2
rgb(128, 188, 226)
#F5F8FB
rgb(245, 248, 251) Brand fill light
cerulean-40
#55A8D8
rgb(85, 168, 216)
#F2F5FA
rgb(242, 245, 250) Brand interactive
cerulean-50
#2B93CF
rgb(43, 147, 207)
#EEF2F8
rgb(238, 242, 248) Brand primary light
cerulean-60
#007ABB
rgb(0, 122, 187)
#EBEEF5
rgb(235, 238, 245) Brand primary
cerulean-70
#0068A4
rgb(0, 104, 164)
#D1D8E5
rgb(209, 216, 229) Brand pressed
cerulean-80
#005383
rgb(0, 83, 131)
#A4ACBE
rgb(164, 172, 190) Brand dark
cerulean-90
#003E63
rgb(0, 62, 99)
#7F8595
rgb(127, 133, 149) Brand deep
cerulean-100
#002A42
rgb(0, 42, 66)
#5C6069
rgb(92, 96, 105) Brand darkest
cerulean-110
#001927
rgb(0, 25, 39)
#3D4049
rgb(61, 64, 73) Brand near-black
02.3

Semantic Colors

Fixed-meaning status colors preserved across modes.

TokenLight HexLight RGBDark HexDark RGBUsage
Color/Semantic/Error
#FD563A
rgb(253, 86, 58)
#FD563A
rgb(253, 86, 58) Destructive actions, validation errors, critical alerts
Color/Semantic/Success
#00DEC9
rgb(0, 222, 201)
#00DEB9
rgb(0, 222, 185) Completed transactions, confirmed states
Color/Semantic/Warning
#FFC300
rgb(255, 195, 0)
#FFC300
rgb(255, 195, 0) Caution states, pending actions, advisories
02.4

Neutral Overlays

Opacity-graduated scales for scrims, overlays, and compositing. Dark mode swaps base color, keeps alpha.

ScaleLight Base (Hex)Light Base (RGB)Dark Base (Hex)Dark Base (RGB)Steps
Black (black-0 → 100)#000000rgb(0, 0, 0)#E1E6F0rgb(225, 230, 240)0%–100% in 10% increments
White (white-0 → 100)#FFFFFFrgb(255, 255, 255)#2B313Brgb(43, 49, 59)0%–100% in 10% increments
02.5

Accent Colors

High-chroma values for data visualization and card skins. Mode-invariant.

TokenHexRGBMode
Electric Blue/electric-blue-50
#CCDBFF
rgb(204, 219, 255)Same in both modes
Electric Blue/electric-blue-200
#628BF5
rgb(98, 139, 245)Same in both modes
Electric Blue/electric-blue-400
#003FE1
rgb(0, 63, 225)Same in both modes
Electric Blue/electric-blue-800
#111360
rgb(17, 19, 96)Same in both modes
Cyan/cyan-200
#80FFFF
rgb(128, 255, 255)Same in both modes
Cyan/cyan-400
#1AFFFF
rgb(26, 255, 255)Same in both modes
Purple/purple-200
#C080FF
rgb(192, 128, 255)Same in both modes
Purple/purple-400
#8040FF
rgb(128, 64, 255)Same in both modes
Magenta/magenta-200
#FF66A3
rgb(255, 102, 163)Same in both modes
Magenta/magenta-600
#FF0066
rgb(255, 0, 102)Same in both modes
Orange/orange-100
#FFA74D
rgb(255, 167, 77)Same in both modes
Orange/orange-200
#FF8D1A
rgb(255, 141, 26)Same in both modes
Yellow/yellow-200
#FFE100
rgb(255, 225, 0)Same in both modes
Yellow/yellow-300
#FFC300
rgb(255, 195, 0)Same in both modes
Green/green-100
#00E5C7
rgb(0, 229, 199)Same in both modes
Green/green-200
#00B29B
rgb(0, 178, 155)Same in both modes
03.1

Tone — T1 through T10

Single-fill opacity ramps. Light: black fills at 10%–100%. Dark: white fills with −10% per step. All use Overlay blend.

Light — Black fill, Overlay
T110%
T220%
T330%
T440%
T550%
T660%
T770%
T880%
T990%
T10100%
Dark — White fill, Overlay (−10%)
T10%
T210%
T320%
T430%
T540%
T650%
T760%
T870%
T980%
T1090%
StyleLight (Black)Dark (White)Usage
T1Black @ 10%White @ 0% (transparent)Hover
T2Black @ 20%White @ 10%Hover
T3Black @ 30%White @ 20%Pressed
T4Black @ 40%White @ 30%Pressed
T5Black @ 50%White @ 40%Scrim/overlay
T6Black @ 60%White @ 50%Scrim/overlay
T7Black @ 70%White @ 60%Scrim/overlay
T8Black @ 80%White @ 70%Scrim/overlay
T9Black @ 90%White @ 80%Scrim/overlay
T10Black @ 100%White @ 90%Scrim/overlay
03.2

Depth — D1 through D5

Stacked fill layers for elevation. Light = black fills, Dark = white fills with one fewer 100% stack. 50% half-fills carry over.

D1 Minimal
Light
Black 100% · Overlay
Black 100% · Overlay
Dark
White 100% · Overlay
D2 Low
Light
Black 100% · Overlay
Black 100% · Overlay
Black 50% · Overlay
Dark
White 100% · Overlay
White 50% · Overlay
D3 Medium
Light
Black 100% · Overlay
Black 100% · Overlay
Black 100% · Overlay
Dark
White 100% · Overlay
White 100% · Overlay
D4 High
Light
Black 100% · Overlay
Black 100% · Overlay
Black 100% · Overlay
Black 50% · Overlay
Dark
White 100% · Overlay
White 100% · Overlay
White 50% · Overlay
D5 Maximum
Light
Black 100% · Overlay
Black 100% · Overlay
Black 100% · Overlay
Black 100% · Overlay
Dark
White 100% · Overlay
White 100% · Overlay
White 100% · Overlay
03.3

Blur & Shadows

StyleValueUsage
blur-soft32pxStandard glassmorphism card
blur-light48pxModal, bottom sheet
blur-subtle64pxAmbient background
04

Gradients

16 linear paint styles. Mode-invariant.

Aurora
#2F65EE → #4DFFFF
Neon Bloom
#FF66A3 → #C080FF
Electric Mist
#97B4FC → #D98BFF
Deep Signal
#0031AE → #8040FF
Radiant Wave
#8040FF → #FF99C2
Sunset Drift
#FF8D1A → #FF66A3
Prism Light
#628BF5 → #FFE100
Cosmic Flow
#A04DFF → #B3FFFF
Solar Flare
#FFE100 → #FF8D1A
Electric Pulse
#003FE1 → #FF33A3
Radiant Horizon
#1AFFFF → #FFE100
Neon Pulse
#FF33A3 → #FFC300
Electric Horizon
#628BF5 → #FF8D1A
Borealis Ember
#2F65EE → #97B4FC
Equatorial Blue
#007DBF → #003FE1
Carbon Fade
#242A2F → #3E434E
05

Typography

All type set in UBL Sans (iOS) and UBL Sans / Roboto fallback (Android).

StyleSizeUnitLine HeightLetter SpacingWeights
Display Large36pt120%−0.7ptB M R L
Display Medium28ptAuto0B M R L
Heading 124ptAuto0B M R L
Heading 221ptAuto0B M R L
Heading 318ptAuto0B M R L
Body15ptAuto0B M R L
Body Small13ptAuto−0.4ptB M R L + CAPS
Caption11ptAuto0B M R L + CAPS
Caption Small9ptAuto−0.3ptB M R L + CAPS
StyleSizeUnitLine HeightLetter SpacingWeights
Display Large36sp43sp−0.7spB M R L
Display Medium28sp34sp0B M R L
Heading 124sp29sp0B M R L
Heading 221sp25sp0B M R L
Heading 318sp22sp0B M R L
Body15sp20sp0B M R L
Body Small13sp18sp−0.4spB M R L + CAPS
Caption11sp14sp0B M R L + CAPS
Caption Small9sp12sp−0.3spB M R L + CAPS
Android uses sp (scale-independent pixels) for text sizing. Line heights are explicit values rather than percentages. Font fallback: UBL Sans → Roboto.
06

Spacing

Layout spacing tokens. iOS uses pt, Android uses dp (1:1 value mapping).

TokeniOS (pt)GroupUsage
space-none0ptNanoFlush
space-22ptNanoIcon gap
space-44ptNanoTag padding
space-88ptMicroCell padding, icon margin
space-1212ptMicroList item padding
space-1616ptStandardContent padding
space-2424ptStandardSection spacing
space-3232ptStandardCard margin, modal padding
space-4040ptStandardLarge section gap
space-4848ptStandardNav bar height
space-5656ptStandardBottom bar height
space-6464ptStandardMax safe area
TokenAndroid (dp)GroupUsage
space-none0dpNanoFlush
space-22dpNanoIcon gap
space-44dpNanoTag padding
space-88dpMicroCell padding, icon margin
space-1212dpMicroList item padding
space-1616dpStandardContent padding
space-2424dpStandardSection spacing
space-3232dpStandardCard margin, modal padding
space-4040dpStandardLarge section gap
space-4848dpStandardApp bar height (56dp Material default)
space-5656dpStandardBottom nav height (80dp Material default)
space-6464dpStandardMax content padding
Android dp maps 1:1 with iOS pt in value. However, Material Design recommends 56dp app bars and 80dp bottom nav — adjust space-48/56 accordingly.
07

Corner Radius

iOS uses pt, Android uses dp. Android Material typically uses rounder surfaces — consider using one step up on Android.

TokeniOS (pt)Usage
radius-xs2ptTag corners
radius-sm4ptCompact button, input
radius-md8ptCard, secondary button
radius-lg12ptSheet, modal inner
radius-1616ptPrimary card
radius-2424ptBottom sheet
radius-3232ptWidget, hero card
radius-pill999ptPill button, avatar, badge
TokenAndroid (dp)Material ShapeUsage
radius-xs2dpExtra SmallTag corners
radius-sm4dpExtra SmallCompact button, input
radius-md8dpSmallCard, secondary button
radius-lg12dpMediumSheet, modal
radius-1616dpLargePrimary card
radius-2424dpLargeBottom sheet
radius-3228dpExtra LargeWidget (Material uses 28dp)
radius-pill999dpFullPill button, avatar, badge
Material Design 3 shape tokens: Extra Small (4dp), Small (8dp), Medium (12dp), Large (16dp), Extra Large (28dp), Full (999dp). The UBL scale maps closely but radius-32 adjusts to 28dp to align with Material.
08

Stroke Widths

TokeniOS (pt)Android (dp)Usage
stroke-0.50.5pt0.5dp (1px hairline)Subtle list separators
stroke-11pt1dpDefault border
stroke-22pt2dpActive / focused state
stroke-33pt3dpEmphasis, avatar ring
stroke-44pt4dpStrong outline
stroke-66pt6dpDecorative frame
stroke-99pt9dpUltra-heavy decoration
09

Themes

Boolean mode-detection variables.

isDark
Light
false
Dark
true
theme/isDark
Light
false
Dark
false ⚠
Action required: theme/isDark is false in both modes. Must be corrected to true in Dark mode.
10

Usage Guidelines

Platform Differences
AspectiOSAndroid
Size unitpt (points)dp (density-independent pixels)
Text unitptsp (scale-independent pixels)
FontUBL SansUBL Sans (fallback: Roboto)
Nav bar height48pt56dp (Material standard)
Bottom nav49pt (iOS tab bar)80dp (Material nav bar)
Safe areasDynamic Notch/IslandSystem bars / cutouts
Shape tokensDirect radius valuesMap to Material Shape (XS–Full)
Variable Binding
PropertyMethodNote
FillssetBoundVariableForPaint()Capture returned paint, reassign to node.fills
Corner radiussetBoundVariable("topLeftRadius"…)Bind individual corners
GradientsPaint style referenceVariable binding not supported on gradient stops
Known Issues
theme/isDark: Dark mode value is false. Must be corrected to true.
Color FX: Tone/Depth styles are light-mode only. Apply dark corrections manually via blend mode.
11

Glossary

Design Token
Named, platform-agnostic value consumed by both design tools and code.
Variable
Figma-specific token. Holds COLOR, FLOAT, STRING, or BOOLEAN with multi-mode support.
pt
iOS point. 1pt = 1/163 inch on @1x displays. Maps 1:1 with Figma pixels.
dp
Android density-independent pixel. 1dp = 1px at 160dpi (mdpi). Equivalent to iOS pt in value.
sp
Android scale-independent pixel. Same as dp but respects the user’s font size accessibility setting.
Cloudveil
UBL’s neutral palette. Near-white (10) to near-black (110) in light; inverted in dark.
Cerulean
UBL’s primary brand blue — actions, links, identity elements.
Color FX
Paint styles modifying tone/depth via layered fills and Overlay blend mode.
Glassmorphism
Frosted-glass blur + semi-transparent fills + subtle borders.