Secure Member Portal

Your account, your way

Access your documents, manage your preferences, and stay in control — all in one secure place.

Built for security and scale

Powered by Umbraco Prism — multi-tenant identity, branding, and mobile in one package.

🔐

Enterprise Authentication

Sign in with your organisation's identity provider. Powered by Entra ID with PKCE, token refresh, and biometric login on mobile.

🏢

Multi-Tenant Branding

Every tenant gets its own colours, typography, imagery, and layout — resolved automatically from the request hostname.

📱

Native Mobile Experience

The same portal works inside iOS and Android apps with safe-area handling, biometric auth, and app-native navigation.

Wayfinder service design

Service design itself — citizen-facing journeys, caseworker worklists, and downstream support systems — is Wayfinder's job, composed onto Prism content the same way any other page is built.

🤹

Apply for a juggling licence

A public, anonymous-first citizen self-service journey — no sign-in required.

Start application

Design system tokens

Every visual property on this page is driven by a CSS custom property. Change tenant branding in the back office and watch this page update in real time.

Colour

Full palette of brand colours

--prism-primary
--prism-accent
--prism-surface
--prism-surface-alt
--prism-text
--prism-muted
--prism-border

Typography

Type scale and font families

Display Heading
--prism-font-display / --prism-text-size-xl
Body copy using the primary font family
--prism-font-body / --prism-text-size-md
Small Label
--prism-text-size-sm
const token = "monospace";
--prism-font-mono

Layout

Spacing and elevation tokens

Border radius
Card shadow
Page gutter
--prism-page-gutter

Imagery

Tenant-specific images and backgrounds

--prism-card-image

Set via media picker in the Umbraco back office

Components

Live UI components driven by tokens

--prism-button-bg / --prism-button-text
Chip / Badge --prism-chip-bg / --prism-chip-text
✨
Card Component

Uses surface, border, and shadow tokens

--prism-surface / --prism-border / --prism-card-shadow

Live Design System

Every value on this page reads from your tenant's CSS variables. Change a colour, font, or layout token in the Umbraco back office and watch it update here instantly.

Colour

Brand

Primary
--prism-primary
Accent
--prism-accent
Button
--prism-button-bg
Button Hover
--prism-button-hover
Focus
--prism-focus

Surfaces

Surface
--prism-surface
Surface Alt
--prism-surface-alt
Border
--prism-border
Chip
--prism-chip-bg

Semantic

Success
--prism-success
Warning
--prism-warning
Danger
--prism-danger

Text

Text
--prism-text
Muted
--prism-muted
Link
--prism-link
Button Text
--prism-button-text

Data Visualisation

Graph 1
--prism-graph-1
Graph 2
--prism-graph-2
Graph 3
--prism-graph-3

Hero

Hero BG
--prism-hero-bg
Hero Text
--prism-hero-text
Hero Badge
--prism-hero-badge

Typography

Font Families

Display Font
The quick brown fox jumps over the lazy dog
--prism-font-display
Body Font
The quick brown fox jumps over the lazy dog
--prism-font-body
Mono Font
--prism-primary: #4f46e5;
--prism-font-mono

Type Scale

Small
The five boxing wizards jump quickly.
--prism-text-size-sm
Medium
The five boxing wizards jump quickly.
--prism-text-size-md
Large
The five boxing wizards jump quickly.
--prism-text-size-lg
Extra Large
The five boxing wizards jump quickly.
--prism-text-size-xl

Font Weights

Body Weight
The quick brown fox jumps over the lazy dog
--prism-body-weight
Heading Weight
The quick brown fox jumps over the lazy dog
--prism-heading-weight

Layout

Border Radius
--prism-radius
Card Shadow
--prism-card-shadow
Section Gap
--prism-section-gap
Grid System
Column
Column
Column
grid-template-columns: repeat(auto-fit, minmax(var(--prism-grid-min), 1fr))
Spacing Tokens
--prism-page-max Max content width
--prism-page-gutter Horizontal page padding
--prism-nav-height Header nav height

Imagery

Set hero image and card image via the branding editor in the Umbraco back office. These variables allow full control over background imagery and blend modes.

Hero Image
--prism-hero-image
Card Image
No image set
--prism-card-image
Image Radius
--prism-image-radius
Blend Mode
Hero image with blend mode applied
background-blend-mode: var(--prism-hero-image-blend)

🦔