/* Тёмная схема оформления партнёра (brand.scheme = dark, RF_003 TASK_009): смысловые токены (css/tokens.css) получают
   тёмные значения, остальное - правила для разметки чужих виджетов (jQuery UI, jqGrid, Leaflet) и цветов,
   которые ставит JS в style. Признак - класс .pt-scheme-dark (шапка .pt-header на сайте, шапка кабинета);
   index_adaptive.xsl подключает файл сразу после main_adaptive.css только при тёмной схеме. */
/* тёмная схема: текст в серых панелях (bg-muted) */
body:has(.pt-scheme-dark) .bg-muted {
  color: var(--pt-d-text);
}
/* тёмная схема (brand.scheme = dark): страница, текст, панели; производные - рамки, приглушённый текст, поля */
body:has(.pt-scheme-dark) {
  --pt-d-page: var(--pt-page, #111214);
  --pt-d-text: var(--pt-text, var(--color-gray-200));
  --pt-d-surface: var(--pt-surface, #1c1d21);
  --pt-d-surface2: color-mix(in srgb, var(--pt-d-surface), var(--color-white) 6%);
  --pt-d-field: color-mix(in srgb, var(--pt-d-surface), var(--color-black) 25%);
  --pt-d-border: color-mix(in srgb, var(--pt-d-text) 16%, transparent);
  --pt-d-muted: color-mix(in srgb, var(--pt-d-text) 62%, transparent);
  /* смысловые токены (css/tokens.css): панели, рамки, заметки в разметке классами bg-muted, border-border, bg-notice */
  --background: var(--pt-d-page);
  --foreground: var(--pt-d-text);
  --secondary: color-mix(in srgb, var(--pt-d-surface), var(--color-white) 12%);
  --field: var(--pt-d-field);
  --secondary-foreground: var(--pt-d-text);
  --input: color-mix(in srgb, var(--pt-d-text) 28%, transparent);
  --muted: var(--pt-d-surface2);
  --muted-foreground: var(--pt-d-muted);
  --border: var(--pt-d-border);
  --border-strong: color-mix(in srgb, var(--pt-d-text) 28%, transparent);
  --badge: color-mix(in srgb, var(--pt-d-text) 30%, var(--pt-d-surface));
  --badge-foreground: var(--pt-d-text);
  --card: var(--pt-d-surface);
  --card-foreground: var(--pt-d-text);
  --success-soft: color-mix(in srgb, var(--color-green-600) 30%, var(--pt-d-surface));
  --destructive-soft: color-mix(in srgb, var(--color-red-600) 30%, var(--pt-d-surface));
  --notice: var(--pt-d-surface2);
  --notice-border: var(--pt-d-border);
  --date-fresh: color-mix(in srgb, var(--color-green-600) 30%, var(--pt-d-surface));
  --date-aging: color-mix(in srgb, var(--color-yellow-400) 35%, var(--pt-d-surface));
  --date-stale: color-mix(in srgb, var(--color-orange-500) 30%, var(--pt-d-surface));
  /* занятость: приглушённые цвета статусов - ячейки грида, легенда, карточка плоскости */
  --occ-free: transparent;
  --occ-reserved: color-mix(in srgb, #c8c832 45%, var(--pt-d-surface));
  --occ-sold: color-mix(in srgb, var(--color-green-600) 45%, var(--pt-d-surface));
  --occ-unknown: color-mix(in srgb, var(--color-white) 12%, var(--pt-d-surface));
  --occ-line: var(--pt-d-border);
  color-scheme: dark;
  background: var(--pt-d-page);
  color: var(--pt-d-text);
}
/* тёмная схема: виджеты jQuery UI (панели фильтров, карты, таблицы, диалоги), jqGrid, поля, ссылки разделов.
   Карта (подложка и контролы Leaflet) остаётся светлой - значки контролов тёмные */
body:has(.pt-scheme-dark) .ui-dialog {
  background: var(--pt-d-surface);
  color: var(--pt-d-text);
  border-color: var(--pt-d-border);
}
body:has(.pt-scheme-dark) .ui-state-default,
body:has(.pt-scheme-dark) .ui-widget-content .ui-state-default,
body:has(.pt-scheme-dark) .ui-widget-header .ui-state-default,
body:has(.pt-scheme-dark) .ui-button:not(.ui-state-active, .ui-state-highlight, .ui-dialog-titlebar-close) {
  background: var(--pt-d-surface2);
  color: var(--pt-d-text);
  border-color: var(--pt-d-border);
}
body:has(.pt-scheme-dark) .ui-state-default a,
body:has(.pt-scheme-dark) .ui-state-default .ui-button-text {
  color: var(--pt-d-text);
}
body:has(.pt-scheme-dark) .ui-button:not(.ui-state-active, .ui-state-highlight, .ui-dialog-titlebar-close):is(:hover, :focus) {
  background: color-mix(in srgb, var(--pt-d-surface2), var(--color-white) 8%);
  color: var(--pt-d-text);
  border-color: var(--pt-d-border);
}
/* выбранная строка таблицы, подсветка */
/* подсветка вне панелей (заголовок «Вибрані» у выбранных фильтров) - без жёлтой рамки и текста темы */
body:has(.pt-scheme-dark) .ui-state-highlight {
  background: var(--pt-d-surface2);
  border-color: var(--pt-d-border);
  color: var(--pt-d-text);
}
body:has(.pt-scheme-dark) .ui-widget-content .ui-state-highlight,
body:has(.pt-scheme-dark) .ui-jqgrid tr.ui-state-highlight td {
  background: color-mix(in srgb, var(--pt-accent) 22%, var(--pt-d-surface));
  color: var(--pt-d-text);
  border-color: var(--pt-d-border);
}
body:has(.pt-scheme-dark) .ui-jqgrid,
body:has(.pt-scheme-dark) .ui-jqgrid tr.jqgrow td,
body:has(.pt-scheme-dark) .ui-jqgrid .ui-jqgrid-htable th,
body:has(.pt-scheme-dark) .ui-jqgrid .ui-pg-table td {
  border-color: var(--pt-d-border);
}
body:has(.pt-scheme-dark) .ui-jqgrid .ui-jqgrid-bdiv,
body:has(.pt-scheme-dark) .ui-jqgrid tr.jqgrow {
  background: var(--pt-d-surface);
}
body:has(.pt-scheme-dark) .ui-jqgrid tr.jqgrow:nth-child(even) {
  background: color-mix(in srgb, var(--pt-d-surface), var(--color-white) 3%);
}
/* строка под курсором - подложкой наведения (--secondary, css/controls.css), сильнее фона строк выше */
body:has(.pt-scheme-dark) .ui-jqgrid tr.jqgrow.ui-state-hover {
  background: var(--secondary);
}
body:has(.pt-scheme-dark) .leaflet-container input[type="text"] {
  background-color: var(--color-white);
  color: var(--color-gray-900);
}
/* занятость в таблице: цвета статусов - переменные --occ-* (выше), свободно - фон строки (непрозрачный, как в светлой);
   галочки (картинки) - как есть */
body:has(.pt-scheme-dark) .grid-occ-sel .f {
  background-color: var(--pt-d-surface);
}
body:has(.pt-scheme-dark) .ui-jqgrid tr.jqgrow:nth-child(even) .grid-occ-sel .f {
  background-color: color-mix(in srgb, var(--pt-d-surface), var(--color-white) 3%);
}
body:has(.pt-scheme-dark) .gc[checked] {
  background-color: var(--color-white);
}
/* панель над таблицей - фон ставит JS в style (site/boards.grid.js) */
body:has(.pt-scheme-dark) .ui-userdata {
  background: var(--pt-d-surface2) !important;
}
/* карточка плоскости (диалог): блок GRP/OTS/адрес; всплывающие окна узкого режима (панель фильтров);
   карточки списка узкого режима */
body:has(.pt-scheme-dark) div:has(> table.bid-info) {
  background: var(--pt-d-surface) !important;
  color: var(--pt-d-text);
}
body:has(.pt-scheme-dark) .boards-list .item {
  border-bottom-color: var(--pt-d-border);
}
body:has(.pt-scheme-dark) .boards-list .item-link,
body:has(.pt-scheme-dark) .boards-list .item-city b,
body:has(.pt-scheme-dark) .boards-list .item-opportunity b {
  color: var(--pt-d-text);
}
body:has(.pt-scheme-dark) .boards-list .item-city,
body:has(.pt-scheme-dark) .boards-list .item-opportunity {
  color: var(--pt-d-muted);
}
body:has(.pt-scheme-dark) .boards-list .item-number {
  color: var(--pt-link);
}
/* светлые фоны, заданные в разметке (style): строки годов/месяцев занятости в карточке плоскости, плашки;
   всплывающие панели (фильтр занятости и др., .float-panel_*) */
body:has(.pt-scheme-dark) :is(.page, .ui-dialog, .popup) :is([style*="background:#eee"], [style*="background: #eee"],
  [style*="background:#EEE"], [style*="background:#f3f3f3"], [style*="background: #f3f3f3"],
  [style*="background:#f5f5f5"], [style*="background-color: rgb(245, 245, 245)"]) {
  background: var(--pt-d-surface2) !important;
  border-color: var(--pt-d-border) !important;
  color: var(--pt-d-text);
}
/* фон, цвет, рамку панели ставит в style pmFloat (копирует с кнопки) */
body:has(.pt-scheme-dark) [class*="float-panel_"] {
  background: var(--pt-d-surface2) !important;
  color: var(--pt-d-text) !important;
  border-color: var(--pt-d-border) !important;
}
/* легенда занятости: квадратики статусов - как ячейки */
body:has(.pt-scheme-dark) .sq[style*="#fff"],
body:has(.pt-scheme-dark) .sq.bg-occ-free {
  background: transparent !important;
  outline: 1px solid var(--pt-d-muted);
}
/* план по карте (#map-fs-container - вне .page, фон в style): список слева, его шапка, панель; выбор города
   (.map-cities в bbnet-map.css), рамка «показати фільтри» (var(--color-yellow-50) в style), блок описания на странице плоскости
   (.board-info) */
body:has(.pt-scheme-dark) #map-fs-container,
body:has(.pt-scheme-dark) #map-fs-list-hdr,
body:has(.pt-scheme-dark) .map-cities {
  background: var(--pt-d-surface) !important;
  color: var(--pt-d-text);
  border-color: var(--pt-d-border) !important;
}
body:has(.pt-scheme-dark) .map-cities-cnt {
  color: var(--pt-d-muted);
}
body:has(.pt-scheme-dark) .map-lst .itm {
  border-color: var(--pt-d-border);
}
/* наведение (i-sel) и выбранные (i-ord) в списке - подсветкой акцента, как строки таблицы */
body:has(.pt-scheme-dark) .map-lst .i-sel {
  background: var(--pt-d-surface2) !important;
}
body:has(.pt-scheme-dark) .map-lst .i-ord {
  background: color-mix(in srgb, var(--pt-accent) 22%, var(--pt-d-surface));
}
body:has(.pt-scheme-dark) [style*="FFF9DD" i],
body:has(.pt-scheme-dark) .board-info {
  background: var(--pt-d-surface2) !important;
  border-color: var(--pt-d-border) !important;
}
/* балун на карте (список плоскостей в точке): тёмный, как диалоги; подложка карты - светлая */
body:has(.pt-scheme-dark) .leaflet-popup-content-wrapper,
body:has(.pt-scheme-dark) .leaflet-popup-tip {
  background: var(--pt-d-surface);
  color: var(--pt-d-text);
}
body:has(.pt-scheme-dark) .leaflet-popup-content [style*="#ddd"] {
  border-color: var(--pt-d-border) !important;
}
body:has(.pt-scheme-dark) .leaflet-container a.leaflet-popup-close-button {
  color: var(--pt-d-muted);
}
/* светлые части на тёмной схеме - подписи городов на карте (.map-reg-b, белые в bbnet-map.css): ссылки цветом
   «ссылки на светлом» (--pt-linkLight), текст (число плоскостей) и серый - как в светлой схеме */
body:has(.pt-scheme-dark) .map-reg-b {
  color: var(--color-gray-800);
}
body:has(.pt-scheme-dark) .map-reg-b :is(.blue, .dot, a) {
  color: var(--pt-linkLight, var(--color-blue-700)) !important;
}
body:has(.pt-scheme-dark) .map-reg-b .gray {
  color: var(--color-gray-500) !important;
}
/* значки jQuery UI (пагинация, сортировка, закрытие панелей) - светлый спрайт темы вместо тёмного */
body:has(.pt-scheme-dark) .ui-icon:not([style*="background"]) {
  background-image: url(/img/jquery-ui/ui-icons_ffffff_256x240.png);
  opacity: .75;
}
body:has(.pt-scheme-dark) .ui-state-hover .ui-icon,
body:has(.pt-scheme-dark) .ui-icon:hover {
  opacity: 1;
}
/* подписи в карточке плоскости (місто, район, адреса) - var(--color-gray-600) в global.css */
body:has(.pt-scheme-dark) .bid-info .hdr {
  color: var(--pt-d-muted);
}
/* всплывающее сообщение ($.timedAlert) - белое в global.css */
body:has(.pt-scheme-dark) :is(.ui-timedalert, .ui-timedalert-err) {
  background-color: var(--pt-d-surface2);
  border-color: var(--pt-d-border);
  color: var(--pt-d-text);
}
/* заголовки групп фильтров (Конструкція, Сторона...) - var(--color-gray-700) в global.css */
body:has(.pt-scheme-dark) .block-filter b {
  color: var(--pt-d-muted);
}
/* черта под ссылками фильтров (по містах, кодах, об'єктах) - инлайн var(--color-gray-300) в boards.filters.js */
body:has(.pt-scheme-dark) .block-filter > div[style*="border-bottom"] {
  border-bottom: 1px dotted color-mix(in srgb, var(--pt-d-text) 35%, transparent) !important;
}
body:has(.pt-scheme-dark) .bid-rts {
  color: var(--pt-d-muted);
}
/* узкий: панель города/поиска/фильтров, прилипшая при прокрутке (.boards-filters.fixed) - белая в main_adaptive */
body:has(.pt-scheme-dark) .boards-filters.fixed {
  background: var(--pt-d-page);
  box-shadow: 0 0 10px rgba(0, 0, 0, .6);
}
