Дизайн-система «Dockat»

Один файл токенов, 4 типа кнопок, 6 статусов, 1 формат данных. Из этого собраны 7 экранов, и ни один из них не добавляет значений сверх списка.

Бренд: три бирюзы → одна

Значение выбрано по контрасту, а не по вкусу: залитые контролы — brand-600 (4.72:1 с белым), акценты без текста — brand-500 (3.48:1, порог 3:1).
brand-700hover · 6.98
brand-600primary · 4.72
brand-500фокус, полосы · 3.48
brand-100подложка
brand-textссылка · 5.84

Нейтральные: 8 ступеней вместо случайных шести

n-400 — единственная граница контрола (3.15:1). n-300 и n-200 — только декоративные разделители: под контролом всегда белый, иначе граница перестаёт проходить.
n-900
n-800текст · 15.04
n-600вторичный · 6.27
n-400рамка · 3.15
n-300декор
n-200разделитель

Статусы: пара текст + подложка, всегда AA

В аудите статус был голым текстом, причём «требуется действие» — тем же цветом, что и архив. Теперь это шесть состояний с приоритетом.
Черновикneutral · 6.48
Подписанsuccess · 5.09
На согласованииprogress · 5.54
Требуется подписьwarning · 5.31
Отказ от подписанияdanger · 5.20
Аннулированmuted · 4.74

Типографика: 6 кеглей, 4 веса

В аудите — 2 веса на весь продукт и база, которая прыгает между экранами (14 и 16). Здесь база одна: 14.
32 / boldСчёт сверки
24 / boldЗаголовок экрана
20 / semiboldЗаголовок блока
16 / semiboldЗаголовок карточки
14 / regularОсновной текст и таблица — одна база на все экраны
12 / mediumПодпись, счётчик, вторичная строка

Сетка отступов: шаг 4, семь значений

В аудите — 8 только значений padding, включая асимметричные. Здесь отступ кратен 4 и берётся из списка; 6px и 2px из прототипа вычистил промер.
sp-1 · 4
sp-2 · 8
sp-3 · 12
sp-4 · 16
sp-6 · 24
sp-8 · 32
sp-12 · 48

Формы, высоты и возвышение

Радиусов три вместо семи: 4 — чипы, 8 — всё интерактивное, круг — аватар и счётчик. Теней три уровня; в аудите тень была одна и та играла рамку.
r-sm · r-md · r-full
36 — контрол 28 — компактный 22 — бейдж

Кнопки: четыре типа, различимы без подписи

В аудите — 8 вариантов, пять высот и ни одного состояния. Первичное действие ровно одно на экран.
primary · один на экран
в фокусе · кольцо brand-500
отключена · нет действия
secondary · рамка n-400
ghost · только текст
danger · не чаще одного
компактная · таблица и пагинация

Поля: label обязателен, ошибка — состояние

Экран отправки в аудите: 0 label, 0 обязательных меток, 0 валидации. Ниже — все состояния поля, включая то, которого в исходном интерфейсе нет вовсе.
Подсказка формата
Номер уже отправлен 20 июл 2026

Формат данных: один на продукт

В аудите в одной колонке жили «20 July» и «23.12.2025», в одной карточке — три формата даты, а сумма печаталась то с разделителем, то без.
дата20 июл 2026время только когда оно осмысленно: 20 июл 2026 · 15:16
деньги2 640,00 ₽разделитель — неразрывный пробел, два знака, ₽ как единица
идентификаторыИНН 0000000000 · №00000000000не форматируются как числа