Дизайн-система BioVision
Канонический справочник токенов, компонентов и правил. Страница построена на тех же переменных и классах, что и продукт, поэтому отражает реальное состояние UI.
Принципы
Спокойный, клинический, точный. Интерфейс плотный, но не шумный: измерение отделено от интерпретации, статус не передаётся только цветом, AI действует через черновики и роли.
Цветовые токены
Палитра OKLCH. Нажмите на образец, чтобы скопировать имя переменной.
Поверхности и текст
Бренд и акценты
Семантика статусов
Типографика
Manrope для русского UI и маркетинга. JetBrains Mono используется только для значений сенсоров, ID, денег и таймстампов.
Бесконтактный мониторинг
Стационар и тревоги
Карта клеток
Питомец отдыхает в клетке, радар читает микродвижения.
Качество сигнала · обновлено 12:40
128
Радиусы и тени
Единые радиусы и три уровня теней для глубины интерфейса.
--radius-card--radius-control--shadow-1--shadow-2--shadow-3Статус-бейджи
Компонент StatusBadge. Семантический цвет плюс обязательная текстовая метка: статус не зависит только от цвета.
Карточки и метрики
MetricCard — базовый блок дашбордов. Значение в моноширинном шрифте, иконка в семантическом цвете.
Таблица — единый примитив
.ds-table заменяет экранные классы таблиц. Колонки задаются через --ds-table-cols, статусные строки всегда содержат текстовый бейдж.
Рецепт миграции экранных таблиц на .ds-table
- Заменить обёртку screen-table на .ds-table и задать --ds-table-cols из старого grid-template-columns.
- Шапку screen-table-head на .ds-table-head, строки на .ds-table-row, ячейки на .ds-table-cell.
- Статусные классы строк заменить на .is-critical/.is-attention/.is-ready, внутри оставить текстовый бейдж.
- Удалять старые классы из globals.css только после визуальной проверки экрана в запущенном приложении.
Статус-индикаторы
Точки состояния и прогресс-полосы для плотных списков, таблиц и боковых панелей.
Поля ввода
Контролы держат единый радиус и высоту касания не меньше 44px. Фокус виден всегда, плейсхолдер использует приглушённый текст.
Правила использования
Короткие принципы, удерживающие систему целостной по мере роста продукта.
- Использовать токены
var(--...)вместо хардкода цветов. - Переиспользовать примитивы: одна
.card, один.badge, одна.ds-table. - Передавать статус меткой, цветом и иконкой или точкой.
- Соблюдать высоту касания не меньше 44px и видимый фокус.
- Создавать новый класс под каждый экран, если уже есть общий примитив.
- Инлайн-стили с магическими числами вместо токенов.
- Статус только цветом, без текста.
- Декоративную анимацию без поддержки
prefers-reduced-motion.