feat(pre-flight): канон-справочник + golden-нормализация, дизайн Nomad, питч

- contracts/service_canon.json — 15 канонов медуслуг RU/KZ/EN + синонимы
- fixtures/normalized/golden.json — 52 эталонные строки (оракул TDD)
- design/ — tailwind-токены + shadcn-тема Nomad
- pitch/ — структура слайдов + демо-сценарий

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-26 13:03:08 +05:00
parent fa2fbc59b0
commit 062ff5fc11
15 changed files with 1489 additions and 138 deletions
+28
View File
@@ -0,0 +1,28 @@
# Дизайн-заготовка (бренд Nomad)
Готовые токены для фронта (агент D). Полная дизайн-система: `Base/_Inbox/Хакатон Medtech/Дизайн-система — Nomad`.
## Применение
1. `tailwind.tokens.ts` → импортировать в `tailwind.config.ts`, разложить в `theme.extend`.
2. `globals.css` → переменные в `:root` (shadcn/ui).
3. Шрифт **Geologica**`next/font` или `<link>` на fonts.bunny.net (веса 300700).
## Шпаргалка
| | |
|---|---|
| Primary (CTA) | `#ff4713`, текст белый, `rounded-lg`, hover `#e63e0f` |
| Вторичный | `#6b788e` (t-gray) |
| Фон страницы / карточек | `#f3f4f6` / белый `rounded-2xl shadow-card` |
| Успех / ошибка | `#0f973d` / `#dc2626` (фон `#fbe9e9`) |
| Шрифт | Geologica (заголовки 600700, текст 400) |
| Контейнер | `max-w-container` (1280px) |
## Ключевой компонент — таблица сравнения цен
- Шапка `bg-light-gray`, текст `t-gray` 600/14px.
- Строки белые, разделители `#ebedf0`, hover `bg-nomad-soft`, цены вправо `tabular-nums`.
- Лучшая/нормализованная цена — бейдж `bg-nomad text-white rounded-full`.
- Статусы нормализации: success `#0f973d` · конфликт `#dc2626` · «проверить» `#ff4713`.
- shadcn: `Table` + `Badge` (variants default=оранжевый / success / destructive) + TanStack `DataTable`.
+26
View File
@@ -0,0 +1,26 @@
/* shadcn/ui тема под бренд Nomad — вставить в app/globals.css (:root)
Подключить шрифт Geologica: next/font или
<link href="https://fonts.bunny.net/css?family=geologica:300,400,500,600,700&display=swap"> */
:root {
--radius: 0.5rem; /* база кнопок/инпутов Nomad */
--background: 220 14% 96%; /* #f3f4f6 фон страницы */
--foreground: 222 47% 11%; /* #111827 текст */
--card: 0 0% 100%; /* белые карточки */
--card-foreground: 222 47% 11%;
--popover: 0 0% 100%;
--popover-foreground: 222 47% 11%;
--primary: 11 100% 54%; /* #ff4713 бренд-оранжевый */
--primary-foreground: 0 0% 100%;
--secondary: 218 15% 49%; /* #6b788e t-gray */
--secondary-foreground: 0 0% 100%;
--muted: 210 20% 97%; /* #f5f7f9 light-gray */
--muted-foreground: 220 9% 46%; /* #6b7280 */
--accent: 16 100% 95%; /* #ffede7 nomad-soft */
--accent-foreground: 11 100% 45%;
--destructive: 0 72% 51%; /* #dc2626 */
--destructive-foreground: 0 0% 100%;
--success: 142 82% 32%; /* #0f973d */
--border: 220 13% 91%; /* #ebedf0 */
--input: 220 13% 85%; /* #d1d5db */
--ring: 11 100% 54%; /* оранжевое кольцо фокуса */
}
+19
View File
@@ -0,0 +1,19 @@
// Дизайн-токены Nomad Insurance — вставить в tailwind.config.ts → theme.extend
// Источник: nomad.kz (см. Base/_Inbox/Хакатон Medtech/Дизайн-система — Nomad)
export const nomadTheme = {
colors: {
nomad: { DEFAULT: "#ff4713", soft: "#ffede7", dark: "#e63e0f" }, // бренд-оранжевый
"t-gray": "#6b788e", // сине-серый (вторичный)
"light-gray": "#f5f7f9", // фон секций/карточек
link: "#2563eb",
success: { DEFAULT: "#0f973d", soft: "#e7f6ec" },
error: { DEFAULT: "#dc2626", soft: "#fbe9e9" },
ink: "#111827", // основной текст
},
fontFamily: {
sans: ["Geologica", "ui-sans-serif", "system-ui", "sans-serif"],
},
borderRadius: { lg: "0.5rem", xl: "0.75rem", "2xl": "1rem", "3xl": "1.5rem" },
maxWidth: { container: "80rem" }, // 1280px — контейнер Nomad
boxShadow: { card: "0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1)" },
};