Skip to content

Branding and dark mode

Login screen

Stores › Configuration › Nebula › Nebula Admin Theme › Login Screen has four fields: a logo upload, and a title, subtitle and tagline shown beside the sign-in panel. All four are optional and empty by default.

Field Path
Logo nebula/login/logo
Title nebula/login/title
Subtitle nebula/login/subtitle
Tagline nebula/login/tagline

The four fields feed a branding panel that sits beside the sign-in form on a wide screen. Below 1024 pixels the split layout collapses to a single column and layout/login.css hides the whole panel, with its logo, title, subtitle and tagline. Login branding is therefore invisible on a phone or in a narrow window, where only the sign-in form shows.

How the panel is coloured

The panel is painted straight from the skin's brand ramp rather than from the semantic tokens. Its background gradient is from-nebula-950 via-nebula-900 to-nebula-800, the subtitle and the faint background grid are text-nebula-300, the tagline is text-nebula-400, and the title is plain white. The --nebula-sidebar-* and surface tokens a skin sets never reach it.

The template carries no dark: utilities either, so the panel follows dark mode only as far as the skin's dark section restates those same ramp steps. Most shipped skins restate steps 50 to 900 and leave 950 alone, so in dark mode the top of the gradient keeps its light-mode value. Only indigo and matrix restate step 950.

Check the sign-in page after changing a ramp

A ramp whose 950, 900 and 800 end is pale or neutral leaves a white title on a light panel. A ramp whose 300 and 400 are dark leaves the subtitle and tagline unreadable. A skin that sets its own --nebula-sidebar-* values hides both problems on the sidebar, so look at the sign-in page itself and not only at the dashboard. What each ramp step is responsible for is listed in the Token reference.

Admin branding

Stores › Configuration › Nebula › Nebula Admin Theme › Admin Branding has a sidebar logo, a wordmark, and a favicon.

Field Path Where it shows
Sidebar Logo nebula/admin/logo The top of the sidebar, and the collapsed sidebar
Wordmark nebula/admin/wordmark Text beside the logo
Favicon nebula/admin/favicon The browser tab, replacing Magento's

Uploads

The three upload fields write where the pages read: pub/media/nebula/login/<scope>/ for the login logo, pub/media/nebula/admin/<scope>/ for the sidebar logo and the favicon. Accepted: jpg, jpeg, gif, png, webp and svg, plus ico and apng for the favicon. The full field tables are in the Configuration reference. (Until 2026-09-13 the fields wrote under pub/media/logo/ and needed a copy step; they do not any more.)

Stores › Configuration › Nebula › Nebula Admin Theme › Settings › Menu Position chooses between the sidebar and a top bar. Configuration Menu Position chooses where the configuration section navigation sits on the configuration pages. Both are described in the Configuration reference.

Dark mode

Each administrator chooses dark mode from the toggle in the top bar. The choice is stored in the browser under localStorage['nebula_dark']. With nothing stored, the operating system preference applies through prefers-color-scheme. A script in the document head applies the dark class before the first paint so pages do not flash.

There is no server-side setting for dark mode. A skin decides what dark mode looks like through its dark section; see Create your own skin. The login branding panel is the exception, because it reads ramp steps directly and has no dark variant of its own.

Your own stylesheet

A module can add its own CSS from layout XML. Read tokens, not literal colours, and the stylesheet follows the skin and dark mode with no extra work:

.vendor-panel {
    background: var(--nebula-bg-secondary);
    color: var(--nebula-text-primary);
    border: 1px solid var(--nebula-border-default);
    border-radius: var(--nebula-radius-md);
}

How to load it is on CSS and JavaScript in your module.