Bellthan product system

Bellthan brand standards for durable software products.

This template starts from Bellthan's OrviOS product language: dark operational chrome, precise document surfaces, teal-led actions, green collaboration signals, and warm gold highlights for attention and sequencing. OrviOS is one core product in the Bellthan portfolio, and this guide is structured so future products can inherit, adapt, and extend the same practical system.

Company Bellthan
Core product source OrviOS Workforce
System palette Teal, green, gold, deep ink

Brand standards

System Principles

Use this guide as the first shared page for future apps. It defines the brand-level decisions and leaves detailed component rules to each product design system.

Useful

Prioritize scan speed, clear hierarchy, durable surfaces, and visible state over decorative page composition.

Legible

Use restrained contrast, readable typography, and explicit status color so work can be reviewed and acted on quickly.

Repeatable

Make documents, queues, decisions, and activity history standard product objects across Bellthan systems.

Color system

Palette and Usage

These values come from the current application theme. Keep roles stable across apps, even when a future product needs a narrower or expanded palette.

Role Light swatch Light hex Where used in light mode Dark swatch Dark hex Where used in dark mode
Background #f8faf6 Page canvas, low contrast app background. #101312 Primary dark page canvas and pre-app shell base.
Surface #ffffff Document cards, panels, tables, readable content regions. #17201d App bar, drawer, cards, elevated dark surfaces.
Text primary #101312 Main headings, body copy, table values. #f8faf6 Main headings and text on dark surfaces.
Text secondary #59645f Captions, helper text, metadata, subtitles. #b8c3bd Muted copy, timestamps, supporting labels on dark surfaces.
Primary #217d8f Primary buttons, active nav, links, lead action accents. #67c7d4 Active state, key actions, focus glow, primary data accents.
Secondary #2f8f68 Collaboration, completion queues, secondary action color. #63d2a1 Agent activity, done states, secondary positive movement.
Tertiary #b97817 Section numbers, timeline labels, warning-adjacent highlights. #f2b84b Document numbering, attention, warm metadata emphasis.
Success #23805c Approved, live, successful, and healthy status indicators. #58be8f Positive status chips and operational health signals.
Warning #b97817 Pending, paused, needs attention, and non-blocking alerts. #f2b84b Pending states and elevated attention on dark surfaces.
Error #b74735 Blocked, destructive, failed, or access-denied states. #e36d5a Errors and destructive emphasis with dark-mode contrast.
Dark chrome #17201d Light-mode app bar, drawer, contrast header base. #0c0f0e Deepest contrast layer and grounded dark frame.
Lines #d9ded5 Card borders, table dividers, grouped controls. #2b3430 Dark borders, table dividers, surface separation.
Input lines #d1d8cf Fields, form borders, editable control edges. #37413d Dark-mode input borders and form control structure.
Soft divider #f3f6f1 Subtle separations and soft interior bands. #111513 Quiet background alternation inside dark views.

Recommended color hierarchy: primary teal for action and navigation, secondary green for collaboration and progress, tertiary gold for numbering and attention, red only for real errors or destructive actions.

Typography

Fonts and Type Scale

Bellthan uses a compact, highly readable enterprise scale. Large marketing type is not the default; document clarity and dense operational views matter more than distinctive font styling.

Template Size Weight Use
H12rem / 32px700-800Rare page-level title or product header.
H21.75rem / 28px700Document title, major screen heading.
H31.5rem / 24px700Organization or project overview title.
H41.25rem / 20px650-700Toolbar view title, feature heading.
H51.125rem / 18px650-700Panel title, metric value, queue title.
H61rem / 16px650-700Requirement title, card heading.
Subtitle 11rem / 16px500-600Lead metadata, item title, short summary.
Subtitle 20.875rem / 14px600Section label, compact panel heading.
Body 10.875rem / 14px400Default body copy and document paragraphs.
Body 20.8125rem / 13px400Dense row detail and secondary copy.
Button0.875rem / 14px600Action labels. Keep casing natural, not all caps.
Caption0.68rem / 10.9px400-600Timestamps, IDs, table notes, helper labels.
Overline0.75rem / 12px700Eyebrows, category labels, timeline kind.

Typography templates

Reusable Text Treatments

Northstar Systems / Workforce

Requirements

Decision-ready product scope

Use document styling when the user is reading structured requirements, specifications, plans, approvals, or audit history.

Template: document header with readable sans-serif title

OrviOS Workforce Live Journal

Organization inbox

Approval Queue

Use the dark operational surface for navigation, workspace chrome, and high-context work areas.

Headlines Concrete product objects: Inbox, Requirements, Work Orders, Test Plans.
Buttons Specific verbs: Approve Work, Close Task, Refresh, New Item.
Status Short operational states: Live, Proposed, Approved, In Progress, Blocked, Done.
Metadata Compact labels for owner, project, due date, queue, and linked work.

System templates

Copy-Ready Theme Starters

Keep Bellthan colors as shared tokens first, then map them into the UI system you are using. MudBlazor can consume the C# theme; plain web apps can use the CSS variables; future frameworks can import the JSON-style token shape.

CSS Variables

Drop into a stylesheet for any web app.

:root {
  --bellthan-ink: #101312;
  --bellthan-paper: #f8faf6;
  --bellthan-surface: #ffffff;
  --bellthan-muted: #59645f;
  --bellthan-line: #d9ded5;
  --bellthan-primary: #217d8f;
  --bellthan-secondary: #2f8f68;
  --bellthan-tertiary: #b97817;
  --bellthan-success: #23805c;
  --bellthan-error: #b74735;
  --bellthan-chrome: #17201d;

  --app-background: var(--bellthan-paper);
  --app-surface: var(--bellthan-surface);
  --app-text: var(--bellthan-ink);
  --app-muted: var(--bellthan-muted);
  --app-border: var(--bellthan-line);
  --app-action: var(--bellthan-primary);
}

MudBlazor Theme

Use as a shared theme factory.

using MudBlazor;
using MudBlazor.Utilities;

public static class BellthanTheme
{
    public static MudTheme Create() => new()
    {
        PaletteLight = new PaletteLight
        {
            Background = new MudColor("#f8faf6"),
            Surface = new MudColor("#ffffff"),
            TextPrimary = new MudColor("#101312"),
            TextSecondary = new MudColor("#59645f"),
            Primary = new MudColor("#217d8f"),
            Secondary = new MudColor("#2f8f68"),
            Tertiary = new MudColor("#b97817"),
            Success = new MudColor("#23805c"),
            Warning = new MudColor("#b97817"),
            Error = new MudColor("#b74735"),
            AppbarBackground = new MudColor("#17201d"),
            AppbarText = new MudColor("#f8faf6"),
            DrawerBackground = new MudColor("#17201d"),
            DrawerText = new MudColor("#f8faf6"),
            LinesDefault = new MudColor("#d9ded5"),
            LinesInputs = new MudColor("#d1d8cf"),
            Divider = new MudColor("#e1e7dd")
        },
        PaletteDark = new PaletteDark
        {
            Background = new MudColor("#101312"),
            Surface = new MudColor("#17201d"),
            TextPrimary = new MudColor("#f8faf6"),
            TextSecondary = new MudColor("#b8c3bd"),
            Primary = new MudColor("#67c7d4"),
            Secondary = new MudColor("#63d2a1"),
            Tertiary = new MudColor("#f2b84b"),
            Success = new MudColor("#58be8f"),
            Warning = new MudColor("#f2b84b"),
            Error = new MudColor("#e36d5a"),
            LinesDefault = new MudColor("#2b3430"),
            LinesInputs = new MudColor("#37413d")
        },
        LayoutProperties = new LayoutProperties
        {
            DefaultBorderRadius = "8px",
            AppbarHeight = "60px",
            DrawerWidthLeft = "272px"
        }
    };
}

// MainLayout.razor
<MudThemeProvider Theme="_theme" IsDarkMode="_isDarkMode" />

@code {
    private readonly MudTheme _theme = BellthanTheme.Create();
    private bool _isDarkMode = true;
}

Portable Tokens

Use for future frameworks or generators.

{
  "brand": "Bellthan",
  "font": {
    "ui": "Segoe UI Variable, Segoe UI, Inter, system-ui, sans-serif",
    "mono": "Cascadia Code, Consolas, Courier New, monospace"
  },
  "color": {
    "light": {
      "background": "#f8faf6",
      "surface": "#ffffff",
      "text": "#101312",
      "muted": "#59645f",
      "primary": "#217d8f",
      "secondary": "#2f8f68",
      "tertiary": "#b97817",
      "error": "#b74735"
    },
    "dark": {
      "background": "#101312",
      "surface": "#17201d",
      "text": "#f8faf6",
      "muted": "#b8c3bd",
      "primary": "#67c7d4",
      "secondary": "#63d2a1",
      "tertiary": "#f2b84b",
      "error": "#e36d5a"
    }
  }
}

MudBlazor uses a MudThemeProvider with a MudTheme; keep Bellthan tokens in one shared factory and reference that factory from each product app.

Future assets

Logo, Icon, and Graphic Placeholders

Add these sections as the brand matures. Keep assets crisp, inspectable, and tied to the actual product or workflow.

L
Logo system Primary mark, lockups, favicon, app icon.
I
Icon language Navigation, actions, status, tool icons.
G
Graphic library Product imagery, diagrams, social cards, launch art.