Garmingo Docs
Editor

Custom CSS

Inject small, safe CSS overrides to fine‑tune layout and style beyond themes.

Enhance or fine‑tune styling when default theme options aren’t enough.

Use Cases

  • Adjust spacing or typography
  • Highlight critical components
  • Add subtle animations

Good Practices

  • Keep overrides minimal; large CSS files make maintenance harder.
  • Namespacing: target provided container classes to avoid conflicts.
  • Test mobile and dark mode after changes.

Safety

The editor may sanitize disallowed rules. If something “disappears,” simplify the selector.

/* Example: make status badges slightly rounded */
.status-badge { border-radius: 6px; }

Rollback by clearing the CSS field and saving.

Available Class Name Reference

Below are stable class names you can target. Keep selectors specific but shallow (avoid deep descendant chains where possible). Names may evolve; prefer higher-level wrappers first.

ClassPurpose / TargetNotes
.status-tabs-listWrapper for the tab navigation listControls horizontal layout / spacing
.status-tabs-list-itemIndividual tab trigger (Home / Maintenance / Incidents)Apply typography, active states, hover
.status-alertGeneric alert (maintenance / incident banners in content area)Color is set via component prop; override padding/margins
.status-grid-rootOuter Grid container for the pageAdjust max-width, responsive gutters
.status-grid-colPrimary column containing main stackUseful for custom width or breakpoint tweaks
.status-header-rootTop header bar containing logo + linksBackground, border, shadow
.status-header-innerInner group for logo/titleFine‑grained alignment/padding
.status-header-logoLogo Image elementConstrain size, add filters (e.g., grayscale)
.status-header-titleWorkspace / status page title textTypography overrides
.status-header-button(Commented) potential future action buttonCurrently not rendered; safe to ignore
.status-tabs-rootTabs component root wrapperGlobal tab styling scope
.status-banner-rootVertical stack around hero/banner sectionControl vertical spacing above/below
.status-banner-innerContainer for banner logoCentering / sizing
.status-banner-logoLarge centered logo imageAnimations / sizing overrides
.status-banner-cardStatus summary card (operational / partial outage)Background, border radius, shadow
.status-banner-card-wrapperFlex container inside status cardAlign icon + text
.status-banner-iconStatus icon (check / X)Color, size (though size often inline)
.status-banner-textStatus headline text (responsive forms)Font family, letter spacing
.status-banner-descriptionSubtext under status cardSecondary text color, font-size
.status-alert(Duplicate entry) alerts inside panelsSee above; duplication intentional for clarity
.status-tabs-panel(Implicit via Mantine – target panel container)Use [data-value="home"] etc. if needed
.status-footer(If custom footer wrapper added)Only if present in extended layouts
.status-theme-toggle(If ThemeHelper renders a wrapper)Might vary; inspect DOM before styling
.status-editor-rootRich text / block editor rendered content rootWrap content-level overrides
.status-maintenance-rootMaintenance list containerSpacing, background grouping
.status-incident-rootIncident list containerSimilar to maintenance styling

Example: Customizing the Banner

.status-banner-card {
  background: blue;
  color: white; /* override dynamic color if you prefer fixed */
}
.status-banner-icon { filter: drop-shadow(0 2px 4px rgba(0,0,0,.3)); }

Example: Compact Tabs

.status-tabs-list { gap: .25rem; }
.status-tabs-list-item { padding-inline: .75rem; font-size: 0.9rem; }

Debugging Tips

  1. Temporarily add outline: 1px solid magenta; to a class to verify scope.
  2. Use browser DevTools to confirm specificity; if overrides fail, increase specificity modestly (e.g., .status-banner-card.status-banner-card).
  3. Avoid !important unless absolutely necessary.

If a required class is missing here, inspect the live page and extend this table carefully.