.role-dash { background: var(--bg); }
.role-dash .role-kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 16px 0; }
.role-dash .card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 18px; }
.role-dash .role-kpi-label { color: var(--muted); font-size: 13px; margin-bottom: 8px; }
.role-dash .role-kpi-value { font-size: 26px; font-weight: 700; }
/* KPI-карточка со значком «i» и тултипом (рейтинг заказчика, F-22) */
.role-dash .role-kpi-card--info { position: relative; }
.role-dash .role-kpi-info { position: absolute; top: 14px; right: 14px; display: inline-flex; width: 18px; height: 18px; color: var(--muted); cursor: help; outline: none; }
.role-dash .role-kpi-info svg { width: 18px; height: 18px; }
.role-dash .role-kpi-info:hover, .role-dash .role-kpi-info:focus-visible { color: var(--primary); }
.role-dash .role-kpi-info:focus-visible { border-radius: 999px; box-shadow: 0 0 0 3px var(--chip-blue-bg); }
.role-dash .role-kpi-tip { position: absolute; top: calc(100% + 8px); right: -6px; z-index: 20; width: 268px; max-width: 78vw; padding: 12px 14px; background: var(--card); color: var(--ink); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 12px 28px -10px rgba(15, 26, 51, .35); font-size: 12.5px; font-weight: 400; line-height: 1.45; text-align: left; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .12s ease, transform .12s ease; pointer-events: none; }
.role-dash .role-kpi-info:hover .role-kpi-tip, .role-dash .role-kpi-info:focus-visible .role-kpi-tip { opacity: 1; visibility: visible; transform: translateY(0); }
/* стрелка тултипа */
.role-dash .role-kpi-tip::before { content: ""; position: absolute; top: -5px; right: 12px; width: 9px; height: 9px; background: var(--card); border-left: 1px solid var(--line); border-top: 1px solid var(--line); transform: rotate(45deg); }
.role-dash .role-chart-card, .role-dash .role-alerts-card, .role-dash .role-events-card { margin-bottom: 16px; }
.role-dash .role-chart-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; flex-wrap: wrap; gap: 8px; }
.role-dash .role-chart-title { font-weight: 600; }
.role-dash #dashChart { height: 200px !important; }
.role-dash .role-range-switch { display: flex; gap: 8px; flex-wrap: wrap; }
.role-dash .filter-pill { border: 1px solid var(--line); background: var(--card); border-radius: 999px; padding: 6px 14px; cursor: pointer; font-size: 13px; }
.role-dash .filter-pill.is-active { background: var(--chip-blue-bg); border-color: var(--primary); color: var(--primary); }
/* .role-empty упразднён: пустое внутри карточки — .state-box.compact (style.css). */
.role-dash .role-event-item { padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.role-dash .chip { display: inline-block; border-radius: 999px; padding: 6px 12px; margin: 4px 6px 0 0; font-size: 13px; text-decoration: none; }
.role-dash .chip-red { background: var(--chip-red-bg); color: var(--chip-red-text); }
.role-dash .chip-orange { background: var(--chip-orange-bg); color: var(--chip-orange-text); }
.role-dash .chip-green { background: var(--chip-green-bg); color: var(--chip-green-text); }
.role-dash .is-hidden { display: none; }
@media (max-width: 900px) { .role-dash .role-kpi-grid { grid-template-columns: repeat(2, 1fr); } }
/* роль-скоуп: расходящиеся значения */
.role-dash[data-role="admin"] .role-chart-title { margin-bottom: 8px; }
.role-dash[data-role="creator"] .role-chart-empty,
.role-dash[data-role="admin"] .role-chart-empty { color: var(--muted); text-align: center; padding: 24px 12px; font-size: 14px; }
.role-dash[data-role="advertiser"] .role-chart-empty { height: 100px; display: flex; align-items: center; justify-content: center; color: var(--muted); background: var(--bg); border-radius: 6px; font-size: 13px; }
/* display:flex выше специфичнее общего .role-dash .is-hidden — гасим заглушку явно */
.role-dash[data-role="advertiser"] .role-chart-empty.is-hidden { display: none; }
.role-dash[data-role="advertiser"] .role-kpi-notice,
.role-dash[data-role="admin"] .role-kpi-notice { display: flex; align-items: flex-start; gap: 10px; background: var(--chip-orange-bg); border: 1px solid var(--warn); border-radius: 16px; padding: 10px 14px; margin-bottom: 12px; font-size: 13px; color: var(--ink); }
.role-dash[data-role="admin"] .role-kpi-notice.is-hidden { display: none; }
/* Кнопка, а не ссылка: перезагружает текущую страницу (см. dashboard-role-advertiser.html).
   Сбрасываем фон и рамку — визуально это по-прежнему ссылка внутри плашки. */
/* Подпись «проверяем связь»: вспомогательная строка баннера, не спорит с самой причиной */
.role-dash[data-role="advertiser"] .role-kpi-auto { color: var(--muted); }
.role-dash[data-role="advertiser"] .role-kpi-retry { margin-left: auto; text-decoration: underline; cursor: pointer; color: inherit; padding-left: 8px; white-space: nowrap; background: none; border: none; font: inherit; }
.role-dash[data-role="advertiser"] .role-kpi-value.unavail { color: var(--muted); opacity: 0.55; }
