Design Guidelines
Complete design system for Pet Service Management System (PetCare Pro brand).
Brand Identity
Brand Name PetCare Pro - “Ngôi nhà thứ hai ấm áp cho thú cưng của bạn”
Industry Pet Care & Hospitality
Target Audience Pet owners seeking premium care services
Brand Personality Warm, Professional, Caring, Modern
Logo & Brand Mark
Icon: Paw print (Font Awesome fa-paw)
Colors: White paw on coral red (#FF6B6B) circular background
Sizes: Mobile: 24px × 24px, Desktop: 32px × 32px
< div className = "w-6 h-6 md:w-8 md:h-8 bg-[#FF6B6B] rounded flex items-center justify-center" >
< i className = "fa-solid fa-paw text-white text-xs md:text-sm" ></ i >
</ div >
Color System
Primary Palette
Brand Red (Coral)
Neutral Colors
Background Colors
Border Colors
Primary: #FF6B6B RGB(255, 107, 107) // Main brand color
Hover: #FF5A5A RGB(255, 90, 90) // Interactive hover
Active: #E24D4D RGB(226, 77, 77) // Pressed/active
Usage: Primary buttons, links & CTAs, brand accents, interactive elementsContrast: White text on #FF6B6B: 4.53:1 (AA compliant ✓)Dark Gray: #1F2937 // Primary text
Slate: #475569 // Secondary text
Light Gray: #6B7280 // Tertiary text
Very Light Gray: #F1F1F1 // Scrollbar track
Usage: Text hierarchy, subtle borders, disabled statesWhite: #FFFFFF // Primary background
Cream: #FFFBF5 // Secondary background
Light Pink: #FFE5E5 // Tertiary/accent background
Pale Pink: #FFF5F5 // Notification background
Usage: Page backgrounds, card backgrounds, hover statesBeige: #EADFD6 RGB(234, 223, 214)
Usage: Card borders, input borders, dividers, navigation borders
Semantic Colors
Success (Green) bg-green-50
text-green-600
border-green-200
Success messages, completed states, positive feedback
Warning (Yellow) bg-yellow-50
text-yellow-600
border-yellow-200
Warnings, pending states, caution messages
Error (Red) bg-[#FFE5E5]
text-[#FF6B6B]
border-[#FF6B6B]
Error messages, validation failures, alerts
Info (Blue) bg-blue-50
text-blue-600
border-blue-200
Information messages, tips, neutral notifications
Typography
Font Family
System Font Stack:
font-family : system-ui , -apple-system, BlinkMacSystemFont,
'Segoe UI', Roboto, 'Helvetica Neue', Arial,
'Noto Sans', sans-serif ;
Native system fonts provide optimal performance and familiar reading experience across all platforms.
Type Scale
Level Class Size Line Height Usage Caption text-xs12px 16px (1.33) Labels, captions, fine print Body Small text-sm14px 20px (1.43) Secondary text, metadata Body text-base16px 24px (1.5) Body text, paragraphs Subheading text-lg18px 28px (1.56) Card titles, emphasized text Heading 3 text-xl20px 28px (1.4) Section titles Heading 2 text-2xl24px 32px (1.33) Page titles, main headings Heading 1 text-3xl30px 36px (1.2) Hero headings
Font Weights
Weight Class Value Usage Normal font-normal400 Body text, default Medium font-medium500 Emphasized text, labels Semibold font-semibold600 Subheadings, card titles Bold font-bold700 Headings, CTAs
Typography Examples
Hero Heading
Section Heading
Card Title
Body Text
Caption
< h1 className = "text-2xl md:text-3xl font-bold text-[#1F2937]" >
Chăm sóc thú cưng chuyên nghiệp
</ h1 >
Spacing System
Base Unit
Base: 4px (0.25rem)
Scale: 4, 8, 12, 16, 20, 24, 32, 40, 48, 64px
Spacing Scale
Token Tailwind Value Usage 1p-1, m-14px Tight spacing, badges 2p-2, m-28px Compact spacing, icon padding 3p-3, m-312px Comfortable spacing 4p-4, m-416px Default component padding 5p-5, m-520px Spacious padding 6p-6, m-624px Section padding 8p-8, m-832px Large section padding 10p-10, m-1040px Extra large padding 12p-12, m-1248px Hero section padding
Spacing Patterns
Component Internal
Component External
Grid Gaps
// Small card
< div className = "p-4" >
// Medium card
< div className = "p-4 md:p-6" >
// Large card/modal
< div className = "p-6 md:p-8" >
// Between sections
< section className = "mb-8 md:mb-12" >
// Between cards
< div className = "space-y-4 md:space-y-6" >
// Between form elements
< div className = "mb-4" >
// Tight grid
< div className = "grid grid-cols-2 gap-2" >
// Default grid
< div className = "grid grid-cols-3 gap-4 md:gap-6" >
// Spacious grid
< div className = "grid grid-cols-2 gap-6 md:gap-8" >
Components
Cards
Default Card
Highlighted Card
Card with Header
< div className = "bg-white p-4 md:p-6 rounded-lg border border-[#EADFD6]
shadow-sm hover:shadow-lg transition-shadow" >
< h3 className = "text-lg font-semibold text-[#1F2937] mb-2" >
Card Title
</ h3 >
< p className = "text-sm text-[#475569]" >
Card content goes here...
</ p >
</ div >
< select className = "w-full px-4 py-2 border border-[#EADFD6] rounded-md
focus:border-[#FF6B6B] focus:outline-none focus:ring-2
focus:ring-[#FF6B6B] focus:ring-opacity-20" >
< option > Option 1 </ option >
< option > Option 2 </ option >
</ select >
< textarea
className = "w-full px-4 py-2 border border-[#EADFD6] rounded-md
focus:border-[#FF6B6B] focus:outline-none focus:ring-2
focus:ring-[#FF6B6B] focus:ring-opacity-20"
rows = "4"
/>
< div className = "mb-4" >
< label className = "block text-sm font-medium text-[#1F2937] mb-2" >
Email
</ label >
< input
type = "email"
className = "w-full px-4 py-2 border border-red-500 rounded-md
focus:border-red-500 focus:ring-2 focus:ring-red-200"
/>
< p className = "text-sm text-red-500 mt-1" >
Vui lòng nhập email hợp lệ
</ p >
</ div >
Best Practices
Do’s ✓
Use design tokens consistently
Follow mobile-first responsive design
Maintain accessibility standards
Add hover and focus states to interactive elements
Use semantic HTML
Keep animations subtle and purposeful
Test across devices and browsers
Use spacing scale consistently
Don’ts ✗
Don’t use arbitrary values unless absolutely necessary
Don’t mix color systems (stick to brand palette)
Don’t create custom shadows (use Tailwind scale)
Don’t use inline styles
Don’t skip accessibility features
Don’t use too many different font sizes
Don’t create custom spacing values
Don’t ignore responsive breakpoints
Resources
Figma/Adobe XD for mockups
Chrome DevTools for debugging
Tailwind CSS IntelliSense for VS Code
Documentation