Skip to content
KramorDS
Switch light or dark
Kramor design system v1.0

One visual language for moving with certainty

Kramor DS is the design system behind the Kramor migration portal. It makes the hard parts of replatforming legible: what is staged, what is in flight, what is verified, and what still needs a person.

Contrast checks
100/100
Lowest text pair
4.82:1
Italic styles
0

Wave 4 of 9

Catalog

Products, the variant matrix and multi-location stock

Dispatching

Record prd_48213 · Linen duvet set, queen

TestedCertifiedsha256:3f9a6c21…e5f8a1

Principles

Six rules decide every token and component. When a design choice is unclear, these settle it.
  • Certainty is visible

    Every record shows where it sits in the five ledger stages. Status is always an icon and a word, never color alone.

  • Roman, always

    Gate 38a: nothing is set in italics. Emphasis comes from weight, color and structure, and only upright faces are loaded.

  • Two modes, one contract

    Light and dark read the same semantic tokens. Every text and control pair is computed against WCAG 2.2 AA.

  • Evidence over claims

    One status vocabulary everywhere. Tested never looks like certified, and implemented never looks like tested.

  • AI suggests, people approve

    Suggestions wear the insight color and say so. They never sit on an approval button or a destructive action.

  • Glass with a floor

    Translucent chrome for depth, with solid fallbacks when blur is unavailable or the visitor prefers less transparency.

What is inside

Start with foundations if you are styling something new. Reach for patterns and templates when you are building a portal screen.

Tokens at a glance

Four brand colors seed six semantic roles. Components only ever reference the roles, so a single change flows through both modes.

Brand palette

  • Modern Tech Navy#0B132B
  • Electric Blue#1C64F2
  • Signal Cyan#00F2FE
  • Slate Dark Neutral#1E293B

Semantic roles

  • Primary
  • Signal
  • Success
  • Warning
  • Danger
  • Insight
  • Neutral

100 of 100 documented pairs pass in light and dark, computed from the token values.

See every contrast check

Quick start

Compose screens from the kit and style with semantic utilities. Never reach for a raw hex value, a one-off shadow or an italic.
tsx
import { Button } from '@/components/kit/button'
import { StageBadge, StatusBadge } from '@/components/kit/status'

export const ApprovalRow = () => (
    <div className='flex items-center gap-3 rounded-xl border bg-card p-4'>
        <StageBadge stage='staged' />
        <StatusBadge status='TESTED' />
        <p className='text-ui text-muted-foreground'>Plan revision r14 is locked</p>
        <Button className='ml-auto'>Approve revision</Button>
    </div>
)
Overview
Color
Typography
Space, shape and motion
Actions
Forms
Feedback
Data display
Navigation
Overlays
Portal shell
Status and lifecycle
Trust and safety
Template gallery
Overview screen
Connections screen
Studio screen
Validation screen
Recovery screen
Governance screen
Settings screen
Switch light or dark mode