/* Per-user theme layer. Light remains the system default. */
body.modern-admin-theme.theme-light {
    color-scheme: light;
}

body.modern-admin-theme.theme-dark {
    --gp-primary: #60a5fa;
    --gp-primary-dark: #93c5fd;
    --gp-primary-soft: #172554;
    --gp-sidebar: #070b14;
    --gp-sidebar-hover: #172033;
    --gp-canvas: #0b1120;
    --gp-surface: #111827;
    --gp-surface-muted: #172033;
    --gp-border: #2b3a4f;
    --gp-border-strong: #405169;
    --gp-text: #e5edf7;
    --gp-text-muted: #94a3b8;
    --gp-success: #34d399;
    --gp-warning: #fbbf24;
    --gp-danger: #fb7185;
    --gp-info: #38bdf8;
    --gp-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);
    --gp-shadow: 0 12px 30px rgba(0, 0, 0, .32);
    color-scheme: dark;
    background: var(--gp-canvas) !important;
    color: var(--gp-text) !important;
}

/* Theme switcher */
.modern-admin-theme .gp-theme-toggle {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    justify-content: center;
    min-height: 30px;
    min-width: 38px;
    padding: 5px 10px;
}

.modern-admin-theme .gp-theme-toggle i {
    font-size: 13px;
}

.modern-admin-theme .gp-theme-toggle-label {
    font-size: 11px;
    font-weight: 700;
}

.modern-admin-theme .gp-theme-toggle:disabled,
.modern-admin-theme .js-theme-choice:disabled + * {
    cursor: wait;
    opacity: .65;
}

.modern-admin-theme .gp-theme-options {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.modern-admin-theme .gp-theme-option {
    align-items: center;
    background: var(--gp-surface-muted);
    border: 2px solid var(--gp-border);
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    gap: 12px;
    margin: 0;
    min-width: 205px;
    padding: 12px 14px;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.modern-admin-theme .gp-theme-option:hover,
.modern-admin-theme .gp-theme-option.is-selected {
    border-color: var(--gp-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--gp-primary) 18%, transparent);
    transform: translateY(-1px);
}

.modern-admin-theme .gp-theme-option input {
    margin: 0;
}

.modern-admin-theme .gp-theme-option > span:last-child {
    display: flex;
    flex-direction: column;
}

.modern-admin-theme .gp-theme-option small {
    color: var(--gp-text-muted);
    font-weight: 500;
}

.modern-admin-theme .gp-theme-preview {
    align-items: center;
    border: 1px solid var(--gp-border);
    border-radius: 9px;
    display: inline-flex;
    font-size: 17px;
    height: 38px;
    justify-content: center;
    width: 48px;
}

.modern-admin-theme .gp-theme-preview-light {
    background: #f8fafc;
    color: #d97706;
}

.modern-admin-theme .gp-theme-preview-dark {
    background: #0b1120;
    color: #93c5fd;
}

/* Complete application canvas and shell */
.modern-admin-theme.theme-dark .wrapper,
.modern-admin-theme.theme-dark .content-wrapper,
.modern-admin-theme.theme-dark .content,
.modern-admin-theme.theme-dark .container-fluid,
.modern-admin-theme.theme-dark .lockscreen-wrapper,
.modern-admin-theme.theme-dark .main-footer {
    background-color: var(--gp-canvas) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .main-header,
.modern-admin-theme.theme-dark .main-header .navbar,
.modern-admin-theme.theme-dark[class*="skin-"] .main-header .navbar,
.modern-admin-theme.theme-dark .pos-header {
    background: rgba(17, 24, 39, .98) !important;
    border-color: var(--gp-border) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .main-header .navbar > .sidebar-toggle,
.modern-admin-theme.theme-dark .main-header .navbar-custom-menu > .navbar-nav > li > a,
.modern-admin-theme.theme-dark .main-header .navbar-custom-menu > .navbar-nav > li > a > span,
.modern-admin-theme.theme-dark .main-header .navbar .nav > li > a,
.modern-admin-theme.theme-dark .main-header .navbar-custom-menu .m-8.pull-left.mt-15,
.modern-admin-theme.theme-dark .pos-header,
.modern-admin-theme.theme-dark .pos-header p,
.modern-admin-theme.theme-dark .pos-header strong {
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .main-header .navbar .nav > li > a:hover,
.modern-admin-theme.theme-dark .main-header .navbar .nav > li > a:focus,
.modern-admin-theme.theme-dark .main-header .navbar .nav > .open > a,
.modern-admin-theme.theme-dark .main-header .navbar > .sidebar-toggle:hover {
    background: var(--gp-surface-muted) !important;
    color: var(--gp-primary) !important;
}

.modern-admin-theme.theme-dark .main-sidebar,
.modern-admin-theme.theme-dark .main-header .logo,
.modern-admin-theme.theme-dark[class*="skin-"] .main-header .logo,
.modern-admin-theme.theme-dark[class*="skin-"] .main-sidebar {
    background: var(--gp-sidebar) !important;
}

/* Typography and neutral utility colors */
.modern-admin-theme.theme-dark .content-header > h1,
.modern-admin-theme.theme-dark .content-header-custom > h1,
.modern-admin-theme.theme-dark .box-title,
.modern-admin-theme.theme-dark .modal-title,
.modern-admin-theme.theme-dark .panel-title,
.modern-admin-theme.theme-dark legend,
.modern-admin-theme.theme-dark label,
.modern-admin-theme.theme-dark .control-label,
.modern-admin-theme.theme-dark .info-box-number,
.modern-admin-theme.theme-dark .info-box-text,
.modern-admin-theme.theme-dark .description-header,
.modern-admin-theme.theme-dark .description-text {
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .text-muted,
.modern-admin-theme.theme-dark .help-block,
.modern-admin-theme.theme-dark small,
.modern-admin-theme.theme-dark .content-header > h1 > small,
.modern-admin-theme.theme-dark .dataTables_info,
.modern-admin-theme.theme-dark .dataTables_length,
.modern-admin-theme.theme-dark .dataTables_filter {
    color: var(--gp-text-muted) !important;
}

.modern-admin-theme.theme-dark hr,
.modern-admin-theme.theme-dark legend {
    border-color: var(--gp-border) !important;
}

.modern-admin-theme.theme-dark a:not(.btn):not(.label) {
    color: var(--gp-primary);
}

/* Surfaces: boxes, cards, panels, widgets and lists */
.modern-admin-theme.theme-dark .box,
.modern-admin-theme.theme-dark .box-header,
.modern-admin-theme.theme-dark .box-body,
.modern-admin-theme.theme-dark .box-footer,
.modern-admin-theme.theme-dark .info-box,
.modern-admin-theme.theme-dark .small-box,
.modern-admin-theme.theme-dark .panel,
.modern-admin-theme.theme-dark .panel-heading,
.modern-admin-theme.theme-dark .panel-body,
.modern-admin-theme.theme-dark .panel-footer,
.modern-admin-theme.theme-dark .well,
.modern-admin-theme.theme-dark .jumbotron,
.modern-admin-theme.theme-dark .thumbnail,
.modern-admin-theme.theme-dark .list-group-item,
.modern-admin-theme.theme-dark .nav-tabs-custom,
.modern-admin-theme.theme-dark .nav-tabs-custom > .tab-content,
.modern-admin-theme.theme-dark .tab-content,
.modern-admin-theme.theme-dark .bg-white,
.modern-admin-theme.theme-dark .bg-lightgray {
    background: var(--gp-surface) !important;
    border-color: var(--gp-border) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .box-header.with-border,
.modern-admin-theme.theme-dark .box-footer,
.modern-admin-theme.theme-dark .panel-heading,
.modern-admin-theme.theme-dark .panel-footer,
.modern-admin-theme.theme-dark .list-group-item,
.modern-admin-theme.theme-dark .nav-tabs,
.modern-admin-theme.theme-dark .nav-tabs-custom > .nav-tabs {
    border-color: var(--gp-border) !important;
}

.modern-admin-theme.theme-dark .breadcrumb {
    background: transparent !important;
    color: var(--gp-text-muted) !important;
}

/* Forms and all common enhanced controls */
.modern-admin-theme.theme-dark .form-control,
.modern-admin-theme.theme-dark input[type="text"],
.modern-admin-theme.theme-dark input[type="email"],
.modern-admin-theme.theme-dark input[type="password"],
.modern-admin-theme.theme-dark input[type="number"],
.modern-admin-theme.theme-dark input[type="search"],
.modern-admin-theme.theme-dark input[type="date"],
.modern-admin-theme.theme-dark input[type="time"],
.modern-admin-theme.theme-dark textarea,
.modern-admin-theme.theme-dark select,
.modern-admin-theme.theme-dark .input-group-addon,
.modern-admin-theme.theme-dark .bootstrap-select > .dropdown-toggle,
.modern-admin-theme.theme-dark .bootstrap-tagsinput,
.modern-admin-theme.theme-dark .select2-container--default .select2-selection--single,
.modern-admin-theme.theme-dark .select2-container--default .select2-selection--multiple,
.modern-admin-theme.theme-dark .select2-dropdown,
.modern-admin-theme.theme-dark .multiselect-container {
    background: var(--gp-surface-muted) !important;
    border-color: var(--gp-border-strong) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .form-control::placeholder,
.modern-admin-theme.theme-dark input::placeholder,
.modern-admin-theme.theme-dark textarea::placeholder,
.modern-admin-theme.theme-dark .select2-selection__placeholder {
    color: #708198 !important;
}

.modern-admin-theme.theme-dark .form-control:focus,
.modern-admin-theme.theme-dark input:focus,
.modern-admin-theme.theme-dark textarea:focus,
.modern-admin-theme.theme-dark select:focus,
.modern-admin-theme.theme-dark .select2-container--open .select2-selection {
    background: #1b273a !important;
    border-color: var(--gp-primary) !important;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, .14) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .form-control[disabled],
.modern-admin-theme.theme-dark .form-control[readonly],
.modern-admin-theme.theme-dark fieldset[disabled] .form-control {
    background: #0e1626 !important;
    color: #708198 !important;
}

.modern-admin-theme.theme-dark .select2-container--default .select2-selection--single .select2-selection__rendered,
.modern-admin-theme.theme-dark .select2-container--default .select2-search--dropdown .select2-search__field,
.modern-admin-theme.theme-dark .select2-container--default .select2-selection--multiple .select2-search__field,
.modern-admin-theme.theme-dark .select2-results__option,
.modern-admin-theme.theme-dark .bootstrap-select .dropdown-toggle .filter-option {
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .select2-container--default .select2-results__option[aria-selected="true"],
.modern-admin-theme.theme-dark .select2-container--default .select2-results__option--highlighted[aria-selected],
.modern-admin-theme.theme-dark .select2-results__option:hover {
    background: #24344d !important;
    color: #ffffff !important;
}

.modern-admin-theme.theme-dark .select2-container--default .select2-selection--multiple .select2-selection__choice,
.modern-admin-theme.theme-dark .bootstrap-tagsinput .tag {
    background: #1e3a5f !important;
    border-color: #315783 !important;
    color: #dbeafe !important;
}

/* Tables and DataTables */
.modern-admin-theme.theme-dark table,
.modern-admin-theme.theme-dark .table,
.modern-admin-theme.theme-dark table.dataTable,
.modern-admin-theme.theme-dark .dataTables_scroll,
.modern-admin-theme.theme-dark .dataTables_scrollHead,
.modern-admin-theme.theme-dark .dataTables_scrollBody,
.modern-admin-theme.theme-dark .dataTables_scrollHeadInner,
.modern-admin-theme.theme-dark .dataTables_scrollHeadInner table {
    background: var(--gp-surface) !important;
    border-color: var(--gp-border) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .table > thead > tr > th,
.modern-admin-theme.theme-dark table.dataTable > thead > tr > th,
.modern-admin-theme.theme-dark .table > tfoot > tr > th {
    background: #172033 !important;
    border-color: var(--gp-border) !important;
    color: #d9e4f2 !important;
}

.modern-admin-theme.theme-dark .table > tbody > tr > td,
.modern-admin-theme.theme-dark .table > tbody > tr > th,
.modern-admin-theme.theme-dark table.dataTable > tbody > tr > td {
    background: var(--gp-surface) !important;
    border-color: var(--gp-border) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .table-striped > tbody > tr:nth-of-type(odd) > td,
.modern-admin-theme.theme-dark table.dataTable.stripe > tbody > tr.odd > td {
    background: #141e2e !important;
}

.modern-admin-theme.theme-dark .table-hover > tbody > tr:hover > td,
.modern-admin-theme.theme-dark table.dataTable.hover > tbody > tr:hover > td,
.modern-admin-theme.theme-dark table.dataTable > tbody > tr.selected > td {
    background: #1c2d45 !important;
}

.modern-admin-theme.theme-dark .dataTables_empty {
    background: var(--gp-surface-muted) !important;
    color: var(--gp-text-muted) !important;
}

.modern-admin-theme.theme-dark .pagination > li > a,
.modern-admin-theme.theme-dark .pagination > li > span,
.modern-admin-theme.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button {
    background: var(--gp-surface-muted) !important;
    border-color: var(--gp-border) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .pagination > .active > a,
.modern-admin-theme.theme-dark .pagination > .active > span,
.modern-admin-theme.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.modern-admin-theme.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--gp-primary) !important;
    border-color: var(--gp-primary) !important;
    color: #08111f !important;
}

/* Menus, tabs, popovers and dialogs */
.modern-admin-theme.theme-dark .dropdown-menu,
.modern-admin-theme.theme-dark .popover,
.modern-admin-theme.theme-dark .popover-title,
.modern-admin-theme.theme-dark .popover-content,
.modern-admin-theme.theme-dark .modal-content,
.modern-admin-theme.theme-dark .modal-header,
.modern-admin-theme.theme-dark .modal-body,
.modern-admin-theme.theme-dark .modal-footer,
.modern-admin-theme.theme-dark .main-header .user-menu > .dropdown-menu > .user-header,
.modern-admin-theme.theme-dark .main-header .user-menu > .dropdown-menu > .user-footer {
    background: var(--gp-surface) !important;
    border-color: var(--gp-border) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .dropdown-menu > li > a,
.modern-admin-theme.theme-dark .nav-tabs > li > a,
.modern-admin-theme.theme-dark .nav-tabs-custom > .nav-tabs > li > a,
.modern-admin-theme.theme-dark .nav > li > a,
.modern-admin-theme.theme-dark .list-group-item {
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .dropdown-menu > li > a:hover,
.modern-admin-theme.theme-dark .dropdown-menu > li > a:focus,
.modern-admin-theme.theme-dark .nav > li > a:hover,
.modern-admin-theme.theme-dark .nav > li > a:focus,
.modern-admin-theme.theme-dark .list-group-item:hover {
    background: var(--gp-surface-muted) !important;
    color: var(--gp-primary) !important;
}

.modern-admin-theme.theme-dark .nav-tabs > li.active > a,
.modern-admin-theme.theme-dark .nav-tabs > li.active > a:hover,
.modern-admin-theme.theme-dark .nav-tabs > li.active > a:focus,
.modern-admin-theme.theme-dark .nav-tabs-custom > .nav-tabs > li.active > a {
    background: var(--gp-surface) !important;
    border-color: var(--gp-border) !important;
    border-bottom-color: var(--gp-surface) !important;
    color: var(--gp-primary) !important;
}

.modern-admin-theme.theme-dark .dropdown-menu .divider,
.modern-admin-theme.theme-dark .modal-header,
.modern-admin-theme.theme-dark .modal-footer,
.modern-admin-theme.theme-dark .popover-title {
    border-color: var(--gp-border) !important;
}

.modern-admin-theme.theme-dark .close {
    color: #e5edf7 !important;
    opacity: .8;
    text-shadow: none;
}

/* Calendar and date/time pickers */
.modern-admin-theme.theme-dark .datepicker,
.modern-admin-theme.theme-dark .daterangepicker,
.modern-admin-theme.theme-dark .daterangepicker .calendar-table,
.modern-admin-theme.theme-dark .bootstrap-datetimepicker-widget,
.modern-admin-theme.theme-dark .ui-datepicker,
.modern-admin-theme.theme-dark .fc-view,
.modern-admin-theme.theme-dark .fc-widget-content,
.modern-admin-theme.theme-dark .fc-widget-header,
.modern-admin-theme.theme-dark .fc-state-default {
    background: var(--gp-surface) !important;
    border-color: var(--gp-border) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .datepicker table tr td.day:hover,
.modern-admin-theme.theme-dark .daterangepicker td.available:hover,
.modern-admin-theme.theme-dark .daterangepicker th.available:hover,
.modern-admin-theme.theme-dark .bootstrap-datetimepicker-widget table td span:hover,
.modern-admin-theme.theme-dark .bootstrap-datetimepicker-widget table td.day:hover {
    background: #24344d !important;
}

.modern-admin-theme.theme-dark .daterangepicker td.off,
.modern-admin-theme.theme-dark .daterangepicker td.off.in-range,
.modern-admin-theme.theme-dark .daterangepicker td.off.start-date,
.modern-admin-theme.theme-dark .daterangepicker td.off.end-date {
    background: #0e1626 !important;
    color: #64748b !important;
}

.modern-admin-theme.theme-dark .daterangepicker td.in-range {
    background: #1e3a5f !important;
    color: #dbeafe !important;
}

/* Highcharts and common dashboard graphics */
.modern-admin-theme.theme-dark .highcharts-background,
.modern-admin-theme.theme-dark .highcharts-plot-background {
    fill: var(--gp-surface) !important;
}

.modern-admin-theme.theme-dark .highcharts-root text,
.modern-admin-theme.theme-dark .highcharts-title,
.modern-admin-theme.theme-dark .highcharts-subtitle,
.modern-admin-theme.theme-dark .highcharts-axis-labels text,
.modern-admin-theme.theme-dark .highcharts-legend-item text {
    fill: var(--gp-text) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .highcharts-grid-line,
.modern-admin-theme.theme-dark .highcharts-axis-line,
.modern-admin-theme.theme-dark .highcharts-tick {
    stroke: var(--gp-border) !important;
}

/* Highcharts tooltips need their own contrast rules. The generic chart text
 * rule above otherwise turns tooltip text white while the library keeps its
 * default light tooltip background. */
.modern-admin-theme.theme-dark .highcharts-tooltip-box,
.modern-admin-theme.theme-dark .highcharts-tooltip .highcharts-label-box,
.modern-admin-theme.theme-dark .highcharts-label.highcharts-tooltip > path,
.modern-admin-theme.theme-dark g.highcharts-tooltip > path {
    fill: #172033 !important;
    fill-opacity: .98 !important;
    stroke: #60a5fa !important;
}

.modern-admin-theme.theme-dark .highcharts-tooltip text,
.modern-admin-theme.theme-dark .highcharts-tooltip tspan {
    fill: #f8fafc !important;
    color: #f8fafc !important;
    text-shadow: none !important;
}

.modern-admin-theme.theme-dark .highcharts-tooltip span,
.modern-admin-theme.theme-dark .highcharts-tooltip div,
.modern-admin-theme.theme-dark [class*="highcharts-tooltip"] span,
.modern-admin-theme.theme-dark [class*="highcharts-tooltip"] b {
    background: #172033 !important;
    color: #f8fafc !important;
    opacity: 1 !important;
}

/* Older Highcharts releases place inline HTML tooltip content in a floating
 * container outside the SVG tree. */
.modern-admin-theme.theme-dark .highcharts-container > div[style*="z-index"] span[style],
.modern-admin-theme.theme-dark .highcharts-container > div[style*="z-index"] span[style] * {
    color: #f8fafc !important;
    text-shadow: none !important;
}

/* POS and restaurant screens */
.modern-admin-theme.theme-dark.modern-pos-layout,
.modern-admin-theme.theme-dark.modern-pos-layout .wrapper,
.modern-admin-theme.theme-dark.modern-pos-layout .pos-form-actions,
.modern-admin-theme.theme-dark.modern-pos-layout #product_list_body,
.modern-admin-theme.theme-dark .pos-tab-container,
.modern-admin-theme.theme-dark .pos-tab-content,
.modern-admin-theme.theme-dark .pos-tab-menu,
.modern-admin-theme.theme-dark .pos-tab-menu .list-group,
.modern-admin-theme.theme-dark .pos-tab-menu .list-group-item,
.modern-admin-theme.theme-dark .product_box,
.modern-admin-theme.theme-dark .product_box .image-container,
.modern-admin-theme.theme-dark .product_box .text_div {
    background: var(--gp-surface) !important;
    border-color: var(--gp-border) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .product_box:hover,
.modern-admin-theme.theme-dark .pos-tab-menu .list-group-item:hover,
.modern-admin-theme.theme-dark .pos-tab-menu .list-group-item.active {
    background: #1c2d45 !important;
    border-color: var(--gp-primary) !important;
}

.modern-admin-theme.theme-dark .product_box .text,
.modern-admin-theme.theme-dark .product_box small {
    color: var(--gp-text) !important;
}

/* Editors, loaders and third-party neutral containers */
.modern-admin-theme.theme-dark .note-editor,
.modern-admin-theme.theme-dark .note-toolbar,
.modern-admin-theme.theme-dark .note-editable,
.modern-admin-theme.theme-dark .tox .tox-editor-container,
.modern-admin-theme.theme-dark .tox .tox-toolbar,
.modern-admin-theme.theme-dark .cke_chrome,
.modern-admin-theme.theme-dark .cke_top,
.modern-admin-theme.theme-dark .cke_bottom,
.modern-admin-theme.theme-dark .cke_wysiwyg_frame,
.modern-admin-theme.theme-dark .file-preview,
.modern-admin-theme.theme-dark .file-drop-zone {
    background: var(--gp-surface) !important;
    border-color: var(--gp-border) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark ::-webkit-scrollbar-track {
    background: #0b1120;
}

.modern-admin-theme.theme-dark ::-webkit-scrollbar-thumb {
    background: #405169;
    border-radius: 999px;
}

.modern-admin-theme.theme-dark ::selection {
    background: #1d4ed8;
    color: #ffffff;
}

/* Global legacy-component contrast pass.
 * A large part of the application predates the theme variables and uses
 * Bootstrap/AdminLTE utility classes. Keep those screens readable without
 * having to maintain page-specific dark-mode patches. */
.modern-admin-theme.theme-dark .text-black,
.modern-admin-theme.theme-dark .text-gray,
.modern-admin-theme.theme-dark .text-navy,
.modern-admin-theme.theme-dark .text-default,
.modern-admin-theme.theme-dark p,
.modern-admin-theme.theme-dark td,
.modern-admin-theme.theme-dark dd,
.modern-admin-theme.theme-dark dt {
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .text-muted,
.modern-admin-theme.theme-dark .text-gray-dark,
.modern-admin-theme.theme-dark .hint,
.modern-admin-theme.theme-dark .description,
.modern-admin-theme.theme-dark .form-text {
    color: #a7b4c5 !important;
}

.modern-admin-theme.theme-dark .bg-gray,
.modern-admin-theme.theme-dark .bg-gray-light,
.modern-admin-theme.theme-dark .bg-light,
.modern-admin-theme.theme-dark .card,
.modern-admin-theme.theme-dark .card-header,
.modern-admin-theme.theme-dark .card-body,
.modern-admin-theme.theme-dark .card-footer,
.modern-admin-theme.theme-dark .callout,
.modern-admin-theme.theme-dark .alert:not(.alert-success):not(.alert-warning):not(.alert-danger):not(.alert-info) {
    background: var(--gp-surface) !important;
    border-color: var(--gp-border) !important;
    color: var(--gp-text) !important;
}

.modern-admin-theme.theme-dark .alert-success { background:#0d3b2d!important;border-color:#237a5b!important;color:#d1fae5!important; }
.modern-admin-theme.theme-dark .alert-info { background:#103852!important;border-color:#2879a5!important;color:#d9f3ff!important; }
.modern-admin-theme.theme-dark .alert-warning { background:#493817!important;border-color:#9a7421!important;color:#fff1bd!important; }
.modern-admin-theme.theme-dark .alert-danger { background:#4a2029!important;border-color:#a84559!important;color:#ffe0e6!important; }
.modern-admin-theme.theme-dark .alert a { color:inherit!important;text-decoration:underline; }

.modern-admin-theme.theme-dark .btn-default,
.modern-admin-theme.theme-dark .btn-light,
.modern-admin-theme.theme-dark button.close,
.modern-admin-theme.theme-dark .input-group-btn > .btn {
    background:#1b273a!important;
    border-color:var(--gp-border-strong)!important;
    color:var(--gp-text)!important;
}
.modern-admin-theme.theme-dark .btn-default:hover,
.modern-admin-theme.theme-dark .btn-default:focus,
.modern-admin-theme.theme-dark .btn-light:hover,
.modern-admin-theme.theme-dark .btn-light:focus {
    background:#263750!important;
    border-color:var(--gp-primary)!important;
    color:#fff!important;
}
.modern-admin-theme.theme-dark .btn-primary,
.modern-admin-theme.theme-dark .btn-info { color:#07101e!important; }
.modern-admin-theme.theme-dark .btn-warning { color:#251900!important; }
.modern-admin-theme.theme-dark .btn-danger,
.modern-admin-theme.theme-dark .btn-success { color:#fff!important; }

.modern-admin-theme.theme-dark .label-default,
.modern-admin-theme.theme-dark .badge:not(.bg-red):not(.bg-green):not(.bg-blue):not(.bg-yellow) {
    background:#334155!important;color:#f8fafc!important;
}

.modern-admin-theme.theme-dark option,
.modern-admin-theme.theme-dark optgroup {
    background:#172033!important;
    color:var(--gp-text)!important;
}
.modern-admin-theme.theme-dark input[type="checkbox"],
.modern-admin-theme.theme-dark input[type="radio"] { accent-color:var(--gp-primary); }
.modern-admin-theme.theme-dark input[type="file"]::file-selector-button {
    background:#263750;border:1px solid var(--gp-border-strong);color:var(--gp-text);
}

.modern-admin-theme.theme-dark .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
.modern-admin-theme.theme-dark .select2-container--default .select2-selection--single .select2-selection__arrow b,
.modern-admin-theme.theme-dark .bootstrap-select .dropdown-menu li a,
.modern-admin-theme.theme-dark .chosen-container .chosen-results li,
.modern-admin-theme.theme-dark .chosen-container-single .chosen-single,
.modern-admin-theme.theme-dark .chosen-container-multi .chosen-choices,
.modern-admin-theme.theme-dark .chosen-container-multi .chosen-choices li.search-field input[type=text] {
    color:var(--gp-text)!important;
}
.modern-admin-theme.theme-dark .chosen-container-single .chosen-single,
.modern-admin-theme.theme-dark .chosen-container-multi .chosen-choices,
.modern-admin-theme.theme-dark .chosen-container .chosen-drop {
    background:var(--gp-surface-muted)!important;border-color:var(--gp-border-strong)!important;
}

.modern-admin-theme.theme-dark .table-responsive,
.modern-admin-theme.theme-dark .dataTables_wrapper,
.modern-admin-theme.theme-dark .dataTables_processing,
.modern-admin-theme.theme-dark .dataTables_wrapper .dataTables_length select,
.modern-admin-theme.theme-dark .dataTables_wrapper .dataTables_filter input {
    background:var(--gp-surface)!important;color:var(--gp-text)!important;border-color:var(--gp-border)!important;
}
.modern-admin-theme.theme-dark table.dataTable tbody tr,
.modern-admin-theme.theme-dark table.dataTable tbody tr.child,
.modern-admin-theme.theme-dark table.dataTable tbody tr.child ul.dtr-details {
    background:var(--gp-surface)!important;color:var(--gp-text)!important;
}

.modern-admin-theme.theme-dark .sweet-alert,
.modern-admin-theme.theme-dark .swal-modal,
.modern-admin-theme.theme-dark .swal2-popup,
.modern-admin-theme.theme-dark .toast,
.modern-admin-theme.theme-dark #toast-container > div {
    background:var(--gp-surface)!important;color:var(--gp-text)!important;border-color:var(--gp-border)!important;
}
.modern-admin-theme.theme-dark .sweet-alert h2,
.modern-admin-theme.theme-dark .sweet-alert p,
.modern-admin-theme.theme-dark .swal-title,
.modern-admin-theme.theme-dark .swal-text,
.modern-admin-theme.theme-dark .swal2-title,
.modern-admin-theme.theme-dark .swal2-html-container { color:var(--gp-text)!important; }
.modern-admin-theme.theme-dark .modal-backdrop { background:#020617!important; }

.modern-admin-theme.theme-dark .overlay,
.modern-admin-theme.theme-dark .loading,
.modern-admin-theme.theme-dark .loading-overlay,
.modern-admin-theme.theme-dark .dataTables_processing {
    background:rgba(11,17,32,.88)!important;color:var(--gp-text)!important;
}
.modern-admin-theme.theme-dark .spinner,
.modern-admin-theme.theme-dark .fa-refresh,
.modern-admin-theme.theme-dark .fa-spinner { color:var(--gp-primary)!important; }

.modern-admin-theme.theme-dark .datepicker table tr td,
.modern-admin-theme.theme-dark .datepicker table tr th,
.modern-admin-theme.theme-dark .daterangepicker th,
.modern-admin-theme.theme-dark .daterangepicker td,
.modern-admin-theme.theme-dark .bootstrap-datetimepicker-widget table td,
.modern-admin-theme.theme-dark .bootstrap-datetimepicker-widget table th { color:var(--gp-text)!important; }
.modern-admin-theme.theme-dark .datepicker table tr td.old,
.modern-admin-theme.theme-dark .datepicker table tr td.new,
.modern-admin-theme.theme-dark .daterangepicker td.disabled { color:#718198!important; }
.modern-admin-theme.theme-dark .datepicker table tr td.active,
.modern-admin-theme.theme-dark .daterangepicker td.active { background:var(--gp-primary)!important;color:#07101e!important; }

.modern-admin-theme.theme-dark .progress { background:#263246!important; }
.modern-admin-theme.theme-dark code { background:#1e293b;color:#fda4af; }
.modern-admin-theme.theme-dark pre { background:#0a101d;border-color:var(--gp-border);color:#dbe7f5; }

/* Daily Sales Report paper intentionally remains identical in light and dark themes. */
.modern-admin-theme.theme-dark .dsr-view-paper,
.modern-admin-theme.theme-dark .dsr-view-paper * {
    text-shadow:none!important;
    filter:none!important;
}
.modern-admin-theme.theme-dark .dsr-view-paper {
    background:#fff!important;
    color:#172230!important;
    color-scheme:light!important;
}
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-paper-header h2 {
    color:#182b3e!important;
    opacity:1!important;
}
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-paper-header h3 {
    color:var(--dsr-primary,#0b5d8f)!important;
    opacity:1!important;
}
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-view-meta,
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-view-meta * {
    background:#f7f9fb!important;
    opacity:1!important;
}
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-view-meta strong,
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-view-meta span {
    color:var(--dsr-dark,#16365d)!important;
}
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-view-meta small,
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-signatures small {
    color:#5d7189!important;
}
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-entry-table tbody tr:not(.dsr-colored-row) td,
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-subtable tbody tr:not(.dsr-colored-row) td {
    background:#fff!important;
    color:#172230!important;
    font-weight:700!important;
}
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-entry-table tbody tr.dsr-colored-row td,
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-subtable tbody tr.dsr-colored-row td {
    background:var(--dsr-row-color,#fff)!important;
    color:var(--dsr-row-text,#172230)!important;
    font-weight:800!important;
}
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-entry-table thead th,
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-subtable thead th,
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-entry-table tfoot th,
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-subtable tfoot th {
    color:#fff!important;
}
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-entry-table tfoot .dsr-grand-total {
    background:#fff!important;
    color:var(--dsr-primary,#c52d2d)!important;
}
.modern-admin-theme.theme-dark .dsr-view-paper .dsr-signatures strong {
    color:#172230!important;
}

/* Receipt, invoice and document previews intentionally remain paper-white. */
.modern-admin-theme.theme-dark :is(#receipt_section,.invoice,.invoice-print,.print-area,.document-preview) {
    background:#fff!important;color:#111827!important;color-scheme:light;
}
.modern-admin-theme.theme-dark :is(#receipt_section,.invoice,.invoice-print,.print-area,.document-preview) :is(p,td,th,dd,dt,label,small) {
    color:inherit!important;
}

/* Printed receipts/reports always remain ink-friendly light. */
@media print {
    body.modern-admin-theme,
    body.modern-admin-theme.theme-dark,
    body.modern-admin-theme.theme-dark .wrapper,
    body.modern-admin-theme.theme-dark .content-wrapper,
    body.modern-admin-theme.theme-dark #receipt_section,
    body.modern-admin-theme.theme-dark #receipt_section * {
        background: #ffffff !important;
        color: #000000 !important;
        box-shadow: none !important;
        color-scheme: light;
    }

    body.modern-admin-theme.theme-dark #receipt_section table,
    body.modern-admin-theme.theme-dark #receipt_section th,
    body.modern-admin-theme.theme-dark #receipt_section td {
        border-color: #b8b8b8 !important;
    }

    body.modern-admin-theme.theme-dark .dsr-view-paper,
    body.modern-admin-theme.theme-dark .dsr-view-paper *,
    body.modern-admin-theme.theme-dark .dsr-content {
        color-scheme: light !important;
    }

    body.modern-admin-theme.theme-dark .dsr-view-paper {
        background: #ffffff !important;
        background-image: none !important;
        box-shadow: none !important;
        outline: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        overflow: visible !important;
    }

    body.modern-admin-theme.theme-dark .dsr-view-paper::before,
    body.modern-admin-theme.theme-dark .dsr-view-paper::after {
        display: none !important;
        content: none !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }
}

@media (max-width: 767px) {
    .modern-admin-theme .gp-theme-toggle {
        padding-left: 8px;
        padding-right: 8px;
    }

    .modern-admin-theme .gp-theme-option {
        min-width: 100%;
    }
}
