Skip to main content

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

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 ✓)

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

LevelClassSizeLine HeightUsage
Captiontext-xs12px16px (1.33)Labels, captions, fine print
Body Smalltext-sm14px20px (1.43)Secondary text, metadata
Bodytext-base16px24px (1.5)Body text, paragraphs
Subheadingtext-lg18px28px (1.56)Card titles, emphasized text
Heading 3text-xl20px28px (1.4)Section titles
Heading 2text-2xl24px32px (1.33)Page titles, main headings
Heading 1text-3xl30px36px (1.2)Hero headings

Font Weights

WeightClassValueUsage
Normalfont-normal400Body text, default
Mediumfont-medium500Emphasized text, labels
Semiboldfont-semibold600Subheadings, card titles
Boldfont-bold700Headings, CTAs

Typography Examples

<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

TokenTailwindValueUsage
1p-1, m-14pxTight spacing, badges
2p-2, m-28pxCompact spacing, icon padding
3p-3, m-312pxComfortable spacing
4p-4, m-416pxDefault component padding
5p-5, m-520pxSpacious padding
6p-6, m-624pxSection padding
8p-8, m-832pxLarge section padding
10p-10, m-1040pxExtra large padding
12p-12, m-1248pxHero section padding

Spacing Patterns

// 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">

Components

Buttons

<button className="bg-[#FF6B6B] text-white px-4 md:px-6 py-2 rounded-md
                   hover:bg-[#FF5A5A] active:bg-[#E24D4D]
                   transition-colors text-sm md:text-base">
  Đặt dịch vụ
</button>
States:
  • Default: bg-[#FF6B6B]
  • Hover: bg-[#FF5A5A]
  • Active: bg-[#E24D4D]
  • Disabled: opacity-50 cursor-not-allowed

Cards

<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>

Forms

<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-[#EADFD6] rounded-md
               focus:border-[#FF6B6B] focus:outline-none focus:ring-2
               focus:ring-[#FF6B6B] focus:ring-opacity-20"
    placeholder="[email protected]"
  />
</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 ✓

  1. Use design tokens consistently
  2. Follow mobile-first responsive design
  3. Maintain accessibility standards
  4. Add hover and focus states to interactive elements
  5. Use semantic HTML
  6. Keep animations subtle and purposeful
  7. Test across devices and browsers
  8. Use spacing scale consistently

Don’ts ✗

  1. Don’t use arbitrary values unless absolutely necessary
  2. Don’t mix color systems (stick to brand palette)
  3. Don’t create custom shadows (use Tailwind scale)
  4. Don’t use inline styles
  5. Don’t skip accessibility features
  6. Don’t use too many different font sizes
  7. Don’t create custom spacing values
  8. Don’t ignore responsive breakpoints

Resources

Design Tools

  • Figma/Adobe XD for mockups
  • Chrome DevTools for debugging
  • Tailwind CSS IntelliSense for VS Code

Documentation

Color Tools