Design System
A comprehensive visual language for the Mutabaah Amal progressive web application. Grounded in calm, reverent minimalism with Islamic warmth.
01
Typography
Display / Headings
Inter Tight
Used for: App title, section headers, card headings, large numerics
Aa Bb Cc Dd Ee Ff
1 2 3 4 5 6 7 8 9 0
Body / UI Labels
Inter
Used for: Body text, descriptions, captions, tags, inputs
Aa Bb Cc Dd Ee Ff
1 2 3 4 5 6 7 8 9 0
Type Scale
| Name | Size | Weight | Line Ht. | Preview |
|---|---|---|---|---|
| Display | 32px | 800 | 36px | Alhamdulillah |
| Heading 1 | 24px | 700 | 30px | Today's Ibadah |
| Heading 2 | 20px | 600 | 26px | Worship Activities |
| Body Large | 16px | 400 | 24px | Track your daily prayers and acts of worship |
| Body | 14px | 400 | 20px | Fajr — completed at 5:42 AM · 2 Ramadan 1447 |
| Label | 12px | 500 | 16px | CATEGORY · WORSHIP |
| Caption | 11px | 400 | 14px | Tap to mark as complete |
02
Color Palette
Primary
Forest Green
#1C3D2E
Primary action, brand
Sage
#46725B
Secondary, hover states
Gold
#AC8636
Accent, streaks, stars
Parchment
#F5F1EA
App background
Surface
#FFFFFF
Cards, bottom sheet
Surface Alt
#EDE8DF
Input bg, inactive
Text & Borders
Text Primary
#1A1816
Text Secondary
#635E56
Text Tertiary
#6C6861
Border
#DDD8CF
Border Light
#F0EDE7
Dividers, subtle lines
Success
#2D7A5A
Error
#B84040
Category Colors
Worship
#2D6E4E / #E8F2EC
Salah, Dua, Dhikr
Quran
#2E5D8C / #E6EEF7
Reading, Memorisation
Charity
#AC8636 / #FBF3E3
Sadaqah, Zakat
Personal
#6E4A8C / #EFE9F7
Reflection, Goals
Dark Mode
Void
#18180F
App background
Surface Dark
#222219
Cards, bottom sheet
Surface Alt Dark
#2D2D22
Input bg, inactive
Forest Green
#4A9B70
Primary — lightened
Gold
#C9993D
Accent — saturated
Ivory
#F0EDE6
Text primary
Worship
#5DBB8A / #1A2E22
Quran
#6B9ED4 / #1A2230
Charity
#C9993D / #2A2416
Personal
#A87ED4 / #221830
Live preview
Use the Dark toggle in the top nav to preview the full design system in dark mode. All CSS custom properties update automatically. Your preference is saved across visits and respects your system setting by default.
03
Spacing System
Base Unit: 4px
4xs
8sm
12—
16md
20—
24lg
32xl
402xl
483xl
644xl
805xl
Element Spacing
Icon → label8px
Label → value4px
List item rows1px separator
Card padding16–20px
Section Spacing
Between sections32–40px
Page horizontal pad20px
Bottom nav height64px + safe area
Status bar offset48px
Border Radius
Chips / Tags--radius-pill · 100px
Buttons--radius-md · 12px
Cards--radius-lg · 16px
Large cards--radius-xl · 20px
Bottom sheet--radius-2xl · 24px
Grid Spacing Explorer
Grid Gap (Space between)
Container Padding
Elevation
--shadow-0Flat — default surfaces, inline cards
--shadow-1Subtle — lists, resting cards
--shadow-2Raised — bottom sheets, modals
--shadow-3Elevated — overlapping panels
--shadow-fabFAB — floating action button
04
Iconography
Navigation & Actions
Tasks & Status
Calendar
Analytics
Categories
System
05
Components
Buttons
Copied!
Primary Copied!
Secondary Copied!
Outline Copied!
Destructive Copied!
Ghost Copied!
FABButton States
| Variant | Default | Hover | Disabled | Loading |
|---|---|---|---|---|
| Primary | ||||
| Secondary | — | |||
| Outline | — | |||
| Destructive | — | |||
| Ghost | — |
Category Chips
Copied!
Copied!
Copied!
Worship Copied!
Quran Copied!
↑ Small inline tags used on task items ↑ Disabled — 35% opacity, not-allowed cursor
Input Field
Add an ibadah activity…
Copied! Fajr Prayer
Copied! Activity name already exists
ErrorSelect
Textarea
Copied!
DefaultProgress & Completion
Daily ring
14 Day Streak
Streak badgeSkeleton Loaders
Dashboard card
Profile header
Input form
Alerts
Sync complete
Your ibadah log has been saved to the cloud.
Streak saved
Masha'Allah! You've kept your 14-day streak going.
06
Form Controls
Checkbox
Copied!
Copied!
Radio
Copied!
Copied!
Toggle
Copied!
Copied!
07
Task Items
Fajr Prayer
Dhuhr Prayer
Read 1 Juz
Give Sadaqah
Evening Reflection
States
Pending — unchecked circle
Completed — filled checkmark
Interactions
TapToggle complete
Swipe leftReveal delete action
Long pressEdit task details
ChevronOpen detail view
09
Empty States
Variants
Start your ibadah
Add an activity above to begin tracking your day.
Today — No Tasks
No activities found
Try a different search term.
Search — No Results
Nothing to show yet
Complete some ibadah to see your progress here.
Analytics — No Data
Design Principle
Empty states use a gentle floating illustration with encouraging copy. Never present zero as failure — reframe it as an invitation to begin. Illustrations animate with a slow 3s vertical float to feel alive without being distracting.
10
Motion & Tone
Animation Principles
Ease Out — 280ms
Default for entrances and confirmations. Items settle gently into place — never bouncy or urgent.
Fajr Prayer
--duration-enter · 280ms cubic-bezier(0, 0, 0.2, 1)Ease In — 200ms
For exits and dismissals. Elements leave quickly, cleanly — no lingering.
Activity saved
--duration-exit · 200ms cubic-bezier(0.4, 0, 1, 1)Task Complete — 360ms
Checkmark draws in with a gentle spring. Subtle gold sparkle. A moment of quiet satisfaction.
Fajr Prayer
--duration-complete · 360ms spring(1, 0.6, 0, 0)Voice & Tone
Do
"MashaAllah! 7 ibadah completed today."
"Your 14-day streak — keep going."
"Ramadan begins in 4 days, inshallah."
Calm, warm, never preachy. Gently encouraging.
Don't
"You haven't prayed today!"
"Your streak is broken. Start over."
Guilt-driven language or spiritual lecturing.
Aggressive gamification or excessive badges.
11
Avatar
Sizes
SI
Copied!SI
Copied!SI
Copied!SI
XLarge · 64pxSI
2XLarge · 80pxVariants
SI
InitialsImage
Fallback
SI
AF
MR
Avatar Group
SI
AF
MR
+5
Stacked with 2px ring separation. Overflow count uses +N pattern.
12
Modal & Tooltip
Modal / Dialog — Anatomy
Add Ibadah Activity
Activity name
Fajr Prayer
Category
Backdrop:
rgba(0,0,0,.45) · blur 0Confirmation Dialog
Delete activity?
This will permanently remove "Fajr Prayer" and all its history. This cannot be undone.
Live Demo
Full-form overlay
Alertdialog overlay
Tooltip — Positions
Mark as done
Mark as done
Left
Right
Tooltips use CSS :hover / :focus-within — no JS required. Add role="tooltip" and link via aria-describedby on the trigger.
Bottom Sheet — Mobile Pattern
Activity Options
Edit Activity
Save to Favorites
Delete Permanently
Standard mobile-first pattern for PWA environments. Use for supplementary actions, filters, or quick inputs. Desktop view is capped at 520px.