:root {
    --brand-blue: rgb(80, 80, 235);
    --page-bg: #f4f6f9;
    --text-color: #212529;
    --link-color: #003fff;
    --table-bg: #ffffff;
    --table-stripe: #f2f2f2;
    --table-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
    --th-cabinet-bg: #f6faff;
    --filter-bg: #f5f5f5;
    --filter-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.15);
    --spoiler-bg: #ffffff;
    --cabinet-list-border: hsl(240, 79%, 95%);
    --cabinet-empty-border: hsl(0, 0%, 90%);
    --cabinet-empty-color: #777;
    --duplicate-bg: #ffcccc;
    --pair-mismatch-bg: #fbede0;
    --cell-pair-mismatch-bg: #ffe1b8;
    --approved-row-bg: #eef3e7;
    --blocked-user-bg: #e9ecef;
    --blocked-user-color: #6c757d;
    --input-placeholder-color: #880600;
    --card-bg: #ffffff;
    --border-color: #dee2e6;
    --input-bg: #ffffff;
    --input-border: #ced4da;
    --input-color: #495057;
    --dropdown-bg: #ffffff;
    --dropdown-color: #212529;
    --thead-bg: #ffffff;
    --sticky-thead-shadow: rgba(0, 0, 0, 0.1);
    --scrollbar-thumb: #888;
    --scrollbar-track: #f1f1f1;
    --navbar-footer-color: #727e90;
    --navbar-footer-border: #515766;
    --dropdown-divider: #465572;
    --navbar-bg-desktop: #343a40;
    --serial-num-color: #1b557b;
    --inv-num-color: #50155b;
}

.dark {
    color-scheme: dark;
    scrollbar-color: #343b45 #181a1d;
    --page-bg: #1a1d23;
    --brand-blue: rgb(61 67 153);
    --text-color: #e0e0e0;
    --link-color: #6ea8fe;
    --table-bg: #2d2e2f;
    --table-stripe: #424242;
    --table-shadow: 0 4px 6px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.3);
    --th-cabinet-bg: #3a3f5c;
    --filter-bg: #333;
    --filter-shadow: 0 -2px 4px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.4);
    --spoiler-bg: #2d2d2d;
    --cabinet-list-border: hsl(240, 20%, 30%);
    --cabinet-empty-border: hsl(0, 0%, 25%);
    --cabinet-empty-color: #888;
    --duplicate-bg: #5c2e2e;
    --pair-mismatch-bg: #5c4a3a;
    --cell-pair-mismatch-bg: #5c4a2e;
    --approved-row-bg: #2e3a2e;
    --blocked-user-bg: #3a3a3a;
    --blocked-user-color: #999;
    --input-placeholder-color: #cc4422;
    --card-bg: #202c3d;
    --border-color: #474f5b;
    --input-bg: #25262a;
    --input-border: #738198;
    --input-color: #e0e0e0;
    --dropdown-bg: #2d2d2d;
    --dropdown-color: #e0e0e0;
    --thead-bg: #2d2d2d;
    --sticky-thead-shadow: rgba(0, 0, 0, 0.4);
    --scrollbar-thumb: #3a3a3a;
    --scrollbar-track: #1e1e1e;
    --navbar-footer-color: #8a9aa8;
    --navbar-footer-border: #4a5568;
    --dropdown-divider: #4a5568;
    --navbar-bg-desktop: #23272e;
    --serial-num-color: #c2d8f5;
    --inv-num-color: #d4b9f7;
}

.dark body { background: var(--page-bg); color: var(--text-color); }
.dark .card { background-color: var(--card-bg); border-color: var(--border-color); }
.dark .card-header { background-color: rgba(255,255,255,0.05); border-bottom-color: var(--border-color); }
.dark .modal-content { background-color: var(--card-bg); color: var(--text-color); }
.dark .modal-header { border-bottom-color: var(--border-color); }
.dark .modal-footer { border-top-color: var(--border-color); }
.dark .close { color: #fff; text-shadow: 0 1px 0 #000; }
.dark .form-control { background-color: var(--input-bg); border-color: var(--input-border); color: var(--input-color); }
.dark .form-control:focus { background-color: var(--input-bg); color: var(--input-color); }
.dark .dropdown-menu { background-color: var(--dropdown-bg); color: var(--dropdown-color); }
.dark .dropdown-item { color: var(--dropdown-color); }
.dark .dropdown-item:hover { background-color: rgba(255,255,255,0.1); color: #fff; }
.dark .page-link { background-color: var(--card-bg); border-color: var(--border-color); color: var(--link-color); }
.dark .page-item.disabled .page-link { background-color: var(--page-bg); border-color: var(--border-color); color: #666; }
.dark .page-item.active .page-link { background-color: var(--brand-blue); border-color: var(--brand-blue-dark); }
.dark .table-hover tbody tr:hover { color: var(--text-color); background-color: rgba(255,255,255,0.05); }
.dark pre { color: var(--text-color); }
.dark .table td, .dark .table th { border-top-color: var(--border-color); }
.dark .table thead th { border-bottom-color: var(--border-color); }
.dark .table { background-color: var(--table-bg); color: var(--text-color); }
.dark .table-striped tbody tr:nth-of-type(odd) { background-color: var(--table-stripe); }
.dark .list-group-item { background-color: var(--card-bg); border-color: var(--border-color); color: var(--text-color); }
.dark .bg-light { background-color: #3a3a3a !important; }
.dark .text-dark { color: #e0e0e0 !important; }
.dark .alert-secondary { background-color: #3a3a3a; border-color: #555; color: #ccc; }
.dark .alert-primary { background-color: #1a3050; border-color: #2a4a7a; color: #8ab8ff; }
.dark .alert-success { background-color: #1a3a1a; border-color: #2a5a2a; color: #8bc88b; }
.dark .alert-danger { background-color: #4a1a1a; border-color: #6a2a2a; color: #ff8a8a; }
.dark .alert-warning { background-color: #4a3a0a; border-color: #6a5a1a; color: #e8d060; }
.dark .alert-info { background-color: #0a3040; border-color: #1a5060; color: #80d0e0; }
.dark .alert-light { background-color: #3a3a3a; border-color: #555; color: #e0e0e0; }
.dark .alert-dark { background-color: #222; border-color: #444; color: #ccc; }
.dark .jqstooltip { background: #333 !important; color: #eee !important; border-color: #555 !important; }
.dark .ui-widget-content { background: var(--card-bg); color: var(--text-color); border-color: var(--border-color); }
.dark .ui-widget-header { background: #3a3f5c; color: #e0e0e0; border-color: var(--border-color); }
.dark .ui-state-default, .dark .ui-widget-content .ui-state-default { background: var(--input-bg); border-color: var(--input-border); color: var(--input-color); }
.dark .ui-state-hover, .dark .ui-widget-content .ui-state-hover { background: #444; border-color: #666; color: #fff; }
.dark .ui-state-active, .dark .ui-widget-content .ui-state-active { background: var(--brand-blue); border-color: var(--brand-blue-dark); color: #fff; }
.dark .ui-datepicker { background: var(--card-bg); }
.dark .ui-datepicker th { color: #aaa; }
.dark ::-webkit-scrollbar { width: 4px; }
.dark ::-webkit-scrollbar-track { background: var(--scrollbar-track); }
.dark ::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: 2px; }
.dark .bootstrap-select .dropdown-menu { background: var(--dropdown-bg); }
.dark .bootstrap-select .dropdown-menu li a { color: var(--text-color); }
.dark .bootstrap-select .dropdown-menu li a:hover { background: rgba(255,255,255,0.1); }
.dark .bootstrap-select .dropdown-toggle .filter-option { color: var(--input-color); }
.dark .btn-light { background-color: #3a3a3a; border-color: #555; color: #e0e0e0; }
.dark .btn-light:hover { background-color: #4a4a4a; border-color: #666; color: #fff; }
.dark .btn-outline-secondary { border-color: #999; color: #999; }
.dark .btn-outline-secondary:hover { border-color: #bbb; background-color: #383838; color: #fff; }
.dark .thead-light th { background-color: #3a3a3a; color: #e0e0e0; border-bottom-color: var(--border-color); }
.dark .bg-white { background-color: var(--card-bg) !important; }
.dark .cabinet-list a { border-color: var(--cabinet-list-border) !important; background-color: var(--table-bg) !important; }
.dark .cabinet-list a.cabinet-empty { color: var(--cabinet-empty-color) !important; border-color: var(--cabinet-empty-border) !important; }
.dark .table-warning > td { background-color: #5c502a !important; }
.dark .table-danger  > td { background-color: #522f32; !important; }
.dark .dt-paging-button.disabled { color: #555 !important; }
.dark hr { border-color: #394757 }
.dark .cabinet-badge { background-color: #382716
}
.dark #login_block { box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.7); }
.dark .filter { border-color: var(--border-color); }
.dark .table tbody + tbody { border-top-color: #383d45; }
.dark .table-bordered td, .dark .table-bordered th { border-color: #383d45; }

.serial-num { color: var(--serial-num-color); font-weight: bold; }
.inv-num { color: var(--inv-num-color); font-weight: bold; }

.dark a:hover {
    color: #a0bdf2;
}

.dark .pm-level-hi   { background: #1a3a1a; color: #8bc88b; }
.dark .pm-level-mid  { background: #4a3a0a; color: #e8d060; }
.dark .pm-level-lo   { background: #4a1a1a; color: #ff8a8a; }
.dark .pm-level-none { background: #3a3a3a; color: #aaa; }
