Skip to main content

Design System

HostMetrics uses a muted, elegant aesthetic. This page is the definitive reference for all visual design values. Always use the exact hex values listed here — never use generic Tailwind color classes like red-500 or blue-600.

Brand Colors

The primary brand color is a sage green used throughout the app for active states, success indicators, and brand accents.
TokenHexUsage
Primary#6b7c5cActive sidebar items, primary buttons, success text, brand accents
Primary Light#f0f5edSuccess backgrounds, active item backgrounds
Primary Border#d5e0d0Success state borders
Primary Hover#5a6b4dPrimary button hover state

Semantic Colors

Success / Positive

Used for completed states, matched items, positive currency values, active status.
PropertyValue
Text#6b7c5c
Background#f0f5ed
Border#d5e0d0

Error / Negative

Used for failures, overdue items, negative currency values, critical alerts.
PropertyValue
Text#b45454
Background#fef2f2
Border#f5d5d5

Warning / Pending

Used for pending states, in-progress items, expiring documents.
PropertyValue
Text#8b7355
Background#f5f0e6
Border#e5dcd0

Neutral / Info

Used for inactive states, informational content, default badges.
PropertyValue
Text#8c8c8c
Background#fafaf8
Border#e8e6e1

Text Colors

TokenHexCSS ClassUsage
Primary#1a1a1atext-[#1a1a1a]Headings, important values, titles
Secondary#4a4a4atext-[#4a4a4a]Body text, table cell content
Muted#8c8c8ctext-[#8c8c8c]Labels, captions, placeholders, icons

Background Colors

TokenHexCSS ClassUsage
Page#fafaf8bg-[#fafaf8]Main page background
Cardwhitebg-whiteCards, widgets, modals
Table Header#fafaf8bg-[#fafaf8]Table header rows
Hover#f0efe9hover:bg-[#f0efe9]Table row hover, button hover

Border Colors

TokenHexCSS ClassUsage
Default#e8e6e1border-[#e8e6e1]Card borders, dividers, input borders
Divider#e8e6e1divide-[#e8e6e1]Table row separators, list dividers

Typography

HostMetrics uses the system default font stack — no custom fonts are loaded.

Text Styles

StyleClassesExample Usage
Page headingtext-xl font-semibold text-[#1a1a1a]Page titles
Card headingfont-semibold text-[#1a1a1a]Card/widget titles
Body texttext-sm text-[#4a4a4a]Table cells, descriptions
Labeltext-xs text-[#8c8c8c] uppercase tracking-wideColumn headers, form labels
Captiontext-xs text-[#8c8c8c]Subtitles, helper text
Monospacefont-mono text-xsIDs, reservation codes, hashes

Usage Examples

{/* Page heading */}
<h1 className="text-xl font-semibold text-[#1a1a1a]">Dashboard</h1>

{/* Card heading with subtitle */}
<h3 className="font-semibold text-[#1a1a1a]">Fleet Overview</h3>
<p className="text-xs text-[#8c8c8c]">Last 30 days</p>

{/* Body text */}
<p className="text-sm text-[#4a4a4a]">Your fleet earned $12,500 this month.</p>

{/* Label */}
<span className="text-xs text-[#8c8c8c] uppercase tracking-wide">Vehicle</span>

{/* Monospace for IDs */}
<span className="font-mono text-xs text-[#8c8c8c]">RES-48291034</span>

Spacing

Standard Spacing Values

ContextValueClass
Card padding20pxp-5
Card header padding20px horizontal, 16px verticalpx-5 py-4
Table cell padding16px horizontal, 12px verticalpx-4 py-3
Section gap24pxspace-y-6
Item gap12-16pxgap-3 or gap-4
Form field gap6pxspace-y-1.5

Border Radius

ContextClass
Cards and widgetsrounded-xl
Buttonsrounded-lg
Badgesrounded-full
Inputsrounded-md

Icons

HostMetrics uses Lucide React for all icons.
import { FileText, ChevronRight, Plus } from "lucide-react";

Sizing

ContextClassesPixel Size
Inline with textw-4 h-416px
Standalone / buttonsw-5 h-520px
Empty state illustrationw-10 h-1040px

Color

  • Default / muted: text-[#8c8c8c]
  • Inherit from parent: no explicit color class
  • Brand accent: text-[#6b7c5c]

Currency Formatting

Currency values always use tabular-nums for proper column alignment:
{/* Positive */}
<span className="text-[#6b7c5c] tabular-nums">+$1,250.00</span>

{/* Negative */}
<span className="text-[#b45454] tabular-nums">-$85.50</span>

{/* Neutral */}
<span className="text-[#4a4a4a] tabular-nums">$500.00</span>

Rules

Never use generic Tailwind colors. Do not use classes like text-red-500, bg-blue-100, border-green-600, etc. Always use the exact hex values defined on this page. This ensures the muted, elegant aesthetic remains consistent across the entire application.