swot-docs.css style reference
A visual tour of every component in the shared documentation stylesheet: typography, lists, code, tables, callouts, numbered steps, flow diagrams and print behaviour. Each block on this page is rendered by the stylesheet itself.
Design principles
The stylesheet is built to sit inside the existing Salesmatrix site without fighting it or leaking into it.
- Fully scoped. Every rule is qualified with
.swot-doc, and the custom properties live on.swot-docrather than:root, so nothing affects the rest of the site. - Beats the site reset without
!important.style.cssflattensh1–h4site-wide; class-qualified selectors (specificity 0,1,1+) restore a proper heading hierarchy. - Palette borrowed, not invented. Colours come straight from
style.css; only the amber caution tone is derived. - Light only, on purpose. The host site has no dark mode, so a dark document inside it would look wrong. All colours are painted explicitly.
- Umbraco-ready. Key rules carry
/**umb_name:…*/comments so they show up as named styles in the Umbraco rich-text editor.
Palette
All tokens are CSS custom properties on .swot-doc. Reference them with var(--name) in any inline styles or SVG inside a document.
#5271A5 · headings, links
#3d5880 · hover, labels
#7AA9F9 · accents
#F07B71 · danger
#b07a18 · caution
#292C47 · strong text
#454a68 · body text
#6b7590 · meta, labels
#f7faff · panels
#eaf0fb · code, headers
#dbe3f0 · borders
Fonts: Montserrat for text (--sans) and Cascadia Mono / Consolas for labels and code (--mono). Paragraph width is capped at --measure: 68ch for comfortable reading.
Page layout
A document is a single .shell grid: masthead across the top, a sticky contents rail on the left, content in main, and a footer across the bottom. Below 1000px the rail hides and the page becomes one column.
<body class="swot-doc">
<div class="shell">
<header class="masthead"> <!-- eyebrow, h1, standfirst, masthead-meta -->
<nav class="rail"> <!-- rail-title + ol of anchor links, auto-numbered 01, 02… -->
<main> <!-- one <section id="…"> per topic -->
<footer>
</div>
</body>
Masthead parts
| Class | Purpose | Look |
|---|---|---|
| .eyebrow | Small kicker above the title | Mono, uppercase, tracked, brand blue |
| h1 | Document title | Fluid 2–3.1rem, weight 900, balanced wrap |
| .standfirst | One-paragraph summary | Slightly larger, soft ink, 68ch max |
| .masthead-meta | Key/value facts (version, owner…) | Mono row, <b> for keys |
Typography
This is an h2 section heading above, underlined with a thin rule. Body text uses soft ink with strong text in full ink, and links are underlined again, because the site stylesheet removes underlines globally and links need to stand out in prose.
This is an h3 subheading
Used to break a section into parts. Sans-serif, bold, dark ink.
This is an h4 label
A mono, uppercase label for small groupings like “Inputs” or “Example”.
Lists
- Unordered lists use square markers in brand blue.
- Items are evenly spaced using flex gap, not margins.
- Ordered lists share the same rhythm.
- Markers are also tinted brand blue.
Code
Inline code like .swot-doc .note.caution gets a pale blue chip. Blocks use <pre><code> with a brand-blue left border and horizontal scroll. Two optional highlight spans are available: .kw for keywords and .cmt for comments.
/* Load order matters */
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/docs/assets/swot-docs.css">
Tables
Wrap tables in .table-wrap for a bordered, horizontally scrollable panel. Headers are mono, uppercase and sticky; numbers use tabular figures; rows highlight on hover.
| Stage | Owner | Output | Days |
|---|---|---|---|
| Group row · Discovery | |||
| S1 Intake | Sales | Qualified lead record | 2 |
| S2 Analysis | Analyst | SWOT draft | 5 |
| Group row · Delivery | |||
| S3 Review | Account lead | to be confirmed | 3 |
| S4 Handover | Customer success | Final report | 1 |
.tag: white-on-blue mono badge for IDs or stages..group-row: a tinted, uppercase divider row that groups the rows below it..slot: italic grey placeholder for values not yet filled in.td.stage/td.key: cells that never wrap.
Callouts
Three severity levels, all built from .note with an optional modifier and a .note-label.
Default .note: brand blue. Use for tips and context.
.note.caution: amber. Use for things that are easy to get wrong.
.note.danger: coral, reusing the site’s CTA colour. Use for destructive or irreversible actions.
Multiple paragraphs inside a callout are spaced automatically.
Numbered steps
Add class="steps" to an <ol> and wrap each item’s content in a <div>. The counter becomes a solid blue square badge.
Upload the stylesheet
Place
swot-docs.cssin/docs/assets/.Link it after style.css
So the scoped rules win over the site-wide heading reset.
Wrap the document
Add
class="swot-doc"to the body or a container element, then use the components on this page.
Flow diagrams
Inline SVG inside .flow scrolls horizontally on small screens (min width 620px) and can colour itself with the variables --accent, --accent-wash, --surface and --surface-2.
Inside .flow svg the lines --rule: var(--rule), --ink: var(--ink) and --slate: var(--slate) refer to themselves, which CSS treats as a cycle. Those three variables become invalid inside the SVG, so the diagram above sticks to the four that work. Deleting those three lines fixes it, because the values are already inherited from .swot-doc.
Print & accessibility
- The contents rail is hidden and the layout collapses to one column.
- Tables and code blocks avoid breaking across pages.
- Links print as plain dark text.
Accessibility
- Links and rail items get a visible 2px focus outline for keyboard users.
- Animations and transitions are switched off when the user prefers reduced motion.
- Sections have
scroll-margin-topso anchor jumps don’t land flush against the viewport edge.