/*
 * Admin monochrome theme
 * Loaded after vendor and page styles so the entire admin UI has one
 * predictable black, white and grey visual language.
 */

:root {
    --mono-black: #000000;
    --mono-ink: #171717;
    --mono-dark: #242424;
    --mono-mid: #6b6b6b;
    --mono-border: #d7d7d7;
    --mono-soft: #eeeeee;
    --mono-surface: #ffffff;
    --mono-canvas: #f5f5f5;
}

html,
body,
.page-wrapper {
    background: var(--mono-canvas);
    color: var(--mono-ink);
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
label,
.form-label,
.page-title,
.card-title {
    color: var(--mono-ink);
}

a {
    color: var(--mono-black);
}

a:hover {
    color: var(--mono-mid);
}

::selection {
    color: var(--mono-surface);
    background: var(--mono-black);
}

/* Core layout */
.bg--dark,
.sidebar.bg--dark,
.navbar-wrapper.bg--dark {
    --color: var(--mono-black);
    background: var(--mono-black) !important;
}

.sidebar {
    border-right-color: #303030;
}

.sidebar__logo {
    border-bottom: 1px solid #303030;
}

.sidebar .version-info {
    background: var(--mono-black);
    border-top: 1px solid #303030;
}

.sidebar .version-info .text--primary,
.sidebar .version-info .text--success {
    color: var(--mono-surface) !important;
}

.sidebar__menu-header,
.sidebar[class*='bg--'] .sidebar__menu .sidebar__menu-header {
    color: #9d9d9d;
}

.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item .menu-icon,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item .menu-title,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-dropdown > a::before {
    color: #e8e8e8;
}

.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item > a:hover,
.sidebar__menu .sidebar-menu-item .side-menu--open,
.sidebar__menu .sidebar-menu-item.active > a {
    background: var(--mono-surface) !important;
}

.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item > a:hover .menu-icon,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item > a:hover .menu-title,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item > a:hover::before,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item .side-menu--open .menu-icon,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item .side-menu--open .menu-title,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item .side-menu--open::before,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item.active > a .menu-icon,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item.active > a .menu-title,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item.active > a::before {
    color: var(--mono-black) !important;
    text-shadow: none;
}

/* Parent menu while its submenu is expanded. */
.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item > a.side-menu--open {
    color: var(--mono-black) !important;
    background: var(--mono-surface) !important;
    border-left-color: var(--mono-surface) !important;
}

.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item > a.side-menu--open .menu-icon,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item > a.side-menu--open .menu-title,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-menu-item > a.side-menu--open::before {
    color: var(--mono-black) !important;
    text-shadow: none !important;
}

.sidebar__menu .sidebar-submenu {
    margin: 0 4px 8px 4px;
    padding: 6px 0;
    overflow: hidden;
    background: #252525;
    border-top: 1px solid #3f3f3f;
    border-right: 1px solid #3f3f3f;
    border-bottom: 1px solid #3f3f3f;
    border-left: 3px solid #8a8a8a;
    border-radius: 0 0 7px 7px;
    box-shadow: inset 0 5px 12px rgba(0, 0, 0, 0.22);
}

.sidebar__menu .sidebar-submenu .sidebar-submenu {
    margin: 4px 8px 6px 24px;
    background: #323232;
    border-left-color: #b5b5b5;
}

.sidebar__menu .sidebar-submenu .sidebar-menu-item.active > a {
    background: #303030 !important;
}

.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active a .menu-icon,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active a .menu-title,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item:hover a .menu-icon,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item:hover a .menu-title {
    color: var(--mono-surface) !important;
}

.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item > a:hover {
    background: var(--mono-surface) !important;
}

.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item > a:hover .menu-icon,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item > a:hover .menu-title {
    color: var(--mono-black) !important;
    text-shadow: none;
}

.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active > a,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active > a:hover {
    background: #303030 !important;
}

.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active > a .menu-icon,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active > a .menu-title,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active > a:hover .menu-icon,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active > a:hover .menu-title {
    color: var(--mono-surface) !important;
}

/* Make the current submenu page unmistakable. */
.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active > a,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active > a:hover {
    color: #12343b !important;
    background: #e2f2f5 !important;
    border-left: 4px solid #0b7285 !important;
    box-shadow: inset 0 0 0 1px #9ccfd7;
    font-weight: 700;
}

.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active > a .menu-icon,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active > a .menu-title,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active > a:hover .menu-icon,
.sidebar[class*='bg--'] .sidebar__menu .sidebar-submenu .sidebar-menu-item.active > a:hover .menu-title {
    color: #0b5361 !important;
    text-shadow: none !important;
    font-weight: 700;
}

.sidebar .res-sidebar-close-btn {
    color: var(--mono-black);
    background: var(--mono-surface);
    border: 1px solid var(--mono-black);
}

.sidebar .slimScrollDiv .slimScrollBar,
.sidebar__menu-wrapper::-webkit-scrollbar-thumb {
    background: #777777 !important;
}

.navbar-wrapper {
    border-bottom-color: #303030;
}

.navbar-search .navbar-search-field {
    color: var(--mono-surface);
    background: #151515;
    border-color: #4a4a4a;
}

.navbar-search .navbar-search-field:focus {
    border-color: var(--mono-surface);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.18);
}

.navbar-search .autocomplete-items,
.navbar-search .search-list {
    color: var(--mono-ink);
    background: var(--mono-surface);
    border-color: var(--mono-border);
}

.navbar-search .autocomplete-items > div:hover a,
.navbar-search .autocomplete-items > div.autocomplete-active a,
.navbar-search .search-list li:hover {
    background: var(--mono-soft);
}

.navbar-user__thumb img {
    border: 1px solid #6e6e6e;
}

/* Surfaces */
.card,
.modal-content,
.dropdown-menu,
.list-group-item,
.accordion-item,
.offcanvas,
.popover {
    color: var(--mono-ink);
    background: var(--mono-surface);
    border-color: var(--mono-border);
}

.card {
    border: 1px solid var(--mono-border);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.card-header,
.card-footer,
.modal-header,
.modal-footer,
.dropdown-menu__header,
.dropdown-menu__footer {
    color: var(--mono-ink);
    background: var(--mono-surface);
    border-color: var(--mono-border);
}

/* Catch legacy inline brand treatments used by older admin screens. */
.page-wrapper [style*="background: linear-gradient"],
.page-wrapper [style*="background:linear-gradient"],
.modal [style*="background: linear-gradient"],
.modal [style*="background:linear-gradient"] {
    background: var(--mono-black) !important;
}

.page-wrapper th[style*="#4634ff"],
.page-wrapper th[style*="#071251"],
.modal-header[style*="#4634ff"],
.modal-header[style*="#071251"] {
    color: var(--mono-surface) !important;
    background: var(--mono-black) !important;
    border-color: #3b3b3b !important;
}

.page-wrapper [style*="color: #4634ff"],
.page-wrapper [style*="color:#4634ff"],
.page-wrapper [style*="color: #071251"],
.page-wrapper [style*="color:#071251"] {
    color: var(--mono-black) !important;
}

.page-wrapper [style*="border-color: #4634ff"],
.page-wrapper [style*="border-color:#4634ff"],
.page-wrapper [style*="border-color: #071251"],
.page-wrapper [style*="border-color:#071251"] {
    border-color: var(--mono-black) !important;
}

.dropdown-menu__item {
    border-color: var(--mono-border);
}

.dropdown-menu__item:hover,
.dropdown-item:hover,
.dropdown-item:focus {
    color: var(--mono-black);
    background: var(--mono-soft);
}

.dropdown-menu__item .dropdown-menu__icon,
.dropdown-menu__item .dropdown-menu__caption,
.dropdown-menu__footer .view-all-message {
    color: var(--mono-ink);
    text-shadow: none;
}

.box--shadow1,
.box--shadow2,
.box--shadow3 {
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.1) !important;
}

/* Tables and DataTables */
.table,
table.dataTable {
    color: var(--mono-ink);
    background: var(--mono-surface);
}

.table thead,
.table thead tr,
.table thead th,
table.dataTable thead,
table.dataTable thead tr,
table.dataTable thead th,
table.table--light thead,
table.table--light thead tr,
table.table--light thead th {
    color: var(--mono-surface) !important;
    background-color: var(--mono-black) !important;
    border-color: #3b3b3b !important;
}

.table thead th a,
table.dataTable thead th a {
    color: var(--mono-surface) !important;
}

.table td,
.table th,
table.dataTable tbody td,
table.dataTable tbody th {
    color: var(--mono-ink);
    border-color: var(--mono-border);
}

.table tbody tr,
table.dataTable tbody tr {
    background: var(--mono-surface);
}

.table-striped > tbody > tr:nth-of-type(odd) > *,
.table-striped tbody tr:nth-of-type(odd),
table.dataTable.stripe tbody tr.odd,
table.dataTable.display tbody tr.odd {
    --bs-table-accent-bg: var(--mono-canvas);
    color: var(--mono-ink);
    background: var(--mono-canvas);
}

.table-hover > tbody > tr:hover > *,
.table tbody tr:hover,
table.dataTable.hover tbody tr:hover,
table.dataTable.display tbody tr:hover {
    --bs-table-accent-bg: var(--mono-soft);
    color: var(--mono-black);
    background: var(--mono-soft) !important;
}

/* The first column is normally a serial/checkbox column, not a sort control. */
table.dataTable thead > tr > th:first-child.sorting,
table.dataTable thead > tr > th:first-child.sorting_asc,
table.dataTable thead > tr > th:first-child.sorting_desc,
table.dataTable thead > tr > td:first-child.sorting,
table.dataTable thead > tr > td:first-child.sorting_asc,
table.dataTable thead > tr > td:first-child.sorting_desc {
    background-image: none !important;
}

table.dataTable thead > tr > th:first-child::before,
table.dataTable thead > tr > th:first-child::after,
table.dataTable thead > tr > td:first-child::before,
table.dataTable thead > tr > td:first-child::after {
    display: none !important;
    content: none !important;
}

.table-responsive {
    border-color: var(--mono-border);
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    color: var(--mono-ink);
    background: var(--mono-surface);
    border: 1px solid var(--mono-border);
}

.dataTables_wrapper .dataTables_paginate .paginate_button,
.page-link {
    color: var(--mono-black) !important;
    background: var(--mono-surface) !important;
    border-color: var(--mono-border) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover,
.page-item.active .page-link,
.page-link:hover {
    color: var(--mono-surface) !important;
    background: var(--mono-black) !important;
    border-color: var(--mono-black) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.page-item.disabled .page-link {
    color: #9a9a9a !important;
    background: var(--mono-soft) !important;
}

/* Forms, Select2 and editors */
.form-control,
.form-select,
input,
textarea,
select,
.input-group-text,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    color: var(--mono-ink);
    background-color: var(--mono-surface);
    border-color: var(--mono-border);
}

.form-control:focus,
.form-select:focus,
input:focus,
textarea:focus,
select:focus,
.select2-container--open .select2-selection.select2-selection--single,
.select2-container--open .select2-selection.select2-selection--multiple {
    color: var(--mono-black);
    background-color: var(--mono-surface);
    border-color: var(--mono-black) !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

input:not([type='radio'])::placeholder,
textarea::placeholder {
    color: #898989 !important;
}

.form-control[readonly],
.form-control[disabled],
.form-select:disabled {
    color: #666666;
    background: var(--mono-soft);
}

.select2-dropdown,
.select2-search--dropdown .select2-search__field {
    color: var(--mono-ink);
    background: var(--mono-surface);
    border-color: var(--mono-border);
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
.select2-container--default .select2-results__option--selected {
    color: var(--mono-surface) !important;
    background: var(--mono-black) !important;
}

.form-check-input:checked {
    background-color: var(--mono-black);
    border-color: var(--mono-black);
}

.form-check-input:focus {
    border-color: var(--mono-black);
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.12);
}

.CodeMirror,
.nicEdit-main,
.nicEdit-panelContain {
    border-color: var(--mono-border) !important;
}

/* Buttons, tabs and navigation */
.btn--primary,
.btn-primary,
.bg--primary,
.badge--primary,
.badge-primary {
    --color: var(--mono-black);
    color: var(--mono-surface) !important;
    background: var(--mono-black) !important;
    border-color: var(--mono-black) !important;
}

.btn--primary:hover,
.btn--primary:focus,
.btn-primary:hover,
.btn-primary:focus {
    color: var(--mono-surface) !important;
    background: var(--mono-dark) !important;
    border-color: var(--mono-dark) !important;
}

.btn-outline--primary,
.btn-outline-primary {
    color: var(--mono-black) !important;
    background: transparent !important;
    border-color: var(--mono-black) !important;
}

.btn-outline--primary:hover,
.btn-outline-primary:hover {
    color: var(--mono-surface) !important;
    background: var(--mono-black) !important;
}

.text--primary,
.text-primary {
    color: var(--mono-black) !important;
}

.border--primary,
.border-primary {
    border-color: var(--mono-black) !important;
}

.nav-tabs .nav-link,
.nav-pills .nav-link {
    color: var(--mono-ink);
}

.nav-tabs .nav-link.active,
.nav-pills .nav-link.active,
.nav-tabs-primary .nav-item a.active {
    color: var(--mono-surface);
    background: var(--mono-black);
    border-color: var(--mono-black);
}

.breadcrumb-item,
.breadcrumb-item a {
    color: var(--mono-mid);
}

.breadcrumb-item.active {
    color: var(--mono-black);
}

/* Preserve semantic feedback colors while removing decorative gradients. */
.bg--success,
.bg-success,
.btn--success,
.btn-success,
.badge--success,
.bg--danger,
.bg-danger,
.btn--danger,
.btn-danger,
.badge--danger,
.bg--warning,
.bg-warning,
.btn--warning,
.btn-warning,
.badge--warning,
.bg--info,
.bg-info,
.btn--info,
.btn-info,
.badge--info {
    background-image: none !important;
}

/* Date picker, alerts and overlays */
.daterangepicker,
.daterangepicker .calendar-table,
.daterangepicker td.off,
.daterangepicker td.off.in-range,
.daterangepicker td.off.start-date,
.daterangepicker td.off.end-date {
    color: var(--mono-ink);
    background: var(--mono-surface);
    border-color: var(--mono-border);
}

.daterangepicker td.in-range {
    color: var(--mono-black);
    background: var(--mono-soft);
}

.daterangepicker td.active,
.daterangepicker td.active:hover,
.daterangepicker .ranges li.active {
    color: var(--mono-surface);
    background: var(--mono-black);
}

.daterangepicker .ranges li:hover {
    background: var(--mono-soft);
}

.swal2-popup {
    color: var(--mono-ink);
    background: var(--mono-surface);
}

.swal2-confirm {
    color: var(--mono-surface) !important;
    background: var(--mono-black) !important;
}

.modal-backdrop.show {
    opacity: 0.65;
}

/* Floating AI assistant */
body .ai-assistant-btn,
body .ai-chat-header,
body .ai-chat-input button,
body .ai-msg.user {
    color: var(--mono-surface);
    background: var(--mono-black) !important;
}

body .ai-chat-window,
body .ai-chat-input,
body .ai-msg.bot,
body .ai-msg.bot table {
    color: var(--mono-ink);
    background: var(--mono-surface) !important;
}

body .ai-chat-body {
    background: var(--mono-canvas) !important;
}

body .ai-chat-input,
body .ai-chat-input input {
    border-color: var(--mono-border);
}

body .ai-assistant-btn:hover {
    background: var(--mono-dark) !important;
}

/* Admin login (/admin) */
.login-main {
    background-color: var(--mono-black) !important;
    background-image: none !important;
}

.login-main::before {
    opacity: 1;
    background:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 32px 32px;
}

.login-area::after {
    border-color: rgba(255, 255, 255, 0.12);
}

.login-wrapper {
    background: var(--mono-surface);
    border: 1px solid #404040;
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.45);
}

.login-wrapper__top {
    background: var(--mono-black);
    border-bottom: 1px solid #333333;
}

.login-wrapper__top::after {
    border-color: var(--mono-black) transparent transparent transparent;
}

.login-wrapper__top .title,
.login-wrapper__top p,
.login-wrapper__top strong {
    color: var(--mono-surface) !important;
}

.login-wrapper__body {
    color: var(--mono-ink);
    background: var(--mono-surface);
}

.login-form label,
.login-form label.form-check-label {
    color: var(--mono-ink);
}

.login-form .form-control {
    color: var(--mono-ink);
    background: var(--mono-surface);
    border-color: #bdbdbd;
}

.login-form .form-control:focus {
    color: var(--mono-black);
    background: var(--mono-surface);
    border-color: var(--mono-black);
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.login-form .forget-text {
    color: var(--mono-black);
}

.login-form .forget-text:hover {
    color: var(--mono-mid);
}

.login-form .cmn-btn,
.login-form .cmn-btn:hover,
.login-form .cmn-btn:active,
.login-form .cmn-btn:focus {
    color: var(--mono-surface) !important;
    background: var(--mono-black) !important;
    border-color: var(--mono-black) !important;
}

.login-form .cmn-btn:hover,
.login-form .cmn-btn:focus {
    background: var(--mono-dark) !important;
}

.login-form .form-check .form-check-label::before {
    color: var(--mono-surface);
    background: var(--mono-surface);
    border-color: var(--mono-black);
}

.login-form .form-check .form-check-input:checked ~ .form-check-label::before {
    color: var(--mono-surface);
    background: var(--mono-black);
}

@media print {
    html,
    body,
    .page-wrapper,
    .card,
    .table,
    table.dataTable {
        color: #000000 !important;
        background: #ffffff !important;
    }

    .table thead,
    .table thead tr,
    .table thead th,
    table.dataTable thead,
    table.dataTable thead tr,
    table.dataTable thead th {
        color: #ffffff !important;
        background: #000000 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
