CatWing

Deep-tech AI for Supply Chain Optimization

Brand Identity Guidelines — v2.0 · May 2026

2. Brand Philosophy

Core Positioning

CatWing is the infrastructure layer for intelligent inventory. We transform raw supply chain data into precise, actionable decisions. Every pixel in our interface exists to help analysts make better choices faster.

Personality Pillars

Precise

Numbers are right-aligned with tabular-nums. Dates follow consistent formatting. Every data point is verifiable.

Product: €12,450 revenue, tabular-nums, right-aligned

Opinionated

CW Rec status takes a clear position. We recommend STOCK or NOT-STOCK, never “maybe”. Confidence scores quantify uncertainty rather than hiding it.

Product: CW Rec = NOT-STOCK (dead score 87/100)

Quiet

Animations are 0.15s-0.3s, never bouncing. Toasts dismiss themselves. Color is semantic only. The UI stays out of the way until you need it.

Toast: “Changes saved” — auto-dismiss, no fanfare

Technical

We show confidence scores, not just recommendations. Monospace for data. Tables over cards. Numbers over charts. Density is a feature.

Confidence: 0.85 (Data 0.9, Demand 0.8, Recency 0.7)

Trustworthy

Undo on every destructive action. 5-second recovery window. Drift detection alerts when recommendations change. No silent overwrites.

Toast: “Status changed” [Undo] — 5s window

This, Not That

CatWing is…

  • Deep-tech AI for supply chain professionals
  • Information-dense, data-first interfaces
  • Quiet confidence with semantic-only color
  • Engineering-grade precision and credibility

CatWing is NOT…

  • Generic SaaS with playful illustrations
  • Card-heavy dashboards with vanity metrics
  • Decorative gradients and branded everything
  • Enterprise grey with stock photography

Visual Identity → AI

3. Logo System

Icon Mark

The wing icon is the primary visual mark for CatWing.

Wing Icon Mark

Wing Icon Mark

catwing_icon_128.png — 128×128px

Favicon

Favicon

catwing_icon.ico — multi-size

Icon on Backgrounds

Icon on white White
Icon on light #f5f7fa
Icon on dark #0f1923
Icon on gradient Brand gradient

The wing icon works on all backgrounds without modification.

Vertical Lockup (Icon + Wordmark)

Vertical — Light

Vertical — Light

catwing_full_600.png

Vertical — Dark

Vertical — Dark

catwing_full_dark_600.png

Use vertical lockup when the logo is the primary focal point (title slides, splash screens, about pages).

Horizontal Lockup (Icon + Wordmark)

Horizontal — Light

Horizontal — Light

catwing_horiz_800x400.png

Horizontal — Dark

Horizontal — Dark

catwing_horiz_dark_800x400.png

Use horizontal lockup for headers, navigation bars, and inline placements.

Wordmark Only

Wordmark — Light

Wordmark — Light

catwing_wordmark_600.png

Wordmark on dark

Wordmark — Dark (inverted)

Use white text on dark backgrounds

Wordmark alone for tight spaces or when the icon is already visible nearby. Outfit Bold, charcoal #1a1a2e on light, white on dark.

Construction Rules

When to Use Each Variant

VariantContextMin Size
Icon onlyFavicons, app headers, small UI elements32px
Vertical lockupTitle slides, splash screens, about pages200px wide
Horizontal lockupEmail signatures, document headers, nav bars160px wide
Wordmark onlyWhen icon is already present nearby120px wide

Do’s and Don’ts

Do

  • Use the wing icon at correct proportions
  • Maintain clear space = height of the “C” on all sides
  • Use dark variants on dark backgrounds
  • Use icon-only at small sizes (<120px)
  • Apply the glow effect on brand gradient backgrounds

Don’t

  • Stretch, skew, or rotate the logo
  • Recolor with non-brand colors
  • Place on busy or photographic backgrounds
  • Add shadows, outlines, or effects (except brand glow)
  • Use the light variant on dark surfaces (use dark variant)

File Formats

FormatSizesUse Case
PNG48, 64, 128, 256pxIcon mark (web, favicons)
PNG300, 600, 1200pxFull lockup (presentations, documents)
PNG800×400pxHorizontal lockup (headers, sidebars)
ICOMulti-sizeBrowser favicon
SVGVectorFull lockup (scalable, print)

4. Color System

Primary Palette

Click any swatch to copy its hex code.

#336699
CW Blue rgb(51, 102, 153) hsl(210, 50%, 40%) Primary brand, headers, table backgrounds vs white 6.0:1
#20b0a5
CW Teal rgb(32, 176, 165) hsl(175, 69%, 41%) Accent, CTAs, secondary brand element vs white 2.7:1
#27C4CC
CW Presentation Teal rgb(39, 196, 204) hsl(183, 68%, 48%) PPTX wordmark accent (lighter variant) vs white 2.1:1
#1c1c1c
CW Dark rgb(28, 28, 28) hsl(0, 0%, 11%) Body text vs white 17.0:1
#f5f7fa
CW Background rgb(245, 247, 250) hsl(216, 33%, 97%) Page backgrounds vs white 1.1:1
#1a1a2e
Logo Charcoal rgb(26, 26, 46) hsl(240, 28%, 14%) Logo on light backgrounds vs white 17.1:1
#0f1923
Dark Mode BG rgb(15, 25, 35) hsl(210, 40%, 10%) Dark surfaces vs white 17.7:1

Gradients

Brand linear-gradient(135deg, #336699 0%, #20b0a5 100%) Always 135deg. Headers, buttons, hero sections.
Sidebar linear-gradient(180deg, #f0f5fc 0%, #e8f0f7 100%) Always vertical. Sidebar backgrounds only.

Semantic Colors

#4CAF50
Success rgb(76, 175, 80) hsl(122, 39%, 49%) Positive status, confirmations vs white 2.8:1
#D32F2F
Error rgb(211, 47, 47) hsl(0, 65%, 51%) Negative status, danger actions vs white 5.0:1
#FF9800
Warning rgb(255, 152, 0) hsl(36, 100%, 50%) Drift indicators, caution states vs white 2.2:1
#FFC107
Amber rgb(255, 193, 7) hsl(45, 100%, 51%) Zone indicators, attention vs white 1.6:1

Data Visualization Palette

#42A5F5
Blue rgb(66, 165, 245) hsl(207, 90%, 61%) Data visualization primary vs white 2.6:1
#27AE60
Green rgb(39, 174, 96) hsl(145, 63%, 42%) Data visualization secondary vs white 2.9:1
#C0392B
Red rgb(192, 57, 43) hsl(6, 63%, 46%) Data visualization alert vs white 5.4:1
#F39C12
Amber DV rgb(243, 156, 18) hsl(37, 90%, 51%) Data visualization warm vs white 2.2:1
#17A589
Teal DV rgb(23, 165, 137) hsl(168, 76%, 37%) Data visualization cool vs white 3.1:1
#8E44AD
Purple rgb(142, 68, 173) hsl(282, 44%, 47%) Data visualization categorical vs white 5.9:1

Background Tints

Used for status row highlighting and product labels.

Confirmed #E8F5E9
Drift #FFF3E0
Danger #FFEBEE
Info #E3F2FD
Launch #E8F5E9
Discontinued #ECEFF1
Old #FFEBEE
Gold #FFF8E1

WCAG Accessibility Matrix

ForegroundWhiteCW BG #f5f7faDark #0f1923Surface #1a2332
CW Blue #3366996.0:1 AA5.6:1 AA3.0:1 Fail2.6:1 Fail
CW Teal #20b0a52.7:1 Fail2.5:1 Fail6.6:1 AA5.9:1 AA
Pres. Teal #27C4CC2.1:1 Fail2.0:1 Fail8.3:1 AA7.4:1 AA
Success #4CAF502.8:1 Fail2.6:1 Fail6.4:1 AA5.7:1 AA
Error #D32F2F5.0:1 AA4.6:1 AA3.6:1 AA-lg3.2:1 AA-lg
CW Dark #1c1c1c17.0:1 AA15.9:1 AA1.0:1 Fail1.1:1 Fail
CW Teal on white: 2.7:1 — fails WCAG AA for body text. Restrict to large text (≥18px bold), icons, or use on colored backgrounds only.
CW Blue on white: 6.0:1 — passes AA for large text. Safe for headings, table headers, and buttons.

Fragmentation Notes

Supplier analytics uses #3cac34 for green vs status green #4CAF50. Recommend converging to #4CAF50 across all apps.
Context-specific palettes: These canonical colors are adapted for each deployment context. See the UI & App Design Guide for website (dark/vivid) and admin app (light/muted) variants.

5. Typography

Font Pairing

ContextFontWeights
Logo / wordmarkOutfit Bold700
Web applicationsPoppins400, 500, 600, 700
Presentations (body)Roboto400, 700
Presentations (charts)Calibri400
Code / dataSFMono / Consolas400 at 0.88em

Type Scale

Display 2.4rem / 700 Login title, hero headings
H1 1.5rem / 700 Page headings, app header
H2 1.1rem / 600 Section headings, detail panel titles
Body 1rem (14px) / 400 Default text, paragraphs
Small 0.85rem / 500 Table cells, form labels, sidebar text
Caption 0.75rem / 500 Status card labels, footer text
Badge 0.78rem / 600 Status badges, product labels

Line Height

ContextValue
Body text1.6
Tight (tables, badges)1.4
Headings1.2

Letter Spacing

Number Formatting

€12,450 1,247 95.8%

font-variant-numeric: tabular-nums · right-aligned · comma thousands · € prefix, no decimals for large values · 1 decimal for percentages

Pairing Rules

Typography in Context

Page Header
Global Assortment Review
CW-200 · Tissot · 1,247 products · Last updated 02 Mar 2026
Table Cell Pairing
T-Sport XL Chrono
T123.456.789 · €425 · Zone A
KPI Card
€2.4M
Revenue Uplift (+12.3%)
Form Label + Input
Notes
Add review notes…

6. Iconography

CatWing uses Unicode characters + CSS indicators rather than an icon library. This keeps the bundle minimal and ensures icons render without external dependencies.

Zone Dots

The canonical micro-icon. 10px circles with semantic zone colors.

A (Green)
B (Yellow)
C (Orange)
D (Red)

Status Indicators

Confirmed
Drift / Re-review
🔒
Discontinued (locked)
Chevron (expandable)

Chevron Rotation

Chevrons rotate 90° on expand with transition: transform 0.15s.

Product Labels

Textual icons with color coding. Responsive: full text on desktop, abbreviation on phone.

LAUNCH DISC. OLD GOLD
LabelMeaningBackgroundText
LAUNCHRecently launched product#E8F5E9#2E7D32
DISC.Discontinued by supplier#ECEFF1#616161
OLDProduct is 5+ years old#FFEBEE#C62828
GOLDGold material product#FFF8E1#BF360C

Future Direction

If an icon library is ever adopted, prefer line icons, 1.5px stroke, rounded caps (Lucide or Phosphor style). No filled icons, no emoji-style.

7. Voice & Tone

Overall voice: analyst-to-peer. Direct, specific, not dumbed down. We write for people who understand inventory and supply chain.

Tone by Context

Success

“Changes saved”
“3 products confirmed”
“Great job! Your changes have been saved successfully!”

Error

“Failed to save: network timeout”
“Could not load data. Check your connection.”
“Oops! Something went wrong.”

Empty State

“No products match. Try broadening filters.”
“Nothing here yet! Start by adding some products.”

Loading

Spinner only (no text for <2s)
“Loading 1,247 products…” (for >2s)
“Please wait while we load your data…”

Destructive

“Change 24 products from STOCK to NOT-STOCK?”
“Are you sure you want to proceed?”

Case Conventions

ContextCaseExample
UI copySentence caseChanges saved
Section headersTitle CaseGlobal Assortment Review
Badges / labelsUPPERCASESTOCK, LAUNCH, DISC.
Brand namePascalCaseCatWing (never Catwing or CATWING)

Number Formatting

TypeFormatExample
Currency (large)€ prefix, no decimals, comma thousands€12,450
Percentage1 decimal95.8%
QuantityComma thousands1,247
Date (UI)DD Mon YYYY02 Mar 2026
Date (filenames)ISO 86012026-03-02

Error Message Structure

[Failed to {action}]: {cause} ({recovery})

Example: “Failed to save changes: network timeout (retry or check connection)”

Notification Hierarchy

PatternWhenDurationExample
Inline badgeStatus visible in contextPersistentSTOCK / NOT-STOCK badge on row
Toast (success)Action completedAuto-dismiss 3s + undo 5s“3 products confirmed”
Toast (error)Transient failureManual dismiss“Failed to save: timeout”
Inline errorValidation failureUntil fixedRed border + message on input
Empty stateNo data to showUntil resolved“No products match. Broaden filters.”
ModalDestructive / irreversibleUser must act“Change 24 products to NOT-STOCK?”

Rule: never use a modal for success. Never auto-dismiss errors. Always offer undo for bulk actions.

13. Dark Mode

Toggle the theme using the button in the navigation sidebar to see this guide adapt in real-time.

Dark Palette Mapping

ElementLightDark
Page background #f5f7fa #0f1923
Surface (cards) #ffffff #1a2332
Borders #dce3ed #2a3a4a
Primary text #1c1c1c #e2e8f0
Muted text #666 #94a3b8

Status colors (green #4CAF50, red #D32F2F, orange #FF9800) remain unchanged on dark backgrounds.

Implementation

:root {
  --guide-bg: #f5f7fa;
  --guide-surface: #ffffff;
  --guide-text: #1c1c1c;
  --guide-border: #dce3ed;
}

[data-theme="dark"] {
  --guide-bg: #0f1923;
  --guide-surface: #1a2332;
  --guide-text: #e2e8f0;
  --guide-border: #2a3a4a;
}

Toggle via data-theme="dark" on <html>. Persisted to localStorage. Respects prefers-color-scheme as default.

Side-by-Side Comparison

Light Mode
Product Title

Subtitle text on white surface

STOCK
Dark Mode
Product Title

Subtitle text on dark surface

STOCK

Logo on Dark

The wing icon works on both light and dark backgrounds. Wordmark: white “Cat” + CW Presentation Teal “Wing” on dark.