Back to Marketplace
Community plugin

Dark Mode

An eye-friendly dark theme for every screen

A polished dark theme for your entire CRM, with a one-click toggle in the header.

Dark Mode — An eye-friendly dark theme for every screen

Dark Mode gives your whole CRM a modern, low-glare interface that is
easier on the eyes during long working days, without changing how
anything works.

What you get

- A complete dark theme across the dashboard, customers, tickets,
  invoices, proposals, reports, settings and your installed modules.
- A sun and moon toggle in the top header bar, right next to the
  notification bell, so anyone can switch themes from any screen.
- Each staff member's choice is remembered in their own browser, so
  switching themes never affects anyone else.
- A settings page where you choose the starting theme for new
  sessions: Light, Dark, or Match Device, which follows each person's
  operating system preference automatically.
- An option to apply a single theme to everyone, which hides the
  toggle and keeps the whole team on one look.

Built to fit in

- No core files are modified. The module styles the interface at
  render time and removes cleanly when uninstalled.
- The theme is applied before the page paints, so there is no white
  flash when loading a screen in dark mode.
- Status colors, badges and brand accents keep their meaning, while
  neutral text, panels, tables, forms and borders switch to dark.
- Themes the interface through the CRM's own style variables, so
  modules that follow the standard styling are covered too.

No configuration is required. Install it, and dark mode is available
to your team immediately.

1. In your CRM, go to the Marketplace and install the Dark Mode
module, or upload dark-mode.zip if you are installing manually.

2. That is all that is required. The module activates on install and
the theme is available right away.

3. Look for the sun or moon icon in the top header bar, next to the
notification bell. Click it to switch between light and dark.

4. To set the starting theme for your team, open Dark Mode from the
main navigation menu. You can choose Light, Dark, or Match Device,
and optionally apply one theme to everyone.

If the theme does not appear straight away, refresh the page with
Ctrl+Shift+R (Cmd+Shift+R on a Mac) to clear the cached stylesheet.
Does every staff member get their own setting?
Yes. Each person's choice is saved in their own browser, so one
person switching to dark mode does not change it for anyone else.

Can I force one theme for the whole team?
Yes. On the Dark Mode settings page, turn on the option to apply the
theme to everyone. This hides the header toggle and keeps all staff
on the theme you select.

What does Match Device do?
It follows each person's operating system setting, so their CRM turns
dark when their computer switches to dark mode, and light when it
switches back.

Does this modify any core CRM files?
No. The module applies its styling when a page is rendered, so your
core files are untouched and removing the module returns everything
to normal.

Will it work with my other modules?
It covers the standard CRM screens and the modules included with your
install, and it themes through the CRM's own style variables so
modules using standard styling are picked up automatically. A module
with heavily customised styling may have the occasional element that
needs a small update.

Does it affect the client portal or only staff screens?
It applies to the staff interface.

Will it slow down my CRM?
No. It adds a single stylesheet and a small script to each page, with
no database queries on page load.

v1.9.0

1.9.0
- Added dark styling for light gradient panels (e.g. empty-state
chart placeholders). Vivid brand gradients are intentionally
left unchanged.
- Added coverage for dashed and dotted borders at any width,
in both hex and rgb() forms.

1.8.0
- Dark mode now overrides the core theme variables
(--pfx-card-bg, --pfx-body-bg) and defines --pfx-border,
--pfx-input-bg and --pfx-text, so every var()-based surface
is themed in one step.
- Fixed cards that stayed light because they were styled with
var(--pfx-card-bg,#fff) rather than a literal color.
- Fixed hover borders that stayed light: when inline JavaScript
changes a style, the browser rewrites the style attribute using
rgb() notation, so hex-based rules no longer matched. Added
rgb() coverage plus a fallback for elements with inline hover
handlers.

1.7.0
- Added dark styling for light borders set inline or by inline
JavaScript hover handlers (finance cards, report row dividers).

1.6.1
- Fixed the page footer keeping a white background.

1.6.0
- Added coverage for white backgrounds written in rgb() form.

1.5.0
- Audited every module stylesheet and added dark styling for 158
panel and card classes and 141 text classes, including the
dashboard KPI cards and their hover states.

1.4.0
- Reworked asset injection into a single block before the closing
body tag, so styling no longer depends on the document head
being present in the same output buffer.
- Fixed table row hover reverting to a light background.
- Fixed hover backgrounds applied by inline JavaScript.

1.3.0
- Added a version marker to the injected stylesheet so the active
build can be confirmed from the browser inspector.
- Added dark styling for dropdown panels, notification panels,
module cards, pagination controls, tabs and modals.

1.2.0
- Audited inline colors across all application views and added
dark styling based on brightness and saturation, so neutral
text and surfaces invert while status colors stay meaningful.

1.1.0
- Default settings are now created by install.sql, so the module
is fully configured as soon as it is installed.
- Added uninstall.sql to remove its settings on removal.
- Fixed script content appearing as page text on the client
detail screen.
- Added dark styling for the client list and client detail views.

1.0.0
- Initial release.
- Site-wide dark theme for all staff screens.
- Sun and moon toggle in the header, remembered per user.
- Settings page with Light, Dark and Match Device options, plus
an option to apply one theme to everyone.
ScreenshotScreenshotScreenshot
Community Free
Download
Free plugin · download the .zip
Version1.9.0
Last updatedJul 21, 2026
Requires CRM1.1.7 or higher
Requires PHP8.3 or higher
Active installs7
Size17 KB
Seller
Perfect-CRM Store