Brand Customization

Customization & Branding

Complete guide to customizing brand colors, themes, typography, and visual elements to match your brand identity in NextReady.

Dynamic color system
Dark mode support
Interactive CLI tools

Customization System

Brand Colors
Dynamic color system with CSS variables
  • Primary and secondary colors
  • Dark mode support
  • CSS custom properties
  • Tailwind integration
Typography System
Comprehensive font and text styling
  • Font family customization
  • Responsive typography scales
  • Line height and spacing
  • Heading style variations
Theme Engine
Light/dark theme system with smooth transitions
  • System preference detection
  • Manual theme switching
  • Persistent theme storage
  • Component theme variants
Asset Management
Logo, icons, and visual asset replacement
  • Logo replacement system
  • Favicon generation
  • Social media assets
  • Brand asset optimization

Customization Guide

CSS Custom Properties
Brand color system using CSS variables for easy customization
/* app/globals.css */
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    /* Brand Colors */
    --brand-primary: 102 126 234; /* #667eea */
    --brand-secondary: 118 75 162; /* #764ba2 */
    
    /* UI Colors */
    --background: 0 0% 100%;
    --foreground: 222.2 84% 4.9%;
    --card: 0 0% 100%;
    --card-foreground: 222.2 84% 4.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 222.2 84% 4.9%;
    --primary: var(--brand-primary);
    --primary-foreground: 210 40% 98%;
    --secondary: 210 40% 96%;
    --secondary-foreground: 222.2 47.4% 11.2%;
    --muted: 210 40% 96%;
    --muted-foreground: 215.4 16.3% 46.9%;
    --accent: 210 40% 96%;
    --accent-foreground: 222.2 47.4% 11.2%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 210 40% 98%;
    --border: 214.3 31.8% 91.4%;
    --input: 214.3 31.8% 91.4%;
    --ring: var(--brand-primary);
    --radius: 0.5rem;
  }

  .dark {
    --background: 222.2 84% 4.9%;
    --foreground: 210 40% 98%;
    --card: 222.2 84% 4.9%;
    --card-foreground: 210 40% 98%;
    --popover: 222.2 84% 4.9%;
    --popover-foreground: 210 40% 98%;
    --primary: var(--brand-primary);
    --primary-foreground: 222.2 47.4% 11.2%;
    --secondary: 217.2 32.6% 17.5%;
    --secondary-foreground: 210 40% 98%;
    --muted: 217.2 32.6% 17.5%;
    --muted-foreground: 215 20.2% 65.1%;
    --accent: 217.2 32.6% 17.5%;
    --accent-foreground: 210 40% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 210 40% 98%;
    --border: 217.2 32.6% 17.5%;
    --input: 217.2 32.6% 17.5%;
    --ring: var(--brand-primary);
  }
}

/* Custom brand utilities */
@layer utilities {
  .text-brand-primary {
    color: rgb(var(--brand-primary));
  }
  
  .bg-brand-primary {
    background-color: rgb(var(--brand-primary));
  }
  
  .border-brand-primary {
    border-color: rgb(var(--brand-primary));
  }
  
  .text-brand-secondary {
    color: rgb(var(--brand-secondary));
  }
  
  .bg-brand-secondary {
    background-color: rgb(var(--brand-secondary));
  }
}
Tailwind Configuration
Extend Tailwind CSS with your custom brand colors and utilities
// tailwind.config.js
const { fontFamily } = require("tailwindcss/defaultTheme")

/** @type {import('tailwindcss').Config} */
module.exports = {
  darkMode: ["class"],
  content: [
    './pages/**/*.{ts,tsx}',
    './components/**/*.{ts,tsx}',
    './app/**/*.{ts,tsx}',
    './src/**/*.{ts,tsx}',
  ],
  theme: {
    container: {
      center: true,
      padding: "2rem",
      screens: {
        "2xl": "1400px",
      },
    },
    extend: {
      colors: {
        brand: {
          primary: 'rgb(var(--brand-primary) / <alpha-value>)',
          secondary: 'rgb(var(--brand-secondary) / <alpha-value>)',
        },
        border: "hsl(var(--border))",
        input: "hsl(var(--input))",
        ring: "hsl(var(--ring))",
        background: "hsl(var(--background))",
        foreground: "hsl(var(--foreground))",
        primary: {
          DEFAULT: "hsl(var(--primary))",
          foreground: "hsl(var(--primary-foreground))",
        },
        secondary: {
          DEFAULT: "hsl(var(--secondary))",
          foreground: "hsl(var(--secondary-foreground))",
        },
        destructive: {
          DEFAULT: "hsl(var(--destructive))",
          foreground: "hsl(var(--destructive-foreground))",
        },
        muted: {
          DEFAULT: "hsl(var(--muted))",
          foreground: "hsl(var(--muted-foreground))",
        },
        accent: {
          DEFAULT: "hsl(var(--accent))",
          foreground: "hsl(var(--accent-foreground))",
        },
        popover: {
          DEFAULT: "hsl(var(--popover))",
          foreground: "hsl(var(--popover-foreground))",
        },
        card: {
          DEFAULT: "hsl(var(--card))",
          foreground: "hsl(var(--card-foreground))",
        },
      },
      fontFamily: {
        sans: ["var(--font-sans)", ...fontFamily.sans],
        heading: ["var(--font-heading)", ...fontFamily.sans],
      },
      keyframes: {
        "accordion-down": {
          from: { height: 0 },
          to: { height: "var(--radix-accordion-content-height)" },
        },
        "accordion-up": {
          from: { height: "var(--radix-accordion-content-height)" },
          to: { height: 0 },
        },
      },
      animation: {
        "accordion-down": "accordion-down 0.2s ease-out",
        "accordion-up": "accordion-up 0.2s ease-out",
      },
    },
  },
  plugins: [require("tailwindcss-animate")],
}

Quick Customization

One-Command Branding
Use our interactive CLI to customize your brand in minutes
npm run brand

Interactive brand customization tool

Update colors, fonts, and branding

npm run theme:build

Build custom theme variants

Generate theme files and utilities

npm run assets:optimize

Optimize brand assets and images

Compress and convert brand assets

Change Colors

Update your brand colors globally across the application

npm run brand
Update Typography

Customize fonts, sizes, and spacing throughout the app

Edit globals.css
Replace Assets

Upload your logo and generate all necessary asset variants

Replace public/logo.*

Customization Best Practices

šŸŽØ Customization Complete!

Your brand customization system is ready. Create unique, branded experiences that reflect your company's identity.