Branding configuration
Generates the document imported by Portal customisation → Branding → Import configuration. Output a single JSON object. Every field is optional: whatever you omit keeps its current value in the portal. Nothing is written to the database on import — the operator reviews the result in the form and presses Save.Document
Fields
style
bold— Instrument Serif headings, large display type, gradient accents.minimal— headings drop to the body font at reduced sizes, gradients collapse to flat colour.
Colour format
Colours are space-separated HSL channels, not hex and nothsl(...):
primary_opposite is the text colour placed on top of primary — it needs to contrast with it, normally white or near-black. Getting this wrong is the most common cause of unreadable buttons.
Speech term boosting
Domain vocabulary that speech-to-text would otherwise mishear. Supply the words a learner will actually say out loud that a general-purpose recogniser gets wrong: clinical terms, drug names, product names, the organisation’s own name. Constraints, enforced on import exactly as the form enforces them:- 5 to 50 characters per term. Shorter or longer terms are dropped and reported. This rules out most short abbreviations —
ECGis too short to qualify,electrocardiogramis fine. - Maximum 100 terms. Beyond that the first 100 are kept and the rest reported.
- Only supported in some speech languages. The branding tab lists which; a term set for an unsupported language is simply inert.
Rules
- Reject the document rather than guess if
styleis not one of the two values. - Do not invent colours to fill the palette. Supply only what the brand defines and let the rest keep their current values.
- Check contrast between
primaryandprimary_oppositebefore emitting.