/* Тёмные темы из SUOS (static/style.css): Cockpit (по умолчанию) и Prometheus.
   Светлая тема hub — main.css без оверрайдов. Палитра — в --ck-*, правила общие. */

html[data-theme="cockpit"] {
  --ck-bg: #0d1117; --ck-bg2: #161b22; --ck-bg3: #1a1f26; --ck-card: #1c2128; --ck-hover: #22272e; --ck-input: #22272e;
  --ck-border: #2d333b; --ck-border2: #353c45;
  --ck-text: #e6edf3; --ck-text2: #8b949e; --ck-muted: #606872;
  --ck-accent: #4394e6; --ck-accent2: #58a6ff; --ck-accent-rgb: 67,148,230;
  --ck-success: #3fb950; --ck-danger: #f85149; --ck-warning: #d29922;
}
html[data-theme="prometheus"] {
  --ck-bg: #1e1e1e; --ck-bg2: #252525; --ck-bg3: #2e2e2e; --ck-card: #2a2a2a; --ck-hover: #3d3d3d; --ck-input: #333;
  --ck-border: #444; --ck-border2: #555;
  --ck-text: #e0e0e0; --ck-text2: #a0a0a0; --ck-muted: #777;
  --ck-accent: #e6522c; --ck-accent2: #ff6a45; --ck-accent-rgb: 230,82,44;
  --ck-success: #3aa655; --ck-danger: #d43939; --ck-warning: #ffa500;
}

html[data-theme="cockpit"], html[data-theme="prometheus"] {
  --accent: var(--ck-accent);
  --body-bg: var(--ck-bg);
  --sidebar-bg: var(--ck-bg2);
  --sidebar-text: var(--ck-text2);
  --bs-body-bg: var(--ck-bg);
  --bs-body-color: var(--ck-text);
  --bs-secondary-color: var(--ck-text2);
  --bs-tertiary-bg: var(--ck-bg3);
  --bs-secondary-bg: var(--ck-hover);
  --bs-border-color: var(--ck-border);
  --bs-primary: var(--ck-accent);
  --bs-primary-rgb: var(--ck-accent-rgb);
  --bs-link-color: var(--ck-accent2);
  --bs-link-color-rgb: var(--ck-accent-rgb);
  --bs-link-hover-color: var(--ck-accent2);
  --bs-emphasis-color: var(--ck-text);
}

[data-theme="cockpit"] body, [data-theme="prometheus"] body { background: var(--ck-bg); color: var(--ck-text); }

/* Каркас hub: сайдбар, шапка, подвал */
[data-theme="cockpit"] .sidebar, [data-theme="prometheus"] .sidebar { border-right: 1px solid var(--ck-border); }
[data-theme="cockpit"] .sidebar-brand, [data-theme="prometheus"] .sidebar-brand { color: var(--ck-text); border-bottom: 1px solid var(--ck-border); }
[data-theme="cockpit"] .sidebar-link, [data-theme="prometheus"] .sidebar-link { border-left: 3px solid transparent; border-radius: 0 4px 4px 0; font-size: .9rem; }
[data-theme="cockpit"] .sidebar-link:hover, [data-theme="prometheus"] .sidebar-link:hover { background: var(--ck-hover); color: var(--ck-text); }
[data-theme="cockpit"] .sidebar-link.active, [data-theme="prometheus"] .sidebar-link.active {
  background: rgba(var(--ck-accent-rgb), .08); color: var(--ck-accent) !important; border-left-color: var(--ck-accent);
}
[data-theme="cockpit"] .topbar, [data-theme="prometheus"] .topbar,
[data-theme="cockpit"] .page-footer, [data-theme="prometheus"] .page-footer { background: var(--ck-bg2); border-color: var(--ck-border); color: var(--ck-text2); }
[data-theme="cockpit"] .topbar-title, [data-theme="prometheus"] .topbar-title { color: var(--ck-text); }

/* Карточки: плоские, шапка — второй фон */
[data-theme="cockpit"] .card, [data-theme="prometheus"] .card {
  --bs-card-bg: var(--ck-card); --bs-card-border-color: var(--ck-border); --bs-card-cap-bg: var(--ck-bg2); --bs-card-color: var(--ck-text);
  box-shadow: none !important; border-radius: 6px;
}
[data-theme="cockpit"] .card-header, [data-theme="prometheus"] .card-header { font-size: .9rem; font-weight: 500; color: var(--ck-text); }
[data-theme="cockpit"] .card-header.bg-primary, [data-theme="prometheus"] .card-header.bg-primary { background: var(--ck-bg2) !important; color: var(--ck-text) !important; }

/* Таблицы */
[data-theme="cockpit"] .table, [data-theme="prometheus"] .table {
  --bs-table-bg: transparent; --bs-table-color: var(--ck-text); --bs-table-border-color: var(--ck-border);
  --bs-table-striped-bg: rgba(255,255,255,.02); --bs-table-striped-color: var(--ck-text);
  --bs-table-hover-bg: var(--ck-hover); --bs-table-hover-color: var(--ck-text); font-size: .875rem;
}
[data-theme="cockpit"] .table thead th, [data-theme="prometheus"] .table thead th {
  background: var(--ck-bg2) !important; color: var(--ck-text2) !important; font-weight: 600; font-size: .8rem;
}
[data-theme="cockpit"] .table-light, [data-theme="prometheus"] .table-light { --bs-table-bg: var(--ck-bg2); --bs-table-color: var(--ck-text2); }

/* Бейджи-статусы: цветной текст с точкой, как в SUOS */
[data-theme="cockpit"] .badge, [data-theme="prometheus"] .badge { font-weight: 500; border-radius: 3px; }
[data-theme="cockpit"] :is(.badge.bg-success, .badge.text-bg-success),
[data-theme="prometheus"] :is(.badge.bg-success, .badge.text-bg-success) { background: transparent !important; color: var(--ck-success) !important; }
[data-theme="cockpit"] :is(.badge.bg-danger, .badge.text-bg-danger),
[data-theme="prometheus"] :is(.badge.bg-danger, .badge.text-bg-danger) { background: transparent !important; color: var(--ck-danger) !important; }
[data-theme="cockpit"] :is(.badge.bg-warning, .badge.text-bg-warning),
[data-theme="prometheus"] :is(.badge.bg-warning, .badge.text-bg-warning) { background: transparent !important; color: var(--ck-warning) !important; }
[data-theme="cockpit"] :is(.badge.bg-success, .badge.text-bg-success, .badge.bg-danger, .badge.text-bg-danger, .badge.bg-warning, .badge.text-bg-warning)::before,
[data-theme="prometheus"] :is(.badge.bg-success, .badge.text-bg-success, .badge.bg-danger, .badge.text-bg-danger, .badge.bg-warning, .badge.text-bg-warning)::before {
  content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: currentColor; margin-right: 5px; vertical-align: 1px;
}

/* Кнопки */
[data-theme="cockpit"] .btn, [data-theme="prometheus"] .btn { border-radius: 6px; font-weight: 500; }
[data-theme="cockpit"] .btn-primary, [data-theme="prometheus"] .btn-primary { background: var(--ck-accent); border-color: var(--ck-accent); color: #fff; }
[data-theme="cockpit"] .btn-primary:hover, [data-theme="prometheus"] .btn-primary:hover { background: var(--ck-accent2); border-color: var(--ck-accent2); }
[data-theme="cockpit"] .btn-success, [data-theme="prometheus"] .btn-success { background: var(--ck-success); border-color: var(--ck-success); }
[data-theme="cockpit"] .btn-danger, [data-theme="prometheus"] .btn-danger { background: var(--ck-danger); border-color: var(--ck-danger); }
[data-theme="cockpit"] .btn-warning, [data-theme="prometheus"] .btn-warning { background: var(--ck-warning); border-color: var(--ck-warning); color: #0d1117; }
[data-theme="cockpit"] :is(.btn-outline-secondary, .btn-outline-light, .btn-light),
[data-theme="prometheus"] :is(.btn-outline-secondary, .btn-outline-light, .btn-light) { background: transparent; border-color: var(--ck-border); color: var(--ck-text2); }
[data-theme="cockpit"] :is(.btn-outline-secondary, .btn-outline-light, .btn-light):hover,
[data-theme="prometheus"] :is(.btn-outline-secondary, .btn-outline-light, .btn-light):hover { background: var(--ck-hover); border-color: var(--ck-border2); color: var(--ck-text); }
[data-theme="cockpit"] .btn-outline-primary, [data-theme="prometheus"] .btn-outline-primary { border-color: var(--ck-border); color: var(--ck-accent); }
[data-theme="cockpit"] .btn-outline-primary:hover, [data-theme="prometheus"] .btn-outline-primary:hover { background: rgba(var(--ck-accent-rgb), .1); border-color: var(--ck-accent); color: var(--ck-accent2); }
[data-theme="cockpit"] .btn-outline-danger, [data-theme="prometheus"] .btn-outline-danger { border-color: var(--ck-border); color: var(--ck-danger); }
[data-theme="cockpit"] .btn-outline-danger:hover, [data-theme="prometheus"] .btn-outline-danger:hover { background: rgba(248,81,73,.1); border-color: var(--ck-danger); color: var(--ck-danger); }
[data-theme="cockpit"] .btn:disabled, [data-theme="prometheus"] .btn:disabled { opacity: .4; }
[data-theme="cockpit"] .btn-check:checked + .btn, [data-theme="prometheus"] .btn-check:checked + .btn,
[data-theme="cockpit"] .btn.active, [data-theme="prometheus"] .btn.active { background: var(--ck-hover); color: var(--ck-text); border-color: var(--ck-border2); }

/* Формы */
[data-theme="cockpit"] :is(.form-control, .form-select), [data-theme="prometheus"] :is(.form-control, .form-select) {
  background-color: var(--ck-input); border-color: var(--ck-border); color: var(--ck-text); border-radius: 6px;
}
[data-theme="cockpit"] :is(.form-control, .form-select):focus, [data-theme="prometheus"] :is(.form-control, .form-select):focus {
  border-color: var(--ck-accent); box-shadow: 0 0 0 2px rgba(var(--ck-accent-rgb), .2);
}
[data-theme="cockpit"] .form-control::placeholder, [data-theme="prometheus"] .form-control::placeholder { color: var(--ck-muted); }
[data-theme="cockpit"] .form-label, [data-theme="prometheus"] .form-label { color: var(--ck-text2); font-size: .85rem; }
[data-theme="cockpit"] .form-check-input:checked, [data-theme="prometheus"] .form-check-input:checked { background-color: var(--ck-accent); border-color: var(--ck-accent); }

/* Модалки, выпадающие меню, вкладки, алерты */
[data-theme="cockpit"] .modal, [data-theme="prometheus"] .modal { --bs-modal-bg: var(--ck-card); --bs-modal-border-color: var(--ck-border); --bs-modal-color: var(--ck-text); }
[data-theme="cockpit"] .dropdown-menu, [data-theme="prometheus"] .dropdown-menu {
  --bs-dropdown-bg: var(--ck-card); --bs-dropdown-border-color: var(--ck-border); --bs-dropdown-link-color: var(--ck-text);
  --bs-dropdown-link-hover-bg: var(--ck-hover); --bs-dropdown-link-hover-color: var(--ck-text);
}
[data-theme="cockpit"] .nav-tabs, [data-theme="prometheus"] .nav-tabs { border-bottom-color: var(--ck-border); }
[data-theme="cockpit"] .nav-tabs .nav-link, [data-theme="prometheus"] .nav-tabs .nav-link { color: var(--ck-text2); border: none; background: transparent; }
[data-theme="cockpit"] .nav-tabs .nav-link:hover, [data-theme="prometheus"] .nav-tabs .nav-link:hover { background: var(--ck-hover); color: var(--ck-text); }
[data-theme="cockpit"] .nav-tabs .nav-link.active, [data-theme="prometheus"] .nav-tabs .nav-link.active { color: var(--ck-accent); background: transparent; border-bottom: 2px solid var(--ck-accent); }
[data-theme="cockpit"] .alert, [data-theme="prometheus"] .alert { background: var(--ck-bg2); border: 1px solid var(--ck-border); color: var(--ck-text); }
[data-theme="cockpit"] .alert-warning, [data-theme="prometheus"] .alert-warning { border-left: 3px solid var(--ck-warning); }
[data-theme="cockpit"] .alert-danger, [data-theme="prometheus"] .alert-danger { border-left: 3px solid var(--ck-danger); }
[data-theme="cockpit"] .alert-info, [data-theme="prometheus"] .alert-info { border-left: 3px solid var(--ck-accent); }
[data-theme="cockpit"] .alert-success, [data-theme="prometheus"] .alert-success { border-left: 3px solid var(--ck-success); }
[data-theme="cockpit"] .list-group, [data-theme="prometheus"] .list-group {
  --bs-list-group-bg: var(--ck-card); --bs-list-group-border-color: var(--ck-border); --bs-list-group-color: var(--ck-text);
  --bs-list-group-action-hover-bg: var(--ck-hover); --bs-list-group-action-hover-color: var(--ck-text);
}
[data-theme="cockpit"] .progress, [data-theme="prometheus"] .progress { background: var(--ck-bg3); }
[data-theme="cockpit"] :is(.bg-white, .bg-light), [data-theme="prometheus"] :is(.bg-white, .bg-light) { background-color: var(--ck-card) !important; }
[data-theme="cockpit"] code, [data-theme="prometheus"] code { color: var(--ck-accent2); }
[data-theme="cockpit"] pre, [data-theme="prometheus"] pre { background: var(--ck-bg2); border: 1px solid var(--ck-border); border-radius: 6px; color: var(--ck-text); }

[data-theme="cockpit"] ::-webkit-scrollbar, [data-theme="prometheus"] ::-webkit-scrollbar { width: 8px; height: 8px; }
[data-theme="cockpit"] ::-webkit-scrollbar-track, [data-theme="prometheus"] ::-webkit-scrollbar-track { background: var(--ck-bg); }
[data-theme="cockpit"] ::-webkit-scrollbar-thumb, [data-theme="prometheus"] ::-webkit-scrollbar-thumb { background: var(--ck-border2); border-radius: 4px; }

/* Аккордеоны (узлы, ряды): раскрытая шапка — без синей подсветки, как в Grafana */
[data-theme="cockpit"] .accordion, [data-theme="prometheus"] .accordion {
  --bs-accordion-bg: var(--ck-card); --bs-accordion-border-color: var(--ck-border);
  --bs-accordion-active-bg: var(--ck-bg2); --bs-accordion-active-color: var(--ck-text);
  --bs-accordion-btn-focus-box-shadow: none; --bs-accordion-btn-color: var(--ck-text);
}
