Appearance

Branding, per organization

Logo, colours, favicon and the name shown to visitors belong to the organization — including the sign-in page and the back office itself, which carry the firm's own marks rather than the platform's.

Back office → Appearance → Branding. What you edit there is the firm you have open in the toolbar; with no firm open you are editing the platform's own identity, which is what an operator working across firms sees.

A firm never wears another firm's mark

A firm that has set no logo shows its name — which is true — rather than borrowing one, which is a lie. When a firm gets its branding for the first time it inherits the installation's design scale (colours, corner radius, fonts) so nothing changes visually that day, and none of its identity.

The single exception is an installation with one firm, where the platform's mark and the firm's mark are the same thing.

Marks are files

A logo is a file in Public / Branding, in the same file manager as everything else — so it can be found, replaced, reused on a page, and seen. Choose from files opens the manager itself; an upload lands in that same folder rather than somewhere only the branding form knows about.

The folder is made for a firm the moment somebody opens its branding page.

If your logo was uploaded before this

It still shows. python manage.py branding_adopt_marks --apply files those older marks into Public/Branding too — it reports first and writes only when asked, and it never deletes the original.

Custom CSS

Stylesheets can be added per organization and scoped: the public site, the back office, or both. They are served as real files with a content policy rather than injected inline.

Scope a stylesheet deliberately

A rule written for a product page and left unscoped will find something in the back office to break. Choose the narrowest scope that does the job.

The back office has one control scale

Buttons, inputs, selects and the controls inside table cells take their height, padding, font size and corner radius from one declared scale. Templates do not restate geometry.

That sounds like housekeeping and it is not: when every screen estimates the same number for itself, a button and the field beside it stop lining up at the first font change. One scale means they cannot.

Token Is
Control height The height of a button and the input beside it
Dense height The same, inside a table cell
Corner radius Small, and the same everywhere

Tables on a phone

A wide table scrolls inside its own frame. The page itself never scrolls sideways — that is a rule of the platform, not a per-screen decision.

Layout presets

Common page arrangements ship as presets. See Layout.

Next

Tags
administrationappearance