/**
 * Тема КАИС / Z-KAIS: зелёные акценты, светлый фон страницы,
 * тёмный цвет Z-KAIS — для текста (не для фона).
 */
:root {
    --kais-green: #5c9a2e;
    --kais-green-hover: #4a7f25;
    --kais-green-dark: #3d691e;
    --kais-green-send: #4e8327;
    --kais-green-light: #eef6e8;
    --kais-green-border: #c5ddb3;
    --kais-green-focus: rgba(92, 154, 46, 0.25);

    /* Тёмный тон Z-KAIS — только для шрифтов и заголовков */
    --kais-text-dark: #1e2832;
    --kais-text-muted: #5c6570;

    --kais-bg-page: #f4f6f8;
    --kais-bg-card: #ffffff;
    --kais-bg-subtle: #fafbfc;
    --kais-border: #e2e6ea;

    --kais-sidebar-dark: #343a40;
    --kais-sidebar-dark-hover: #495057;

    --kais-client-sidebar-bg: #f8f9fa;
    --kais-sidebar-border: #dee2e6;
    --kais-sidebar-text: #343a40;
    --kais-sidebar-muted: #6c757d;
    --kais-sidebar-link: #495057;
    --kais-sidebar-avatar-bg: #e9ecef;
    --kais-sidebar-avatar-color: #495057;
    --kais-sidebar-control-bg: #ffffff;
}

/* Базовая типографика и фон */
body {
    background-color: var(--kais-bg-page);
    color: var(--kais-text-dark);
}

h1, h2, h3, h4, h5, h6,
.card-header h3 {
    color: var(--kais-text-dark);
}

.navbar-dark .navbar-brand,
.navbar-dark .navbar-brand span,
.navbar-dark .nav-link {
    color: #fff !important;
}

.text-muted {
    color: var(--kais-text-muted) !important;
}

/* Карточки и блоки — лёгкая стилизация в духе kais.ru */
.card {
    background-color: var(--kais-bg-card);
    border: 1px solid var(--kais-border);
    border-radius: 0.375rem;
    box-shadow: 0 1px 3px rgba(30, 40, 50, 0.06);
}

.card-header {
    background-color: var(--kais-bg-subtle);
    border-bottom: 1px solid var(--kais-border);
    color: var(--kais-text-dark);
}

.container-fluid.bg-light.border-bottom {
    background-color: var(--kais-bg-subtle) !important;
    border-bottom-color: var(--kais-border) !important;
    color: var(--kais-text-dark);
}

footer.bg-light {
    background-color: var(--kais-bg-subtle) !important;
    border-top: 1px solid var(--kais-border);
}

footer .text-muted {
    color: var(--kais-text-muted) !important;
}

/* Ссылки */
a {
    color: var(--kais-green);
}

a:hover,
a:focus {
    color: var(--kais-green-hover);
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--kais-green);
}

/* Bootstrap 4 — primary → зелёный */
.btn-primary {
    background-color: var(--kais-green);
    border-color: var(--kais-green);
    color: #fff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active {
    background-color: var(--kais-green-hover);
    border-color: var(--kais-green-hover);
    color: #fff;
}

.btn-primary:focus,
.btn-primary.focus,
.btn-primary:not(:disabled):not(.disabled):active:focus {
    box-shadow: 0 0 0 0.2rem var(--kais-green-focus);
}

/* Bootstrap .btn-primary:disabled иначе возвращает голубой #007bff */
.btn-primary.disabled,
.btn-primary:disabled {
    background-color: var(--kais-green);
    border-color: var(--kais-green);
    color: #fff;
    opacity: 0.65;
}

.btn-outline-primary {
    color: var(--kais-green);
    border-color: var(--kais-green);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary:not(:disabled):not(.disabled):active {
    background-color: var(--kais-green);
    border-color: var(--kais-green);
    color: #fff;
}

.btn-outline-primary:focus,
.btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem var(--kais-green-focus);
}

.text-primary {
    color: var(--kais-green) !important;
}

.border-primary {
    border-color: var(--kais-green) !important;
}

.badge-primary {
    background-color: var(--kais-green);
}

.bg-primary {
    background-color: var(--kais-green) !important;
}

.page-item.active .page-link {
    background-color: var(--kais-green);
    border-color: var(--kais-green);
}

.page-link {
    color: var(--kais-green);
}

.page-link:hover {
    color: var(--kais-green-hover);
}

.nav-tabs .nav-link.active {
    color: var(--kais-green);
}

.nav-pills .nav-link.active {
    background-color: var(--kais-green);
}

.nav-pills .nav-link.active:hover {
    background-color: var(--kais-green-hover);
}

.form-control:focus {
    border-color: var(--kais-green);
    box-shadow: 0 0 0 0.2rem var(--kais-green-focus);
}

.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--kais-green);
    border-color: var(--kais-green);
}

.custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem var(--kais-green-focus);
}

.list-group-item.active {
    background-color: var(--kais-green);
    border-color: var(--kais-green);
}

.progress-bar.bg-primary {
    background-color: var(--kais-green) !important;
}

.alert-primary {
    color: var(--kais-green-dark);
    background-color: var(--kais-green-light);
    border-color: var(--kais-green-border);
}

/* Админ-сайдбар: тёмный фон, активный пункт — зелёный */
.admin-sidebar {
    background-color: var(--kais-sidebar-dark);
}

.admin-sidebar .nav-link:hover:not(.active) {
    color: #fff;
    background-color: var(--kais-sidebar-dark-hover);
}

.admin-sidebar .nav-link.active {
    color: #fff;
    background-color: var(--kais-green);
}

.admin-sidebar .sidebar-profile-block {
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

.admin-sidebar .sidebar-profile-name {
    color: #f8f9fa;
}

.admin-sidebar .sidebar-theme-label,
.admin-sidebar .sidebar-theme-btn {
    color: #adb5bd;
}

.admin-sidebar .sidebar-theme-btn:hover,
.admin-sidebar .sidebar-theme-btn:focus {
    color: #fff;
}

.admin-sidebar .sidebar-theme-buttons {
    background: #2b3035;
    border-color: #495057;
}

.admin-sidebar .sidebar-profile-avatar {
    background: #495057;
    color: #f8f9fa;
}

/* Клиентский сайдбар: светлый, активный пункт — зелёный */
.client-sidebar .nav-link:hover,
.client-sidebar .nav-link.active {
    color: var(--kais-green);
    background-color: var(--kais-green-light);
}

/* Чат */
.lkk-chat-row-staff .lkk-chat-bubble-staff {
    background: var(--kais-green-light);
    border: 1px solid var(--kais-green-border);
}

.lkk-chat-staff-name {
    color: var(--kais-green);
}

.lkk-chat-bubble-user {
    background: var(--kais-green);
    color: #fff;
}

.admin-content .lkk-chat-input #adminChatSendBtn,
.client-content .lkk-chat-input #lkkChatSendBtn {
    background-color: var(--kais-green-send);
    border-color: var(--kais-green-send);
    color: #fff;
}

.admin-content .lkk-chat-input #adminChatSendBtn:hover:not(:disabled),
.admin-content .lkk-chat-input #adminChatSendBtn:focus:not(:disabled),
.client-content .lkk-chat-input #lkkChatSendBtn:hover:not(:disabled),
.client-content .lkk-chat-input #lkkChatSendBtn:focus:not(:disabled) {
    background-color: var(--kais-green-hover);
    border-color: var(--kais-green-hover);
    color: #fff;
}

.admin-content .lkk-chat-input #adminChatSendBtn:disabled,
.client-content .lkk-chat-input #lkkChatSendBtn:disabled {
    background-color: var(--kais-green-send);
    border-color: var(--kais-green-send);
    color: #fff;
}

/* Плашки дашбордов с активным состоянием */
.kais-tile-active,
#neuroInformer .neuro-stat-tile.active,
#usersDashboardWrap .users-dash-tile.active {
    box-shadow: 0 0 0 2px var(--kais-green);
}

/* Информаторий */
.kb-entry-highlight {
    outline: 2px solid var(--kais-green);
}

tr.kb-entry-highlight > td {
    background-color: var(--kais-green-light) !important;
}

th.glossary-sortable.glossary-sort-active .glossary-sort-icon {
    color: var(--kais-green);
}

.kb-type-help-btn:hover,
.kb-type-help-btn:focus {
    color: var(--kais-green);
}

.autocomplete-item strong {
    color: var(--kais-green);
}

/* Страница входа */
.login-page-wrapper .card-header h3 {
    color: var(--kais-text-dark);
}

/* Профиль в сайдбаре и переключатель темы */
.sidebar-profile-block {
    padding: 0 16px 16px;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--kais-sidebar-border);
    text-align: center;
}

.sidebar-profile-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--kais-sidebar-avatar-bg);
    color: var(--kais-sidebar-avatar-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 8px;
    text-decoration: none;
}

.sidebar-profile-avatar:hover,
.sidebar-profile-avatar:focus {
    color: var(--kais-sidebar-avatar-color);
    text-decoration: none;
    opacity: 0.9;
}

.sidebar-profile-name {
    font-weight: 600;
    font-size: 0.9rem;
    line-height: 1.3;
    word-break: break-word;
    color: var(--kais-sidebar-text);
}

.sidebar-theme-toggle {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.sidebar-theme-label {
    font-size: 0.75rem;
    color: var(--kais-sidebar-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.sidebar-theme-buttons {
    display: inline-flex;
    border: 1px solid var(--kais-sidebar-border);
    border-radius: 999px;
    overflow: hidden;
    background: var(--kais-sidebar-control-bg);
}

.sidebar-theme-btn {
    border: 0;
    background: transparent;
    color: var(--kais-sidebar-muted);
    width: 34px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.sidebar-theme-btn:hover,
.sidebar-theme-btn:focus {
    color: var(--kais-sidebar-text);
    outline: none;
}

.sidebar-theme-btn.active {
    background: var(--kais-green);
    color: #fff;
}

.dropdown-item.kais-theme-option.active,
.dropdown-item.kais-theme-option:active {
    background-color: var(--kais-green-light);
    color: var(--kais-green-dark);
}

[data-theme="dark"] .dropdown-menu .dropdown-header {
    color: var(--kais-text-muted);
}

[data-theme="dark"] .dropdown-menu .dropdown-item {
    color: var(--kais-text-dark);
}

[data-theme="dark"] .dropdown-menu .dropdown-item:hover,
[data-theme="dark"] .dropdown-menu .dropdown-item:focus {
    color: #fff;
    background-color: var(--kais-bg-subtle);
}

[data-theme="dark"] .dropdown-item.kais-theme-option {
    color: var(--kais-text-dark);
}

[data-theme="dark"] .dropdown-item.kais-theme-option.active,
[data-theme="dark"] .dropdown-item.kais-theme-option:active {
    background-color: var(--kais-green-light);
    color: #fff;
}

.client-sidebar {
    background-color: var(--kais-client-sidebar-bg);
    border-right: 1px solid var(--kais-sidebar-border);
}

.client-sidebar .nav-link {
    color: var(--kais-sidebar-link);
}

.client-sidebar-profile,
.sidebar-profile-block {
    border-bottom-color: var(--kais-sidebar-border);
}

.client-sidebar-avatar,
.sidebar-profile-avatar {
    background: var(--kais-sidebar-avatar-bg);
    color: var(--kais-sidebar-avatar-color);
}

.client-sidebar-name,
.sidebar-profile-name {
    color: var(--kais-sidebar-text);
}

/* Тёмная тема */
[data-theme="dark"] {
    --kais-green-light: #2a3a22;
    --kais-green-border: #3f5533;
    --kais-text-dark: #e8ecf0;
    --kais-text-muted: #9aa3ad;
    --kais-bg-page: #151a20;
    --kais-bg-card: #1f2630;
    --kais-bg-subtle: #252d38;
    --kais-border: #3a4553;
    --kais-client-sidebar-bg: #1c222b;
    --kais-sidebar-border: #3a4553;
    --kais-sidebar-text: #e8ecf0;
    --kais-sidebar-muted: #9aa3ad;
    --kais-sidebar-link: #c8d0da;
    --kais-sidebar-avatar-bg: #2d3642;
    --kais-sidebar-avatar-color: #e8ecf0;
    --kais-sidebar-control-bg: #252d38;
}

[data-theme="dark"] body {
    background-color: var(--kais-bg-page);
    color: var(--kais-text-dark);
}

[data-theme="dark"] .card,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .dropdown-menu {
    background-color: var(--kais-bg-card);
    color: var(--kais-text-dark);
    border-color: var(--kais-border);
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
    background-color: var(--kais-bg-subtle);
    border-color: var(--kais-border);
    color: var(--kais-text-dark);
}

[data-theme="dark"] .table {
    color: var(--kais-text-dark);
}

[data-theme="dark"] .table td,
[data-theme="dark"] .table th {
    border-color: var(--kais-border);
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.03);
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .custom-select {
    background-color: var(--kais-bg-subtle);
    border-color: var(--kais-border);
    color: var(--kais-text-dark);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .custom-select:focus {
    background-color: var(--kais-bg-subtle);
    color: var(--kais-text-dark);
}

[data-theme="dark"] .container-fluid.bg-light.border-bottom,
[data-theme="dark"] footer.bg-light {
    background-color: var(--kais-bg-subtle) !important;
    border-color: var(--kais-border) !important;
    color: var(--kais-text-dark);
}

[data-theme="dark"] .impersonation-banner {
    background-color: var(--kais-bg-subtle);
    border-color: var(--kais-border) !important;
    color: var(--kais-text-dark);
}

[data-theme="dark"] .impersonation-admin-badge {
    background: #3d3420;
    color: #f0d58c;
    border-color: #5c4d24;
}

[data-theme="dark"] .client-sidebar .nav-link:hover,
[data-theme="dark"] .client-sidebar .nav-link.active {
    color: var(--kais-green);
    background-color: var(--kais-green-light);
}

[data-theme="dark"] .close,
[data-theme="dark"] .close span {
    color: var(--kais-text-dark);
    text-shadow: none;
    opacity: 0.8;
}

[data-theme="dark"] .list-group-item {
    background-color: var(--kais-bg-card);
    border-color: var(--kais-border);
    color: var(--kais-text-dark);
}

[data-theme="dark"] .bg-light {
    background-color: var(--kais-bg-subtle) !important;
}

[data-theme="dark"] .text-dark {
    color: var(--kais-text-dark) !important;
}

[data-theme="dark"] .border,
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-top {
    border-color: var(--kais-border) !important;
}
