/* ============================================================
   MedData analytics — вариант 1C «Рабочий инструмент»
   Патч поверх существующих стилей. Разметку и JS не трогает.

   2026-09-18: по просьбе пользователя редизайн ограничен ТОЛЬКО
   «Главной» (#view-dashboard) — во всех остальных модулях
   должен остаться исходный вид. Технически это значит:
     - правила для содержимого экрана (панели/карточки/таблицы/
       вкладки) — префиксованы `#view-dashboard `, поэтому вне
       Главной они ни на что не ссылаются и не действуют;
     - общий "хром" вокруг любого экрана (сайдбар, шапка .top,
       кнопки .btn, ссылки, цветовые переменные) физически НЕ
       лежит внутри #view-dashboard (это соседние с .view
       элементы), поэтому его нельзя ограничить обычным
       вложенным селектором — вместо этого используется
       `body:has(#view-dashboard.active)`: правило действует,
       только пока активна именно Главная (showView уже
       переключает класс .active — здесь просто читаем его же
       через CSS, ничего в JS не добавлено). Как только
       переключаются на любой другой модуль, .active уходит с
       #view-dashboard, :has() перестаёт совпадать — и сайдбар/
       шапка/кнопки/ссылки мгновенно возвращаются к исходному
       (до-1C) виду.

   Принцип на самой Главной остаётся прежним: внутри рабочей
   области нет теней и скруглений — только линии сетки. Числа
   моноширинные, служебные подписи капителью 9–10px. Строки
   таблиц 32px вместо 40.
   ============================================================ */

/* ---------- Цвета и шрифт — только пока активна Главная ---------- */
body:has(#view-dashboard.active){
  --bg:#eef1f5;
  --panel:#fff;
  --ink:#14283d;
  --muted:#5f6b79;
  --brand:#14283d;
  --brand2:#0e2233;
  --line:#dbe3ec;
  --ok:#0f8a5f;
  --bad:#c94747;
  --warn:#b7791f;
  font-family:'Manrope',system-ui,-apple-system,sans-serif;
  font-size:13px;
  line-height:1.45;
}

/* ---------- Сайдбар и шапка (общий хром) — тоже только на Главной ---------- */
body:has(#view-dashboard.active) .app{grid-template-columns:232px 1fr}
body:has(#view-dashboard.active) .side{padding:18px 10px}
body:has(#view-dashboard.active) .brand{padding:22px 20px 18px;margin:-18px -10px 0}
body:has(#view-dashboard.active) .brand-name,
body:has(#view-dashboard.active) .brand-suffix{font-size:21px}
body:has(#view-dashboard.active) .brand small{font-size:11.5px;max-width:170px}
body:has(#view-dashboard.active) .nav-label{margin:16px 0 5px 9px;font-size:9px;letter-spacing:.18em;color:#7fa0c4}
body:has(#view-dashboard.active) .nav button{padding:8px 10px 8px 13px;margin:0;font-size:13px;border-left-width:3px}
body:has(#view-dashboard.active) .nav button.active{border-left-color:#5cd5c7;background:rgba(255,255,255,.09)}

body:has(#view-dashboard.active) .main{padding:0;min-width:0}
body:has(#view-dashboard.active) .top{
  margin:0;padding:9px 16px;background:#fff;
  border-bottom:1px solid var(--line);
  gap:12px;flex-wrap:wrap;
}
body:has(#view-dashboard.active) .top .title{font-size:19px;letter-spacing:-.02em}
body:has(#view-dashboard.active) .top-user{gap:10px;font-size:12px}
body:has(#view-dashboard.active) .top-user .muted{font-size:10px;letter-spacing:.1em;text-transform:uppercase}
body:has(#view-dashboard.active) .auth-user-chip{font-size:12.5px;font-weight:600}
body:has(#view-dashboard.active) .branch-pills button{padding:4px 10px;border-radius:4px;font-size:11.5px}
body:has(#view-dashboard.active) .branch-pills button.active{background:var(--brand);border-color:var(--brand)}

/* Кнопки и ссылки — общие компоненты, встречаются и в хроме, и в
   содержимом любого модуля, поэтому тоже через :has(), а не через
   вложенность в #view-dashboard */
body:has(#view-dashboard.active) .btn{border-radius:4px;padding:6px 11px;font-size:11.5px}
body:has(#view-dashboard.active) .btn.primary{background:var(--brand)}
body:has(#view-dashboard.active) .btn.ghost{background:#eef1f5;color:#14283d}
body:has(#view-dashboard.active) a{color:#1d5c8c}
body:has(#view-dashboard.active) a:hover{color:#0f3d61}

/* ---------- Дальше — только содержимое самой Главной ---------- */
#view-dashboard{padding:0 16px 22px}
#view-dashboard .filters{
  margin:0 -16px 14px;padding:8px 16px;gap:7px;align-items:center;
  background:#fafbfc;border-bottom:1px solid var(--line);
}
#view-dashboard .filters select,#view-dashboard .filters input{
  padding:5px 8px;border-radius:4px;font-size:11.5px;
}

/* ---------- Панели и карточки: плоская сетка ---------- */
#view-dashboard .panel{
  padding:0;margin:0 0 14px;border-radius:0;
  border:1px solid var(--line);box-shadow:none;
}
#view-dashboard .panel>h3,#view-dashboard .panel>div>h3{
  margin:0;padding:10px 16px;font-size:13px;font-weight:700;
  border-bottom:1px solid #eef1f4;
}
#view-dashboard .panel>h3 .muted{font-weight:400;font-size:11.5px}

#view-dashboard .cards{
  display:flex;gap:0;margin:0;
  border:1px solid var(--line);border-radius:0;background:#fff;
}
#view-dashboard .panel .cards{border:0;border-bottom:1px solid #eef1f4}
#view-dashboard .cards.pop-cards,#view-dashboard .cards.task-cards,
#view-dashboard .cards[style*="auto-fit"],#view-dashboard .neph-subcards,
#view-dashboard .diab-complication-cards{
  display:flex!important;
}
#view-dashboard .card{
  flex:1 1 0;min-width:0;
  padding:12px 16px;border:0;border-right:1px solid #eef1f4;
  border-radius:0;box-shadow:none;background:#fff;
}
#view-dashboard .card:last-child{border-right:0}
#view-dashboard .card .label{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:9px;font-weight:500;letter-spacing:.12em;color:var(--muted);
}
#view-dashboard .card .big{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:21px;font-weight:600;line-height:1.15;margin-top:3px;
  padding-bottom:0;border-bottom:0!important;color:var(--ink);
}
#view-dashboard .card .muted{font-size:11px;line-height:1.4}
/* цветные подчёркивания убраны — цвет остаётся только у чисел-отклонений */
#view-dashboard .card.tint-info .big,#view-dashboard .card.tint-warn .big,
#view-dashboard .card.tint-good .big{border-bottom:0}
#view-dashboard .card[data-metric]{border-radius:0}
#view-dashboard .card[data-metric]:hover{box-shadow:inset 0 0 0 1px #9fb3c8}
#view-dashboard .card[data-metric].active,
#view-dashboard .card[data-work-kind][style*="outline"]{
  background:#f4f8fc!important;outline:0!important;
  box-shadow:inset 0 2px 0 var(--brand)!important;
}
#view-dashboard .card select{border-radius:4px;font-size:11px}

/* ---------- Таблицы ---------- */
#view-dashboard .table-wrap,#view-dashboard .registry-table-wrap{border-radius:0;border-color:var(--line)}
#view-dashboard .panel .table-wrap{border:0;border-top:1px solid #eef1f4}
#view-dashboard th{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
  font-size:9px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;
  color:var(--muted);background:#fafbfc;padding:8px 16px;
}
#view-dashboard td{padding:7px 16px;border-bottom:1px solid #f2f4f7;font-size:12.5px}
#view-dashboard tbody tr:nth-child(even) td{background:#fcfdfe}
#view-dashboard tbody tr:hover td{background:#f4f8fc}
#view-dashboard td b{font-weight:600}
#view-dashboard .code{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px}
#view-dashboard .table-export-bar{padding:0 16px 6px}
#view-dashboard .table-export-btn{border-radius:4px;font-size:10.5px}

/* ---------- Метки, полосы, вкладки ---------- */
#view-dashboard .pill{border-radius:3px;font-size:11.5px;padding:2px 6px;font-weight:600}
#view-dashboard .progress,#view-dashboard .loadbar,#view-dashboard .dn-progress-track{border-radius:0}
#view-dashboard .progress>i,#view-dashboard .loadbar>i{border-radius:0;background:var(--brand)}
#view-dashboard .neph-tabs,#view-dashboard .patient-tabs,#view-dashboard .registry-tabs{gap:0;margin-bottom:12px}
#view-dashboard .neph-tab,#view-dashboard .patient-tab,#view-dashboard .registry-tab{
  border:0;border-bottom:2px solid transparent;background:transparent;
  border-radius:0;padding:8px 14px;font-size:12.5px;font-weight:600;
  color:var(--muted);
}
#view-dashboard .neph-tab.active,#view-dashboard .patient-tab.active,
#view-dashboard .registry-tab.active{
  background:transparent;color:var(--ink);border-bottom-color:var(--brand);
}
#view-dashboard .task-subtab{border-radius:4px;font-size:12px}
#view-dashboard .factbox,#view-dashboard .dmc-kpi,#view-dashboard .flow-chip,
#view-dashboard .stat{border-radius:0}
#view-dashboard .br-hero-tile{background:#14283d;border-radius:0;box-shadow:none}
#view-dashboard .import-hero,#view-dashboard .br-legend{border-radius:0;box-shadow:none}
#view-dashboard .br-legend{border-color:var(--line)}

/* ---------- Правый столбец Главной (охват/выявляемость/сегментация):
   .panel сам без padding (см. выше), поэтому его прямому содержимому
   нужно самому себя отступать на 16px, как это уже делают .card/th/td —
   иначе текст и полосы упираются в рамку панели ---------- */
#view-dashboard .coverage-row{padding:0 16px}
#view-dashboard .panel>.progress{width:auto;margin-left:16px;margin-right:16px}
#view-dashboard .incidence-bars{padding:0 16px 10px}
#view-dashboard .dash-zone-bar{width:auto;margin-left:16px;margin-right:16px}
#view-dashboard .dash-zone-rows{padding:0 16px 10px}

/* ---------- Восстановленные «Выполнение по ЦЗ» / «Структура поводов»:
   тот же горизонтальный bar-list, что и «Выявляемость», просто с
   произвольной подписью слева вместо кода МКБ и опциональной подсветкой
   выбранной/проблемной строки ---------- */
#view-dashboard .bar-list{padding:4px 0 10px}
#view-dashboard .bar-row{display:flex;align-items:center;gap:12px;padding:7px 16px;border-left:3px solid transparent}
#view-dashboard .bar-row:hover{background:#f8fafb}
#view-dashboard .bar-row.active{border-left-color:var(--brand);background:#f4f8fc}
#view-dashboard .bar-row.active .bar-label{font-weight:700}
#view-dashboard .bar-label{width:150px;flex:none;font-size:12.5px;line-height:1.3}
#view-dashboard .bar-track{flex:1;height:8px;background:#e9eef3;overflow:hidden}
#view-dashboard .bar-track>i{display:block;height:100%;background:var(--ink)}
#view-dashboard .bar-row.bad .bar-track>i{background:var(--bad)}
#view-dashboard .bar-row.bad .bar-value{color:var(--bad)}
#view-dashboard .bar-value{width:60px;flex:none;text-align:right;font-weight:700;font-family:ui-monospace,monospace;font-size:12.5px}
