Branding
Branding is how the panel looks like your product instead of a generic admin: the name in the corner, the logo, and the color on buttons and the active nav item. It is configuration on the panel, applied to the login screen and the shell together. You are not writing a separate theme stylesheet for each screen.
Panels can each carry their own branding, which matters when one process hosts a public demo and an internal admin. Logos that should change without a deploy — stored in settings — are overlaid at request time rather than baked into the config file.
panel('admin').branding({ name: 'Shamar', primaryColor: '#f1511b', accentColor: '#286291', brandDisplay: 'both', // logo | name | both logo: '/branding/logo.svg', logoDark: '/branding/logo-dark.svg',})Use resolveBrandingOverrides in defineConfig to overlay logos from a Settings singleton (DB) at request time — prefer that over per-company logos for global admin chrome.
Google Fonts helpers are available on branding config for shell typography.