/
Cybran65
/
Project_0
Обзор
Документация
Войти
/
Cybran65
/
Project_0
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/components/ServicePanel/ServicePanel.module.css
219 строк
4 KB
Cybran65
feat: интерфейс по макету Figma и функции ЛИРА-САПФИР
08 авг 2026, 23:31
08 авг 2026, 23:31
fd3db2b
Код
Авторство
О чём код?
.panel, .panelCollapsed { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; border-top: 1px solid var(--c-border); background: var(--c-surface); min-height: 0; } .panel { height: 190px; } .panelCollapsed { height: auto; grid-template-rows: auto auto; } /* Шапка: голубая плашка с названием и вкладками, как в макете */ .tabs { display: flex; align-items: center; gap: 4px; height: var(--h-caption); padding: 0 6px; background: var(--c-caption); } .caption { font-size: var(--fs-sm); font-weight: 600; color: var(--c-caption-text); margin-right: 8px; white-space: nowrap; } .tab, .tabActive { display: inline-flex; align-items: center; gap: 5px; height: 16px; padding: 0 8px; border: 1px solid transparent; border-radius: var(--r-sm); background: transparent; font-size: var(--fs-xs); color: var(--c-text-dim); } .tab:hover { background: rgb(255 255 255 / 65%); } .tabActive { background: var(--c-accent-line); border-color: var(--c-accent-line); color: #ffffff; font-weight: 600; } .badge { padding: 0 4px; font-size: var(--fs-xs); color: inherit; border: 1px solid currentcolor; border-radius: 7px; opacity: 0.75; } .collapse { margin-left: auto; width: 18px; height: 18px; border: 0; background: transparent; color: var(--c-caption-text); font-size: var(--fs-sm); } .collapse:hover { background: rgb(255 255 255 / 65%); } .body { overflow: auto; background: var(--c-surface); } /* Нижний ряд вкладок «Процесс | Объёмы | Ошибки» */ .subTabs { display: flex; gap: 2px; height: 18px; padding: 0 6px; background: var(--c-panel-alt); border-top: 1px solid var(--c-border-soft); } .subTab, .subTabActive { height: 18px; padding: 0 10px; border: 0; background: transparent; font-size: var(--fs-xs); color: var(--c-text-mute); } .subTabActive { color: var(--c-accent); font-weight: 600; box-shadow: inset 0 -2px 0 var(--c-accent); } .subTab:hover { background: var(--c-hover); } .table { width: 100%; border-collapse: collapse; font-size: var(--fs-xs); } .table th { position: sticky; top: 0; z-index: 1; height: var(--h-row); padding: 0 7px; text-align: left; font-weight: 600; color: var(--c-text-dim); background: var(--c-panel-alt); border-bottom: 1px solid var(--c-border-soft); white-space: nowrap; } .table td { height: var(--h-row); padding: 0 7px; border-bottom: 1px solid var(--c-border-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .table tbody tr:nth-child(odd) { background: var(--c-row-alt); } .table tbody tr:hover { background: var(--c-hover); } .mono { font-family: var(--font-mono); } .dim { color: var(--c-text-mute); } .empty { padding: 8px 10px; font-size: var(--fs-xs); color: var(--c-text-mute); } .rowButton { height: 15px; padding: 0 6px; border: 1px solid var(--c-border-strong); border-radius: 8px; background: var(--c-surface); font-size: var(--fs-xs); color: var(--c-text-dim); } .rowButton:hover { border-color: var(--c-accent-line); color: var(--c-accent); } .ok, .warning, .error, .info { display: inline-block; padding: 0 5px; border-radius: 8px; font-size: var(--fs-xs); border: 1px solid; } .ok { color: var(--c-ok); border-color: #b6d6bf; background: #eaf5ee; } .warning { color: var(--c-warn); border-color: #e2cf9a; background: #fbf3e0; } .error { color: var(--c-error); border-color: #e0b3b1; background: #fbeceb; } .info { color: var(--c-info); border-color: #b8cee3; background: #eaf1f8; }