Skip to main contentSkip to content
GHL Experts
GoHighLevel Dashboard Styling: The Ultimate Element-by-Element CSS Customization Guide — hero
Customization

GoHighLevel Dashboard Styling: Element-by-Element CSS Customization Guide

Transform your GoHighLevel agency portal from the default look into a fully branded, white-labeled experience with the exact CSS selectors and code snippets you need to customize every major element of the GHL dashboard.

Anas Uddin
August 11, 2026
3 min read

GoHighLevel (GHL) dashboards transform into a fully white-labeled, bespoke software experience through element-by-element CSS customization. Native settings allow for basic branding, but custom CSS provides surgical control over the user interface (UI), reinforcing brand identity and improving user experience (UX).

This GHL customization guide is for agency owners, developers, and tech-savvy marketers who are comfortable with CSS and want a practical, copy-paste solution for dashboard styling.


1. Introduction: Why Customize the GHL Dashboard?

Dashboard customization goes beyond aesthetics. It allows agencies to:

  • Strengthen Brand Identity: Move away from the "out-of-the-box" look.
  • Improve Usability: Tweak fonts, button sizes, and contrast for better readability.
  • Control the Experience: Hide unnecessary elements or features.
  • Professionalism: Provide clients with a platform that feels like a custom-built proprietary tool.

2. Getting Started: Where to Inject Custom CSS in GoHighLevel

The GoHighLevel Agency level hosts all CSS overrides to ensure propagation across the ecosystem.

  1. Log into the GoHighLevel Agency Account.
  2. Navigate to Settings > Company.
  3. Locate the Custom CSS field.
  4. Paste the code and click Save.
Pro Tip: Organized stylesheets require starting each CSS snippet with a comment (e.g., /* Header Styling */) for easy troubleshooting.

3. Macro-Context: Global Theming with CSS Variables

CSS variables define the brand's color palette before targeting specific elements. This global theming allows entire theme updates by changing just a few lines of code.

1:root {
2 --brand-primary: #2563eb;
3 --brand-dark: #1d4ed8;
4 --brand-light: #dbeafe;
5 --sidebar-bg: #0c1929;
6 --header-bg: #0f172a;
7 --content-bg: #f1f5f9;
8 --card-bg: #ffffff;
9 --text-main: #1e293b;
10 --border-color: #e2e8f0;
11}
12
13/* Global Font Override */
14@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
15
16body, .page-wrapper, .left-sidebar, .topbar, .card, .btn {
17 font-family: 'Inter', sans-serif !important;
18}

4. Element-by-Element Customization

4.1. Sidebar Navigation (Left Menu)

The sidebar serves as the most prominent visual anchor. These CSS selectors style the container, links, and active states.

1/* Sidebar Container */
2#sidebar-v2, .left-sidebar, .sidebar-nav {
3 background-color: var(--sidebar-bg) !important;
4 border-right: 1px solid var(--border-color) !important;
5}
6
7/* Sidebar Links */
8.nav-item-container .nav-link, #sidebar-v2 .hl_nav-item a {
9 color: #8ba3be !important;
10 border-radius: 8px !important;
11 transition: all 0.3s ease;
12}
13
14/* Sidebar Active/Hover State */
15#sidebar-v2 .hl_nav-item--active a,
16.sidebar-v2 .nav-item.active a,
17.nav-link:hover {
18 background-color: var(--brand-primary) !important;
19 color: #ffffff !important;
20}
21
22/* Sidebar Icons */
23.left-sidebar .sidebar-nav ul li a i, .hl_sidebar a svg {
24 color: #607d9b !important;
25 opacity: 0.8;
26}

4.2. Top Header & Search Bar

The top header contains the location switcher, notifications, and user profile.

1/* Header Background */
2.hl_header, .topbar {
3 background: var(--header-bg) !important;
4 border-bottom: 2px solid var(--border-color) !important;
5}
6
7/* Location Switcher/Search Bar */
8.hl_header .hl_location-search, .hl_header .location-selector {
9 background-color: #f7fafc !important;
10 border: 1px solid var(--border-color) !important;
11 border-radius: 6px !important;
12}

4.3. Dashboard Widgets and Cards

These CSS selectors target data summaries (Opportunities, Pipeline Value, etc.) in the main content area.

1/* Card Container */
2.hl_dashboard--card, .card, .dashboard-widget-wrapper {
3 background-color: var(--card-bg) !important;
4 border: 1px solid var(--border-color) !important;
5 border-radius: 12px !important;
6 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important;
7}
8
9/* Card Titles */
10.card-header h4, .card-title, .dashboard-widget-wrapper h3 {
11 color: var(--text-main) !important;
12 font-weight: 600 !important;
13 font-size: 1rem !important;
14}

4.4. Buttons and Quick Actions

Cohesive UIs require overriding default green/blue buttons to match the brand's primary action color.

1/* Primary & Quick Action Buttons */
2.btn-primary, .btn-success, .quick-actions .btn, .hl_quick-actions button {
3 background-color: var(--brand-primary) !important;
4 border-color: var(--brand-primary) !important;
5 color: #ffffff !important;
6 border-radius: 6px !important;
7 transition: all 0.2s ease-in-out;
8}
9
10.btn-primary:hover, .quick-actions .btn:hover {
11 background-color: var(--brand-dark) !important;
12 transform: translateY(-1px);
13 box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3);
14}

4.5. Data Components: Tables and Forms

Consistent styling for data entry and display improves the CRM's professional feel.

1/* Table Headers */
2.table thead th {
3 background-color: #f8fafc !important;
4 color: #475569 !important;
5 text-transform: uppercase !important;
6 font-size: 0.8rem !important;
7}
8
9/* Form Inputs */
10.form-control, input[type="text"], textarea {
11 border: 1px solid #cbd5e1 !important;
12 border-radius: 6px !important;
13}
14
15.form-control:focus {
16 border-color: var(--brand-primary) !important;
17 box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
18}

4.6. Special Effects and Utilities

Subtle interface parts like loading bars and badges require tailoring, while unnecessary elements need hiding.

1/* Loading Bar Color */
2#nprogress .bar {
3 background-color: var(--brand-primary) !important;
4 height: 3px !important;
5}
6
7/* Status Badges */
8.badge-primary {
9 background-color: var(--brand-light) !important;
10 color: var(--brand-dark) !important;
11}
12
13/* Hiding Specific Elements (e.g., Help Button) */
14#hl_support-trigger-button {
15 display: none !important;
16}

5. GHL Dashboard Styling Best Practices

  • The !important Rule: GoHighLevel uses highly specific utility classes (like Tailwind). Custom styles often need !important to force application.
  • Responsive Testing: Mobile dashboard views require testing. @media (max-width: 768px) blocks adjust styles for smaller screens.
  • Specificity: Unapplied styles require more specific selectors (e.g., .left-sidebar .nav-item a instead of just .nav-link).

6. Troubleshooting Common Issues

  • Missing Styles: Browser cache clearing or a "Hard Refresh" (Ctrl+Shift+R / Cmd+Shift+R) resolves unappearing styles.
  • Broken CSS from Updates: GoHighLevel occasionally updates its DOM structure. Broken styles require right-clicking the element, selecting "Inspect", and identifying changed class names or IDs.
  • Unwanted Global CSS: Area-specific styles require parent-specific selectors like #sidebar-v2.

7. Final Thoughts

GoHighLevel dashboard customization operates as an iterative process. High-visibility elements—the sidebar, header, and primary buttons—serve as the starting point, followed by progressively layered styling for cards, tables, and forms. An organized, variable-based stylesheet ensures the agency portal remains a modern, professional environment.

Get Started

Ready to try GoHighLevel?

Get full access to every GoHighLevel feature with our exclusive 30-day extended trial. No commitment — cancel anytime.

Start Your Free Trial

The 30-day extended trial is exclusive to GHL Experts referrals.