Sentinel Spectrum Enterprise
A portable design language for agents: download the markdown first, then inspect the preview, tokens, and rules as needed.
Download DESIGN.md
Portable DESIGN.md source of truth for most agents and apps.
specification
philosophy
tokens
borders4 items
- accent width
- 3px
- character
- Crisp blue-gray separators, left-edge semantic bars, and occasional violet-to-cyan intelligence strokes for automation modules.
- default width
- 1px
- style
- solid
colors12 items
data_visualization6 items
- categorical
- #1D4ED8, #15803D, #6D4AFF, #0284C7, #B45309, #0F766E, #9333EA, #475569
- diverging risk
- #DC2626, #F97316, #FACC15, #84CC16, #15803D
- gridlines
- #E2E8F0
- labeling
- Always pair legend swatches with direct labels and patterns for status-critical series.
- neutral axes
- #94A3B8
- sequential blue
- #EFF6FF, #DBEAFE, #93C5FD, #3B82F6, #1D4ED8, #1E3A8A
motion3 items
- duration
- 160ms
- easing
- cubic-bezier(0.2, 0, 0, 1)
- philosophy
- Fast enterprise confirmation: hover lift is minimal, state changes are immediate, and no color/status transition hides critical information.
radii5 items
- full
- 9999px
- lg
- 16px
- md
- 10px
- none
- 0
- sm
- 6px
shadows3 items
- lg
- 0 26px 60px rgba(15,23,42,0.14)
- md
- 0 12px 28px rgba(15,23,42,0.10)
- sm
- 0 1px 2px rgba(15,23,42,0.06)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64
status_encoding5 items
- automation
- #6D4AFF plus sparkle/circuit icon and confidence text
- error
- #DC2626 plus octagon/exclamation icon and explicit error text
- info
- #0284C7 plus info icon and blue outline
- success
- #15803D plus check icon and success label
- warning
- #B45309 plus triangle icon and amber left bar
surfaces3 items
- bg pattern
- Subtle 24px grid using blue-gray lines at 35% opacity, reserved for hero and dashboard canvases rather than form interiors.
- card style
- Flat enterprise cards with 1px #CBD5E1 border, 10-16px radius, thin blue top rule for priority modules, and measured shadow on lifted overlays.
- treatment
- Layer warm off-white application backgrounds, white cards, and pale blue selected rows with restrained status tint panels only when paired with text labels.
typography8 items
- base size
- 16px
- body font
- Source Sans 3
- google fonts url
- https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&family=Source+Sans+3:wght@400;500;600;700;800&display=swap
- heading font
- Source Sans 3
- letter spacing
- -0.01em
- line height
- 1.5
- mono font
- JetBrains Mono
- scale ratio
- 1.22
rules
Use a stable enterprise shell: blue-led navigation, neutral work canvas, metric cards in a 12-column grid, and analysis panels that keep status, data, and action controls visually separated.
Moderately dense dashboard rhythm with 16px card padding, 8px row gaps, 40px controls, and whitespace preserved around decision-critical actions.
Lead with compact headings, strong numeric values, and labeled status rows; reserve high-saturation color for active navigation, semantic alerts, and chart series rather than general decoration.
layout
- desktop
- 1024px and above
- mobile
- 0-639px
- tablet
- 640-1023px
Desktop uses a 12-column grid with 24px gutters; tablet collapses to 6 columns; mobile uses one column with persistent status summaries above tables.
Use 24px page gutters, 16px card interiors, 8px control clusters, and larger 32px pauses between navigation, data, and decision zones.
guidance
- Use blue as the primary trust and navigation color, not as a universal status color.
- Pair every status hue with text, icon, border position, or pattern so color-blind users retain meaning.
- Keep violet accents small and specific to intelligence, recommendations, automation, or model confidence.
- Define chart palettes by categorical, sequential, and diverging use cases before assigning colors to datasets.
- Do not use low-contrast pastel text on tinted alert backgrounds.
- Do not let green compete with primary actions except in explicit completion and success states.
- Do not apply rainbow palettes to enterprise dashboards without semantic ordering, direct labels, and contrast checks.
- Do not use large purple gradients for general hero surfaces or navigation.
katagami spec
# Sentinel Spectrum Enterprise ## Philosophy A trustworthy enterprise SaaS language built around blue-led neutral foundations, confident green resolution states, restrained violet intelligence cues, and accessible semantic color roles for dense dashboards and workflow operations. ### Values - Clarity before decoration - Operational trust through stable blues and disciplined neutrals - Success states that feel confident without becoming celebratory noise - Automation cues that are intelligent but restrained - Accessibility through contrast, labeling, iconography, and non-color state encoding ### Anti-Values - Candy-colored dashboards where every metric competes for attention - Status palettes that rely on hue alone or use low-contrast tints for critical feedback - Overly futuristic violet gradients that undermine enterprise credibility ### Visual Character - Blue command rails and header bands use solid #1D4ED8 fields with thin cyan keylines to establish durable navigation and product trust. - Cards sit on warm neutral surfaces with 1px blue-gray borders, subtle inner highlight lines, and no glassmorphism or heavy shadows. - Semantic states pair accessible color fills with icons, labels, left-edge bars, and patterned micro-stripes so meaning never depends on color alone. - Restrained violet appears only in automation chips, insight callouts, and model-confidence indicators using small gradient strokes rather than large panels. - Data modules use a documented categorical, sequential, and diverging palette with legend chips, direct labels, and texture markers for high-density comparison. ## Tokens ### Borders - **Accent Width**: 3px - **Character**: Crisp blue-gray separators, left-edge semantic bars, and occasional violet-to-cyan intelligence strokes for automation modules. - **Default Width**: 1px - **Style**: solid ### Colors | Name | Value | |------|-------| | accent | `#6D4AFF` | | background | `#F7F9FC` | | border | `#CBD5E1` | | error | `#DC2626` | | info | `#0284C7` | | muted | `#64748B` | | primary | `#1D4ED8` | | secondary | `#334155` | | success | `#15803D` | | surface | `#FFFFFF` | | text | `#0F172A` | | warning | `#B45309` | ### Data Visualization - **Categorical**: ["#1D4ED8","#15803D","#6D4AFF","#0284C7","#B45309","#0F766E","#9333EA","#475569"] - **Diverging Risk**: ["#DC2626","#F97316","#FACC15","#84CC16","#15803D"] - **Gridlines**: #E2E8F0 - **Labeling**: Always pair legend swatches with direct labels and patterns for status-critical series. - **Neutral Axes**: #94A3B8 - **Sequential Blue**: ["#EFF6FF","#DBEAFE","#93C5FD","#3B82F6","#1D4ED8","#1E3A8A"] ### Motion - **Duration**: 160ms - **Easing**: cubic-bezier(0.2, 0, 0, 1) - **Philosophy**: Fast enterprise confirmation: hover lift is minimal, state changes are immediate, and no color/status transition hides critical information. ### Radii - **Full**: 9999px - **Lg**: 16px - **Md**: 10px - **None**: 0 - **Sm**: 6px ### Shadows - **Lg**: 0 26px 60px rgba(15,23,42,0.14) - **Md**: 0 12px 28px rgba(15,23,42,0.10) - **Sm**: 0 1px 2px rgba(15,23,42,0.06) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64] ### Status Encoding - **Automation**: #6D4AFF plus sparkle/circuit icon and confidence text - **Error**: #DC2626 plus octagon/exclamation icon and explicit error text - **Info**: #0284C7 plus info icon and blue outline - **Success**: #15803D plus check icon and success label - **Warning**: #B45309 plus triangle icon and amber left bar ### Surfaces - **Bg Pattern**: Subtle 24px grid using blue-gray lines at 35% opacity, reserved for hero and dashboard canvases rather than form interiors. - **Card Style**: Flat enterprise cards with 1px #CBD5E1 border, 10-16px radius, thin blue top rule for priority modules, and measured shadow on lifted overlays. - **Treatment**: Layer warm off-white application backgrounds, white cards, and pale blue selected rows with restrained status tint panels only when paired with text labels. ### Typography - **Base Size**: 16px - **Body Font**: Source Sans 3 - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&family=Source+Sans+3:wght@400;500;600;700;800&display=swap - **Heading Font**: Source Sans 3 - **Letter Spacing**: -0.01em - **Line Height**: 1.5 - **Mono Font**: JetBrains Mono - **Scale Ratio**: 1.22 ## Rules ### Composition Use a stable enterprise shell: blue-led navigation, neutral work canvas, metric cards in a 12-column grid, and analysis panels that keep status, data, and action controls visually separated. ### Density Moderately dense dashboard rhythm with 16px card padding, 8px row gaps, 40px controls, and whitespace preserved around decision-critical actions. ### Hierarchy Lead with compact headings, strong numeric values, and labeled status rows; reserve high-saturation color for active navigation, semantic alerts, and chart series rather than general decoration. ### Signature Patterns - Command-blue navigation rail with active items indicated by a white pill, 3px cyan keyline, icon, and text label for accessible orientation. - Semantic evidence strips on cards: a colored left bar, matching icon badge, short label, and small patterned stripe for non-color status confirmation. - Intelligence accents use violet micro-gradients on chip borders, model confidence meters, and automation callouts but never replace the core blue/neutral foundation. - Chart panels include a fixed palette rail showing categorical, sequential, and diverging swatches with direct labels and texture tokens for critical series. ## Layout ### Breakpoints - **Desktop**: 1024px and above - **Mobile**: 0-639px - **Tablet**: 640-1023px ### Grid Desktop uses a 12-column grid with 24px gutters; tablet collapses to 6 columns; mobile uses one column with persistent status summaries above tables. ### Whitespace Use 24px page gutters, 16px card interiors, 8px control clusters, and larger 32px pauses between navigation, data, and decision zones. ## Guidance ### Do - Use blue as the primary trust and navigation color, not as a universal status color. - Pair every status hue with text, icon, border position, or pattern so color-blind users retain meaning. - Keep violet accents small and specific to intelligence, recommendations, automation, or model confidence. - Define chart palettes by categorical, sequential, and diverging use cases before assigning colors to datasets. ### Don't - Do not use low-contrast pastel text on tinted alert backgrounds. - Do not let green compete with primary actions except in explicit completion and success states. - Do not apply rainbow palettes to enterprise dashboards without semantic ordering, direct labels, and contrast checks. - Do not use large purple gradients for general hero surfaces or navigation.
DESIGN.md
---
version: "alpha"
name: "Sentinel Spectrum Enterprise"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#6D4AFF"
background: "#F7F9FC"
border: "#CBD5E1"
error: "#DC2626"
info: "#0284C7"
muted: "#64748B"
primary: "#1D4ED8"
secondary: "#334155"
success: "#15803D"
surface: "#FFFFFF"
text: "#0F172A"
warning: "#B45309"
typography:
headline-lg:
fontFamily: "Source Sans 3"
fontSize: "1.816rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.01em"
headline-md:
fontFamily: "Source Sans 3"
fontSize: "1.488rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.01em"
body-md:
fontFamily: "Source Sans 3"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.5
letterSpacing: "-0.01em"
label-md:
fontFamily: "JetBrains Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "16px"
md: "10px"
none: "0px"
sm: "6px"
spacing:
base: "8px"
xs: "4px"
sm: "8px"
md: "12px"
lg: "16px"
xl: "24px"
2xl: "32px"
3xl: "48px"
4xl: "64px"
components:
color-reference-accent:
backgroundColor: "{colors.accent}"
color-reference-background:
backgroundColor: "{colors.background}"
color-reference-border:
backgroundColor: "{colors.border}"
color-reference-error:
backgroundColor: "{colors.error}"
color-reference-info:
backgroundColor: "{colors.info}"
color-reference-muted:
backgroundColor: "{colors.muted}"
color-reference-primary:
backgroundColor: "{colors.primary}"
color-reference-secondary:
backgroundColor: "{colors.secondary}"
color-reference-success:
backgroundColor: "{colors.success}"
color-reference-surface:
backgroundColor: "{colors.surface}"
color-reference-text:
backgroundColor: "{colors.text}"
color-reference-warning:
backgroundColor: "{colors.warning}"
button-primary:
backgroundColor: "{colors.primary}"
textColor: "#ffffff"
typography: "{typography.label-md}"
rounded: "{rounded.md}"
padding: "{spacing.md}"
card-surface:
backgroundColor: "{colors.surface}"
textColor: "{colors.text}"
rounded: "{rounded.md}"
padding: "{spacing.md}"
input-default:
backgroundColor: "{colors.surface}"
textColor: "{colors.text}"
rounded: "{rounded.md}"
height: "44px"
---
# Sentinel Spectrum Enterprise
## Overview
A trustworthy enterprise SaaS language built around blue-led neutral foundations, confident green resolution states, restrained violet intelligence cues, and accessible semantic color roles for dense dashboards and workflow operations.
### Values
- Clarity before decoration
- Operational trust through stable blues and disciplined neutrals
- Success states that feel confident without becoming celebratory noise
- Automation cues that are intelligent but restrained
- Accessibility through contrast, labeling, iconography, and non-color state encoding
### Anti-Values
- Candy-colored dashboards where every metric competes for attention
- Status palettes that rely on hue alone or use low-contrast tints for critical feedback
- Overly futuristic violet gradients that undermine enterprise credibility
### Visual Character
- Blue command rails and header bands use solid #1D4ED8 fields with thin cyan keylines to establish durable navigation and product trust.
- Cards sit on warm neutral surfaces with 1px blue-gray borders, subtle inner highlight lines, and no glassmorphism or heavy shadows.
- Semantic states pair accessible color fills with icons, labels, left-edge bars, and patterned micro-stripes so meaning never depends on color alone.
- Restrained violet appears only in automation chips, insight callouts, and model-confidence indicators using small gradient strokes rather than large panels.
- Data modules use a documented categorical, sequential, and diverging palette with legend chips, direct labels, and texture markers for high-density comparison.
## Colors
Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.
| Token | Value |
|-------|-------|
| accent | `#6D4AFF` |
| background | `#F7F9FC` |
| border | `#CBD5E1` |
| error | `#DC2626` |
| info | `#0284C7` |
| muted | `#64748B` |
| primary | `#1D4ED8` |
| secondary | `#334155` |
| success | `#15803D` |
| surface | `#FFFFFF` |
| text | `#0F172A` |
| warning | `#B45309` |
## Typography
- **Headline-Lg**: Source Sans 3, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Source Sans 3, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: Source Sans 3, 16px, weight 400, line-height 1.5.
- **Label-Md**: JetBrains Mono, 0.75rem, weight 600, line-height 1.
## Layout
### Spacing Tokens
- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `24px`
- **2xl**: `32px`
- **3xl**: `48px`
- **4xl**: `64px`
### Breakpoints
- **Desktop**: 1024px and above
- **Mobile**: 0-639px
- **Tablet**: 640-1023px
### Grid
Desktop uses a 12-column grid with 24px gutters; tablet collapses to 6 columns; mobile uses one column with persistent status summaries above tables.
### Whitespace
Use 24px page gutters, 16px card interiors, 8px control clusters, and larger 32px pauses between navigation, data, and decision zones.
## Elevation & Depth
### Shadows
- **Lg**: 0 26px 60px rgba(15,23,42,0.14)
- **Md**: 0 12px 28px rgba(15,23,42,0.10)
- **Sm**: 0 1px 2px rgba(15,23,42,0.06)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `16px`
- **Md**: `10px`
- **None**: `0px`
- **Sm**: `6px`
### Surfaces
- **Bg Pattern**: Subtle 24px grid using blue-gray lines at 35% opacity, reserved for hero and dashboard canvases rather than form interiors.
- **Card Style**: Flat enterprise cards with 1px #CBD5E1 border, 10-16px radius, thin blue top rule for priority modules, and measured shadow on lifted overlays.
- **Treatment**: Layer warm off-white application backgrounds, white cards, and pale blue selected rows with restrained status tint panels only when paired with text labels.
### Borders
- **Accent Width**: 3px
- **Character**: Crisp blue-gray separators, left-edge semantic bars, and occasional violet-to-cyan intelligence strokes for automation modules.
- **Default Width**: 1px
- **Style**: solid
## Components
### Composition
Use a stable enterprise shell: blue-led navigation, neutral work canvas, metric cards in a 12-column grid, and analysis panels that keep status, data, and action controls visually separated.
### Density
Moderately dense dashboard rhythm with 16px card padding, 8px row gaps, 40px controls, and whitespace preserved around decision-critical actions.
### Hierarchy
Lead with compact headings, strong numeric values, and labeled status rows; reserve high-saturation color for active navigation, semantic alerts, and chart series rather than general decoration.
### Signature Patterns
- Command-blue navigation rail with active items indicated by a white pill, 3px cyan keyline, icon, and text label for accessible orientation.
- Semantic evidence strips on cards: a colored left bar, matching icon badge, short label, and small patterned stripe for non-color status confirmation.
- Intelligence accents use violet micro-gradients on chip borders, model confidence meters, and automation callouts but never replace the core blue/neutral foundation.
- Chart panels include a fixed palette rail showing categorical, sequential, and diverging swatches with direct labels and texture tokens for critical series.
## shadcn/ui Usage
When the target app uses shadcn/ui, copy DESIGN.md with shadcn instead of the plain DESIGN.md. It contains the same Katagami design-language source plus the shadcn/ui primitives, imports, theme variables, component recipes, and preview-shot guidance.
DESIGN.md with shadcn: `/language/en-019ea9a3-91e9-7013-ba12-f6c3076d52b2/DESIGN.with-shadcn.md`.
The shadcn page also exposes optional machine-readable files for automation, but the human-facing handoff is DESIGN.md with shadcn.
Install recommended primitives with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.
Use these primitives in shadcn apps:
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table
Implementation rule for agents: import shadcn primitives from `@/components/ui/*`, apply the generated CSS variables first, then compose the language-specific recipes from the companion MD. Katagami remains the source of truth; shadcn names are the implementation surface.
## Do's and Don'ts
- Do Use blue as the primary trust and navigation color, not as a universal status color.
- Do Pair every status hue with text, icon, border position, or pattern so color-blind users retain meaning.
- Do Keep violet accents small and specific to intelligence, recommendations, automation, or model confidence.
- Do Define chart palettes by categorical, sequential, and diverging use cases before assigning colors to datasets.
- Don't Do not use low-contrast pastel text on tinted alert backgrounds.
- Don't Do not let green compete with primary actions except in explicit completion and success states.
- Don't Do not apply rainbow palettes to enterprise dashboards without semantic ordering, direct labels, and contrast checks.
- Don't Do not use large purple gradients for general hero surfaces or navigation.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "sentinel-spectrum-enterprise",
"type": "registry:theme",
"title": "Sentinel Spectrum Enterprise shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F7F9FC",
"foreground": "#0F172A",
"card": "#FFFFFF",
"card-foreground": "#0F172A",
"popover": "#FFFFFF",
"popover-foreground": "#0F172A",
"primary": "#1D4ED8",
"primary-foreground": "#ffffff",
"secondary": "#334155",
"secondary-foreground": "#ffffff",
"muted": "#64748B",
"muted-foreground": "#0F172A",
"accent": "#6D4AFF",
"accent-foreground": "#ffffff",
"destructive": "#DC2626",
"border": "#CBD5E1",
"input": "#CBD5E1",
"ring": "#6D4AFF",
"chart-1": "#1D4ED8",
"chart-2": "#334155",
"chart-3": "#6D4AFF",
"chart-4": "#15803D",
"chart-5": "#B45309",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#0F172A",
"sidebar-primary": "#1D4ED8",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#0284C7",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#CBD5E1",
"sidebar-ring": "#6D4AFF",
"radius": "10px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#1D4ED8",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#6D4AFF",
"accent-foreground": "#ffffff",
"destructive": "#DC2626",
"border": "#303642",
"input": "#303642",
"ring": "#6D4AFF",
"chart-1": "#1D4ED8",
"chart-2": "#334155",
"chart-3": "#6D4AFF",
"chart-4": "#15803D",
"chart-5": "#B45309",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#1D4ED8",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#6D4AFF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#6D4AFF",
"radius": "10px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ea9a3-91e9-7013-ba12-f6c3076d52b2",
"slug": "sentinel-spectrum-enterprise",
"componentManifest": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"nativeTokenNames": {
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"colors": [
"accent",
"background",
"border",
"error",
"info",
"muted",
"primary",
"secondary",
"success",
"surface",
"text",
"warning"
],
"data_visualization": [
"categorical",
"diverging_risk",
"gridlines",
"labeling",
"neutral_axes",
"sequential_blue"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"spacing": [
"base",
"scale"
],
"status_encoding": [
"automation",
"error",
"info",
"success",
"warning"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"typography": [
"base_size",
"body_font",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio"
]
}
}
}
```embodiments
at a glance
Typography
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
Components
Components rendered with this language’s tokens — colors, type, and rounded corners as specified.
Spacing
- base8px
- xs4px
- sm8px
- md12px
- lg16px
- xl24px
- 2xl32px
- 3xl48px
- 4xl64px
Shape
implementation kit
Sentinel Spectrum Enterprise
Agent-authored scenes, component recipes, and visual profile rendered on local shadcn-style primitives.
Revenue operations health
Monitor workflows with accessible status, chart labels, and restrained automation cues.
Edit automation guardrail
Review fields, validation, and model recommendations before approving.
Segment performance and risk
Use documented categorical, sequential, and diverging palettes for enterprise dashboards.
DESIGN.md with shadcn
Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.
advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table:root {
--background: #F7F9FC;
--foreground: #0F172A;
--card: #FFFFFF;
--card-foreground: #0F172A;
--popover: #FFFFFF;
--popover-foreground: #0F172A;
--primary: #1D4ED8;
--primary-foreground: #ffffff;
--secondary: #334155;
--secondary-foreground: #ffffff;
--muted: #64748B;
--muted-foreground: #0F172A;
--accent: #6D4AFF;
--accent-foreground: #ffffff;
--destructive: #DC2626;
--border: #CBD5E1;
--input: #CBD5E1;
--ring: #6D4AFF;
--chart-1: #1D4ED8;
--chart-2: #334155;
--chart-3: #6D4AFF;
--chart-4: #15803D;
--chart-5: #B45309;
--sidebar: #FFFFFF;
--sidebar-foreground: #0F172A;
--sidebar-primary: #1D4ED8;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #0284C7;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #CBD5E1;
--sidebar-ring: #6D4AFF;
--radius: 10px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #1D4ED8;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #6D4AFF;
--accent-foreground: #ffffff;
--destructive: #DC2626;
--border: #303642;
--input: #303642;
--ring: #6D4AFF;
--chart-1: #1D4ED8;
--chart-2: #334155;
--chart-3: #6D4AFF;
--chart-4: #15803D;
--chart-5: #B45309;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #1D4ED8;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #6D4AFF;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #6D4AFF;
--radius: 10px;
}
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";
export function SentinelSpectrumEnterpriseShadcnKit() {
return (
<section className="grid gap-4 rounded-[var(--radius)] border bg-background p-4 text-foreground">
<div className="flex items-start justify-between gap-4">
<div>
<Badge variant="outline">shadcn/ui</Badge>
<h2 className="mt-3 text-2xl font-semibold tracking-tight">Sentinel Spectrum Enterprise</h2>
<p className="mt-1 max-w-xl text-sm text-muted-foreground">
Use the Katagami registry theme, then compose these shadcn primitives
with the language-specific component recipes.
</p>
</div>
<Button>Apply theme</Button>
</div>
<Tabs defaultValue="components">
<TabsList>
<TabsTrigger value="components">Components</TabsTrigger>
<TabsTrigger value="states">States</TabsTrigger>
<TabsTrigger value="export">Export</TabsTrigger>
</TabsList>
</Tabs>
<Card>
<CardHeader>
<CardTitle>Component recipe</CardTitle>
<CardDescription>
Replace this starter content with the agent-authored product scene
from components.md and preview-shots.json.
</CardDescription>
</CardHeader>
<CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
<Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
<Button variant="secondary">Preview state</Button>
</CardContent>
<CardFooter className="justify-between">
<Badge>Ready</Badge>
<Button variant="outline">Copy recipe</Button>
</CardFooter>
</Card>
</section>
);
}
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "sentinel-spectrum-enterprise",
"type": "registry:theme",
"title": "Sentinel Spectrum Enterprise shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F7F9FC",
"foreground": "#0F172A",
"card": "#FFFFFF",
"card-foreground": "#0F172A",
"popover": "#FFFFFF",
"popover-foreground": "#0F172A",
"primary": "#1D4ED8",
"primary-foreground": "#ffffff",
"secondary": "#334155",
"secondary-foreground": "#ffffff",
"muted": "#64748B",
"muted-foreground": "#0F172A",
"accent": "#6D4AFF",
"accent-foreground": "#ffffff",
"destructive": "#DC2626",
"border": "#CBD5E1",
"input": "#CBD5E1",
"ring": "#6D4AFF",
"chart-1": "#1D4ED8",
"chart-2": "#334155",
"chart-3": "#6D4AFF",
"chart-4": "#15803D",
"chart-5": "#B45309",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#0F172A",
"sidebar-primary": "#1D4ED8",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#0284C7",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#CBD5E1",
"sidebar-ring": "#6D4AFF",
"radius": "10px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#1D4ED8",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#6D4AFF",
"accent-foreground": "#ffffff",
"destructive": "#DC2626",
"border": "#303642",
"input": "#303642",
"ring": "#6D4AFF",
"chart-1": "#1D4ED8",
"chart-2": "#334155",
"chart-3": "#6D4AFF",
"chart-4": "#15803D",
"chart-5": "#B45309",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#1D4ED8",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#6D4AFF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#6D4AFF",
"radius": "10px"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019ea9a3-91e9-7013-ba12-f6c3076d52b2",
"slug": "sentinel-spectrum-enterprise",
"componentManifest": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"nativeTokenNames": {
"borders": [
"accent_width",
"character",
"default_width",
"style"
],
"colors": [
"accent",
"background",
"border",
"error",
"info",
"muted",
"primary",
"secondary",
"success",
"surface",
"text",
"warning"
],
"data_visualization": [
"categorical",
"diverging_risk",
"gridlines",
"labeling",
"neutral_axes",
"sequential_blue"
],
"motion": [
"duration",
"easing",
"philosophy"
],
"radii": [
"full",
"lg",
"md",
"none",
"sm"
],
"shadows": [
"lg",
"md",
"sm"
],
"spacing": [
"base",
"scale"
],
"status_encoding": [
"automation",
"error",
"info",
"success",
"warning"
],
"surfaces": [
"bg_pattern",
"card_style",
"treatment"
],
"typography": [
"base_size",
"body_font",
"google_fonts_url",
"heading_font",
"letter_spacing",
"line_height",
"mono_font",
"scale_ratio"
]
}
}
}
# Sentinel Spectrum Enterprise shadcn/ui Components
Author: `katagami-agent`
## Intent
Translate a blue-led enterprise SaaS palette into local shadcn/ui primitives with accessible semantic colors, restrained violet automation cues, and chart-ready role tokens.
## Required primitives
button, card, input, textarea, select, dialog, sheet, tabs, badge, separator, checkbox, switch, slider, tooltip, dropdown-menu, and table.
## Token cues
Use primary blue for command and navigation, green only for success, red for error, amber for warning, cyan/blue for info, and violet for automation or intelligence. Keep surfaces white on #F7F9FC with #CBD5E1 borders.
## Visual character to preserve
Crisp 1px blue-gray card borders, active blue command strips, semantic left bars with icons and labels, violet micro-gradient AI chips, and direct-labeled chart legends.
## ShadSync visual profile
Family: enterprise-command. Material: flat-neutral. Contour: precise-rounded. Border: crisp-blue-gray. Underlay: subtle-grid. Grain: false. StickerBadges: false. Motion: fast-confirmation. Density: compact-balanced. Accents: primary blue, success green, restrained automation violet.
## Signature component recipes
- button: primary buttons use solid blue, secondary buttons use white with slate border, automation buttons use violet outline or a very light violet gradient.
- card: use 16px radius, 1px border, optional 3px primary top rule, and semantic left bars for status cards.
- input, textarea, select: 40px controls, #CBD5E1 border, blue focus ring, white fill, muted helper text.
- dialog and sheet: white surface, blue command title accent, elevated shadow, no glass blur.
- tabs: active tab uses blue underline and white pill on pale blue background.
- badge: semantic badges include icon text and never color alone.
- separator: #E2E8F0 or #CBD5E1, one pixel.
- checkbox, switch, slider: checked/active states use primary blue except explicit success confirmation patterns.
- tooltip and dropdown-menu: white surfaces, slate text, crisp borders, compact spacing.
- table: sticky header, direct status badges, mono token columns, visible row separators.
## Preview shots
application-shell, detail-editor, and data-operations should look like real enterprise product screens, not component inventories.
## Implementation contract
Import local primitives from `@/components/ui/*`. Preserve role semantics and never reuse violet for general decoration or green for primary actions.
## Copy-paste component example
```tsx
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { Badge } from "@/components/ui/badge"
import { Input } from "@/components/ui/input"
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
export function SentinelOperationsCard() {
return (
<Card className="rounded-2xl border border-slate-300 bg-white shadow-sm before:block before:h-1 before:bg-blue-700">
<CardHeader>
<CardTitle className="text-slate-950">Revenue operations</CardTitle>
</CardHeader>
<CardContent className="space-y-4">
<div className="flex gap-2"><Badge className="bg-green-100 text-green-800">✓ healthy</Badge><Badge className="border-violet-300 bg-violet-50 text-violet-800">✦ automated</Badge></div>
<Input placeholder="Search workflows" />
<Table><TableHeader><TableRow><TableHead>Workflow</TableHead><TableHead>Status</TableHead></TableRow></TableHeader><TableBody><TableRow><TableCell>Quarterly close</TableCell><TableCell>Complete</TableCell></TableRow></TableBody></Table>
<Button className="bg-blue-700 text-white hover:bg-blue-800">Approve palette</Button>
</CardContent>
</Card>
)
}
```
{
"artifact": "katagami:shadcn-preview-shots",
"author": "katagami-agent",
"componentRecipes": [
{
"component": "button",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "card",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "input",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "textarea",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "select",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "dialog",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "sheet",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "tabs",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "badge",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "separator",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "checkbox",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "switch",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "slider",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "tooltip",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "dropdown-menu",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
},
{
"component": "table",
"recipe": "Use Sentinel Spectrum role colors, crisp borders, compact spacing, blue focus rings, and semantic labels/icons where state is shown."
}
],
"generatedBy": "katagami-agent",
"renderable": true,
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"shots": [
{
"avoid": [
"generic rainbow charts",
"status by hue alone"
],
"composition": "Blue command sidebar, neutral dashboard canvas, metric cards, status-coded operations table, and chart legend chips.",
"id": "application-shell",
"mustShowStates": [
"active blue navigation",
"green success badge",
"amber warning badge",
"violet automation chip"
],
"primitives": [
"button",
"card",
"tabs",
"badge",
"table",
"dropdown-menu",
"tooltip",
"separator"
],
"scene": {
"actions": [
"Approve runbook",
"Run automation"
],
"description": "Monitor workflows with accessible status, chart labels, and restrained automation cues.",
"eyebrow": "Enterprise command center",
"headline": "Revenue operations health",
"rows": [
{
"owner": "Finance Ops",
"status": "complete",
"workflow": "Quarterly close"
},
{
"owner": "Trust Team",
"status": "blocked",
"workflow": "Security exception"
}
],
"stats": [
{
"label": "Reliability",
"status": "success",
"value": "99.98%"
},
{
"label": "Incidents",
"status": "warning",
"value": "04"
},
{
"label": "Automation fit",
"status": "automation",
"value": "87"
}
]
}
},
{
"avoid": [
"low contrast helper text",
"purple as primary action"
],
"composition": "A detail editor in a white sheet with blue focus states, semantic validation, and violet model-assist confidence controls.",
"id": "detail-editor",
"mustShowStates": [
"focused input",
"error helper text with icon",
"automation switch",
"confidence slider"
],
"primitives": [
"input",
"textarea",
"select",
"checkbox",
"switch",
"slider",
"dialog",
"sheet",
"button",
"badge"
],
"scene": {
"actions": [
"Save changes",
"Preview impact"
],
"description": "Review fields, validation, and model recommendations before approving.",
"eyebrow": "Policy detail",
"fields": [
{
"label": "Policy name",
"state": "focused",
"value": "SOC2 exception review"
},
{
"label": "Risk owner",
"state": "valid",
"value": "Trust Team"
},
{
"label": "Exception rationale",
"state": "error",
"value": "Missing required evidence"
}
],
"headline": "Edit automation guardrail"
}
},
{
"avoid": [
"unlabeled swatches",
"decorative-only charts"
],
"composition": "Dense analytics workspace with categorical palette, sequential blue bars, diverging risk badges, direct labels, and accessible texture notes.",
"id": "data-operations",
"mustShowStates": [
"direct-labeled legend",
"diverging risk scale",
"selected chart tab",
"table row separators"
],
"primitives": [
"card",
"table",
"badge",
"tabs",
"select",
"button",
"separator",
"tooltip"
],
"scene": {
"actions": [
"Export chart tokens",
"Annotate risk"
],
"description": "Use documented categorical, sequential, and diverging palettes for enterprise dashboards.",
"eyebrow": "Data visualization",
"headline": "Segment performance and risk",
"rows": [
{
"risk": "low",
"segment": "SMB",
"series": "#93C5FD"
},
{
"risk": "high",
"segment": "Enterprise",
"series": "#1D4ED8"
}
],
"stats": [
{
"label": "Enterprise",
"status": "info",
"value": "$4.8M"
},
{
"label": "Expansion",
"status": "success",
"value": "31%"
}
]
}
}
],
"version": "preview-shots-v1",
"visualProfile": {
"accents": [
"blue-command",
"green-success",
"violet-automation",
"accessible-status"
],
"border": "crisp-blue-gray",
"contour": "precise-rounded",
"density": "compact-balanced",
"family": "enterprise-command",
"grain": false,
"material": "flat-neutral",
"motion": "fast-confirmation",
"stickerBadges": false,
"underlay": true
}
}