/* [2026-10-29] НОВЫЙ ФАЙЛ. Страница модуля Dashboards в дизайн-каноне easykawa — каркас как у Blueprint
   (`modules/blueprint/styles/blueprint-page.css`): шапка, ряд `.module-controls-row`, холст и правая панель
   `RightPanel`. Только токены `styles/themes.css`; без боксов вокруг разделов, без переполнения окна, отступы —
   `--space-*` (DESIGN.md §«Лэйаут страницы»). Страница отчёта — «бумага» документа (`--document-paper-*`), как лист
   Word/Blueprint. Ref: docs/TZ_DASHBOARDS_POWERBI_2026-10-29.md §4.1, §4.6. Chat: Dashboards — аналог Power BI 2026-10-29. */
body.dashboards-page {
    display: flex;
    flex-direction: column;
    height: 100vh;
    margin: 0;
    background: var(--bg-secondary);
    color: var(--text-primary);
}
body.dashboards-page > header {
    flex: 0 0 auto;
}
body.dashboards-page .db-toolbar {
    flex: 0 0 auto;
}
.db-toolbar.ek-right-panel__split-host {
    flex-wrap: nowrap;
}
.db-toolbar .toolbar-group {
    display: flex;
    align-items: center;
    gap: var(--app-toolbar-gap);
    flex: 0 0 auto;
}
.db-toolbar .toolbar-divider {
    flex: 0 0 1px;
    height: 20px;
    margin-inline: var(--space-1);
    background: var(--border-primary);
}
.db-app {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.db-body {
    flex: 1 1 auto;
    display: flex;
    position: relative;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

/* Холст: страница отчёта вписана в доступную область, прокрутки страницы нет. */
.db-canvas {
    flex: 1 1 auto;
    min-width: 0;
    position: relative;
    overflow: hidden;
    background: var(--bg-tertiary);
}
.db-page {
    position: absolute;
    top: var(--space-4);
    left: var(--space-4);
    transform-origin: 0 0;
    background: var(--document-paper-bg);
    border: 1px solid var(--document-paper-border);
    color: var(--document-paper-ink);
}
/* [2026-10-29] Каталог визуализаций — строки в две колонки: двадцать строк одной колонкой уводили разделы «Данные» и
   «Поля визуала» за край панели (живая проверка). Полное имя — в подсказке строки. Chat: Dashboards — аналог Power BI 2026-10-29. */
/* [2026-10-30] Порция 3: 59 типов двумя колонками — 30 строк, «Поля визуала» уходили за второй экран (живая проверка).
   Каталог — палитра значков, как галерея визуализаций Power BI: строка-действие «добавить визуал» без видимой подписи,
   имя — в подсказке и для чтения с экрана (подпись остаётся в узле, скрыта визуально).
   Chat: Dashboards — аналог Power BI 2026-10-29. */
#db-visual-types {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(36px, 1fr));
    gap: 2px;
}
#db-visual-types .db-row {
    justify-content: center;
    padding: var(--space-1);
}
#db-visual-types .db-row__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* [2026-10-29] Приглашение лежит на бумаге страницы: место и размер — по вписанной странице (view.js `layoutPage`),
   цвета — бумаги документа (на светлой бумаге в тёмной теме заголовок был не виден — живая проверка). Chat: Dashboards —
   аналог Power BI 2026-10-29. */
.db-empty {
    position: absolute;
    inset: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-6);
    text-align: center;
    color: var(--document-paper-muted);
    pointer-events: none;
}
.db-canvas--has-visuals .db-empty {
    display: none;
}
.db-empty h2 {
    margin: 0;
    color: var(--document-paper-ink);
    font-size: var(--font-size-lg);
}
.db-empty p {
    margin: 0;
    max-width: 520px;
    line-height: 1.5;
}

/* Визуал на странице: рамка документа, выбранный — линия бренда; ручка размера — в правом нижнем углу. */
.db-visual {
    position: absolute;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    background: var(--document-paper-bg);
    border: 1px solid var(--document-paper-border);
    cursor: move;
    overflow: hidden;
}
.db-visual:focus-visible {
    outline: 1px solid var(--brand-primary);
    outline-offset: -1px;
}
.db-visual--selected {
    border-color: var(--brand-primary);
}
.db-visual__title {
    flex: 0 0 auto;
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--document-paper-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.db-visual__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    position: relative;
}
.db-visual__body svg {
    display: block;
    width: 100%;
    height: 100%;
}
.db-visual__note {
    padding: var(--space-3);
    font-size: var(--font-size-xs);
    color: var(--document-paper-muted);
}
/* [2026-10-30] Тело с подписью состояния не прокручивается: подпись обрезается по рамке визуала, полосы прокрутки на листе нет
   (живая приёмка импорта Revenue Opportunities.pbix). Ref: docs/TZ_DASHBOARDS_POWERBI_2026-10-29.md §8 Э4.
   Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-visual__body--note {
    overflow: hidden;
}
/* [2026-10-31] Э9: действие под подписью состояния визуала («Привязать файл из брифкейса»). Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-visual__action {
    margin: 0 var(--space-3) var(--space-3);
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
}
/* [2026-10-30] Э10: песочница пользовательского визуала `.pbiviz` — во всё тело, без рамки и прокрутки. Пока визуал не
   выбран, щелчок идёт рамке (выбор и перетаскивание, как в Power BI: сначала выбрать, потом работать с визуалом);
   выбранному — сама песочница. Ref: docs/TZ_DASHBOARDS_POWERBI_2026-10-29.md §4.5 «Пользовательские».
   Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-visual__body.db-pbiviz {
    overflow: hidden;
}
.db-pbiviz__frame {
    display: block;
    border: 0;
    max-width: 100%;
    max-height: 100%;
    background: transparent;
}
.db-visual:not(.db-visual--selected) .db-pbiviz__frame {
    pointer-events: none;
}
.db-visual__resize {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 12px;
    height: 12px;
    box-sizing: border-box;
    cursor: nwse-resize;
    border-right: 2px solid var(--document-paper-muted);
    border-bottom: 2px solid var(--document-paper-muted);
}
.db-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    gap: var(--space-1);
}
.db-card__value {
    font-size: var(--font-size-3xl);
    font-weight: 600;
    color: var(--document-paper-ink);
}
.db-card__label {
    font-size: var(--font-size-xs);
    color: var(--document-paper-muted);
}
/* [2026-10-30] Порция 2: многострочная карточка и датчик — цвета бумаги и бренда, без литералов.
   Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-multicard {
    list-style: none;
    margin: 0;
    padding: var(--space-2) var(--space-3);
}
.db-multicard li {
    display: flex;
    flex-direction: column;
    padding: var(--space-2) 0;
    border-bottom: 1px solid var(--document-paper-border);
}
.db-multicard__value {
    font-size: var(--font-size-2xl);
    font-weight: 600;
    color: var(--document-paper-ink);
}
.db-multicard__label {
    font-size: var(--font-size-xs);
    color: var(--document-paper-muted);
}
/* [2026-10-30] Классы узлового датчика (`db-gauge*`) сняты: датчик — общее описание SVG `pageSvg.js`, как выпуск.
   Порция 3: тела остальных групп, затенение невыбранного, панель визуала, мобильный лист.
   Ref: docs/TZ_DASHBOARDS_POWERBI_2026-10-29.md §4.5, §4.6. Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-svg {
    width: 100%;
    height: 100%;
}
.db-visual__body--interactive,
.db-visual__body .db-visual__body--interactive {
    cursor: pointer;
}
.db-visual__body svg .db-dim {
    fill: var(--document-paper-bg);
    opacity: 0.65;
    pointer-events: none;
}
.db-visual__body svg .db-dimmed {
    opacity: 0.3;
}
/* Панель визуала (детализация, снять выделение, переход к детализации) — у выбранного визуала и под указателем. */
.db-visual__header {
    position: absolute;
    top: 2px;
    right: 2px;
    display: flex;
    gap: 2px;
    background: var(--document-paper-bg);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-fast);
}
.db-visual__header:empty {
    display: none;
}
/* [2026-10-30] Порция 4: в режиме «Изменить взаимодействия» переключатели видны у всех визуалов страницы.
   Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-canvas--edit-interactions .db-visual__header,
.db-visual--selected .db-visual__header,
.db-visual:hover .db-visual__header,
.db-visual:focus-within .db-visual__header {
    opacity: 1;
    pointer-events: auto;
}
.db-visual__header .icon-button {
    color: var(--document-paper-muted);
}
.db-visual__header .icon-button.active {
    color: var(--brand-primary);
    background: color-mix(in srgb, var(--brand-primary) 18%, var(--document-paper-bg));
}
.db-grid tr.db-grid__row--interactive {
    cursor: pointer;
}
.db-grid tr.db-grid__row--interactive:hover td {
    background: var(--document-paper-hover);
}
/* [2026-10-30] Выбранное на бумаге — смесь цвета бренда с бумагой и чернила бумаги: токены панели
   (`--brand-primary-text` / `-bg`) в тёмной теме дают светлый текст на светлой бумаге (живая проверка: «false 710» в
   дереве не читался). Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-grid tr.db-grid__row--selected td {
    color: var(--document-paper-ink);
    background: color-mix(in srgb, var(--brand-primary) 18%, var(--document-paper-bg));
    font-weight: 600;
}
.db-textslicer {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2);
    color: var(--document-paper-muted);
}
.db-textslicer .input-field {
    flex: 1 1 auto;
    min-width: 0;
}
.db-text {
    padding: var(--space-2) var(--space-3);
    color: var(--document-paper-ink);
    font-size: var(--font-size-sm);
    line-height: 1.5;
}
.db-text p {
    margin: 0 0 var(--space-1);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.db-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.db-action {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: var(--space-1);
    box-sizing: border-box;
}
/* [2026-10-30] Прозрачная кнопка файла Power BI (текст выключен). Ref: docs/QA_DASHBOARDS_POWERBI_2026-10-30.md L15.
   Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-action--blank {
    width: 100%;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.db-action .btn {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.db-nav {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    height: 100%;
    padding: 0 var(--space-2);
    overflow-x: auto;
}
.db-pill {
    flex: 0 0 auto;
    padding: var(--space-1) var(--space-3);
    border: 1px solid var(--document-paper-border);
    border-radius: 999px;
    background: var(--document-paper-bg);
    color: var(--document-paper-ink);
    font-size: var(--font-size-xs);
    cursor: pointer;
}
.db-pill:hover {
    background: var(--document-paper-hover);
}
.db-pill--active {
    border-color: var(--brand-primary);
    color: var(--document-paper-bg);
    background: var(--brand-primary);
}
.db-dtree {
    display: flex;
    gap: var(--space-3);
    height: 100%;
    padding: var(--space-2);
    box-sizing: border-box;
    overflow: auto;
}
.db-dtree__column {
    flex: 0 0 160px;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    min-width: 0;
}
.db-dtree__head {
    font-size: var(--font-size-xs);
    font-weight: 600;
    color: var(--document-paper-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.db-dtree__node {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-1) var(--space-2) var(--space-2);
    border-left: 2px solid var(--document-paper-border);
    color: var(--document-paper-ink);
    font-size: var(--font-size-xs);
    cursor: pointer;
}
.db-dtree__node:hover {
    background: var(--document-paper-hover);
}
.db-dtree__node--total {
    cursor: default;
    font-weight: 600;
}
.db-dtree__node--selected {
    border-left-color: var(--brand-primary);
    color: var(--document-paper-ink);
    background: color-mix(in srgb, var(--brand-primary) 18%, var(--document-paper-bg));
    font-weight: 600;
}
.db-dtree__label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.db-dtree__bar,
.db-drivers__bar {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    background: var(--brand-primary);
}
.db-drivers {
    padding: var(--space-2);
    color: var(--document-paper-ink);
    font-size: var(--font-size-xs);
}
.db-drivers__overall {
    margin: 0 0 var(--space-2);
    color: var(--document-paper-muted);
}
.db-drivers__row {
    position: relative;
    display: flex;
    gap: var(--space-2);
    padding: var(--space-1) 0 var(--space-2);
}
.db-drivers__bar--down {
    background: var(--document-paper-muted);
}
.db-status {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    height: 100%;
    padding: var(--space-3);
    box-sizing: border-box;
    color: var(--document-paper-muted);
    font-size: var(--font-size-xs);
}
.db-status p {
    margin: 0;
}
/* [2026-10-30] Порция 4: флажки панели, скрытый визуал в панели выбора, действие группы, окно страницы-подсказки.
   Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-check {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    margin-top: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
    cursor: pointer;
}
.db-check input,
.db-row input[type='checkbox'] {
    flex: 0 0 auto;
    accent-color: var(--brand-primary);
}
.db-row--muted .db-row__label {
    color: var(--text-tertiary);
    text-decoration: line-through;
}
.db-selection__actions {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--space-1);
}
.db-tip {
    position: fixed;
    z-index: var(--z-tooltip);
    background: var(--document-paper-bg);
    border: 1px solid var(--document-paper-border);
    box-shadow: var(--shadow-md);
    pointer-events: none;
}
.db-tip[hidden] {
    display: none;
}
.db-tip svg {
    display: block;
}
/* [2026-10-30] Подсказка точки (роль Tooltips Power BI), малые кратные (Rows), ось воспроизведения (Play).
   Ref: docs/QA_DASHBOARDS_POWERBI_2026-10-30.md L23. Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-tip--data {
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-sm, 12px);
    /* Фон подсказки — бумага (`.db-tip`), текст — чернила бумаги: цвета темы на белом не читались. */
    color: var(--document-paper-ink);
    max-width: 320px;
}
.db-tip__row {
    display: flex;
    gap: var(--space-2);
    justify-content: space-between;
}
.db-tip__label {
    color: var(--document-paper-muted);
}
.db-tip__value {
    font-variant-numeric: tabular-nums;
}
.db-multiples {
    display: grid;
    gap: var(--space-1);
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.db-multiples__cell {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
}
.db-multiples__label {
    font-size: var(--font-size-xs, 11px);
    /* Подпись на листе (бумага), не на панели темы: светлый `--text-secondary` тёмной темы на белом листе не читался. */
    color: var(--document-paper-ink);
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.db-play {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: 0 var(--space-2);
    height: 32px;
}
.db-play__range {
    flex: 1;
    min-width: 0;
}
.db-play__label {
    font-size: var(--font-size-sm, 12px);
    color: var(--document-paper-ink);
    white-space: nowrap;
}
/* [2026-10-30] Порция 5: поля нового параметра в окне — список строк с прокруткой. Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-param-fields {
    max-height: 240px;
    overflow-y: auto;
    margin-top: var(--space-2);
}
/* [2026-10-30] Порция 6: строка времени данных проекта в ряду инструментов. Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-data-status {
    margin-left: auto;
    padding: 0 var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-tertiary);
    white-space: nowrap;
}
/* [2026-10-30] Э1: строка файла стоит перед строкой данных — вправо прижимается только первая из двух.
   Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-data-status + .db-data-status {
    margin-left: 0;
}
.db-aside .db-role-add {
    width: 100%;
    margin-bottom: var(--space-1);
}
.db-grid {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-xs);
    color: var(--document-paper-ink);
}
.db-grid td {
    padding: var(--space-1) var(--space-2);
    border-bottom: 1px solid var(--document-paper-border);
    white-space: nowrap;
}
.db-grid tr.db-grid__header td,
.db-grid tr.db-grid__grand td {
    font-weight: 600;
}
.db-grid td.db-grid__number {
    text-align: right;
}
.db-slicer {
    list-style: none;
    margin: 0;
    padding: var(--space-1) 0;
}
/* [2026-10-29] Флажки среза на светлой бумаге: в тёмной теме невыбранный флажок рисовался залитым тёмным квадратом
   (живая проверка) — схема цвета элементов формы берётся от бумаги, не от темы окна. Chat: Dashboards — аналог Power BI 2026-10-29. */
/* [2026-10-30] Порция 5: переключатели среза по параметру полей — та же схема бумаги (живая проверка: невыбранные
   рисовались залитыми тёмными кругами). Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-slicer input[type='checkbox'],
.db-slicer input[type='radio'] {
    color-scheme: light;
    accent-color: var(--brand-primary);
}
.db-slicer label {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-1) var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--document-paper-ink);
    cursor: pointer;
}
.db-slicer label:hover {
    background: var(--document-paper-hover);
}

/* Правая панель: разделы — заголовок и строки, без боксов (DESIGN.md §«Лэйаут страницы», списки — строками). */
.db-aside {
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: var(--ek-right-panel-width, 320px);
    flex: 0 0 auto;
    background: var(--bg-primary);
    border-left: 1px solid var(--border-primary);
}
.db-aside[hidden] {
    display: none;
}
.db-aside.ek-right-panel--drawer {
    position: absolute;
    inset: 0 0 0 auto;
    width: 100%;
    height: 100%;
    z-index: var(--z-sticky);
}
.db-aside-content {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: var(--space-3);
}
.db-aside h2 {
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
    margin: var(--space-3) 0 var(--space-1);
}
.db-aside h2:first-child {
    margin-top: 0;
}
/* [2026-10-30] Заголовок раздела — кнопка сворачивания: текст и шеврон, без рамки; свёрнутый — шеврон повёрнут.
   Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-section-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 28px;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
}
.db-section-toggle:focus-visible {
    outline: 1px solid var(--border-hover);
    outline-offset: -1px;
}
.db-section-toggle .material-symbols-outlined {
    font-size: 20px;
    transition: transform var(--transition-fast);
}
.db-section-toggle[aria-expanded='false'] .material-symbols-outlined {
    transform: rotate(-90deg);
}
.db-aside h3 {
    margin: var(--space-2) 0 var(--space-1);
    font-size: var(--font-size-xs);
    color: var(--text-tertiary);
    font-weight: 600;
}
.db-rows {
    list-style: none;
    margin: 0;
    padding: 0;
}
.db-row {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    min-height: 32px;
    padding: 0 var(--space-2);
    border-radius: var(--radius-md);
    font-size: var(--font-size-sm);
    color: var(--text-primary);
    cursor: pointer;
}
.db-row:hover {
    background: var(--bg-hover);
}
.db-row:focus-visible {
    outline: 1px solid var(--border-hover);
    outline-offset: -1px;
}
.db-row--active {
    color: var(--brand-primary-text);
    background: var(--brand-primary-bg);
}
.db-row__label {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.db-row__meta {
    flex: 0 0 auto;
    font-size: var(--font-size-xs);
    color: var(--text-tertiary);
}
.db-row .material-symbols-outlined {
    font-size: 20px;
    color: var(--text-secondary);
}
.db-row .icon-button {
    flex: 0 0 auto;
}
/* [2026-10-30] Агрегат в строке поля — по содержимому, имя поля не сжимается в одну букву (живая проверка: «i.» вместо
   «id»). Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-row .input-field {
    flex: 0 1 auto;
    width: auto;
    max-width: 50%;
}
.db-hint {
    margin: 0;
    font-size: var(--font-size-xs);
    color: var(--text-tertiary);
    line-height: 1.5;
}
.db-field {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    margin-top: var(--space-2);
    font-size: var(--font-size-xs);
    color: var(--text-secondary);
}
.db-field .input-field {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
/* [2026-10-30] Э11: перечень конфликтов совместной правки вверху панели (ТЗ §4.9) — без бокса (канон лэйаута
   PO 2026-08-16): заголовок цветом предупреждения, подсказка, строки с двумя действиями; текст строки в две строки
   (что разошлось / что сделала каждая сторона). Скрытый раздел не сдвигает заголовок «Страницы».
   Ref: docs/TZ_DASHBOARDS_POWERBI_2026-10-29.md §4.9; DESIGN.md §«Лэйаут страницы». Chat: Dashboards — аналог Power BI 2026-10-29. */
.db-collab[hidden] + h2 {
    margin-top: 0;
}
.db-collab {
    margin-bottom: var(--space-3);
}
.db-aside .db-collab__title {
    margin-top: 0;
    color: var(--color-warning-hover);
}
.db-collab__list {
    margin-top: var(--space-2);
}
.db-collab__row {
    align-items: center;
    min-height: 44px;
    cursor: default;
}
.db-collab__text {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}
.db-collab__text .db-row__meta {
    white-space: normal;
}
.db-collab__row .icon-button[aria-pressed='true'] {
    color: var(--brand-primary-text);
    background: var(--brand-primary-bg);
}
