$ file://design-md-library/ _
$ cat ./design-md-library/ enterprise-saas _
$ cat ./design-md/enterprise-saas/metadata.yaml

Enterprise SaaS

A high-trust, data-dense enterprise dashboard design system focused on clarity, hierarchy, and operational efficiency.

Tags
enterprisesaasdashboardadmin-panelb2bdata-dense

Live Preview

View Live
Tokens: COLOR
Items: 23

primary

Hex: #2563EB

primary hover

Hex: #1D4ED8

primary dark

Hex: #1E40AF

primary light

Hex: #EFF6FF

bg

Hex: #FAFAFA

surface

Hex: #FFFFFF

surface secondary

Hex: #F5F5F5

border

Hex: #E5E7EB

border strong

Hex: #D1D5DB

text primary

Hex: #111827

text secondary

Hex: #4B5563

text muted

Hex: #9CA3AF

success

Hex: #059669

success light

Hex: #ECFDF5

warning

Hex: #D97706

warning light

Hex: #FFFBEB

error

Hex: #DC2626

error light

Hex: #FEF2F2

dark bg

Hex: #0F0F0F

dark surface

Hex: #1A1A1A

dark border

Hex: #2E2E2E

dark text primary

Hex: #F9FAFB

dark text secondary

Hex: #9CA3AF
Tokens: SPACING
Items: 14
space-1
4px
space-2
8px
space-3
12px
space-4
16px
space-5
20px
space-6
24px
space-8
32px
space-10
40px
space-12
48px
space-16
64px
gutter
24px
page-margin-desktop
32px
page-margin-mobile
16px
content-max
1280px
Tokens: ROUNDED
Items: 5
sm
4px
md
6px
lg
8px
xl
12px
full
9999px
Tokens: TYPOGRAPHY
Items: 8

display

The quick brown fox jumps over the lazy dog

Family: Inter
Size: 30px
Weight: 700
Letter Spacing: -0.5px

h1

The quick brown fox jumps over the lazy dog

Family: Inter
Size: 24px
Weight: 600
Letter Spacing: -0.3px

h2

The quick brown fox jumps over the lazy dog

Family: Inter
Size: 20px
Weight: 600
Letter Spacing: -0.2px

h3

The quick brown fox jumps over the lazy dog

Family: Inter
Size: 16px
Weight: 600
Letter Spacing: 0px

body

The quick brown fox jumps over the lazy dog

Family: Inter
Size: 14px
Weight: 400
Letter Spacing: 0px

small

The quick brown fox jumps over the lazy dog

Family: Inter
Size: 13px
Weight: 400
Letter Spacing: 0px

tiny

The quick brown fox jumps over the lazy dog

Family: Inter
Size: 12px
Weight: 500
Letter Spacing: 0.2px

mono

The quick brown fox jumps over the lazy dog

Family: JetBrains Mono
Size: 13px
Weight: 400
Letter Spacing: 0px

Tailwind v3 Config

{
  "theme": {
    "extend": {
      "colors": {
        "primary": "#2563eb",
        "primary-hover": "#1d4ed8",
        "primary-dark": "#1e40af",
        "primary-light": "#eff6ff",
        "bg": "#fafafa",
        "surface": "#ffffff",
        "surface-secondary": "#f5f5f5",
        "border": "#e5e7eb",
        "border-strong": "#d1d5db",
        "text-primary": "#111827",
        "text-secondary": "#4b5563",
        "text-muted": "#9ca3af",
        "success": "#059669",
        "success-light": "#ecfdf5",
        "warning": "#d97706",
        "warning-light": "#fffbeb",
        "error": "#dc2626",
        "error-light": "#fef2f2",
        "dark-bg": "#0f0f0f",
        "dark-surface": "#1a1a1a",
        "dark-border": "#2e2e2e",
        "dark-text-primary": "#f9fafb",
        "dark-text-secondary": "#9ca3af"
      },
      "fontFamily": {
        "display": [
          "Inter"
        ],
        "h1": [
          "Inter"
        ],
        "h2": [
          "Inter"
        ],
        "h3": [
          "Inter"
        ],
        "body": [
          "Inter"
        ],
        "small": [
          "Inter"
        ],
        "tiny": [
          "Inter"
        ],
        "mono": [
          "JetBrains Mono"
        ]
      },
      "fontSize": {
        "display": [
          "30px",
          {
            "letterSpacing": "-0.5px",
            "fontWeight": "700"
          }
        ],
        "h1": [
          "24px",
          {
            "letterSpacing": "-0.3px",
            "fontWeight": "600"
          }
        ],
        "h2": [
          "20px",
          {
            "letterSpacing": "-0.2px",
            "fontWeight": "600"
          }
        ],
        "h3": [
          "16px",
          {
            "letterSpacing": "0px",
            "fontWeight": "600"
          }
        ],
        "body": [
          "14px",
          {
            "letterSpacing": "0px",
            "fontWeight": "400"
          }
        ],
        "small": [
          "13px",
          {
            "letterSpacing": "0px",
            "fontWeight": "400"
          }
        ],
        "tiny": [
          "12px",
          {
            "letterSpacing": "0.2px",
            "fontWeight": "500"
          }
        ],
        "mono": [
          "13px",
          {
            "letterSpacing": "0px",
            "fontWeight": "400"
          }
        ]
      },
      "borderRadius": {
        "sm": "4px",
        "md": "6px",
        "lg": "8px",
        "xl": "12px",
        "full": "9999px"
      },
      "spacing": {
        "space-1": "4px",
        "space-2": "8px",
        "space-3": "12px",
        "space-4": "16px",
        "space-5": "20px",
        "space-6": "24px",
        "space-8": "32px",
        "space-10": "40px",
        "space-12": "48px",
        "space-16": "64px",
        "gutter": "24px",
        "page-margin-desktop": "32px",
        "page-margin-mobile": "16px",
        "content-max": "1280px"
      }
    }
  }
}

Tailwind v4 @theme

// No content available

DESIGN.md

---
version: alpha
name: Enterprise SaaS
description: Data-dense enterprise interface system focused on trust, clarity, and efficient workflows.
colors:
  primary: "#2563EB"
  primary-hover: "#1D4ED8"
  primary-dark: "#1E40AF"
  primary-light: "#EFF6FF"
  bg: "#FAFAFA"
  surface: "#FFFFFF"
  surface-secondary: "#F5F5F5"
  border: "#E5E7EB"
  border-strong: "#D1D5DB"
  text-primary: "#111827"
  text-secondary: "#4B5563"
  text-muted: "#9CA3AF"
  success: "#059669"
  success-light: "#ECFDF5"
  warning: "#D97706"
  warning-light: "#FFFBEB"
  error: "#DC2626"
  error-light: "#FEF2F2"
  dark-bg: "#0F0F0F"
  dark-surface: "#1A1A1A"
  dark-border: "#2E2E2E"
  dark-text-primary: "#F9FAFB"
  dark-text-secondary: "#9CA3AF"
typography:
  display:
    fontFamily: Inter
    fontSize: 30px
    fontWeight: 700
    lineHeight: 1.2
    letterSpacing: -0.5px
  h1:
    fontFamily: Inter
    fontSize: 24px
    fontWeight: 600
    lineHeight: 1.25
    letterSpacing: -0.3px
  h2:
    fontFamily: Inter
    fontSize: 20px
    fontWeight: 600
    lineHeight: 1.3
    letterSpacing: -0.2px
  h3:
    fontFamily: Inter
    fontSize: 16px
    fontWeight: 600
    lineHeight: 1.4
    letterSpacing: 0px
  body:
    fontFamily: Inter
    fontSize: 14px
    fontWeight: 400
    lineHeight: 1.6
    letterSpacing: 0px
  small:
    fontFamily: Inter
    fontSize: 13px
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: 0px
  tiny:
    fontFamily: Inter
    fontSize: 12px
    fontWeight: 500
    lineHeight: 1.4
    letterSpacing: 0.2px
  mono:
    fontFamily: JetBrains Mono
    fontSize: 13px
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: 0px
rounded:
  sm: 4px
  md: 6px
  lg: 8px
  xl: 12px
  full: 9999px
spacing:
  space-1: 4px
  space-2: 8px
  space-3: 12px
  space-4: 16px
  space-5: 20px
  space-6: 24px
  space-8: 32px
  space-10: 40px
  space-12: 48px
  space-16: 64px
  gutter: 24px
  page-margin-desktop: 32px
  page-margin-mobile: 16px
  content-max: 1280px
components:
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "#FFFFFF"
    typography: "{typography.body}"
    rounded: "{rounded.md}"
    height: 36px
    padding: 8px 16px
  button-secondary:
    backgroundColor: transparent
    borderColor: "{colors.border-strong}"
    textColor: "{colors.text-primary}"
    typography: "{typography.body}"
    rounded: "{rounded.md}"
    height: 36px
    padding: 8px 16px
  input-field:
    backgroundColor: "{colors.surface}"
    borderColor: "{colors.border-strong}"
    textColor: "{colors.text-primary}"
    typography: "{typography.body}"
    rounded: "{rounded.md}"
    height: 36px
    padding: 8px 12px
  card-default:
    backgroundColor: "{colors.surface}"
    borderColor: "{colors.border}"
    rounded: "{rounded.lg}"
    padding: "{spacing.space-6}"
  table-header:
    backgroundColor: "{colors.surface-secondary}"
    textColor: "{colors.text-muted}"
    typography: "{typography.tiny}"
  badge-status:
    rounded: "{rounded.sm}"
    typography: "{typography.tiny}"
    padding: 2px 8px
  modal-panel:
    backgroundColor: "{colors.surface}"
    rounded: "{rounded.xl}"
    padding: "{spacing.space-6}"
---

## Brand & Style

This design system targets enterprise dashboards and workflow-heavy admin tools where users spend long sessions managing operations, analytics, and team processes.

The style is calm, precise, and high-trust: interfaces should feel reliable and professional rather than expressive. Information hierarchy is the primary design mechanism, and visual decoration is minimized so data remains the focal point.

## Colors

The palette uses neutral surfaces with a single blue interaction color and strict semantic states.

- Primary blue is reserved for actions, links, and active states.
- Neutral surfaces and border tones define structure and density without visual noise.
- Semantic colors are functional only: success, warning, and error must retain their meaning across all contexts.
- Badge and alert treatments pair `-light` backgrounds with their corresponding semantic foreground color.
- In dark mode, brand and semantic accents remain stable while backgrounds and text switch to dark-surface tokens.

## Typography

Typography is tuned for dense, scannable enterprise content.

- Base text is `14px` Inter with comfortable line height for long-form dashboard reading.
- Headings use tighter tracking and heavier weights to separate sections and key data points quickly.
- `12px` and `13px` sizes are reserved for metadata, badges, and helper labels.
- Monospace styling is used for IDs, codes, hashes, and other technical values in tables.
- Numeric interfaces should use tabular figures for aligned metrics.

## Layout & Spacing

Layout follows a 12-column desktop grid with a fixed sidebar pattern and strict spacing rhythm.

- Maximum content width is `1280px` with `24px` gutters.
- Page margins: `32px` on desktop and `16px` on mobile.
- Spacing tokens follow a 4px base scale; ad hoc spacing values are disallowed.
- Sections stack with larger scale tokens (`space-8` and above) to preserve scanability in data-heavy views.
- Responsive model: mobile single-column, tablet collapsed sidebar, desktop full sidebar with multi-column content.

## Elevation & Depth

This system is flat by default and uses elevation only when elements float above content.

- Cards and standard panels rely on borders, not shadows.
- Light shadows are used for hover states and floating layers such as dropdowns, toasts, and dialogs.
- Modal and overlay layers may use stronger depth, but shadow opacity remains restrained.
- In dark mode, elevation is communicated primarily through tonal contrast between surfaces rather than visible shadows.

## Shapes

Shape language is restrained and consistent.

- Buttons and form controls use `6px` radius.
- Cards and containers use `8px` radius.
- Modals use `12px` radius.
- Full rounding is limited to avatars and small pill-style badges.

## Components

### Buttons

Primary, secondary, ghost, destructive, and icon button variants are supported. Each view section should have only one primary call-to-action. Destructive actions require explicit confirmation.

### Inputs

Inputs use bordered, high-contrast fields with top-aligned labels, optional helper text, and replacement error messaging in the same slot. Focus and error states use distinct ring treatments tied to color tokens.

### Cards

Cards are structural containers for grouped information, not decorative wrappers. Nested cards are disallowed; use bordered internal sections when additional grouping is needed.

### Tables

Tables are core primitives with mandatory headers, sortable affordances, clear alignment rules (text left, numbers right), hover and selected states, and explicit empty/loading/error handling.

### Feedback Patterns

Badges, toasts, banners, modals, and empty states communicate status without ambiguity, pairing semantic color usage with clear textual labels and accessible interaction behavior.

## Do's and Don'ts

- Do maintain strict spacing token usage and consistent corner-radius mapping by component class.
- Do keep interactions accessible: clear focus states, keyboard support, and minimum touch targets.
- Do provide loading, empty, and error states for every data-driven surface.
- Do keep copy direct and instructional; favor concise, action-oriented labels.
- Don't use blue decoratively or overload views with multiple accent colors.
- Don't rely on color alone for status meaning; combine with labels or icons.
- Don't apply heavy shadows or decorative motion in core workflow surfaces.
- Don't hide labels in placeholders or center-align dense body/table content.