Add design/ contract; archive prior design system as provenance

Establish keysat's durable, vendor-neutral design contract (the standards
/design backfill, document-as-is):

- design/DESIGN.md — nine-section brand brief distilled from the prior
  Claude Design system (navy-on-cream-paper identity, sovereignty-first
  voice, component + motion rules, do's/don'ts). Manrope is canonical
  display (the README's "Archivo" was a stale placeholder).
- design/tokens.tokens.json — W3C DTCG tokens from colors_and_type.css.
- design/brand/ — canonical palette.css + logo/mark assets.
- design/_imports/2026-06-16-claude-design-system/ — the original system,
  relocated as dated provenance (nothing imported it).
- AGENTS.md — add the Design line (read the contract before UI work);
  repoint the layout entry.
- ROADMAP.md — design-checker cleanup backlog (gold-as-fill + pill-radius
  blockers, the inline-token-copy consolidation, token gaps).
This commit is contained in:
Keysat
2026-06-16 11:29:28 -05:00
parent ce5edaed29
commit 532229d488
51 changed files with 700 additions and 1 deletions
@@ -0,0 +1,69 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Keysat — Licenses</title>
<link rel="stylesheet" href="../../colors_and_type.css">
<link rel="stylesheet" href="dash.css">
<style>
.toolbar { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.chip { font-size: 12.5px; padding: 6px 12px; border-radius: 999px; background: var(--cream-50); border: 1px solid var(--border-1); color: var(--ink-700); cursor: pointer; }
.chip.active { background: var(--navy-800); color: var(--cream-50); border-color: var(--navy-800); }
.chip .count { opacity: 0.6; margin-left: 4px; }
.filter-spacer { flex: 1; }
</style>
</head>
<body>
<div class="app">
<aside class="sidebar">
<div class="brand"><img src="../../assets/keysat-mark.svg" alt=""><span>Keysat</span></div>
<a class="nav" href="index.html"><i data-lucide="layout-dashboard"></i>Overview</a>
<a class="nav" href="#"><i data-lucide="package"></i>Products<span class="count">3</span></a>
<a class="nav active" href="licenses.html"><i data-lucide="key-round"></i>Licenses<span class="count">42</span></a>
<a class="nav" href="#"><i data-lucide="users"></i>Customers<span class="count">38</span></a>
<a class="nav" href="#"><i data-lucide="tag"></i>Discount codes</a>
<div class="group-label">System</div>
<a class="nav" href="#"><i data-lucide="scroll-text"></i>Audit log</a>
<a class="nav" href="#"><i data-lucide="webhook"></i>Webhooks</a>
<a class="nav" href="#"><i data-lucide="settings-2"></i>Settings</a>
<div class="footer"><span class="dot"></span><div><div style="color: var(--cream-50); font-weight: 600">BTCPay connected</div><div>store: aurora-software</div></div></div>
</aside>
<main class="main">
<header class="topbar">
<div><div class="crumb">Workspace · aurora-software</div><h1>Licenses</h1></div>
<div class="search"><i data-lucide="search"></i><input placeholder="Search by key, email, product…"></div>
<div class="topbar-actions">
<button class="btn secondary"><i data-lucide="download"></i>Export</button>
<button class="btn primary"><i data-lucide="plus"></i>Issue license</button>
</div>
</header>
<div class="content">
<div class="toolbar">
<span class="chip active">All<span class="count">42</span></span>
<span class="chip">Active<span class="count">35</span></span>
<span class="chip">Trial<span class="count">4</span></span>
<span class="chip">Expired<span class="count">2</span></span>
<span class="chip">Revoked<span class="count">1</span></span>
<div class="filter-spacer"></div>
<button class="btn ghost sm"><i data-lucide="filter"></i>Filter</button>
<button class="btn ghost sm"><i data-lucide="arrow-up-down"></i>Sort: newest</button>
</div>
<table class="t">
<thead><tr><th>License key</th><th>Product</th><th>Customer</th><th>Status</th><th>Expires</th><th>Issued</th><th></th></tr></thead>
<tbody>
<tr><td class="key">KS-9F2A-7C41-XK22-6D8E</td><td class="product">Sundial 2.0</td><td>nina@dial.studio</td><td><span class="badge b-success"><span class="dot" style="background:#2D7A5F"></span>Active</span></td><td class="meta">Apr 2027</td><td class="meta">2 hours ago</td><td><i data-lucide="more-horizontal" style="color:var(--ink-400)"></i></td></tr>
<tr><td class="key">KS-A14C-PT09-LM31-R7Q4</td><td class="product">Sundial Pro</td><td>m@labry.dev</td><td><span class="badge b-success"><span class="dot" style="background:#2D7A5F"></span>Active</span></td><td class="meta"><span class="badge b-gold">Lifetime</span></td><td class="meta">Yesterday</td><td><i data-lucide="more-horizontal" style="color:var(--ink-400)"></i></td></tr>
<tr><td class="key">KS-T2X8-6K43-QQ91-WE0M</td><td class="product">Sundial 2.0</td><td>jo@kestrel.fm</td><td><span class="badge b-warning"><span class="dot" style="background:#B8861F"></span>Trial</span></td><td class="meta">in 12 days</td><td class="meta">2d ago</td><td><i data-lucide="more-horizontal" style="color:var(--ink-400)"></i></td></tr>
<tr><td class="key">KS-BX9D-MM21-NU45-7F3R</td><td class="product">Sundial 2.0</td><td>ari@northpath.io</td><td><span class="badge b-success"><span class="dot" style="background:#2D7A5F"></span>Active</span></td><td class="meta">Apr 2027</td><td class="meta">3d ago</td><td><i data-lucide="more-horizontal" style="color:var(--ink-400)"></i></td></tr>
<tr><td class="key">KS-PW45-VR82-XA61-9K0L</td><td class="product">Sundial Pro</td><td>tom@workhorse.app</td><td><span class="badge b-danger"><span class="dot" style="background:#B23A3A"></span>Revoked</span></td><td class="meta"></td><td class="meta">5d ago</td><td><i data-lucide="more-horizontal" style="color:var(--ink-400)"></i></td></tr>
<tr><td class="key">KS-MN23-LP08-RR54-VV01</td><td class="product">Aurora Plugin</td><td>kate@kate.codes</td><td><span class="badge b-success"><span class="dot" style="background:#2D7A5F"></span>Active</span></td><td class="meta">Mar 2027</td><td class="meta">1w ago</td><td><i data-lucide="more-horizontal" style="color:var(--ink-400)"></i></td></tr>
<tr><td class="key">KS-DD12-XK77-AA98-PQ45</td><td class="product">Sundial 2.0</td><td>raj@spinwheel.app</td><td><span class="badge b-success"><span class="dot" style="background:#2D7A5F"></span>Active</span></td><td class="meta">Mar 2027</td><td class="meta">1w ago</td><td><i data-lucide="more-horizontal" style="color:var(--ink-400)"></i></td></tr>
</tbody>
</table>
</div>
</main>
</div>
<script src="https://unpkg.com/lucide@latest"></script>
<script>lucide.createIcons();</script>
</body>
</html>