Navbar

Site-wide nav — a floating pill by default, or an edge-to-edge bar (fullWidth). Logged-out shows "Log in" when the tenant has app integration; logged-in would show "Dashboard" instead, but that depends on a real session cookie in this browser, not on any config here — a genuine limitation of previewing this control, not a bug. The same limitation applies to nav.dashboardBg/nav.dashboardText, which only colour that logged-in Dashboard link.

Default — pill nav

Floating pill (the shared default), a badged link, logged-out "Log in".

activeStyle: "underline"

The active link drops the tinted pill for a thin underline; hovering a non-active link previews it the same way.

fullWidth — edge-to-edge, big mode

No floating pill card, no max-width cap: a real border-b bar, bigger logo/brand/CTA sizing, --accent CTA hover.

fullWidth + containedContent

The bar's own background still spans edge-to-edge, but the logo/nav/CTA row is capped and centered — and falls back to the pill mode's own sizing/typography, not big mode's.

accentRule + activeAccent

A full-width accent hairline below the pill, and the "current page" pill tinted --accent instead of --primary.

softBadge + uppercase

The badged link's marker calms down to a slow soft pulse (no per-letter bob); every nav label renders uppercase.

ctaFilled + ctaArrow: false

The CTA fills --primary at rest instead of the dark default, and drops its trailing arrow (ctaArrow defaults to true).

ctaIcon

A whitelisted icon ("pencil-line") in the arrow's slot, with the same hover slide — shown here even with ctaArrow: false, which a configured icon overrides.

hasAppIntegration: false

No app API key configured for this tenant — the login/Dashboard control is omitted entirely, not shown disabled.

Scrolled state

Scroll inside this preview past 24px: the filler layers behind the pill fade in and its shadow strengthens — real window.scrollY-driven behavior, not a static screenshot. A taller fixed-height iframe (with real filler content below the navbar) so there's something to actually scroll.