Skip to main content

Theming & Branding

BunShip Pro uses CSS custom properties (HSL values) for its entire color system. Change one variable and every component updates — buttons, borders, backgrounds, charts, everything.

Brand Color

The primary brand color is defined in packages/ui/src/styles/globals.css. BunShip Pro ships with teal (172 on the hue scale). To change it, update the --primary HSL value in both :root (light mode) and .dark (dark mode):

Common Brand Colors

Change all five variables (--primary, --primary-foreground, --accent, --accent-foreground, --ring) to keep the theme consistent.

Color System

The full color palette uses these CSS variables: All values are HSL triplets (e.g., 172 80% 34%) and are referenced as hsl(var(--primary)) in Tailwind classes.

Dark Mode

BunShip Pro supports three theme modes: light, dark, and system (follows OS preference). The toggle is in the dashboard header and in user preferences at /settings/preferences. The theme is applied by adding or removing the dark class on the <html> element. The .dark block in globals.css overrides all color variables. To adjust dark mode colors, edit the .dark section in globals.css. The dark background defaults to 0 0% 7.8% (near-black).

Fonts

BunShip Pro uses two fonts defined in globals.css: To change fonts:
  1. Update the @theme block in globals.css:
  1. Load the new font — either add a <link> tag in the root layout or install it as an npm package

Logo and Favicon

Replace these files with your own: The sidebar currently uses the text “BunShip” with the Ship icon from Lucide. To replace it with an image logo, edit the logo section in sidebar.tsx.

Border Radius

The global border radius is set with the --radius variable:
All components derive their radius from this value (--radius-sm, --radius-md, --radius-lg, --radius-xl). Increase it for rounder corners, decrease for sharper.

Next Steps

  • UI Components — Available components and how to use them
  • Landing Page — Customize the marketing site with your branding