/*
 * Темная тема поверх light-bootstrap-dashboard.
 * Включается классом theme-dark на <html> (cookie theme, см. header.html / top_panel.html).
 */

html.theme-dark {
    --dk-bg: #1b1c21;
    --dk-panel: #23242b;
    --dk-card: #282a31;
    --dk-input: #1f2026;
    --dk-border: #383a44;
    --dk-text: #d7d8de;
    --dk-muted: #9a9ca8;
    --dk-link: #7fb2ff;
    --dk-hover: #30323b;

    color-scheme: dark;
}

/* Основа */
html.theme-dark body,
html.theme-dark .wrapper,
html.theme-dark .main-panel,
html.theme-dark .main-panel .content {
    background: var(--dk-bg);
    color: var(--dk-text);
}

html.theme-dark h1, html.theme-dark h2, html.theme-dark h3,
html.theme-dark h4, html.theme-dark h5, html.theme-dark h6,
html.theme-dark .title, html.theme-dark label,
html.theme-dark p {
    color: var(--dk-text);
}

html.theme-dark .text-muted,
html.theme-dark small,
html.theme-dark .card .card-category,
html.theme-dark .card label {
    color: var(--dk-muted) !important;
}

html.theme-dark a { color: var(--dk-link); }
html.theme-dark hr { border-color: var(--dk-border); }

/* Верхняя панель */
html.theme-dark .navbar {
    background-color: var(--dk-panel) !important;
    border-bottom: 1px solid var(--dk-border);
}
html.theme-dark .navbar .navbar-ct,
html.theme-dark .navbar .nav-link,
html.theme-dark .navbar .navbar-nav .nav-item .nav-link {
    color: var(--dk-text) !important;
}
html.theme-dark .navbar .navbar-ct a { color: var(--dk-link) !important; }
html.theme-dark .navbar .navbar-toggler-bar { background: var(--dk-text); }

/* Футер */
html.theme-dark .main-panel .footer,
html.theme-dark .footer {
    background: var(--dk-bg);
    border-top-color: var(--dk-border);
}
html.theme-dark .footer .copyright { color: var(--dk-muted); }

/* Карточки */
html.theme-dark .card {
    background-color: var(--dk-card);
    color: var(--dk-text);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
html.theme-dark .card .card-header,
html.theme-dark .card .card-footer {
    background-color: transparent;
    border-color: var(--dk-border);
}
html.theme-dark .card .card-title { color: var(--dk-text); }

/* Таблицы */
html.theme-dark .table { color: var(--dk-text); }
html.theme-dark .table > thead > tr > th {
    color: var(--dk-muted);
    border-bottom-color: var(--dk-border);
}
html.theme-dark .table > thead > tr > th,
html.theme-dark .table > tbody > tr > th,
html.theme-dark .table > tfoot > tr > th,
html.theme-dark .table > thead > tr > td,
html.theme-dark .table > tbody > tr > td,
html.theme-dark .table > tfoot > tr > td,
html.theme-dark .table td,
html.theme-dark .table th {
    border-top-color: var(--dk-border);
}
html.theme-dark .table-striped tbody tr:nth-of-type(odd) { background-color: rgba(255, 255, 255, 0.03); }
html.theme-dark .table-hover tbody tr:hover { background-color: var(--dk-hover); }

/* Подсветка ячеек/строк (table-secondary и т.п.): у bootstrap светлый фон, текст темы светлый - не читается */
html.theme-dark .table-secondary,
html.theme-dark .table-secondary > td,
html.theme-dark .table-secondary > th,
html.theme-dark .table-active,
html.theme-dark .table-active > td,
html.theme-dark .table-active > th { background-color: rgba(255, 255, 255, 0.06); color: var(--dk-text); }
html.theme-dark .table-hover .table-secondary:hover,
html.theme-dark .table-hover .table-secondary:hover > td,
html.theme-dark .table-hover .table-secondary:hover > th { background-color: var(--dk-hover); }

/* Код (условия объектов и т.п.): у bootstrap светлый фон */
html.theme-dark code { background-color: rgba(255, 255, 255, 0.08); color: #f0a6ad; }

/* Документация: оглавление */
html.theme-dark .hnet-docs-toc .list-group-item { background-color: var(--dk-card); color: var(--dk-text); border-color: var(--dk-border); }
html.theme-dark .hnet-docs-toc .list-group-item.active { background-color: var(--dk-hover); color: #fff; }
html.theme-dark .hnet-docs pre { color: var(--dk-text); }

/* Поля ввода */
html.theme-dark .form-control,
html.theme-dark input[type="text"],
html.theme-dark input[type="number"],
html.theme-dark input[type="password"],
html.theme-dark input[type="date"],
html.theme-dark input[type="time"],
html.theme-dark select,
html.theme-dark textarea {
    background-color: var(--dk-input);
    color: var(--dk-text);
    border-color: var(--dk-border);
}
html.theme-dark .form-control:focus {
    background-color: var(--dk-input);
    color: var(--dk-text);
    border-color: var(--dk-link);
}
html.theme-dark .form-control[readonly],
html.theme-dark .form-control[disabled],
html.theme-dark .form-control:disabled {
    background-color: var(--dk-panel);
    color: var(--dk-muted);
}
html.theme-dark .form-control::placeholder { color: var(--dk-muted); }
html.theme-dark .input-group-text,
html.theme-dark .input-group-addon {
    background-color: var(--dk-panel);
    color: var(--dk-text);
    border-color: var(--dk-border);
}

/* Выпадающие меню */
html.theme-dark .dropdown-menu {
    background-color: var(--dk-card);
    border-color: var(--dk-border);
}
html.theme-dark .dropdown-menu:before { border-bottom-color: var(--dk-border); }
html.theme-dark .dropdown-menu:after { border-bottom-color: var(--dk-card); }
html.theme-dark .dropdown-item { color: var(--dk-text); }
html.theme-dark .dropdown-item:hover,
html.theme-dark .dropdown-item:focus {
    background-color: var(--dk-hover);
    color: var(--dk-text);
}

/* Модальные окна */
html.theme-dark .modal-content {
    background-color: var(--dk-card);
    color: var(--dk-text);
}
html.theme-dark .modal-header,
html.theme-dark .modal-footer { border-color: var(--dk-border); }
html.theme-dark .close { color: var(--dk-text); text-shadow: none; }

/* Вкладки, списки */
html.theme-dark .nav-tabs { border-bottom-color: var(--dk-border); }
html.theme-dark .nav-tabs .nav-link.active,
html.theme-dark .nav-tabs .nav-item.show .nav-link {
    background-color: var(--dk-card);
    color: var(--dk-text);
    border-color: var(--dk-border) var(--dk-border) var(--dk-card);
}
html.theme-dark .list-group-item {
    background-color: var(--dk-card);
    border-color: var(--dk-border);
    color: var(--dk-text);
}

/* Прогресс */
html.theme-dark .progress { background-color: var(--dk-border); }

/* select2 */
html.theme-dark .select2-container--bootstrap .select2-selection,
html.theme-dark .select2-container--default .select2-selection--single,
html.theme-dark .select2-container--default .select2-selection--multiple {
    background-color: var(--dk-input);
    border-color: var(--dk-border);
    color: var(--dk-text);
}
html.theme-dark .select2-container--default .select2-selection--single .select2-selection__rendered,
html.theme-dark .select2-container--bootstrap .select2-selection--single .select2-selection__rendered {
    color: var(--dk-text);
}
html.theme-dark .select2-dropdown {
    background-color: var(--dk-card);
    border-color: var(--dk-border);
    color: var(--dk-text);
}
/* Уже выбранный пункт в списке: по умолчанию #ddd / #f5f5f5 */
html.theme-dark .select2-container--default .select2-results__option[aria-selected=true],
html.theme-dark .select2-container--bootstrap .select2-results__option[aria-selected=true] {
    background-color: var(--dk-border);
    color: var(--dk-muted);
}
html.theme-dark .select2-container--default .select2-results__option--highlighted[aria-selected],
html.theme-dark .select2-container--bootstrap .select2-results__option--highlighted[aria-selected] {
    background-color: var(--dk-hover);
    color: var(--dk-text);
}
html.theme-dark .select2-search__field {
    background-color: var(--dk-input);
    color: var(--dk-text);
}
/* Выбранные значения мультиселекта (чипы): по умолчанию светлый фон #e4e4e4 */
html.theme-dark .select2-container--default .select2-selection--multiple .select2-selection__choice,
html.theme-dark .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice {
    background-color: var(--dk-hover);
    border-color: var(--dk-border);
    color: var(--dk-text);
}
html.theme-dark .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
html.theme-dark .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--dk-muted);
}
html.theme-dark .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,
html.theme-dark .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: var(--dk-text);
}

/* jQuery UI */
html.theme-dark .ui-widget-content {
    background: var(--dk-card);
    color: var(--dk-text);
    border-color: var(--dk-border);
}
html.theme-dark .ui-widget-header {
    background: var(--dk-panel);
    color: var(--dk-text);
    border-color: var(--dk-border);
}

/* Chartist */
html.theme-dark .ct-label { color: var(--dk-muted); fill: var(--dk-muted); }
html.theme-dark .ct-grid { stroke: rgba(255, 255, 255, 0.12); }

/* Переключатели (bootstrap-switch): выключено - темная дорожка, включено - цвет темы */
html.theme-dark .bootstrap-switch .bootstrap-switch-handle-off {
    background-color: #3a3c46;
    color: var(--dk-muted);
}
html.theme-dark .bootstrap-switch .bootstrap-switch-label {
    background-color: #c9cad1;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
html.theme-dark .bootstrap-switch.bootstrap-switch-disabled,
html.theme-dark .bootstrap-switch.bootstrap-switch-readonly {
    opacity: 0.6;
}

/* Ползунок: как переключатель - темная дорожка, светлая ручка */
html.theme-dark .hnet-slider-track { background-color: #3a3c46; }
html.theme-dark .hnet-slider-knob { background-color: #c9cad1; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5); }
html.theme-dark .hnet-slider-value { color: var(--dk-text); }

/* Устройство не в сети - темно-красная строка */
html.theme-dark .dev-offline { background-color: #4a2328; }

/* Событие шлюза в логе устройства - темно-желтая строка */
html.theme-dark .devlog-event { background-color: #4a3f1c; }

/* Переключатель темы в верхней панели */
.theme-toggle { cursor: pointer; }
.navbar .navbar-nav .nav-item .nav-link.theme-toggle i[class*="fa-"] { font-size: 18px !important; vertical-align: middle; }
