/* Shared application UI tokens based on Composite/ViewComposite. */
:root {
    --blx-bg: #edf5fb;
    --blx-surface: #ffffff;
    --blx-surface-soft: rgba(255, 255, 255, .72);
    --blx-border: #cbd9e8;
    --blx-border-soft: #d8e3ee;
    --blx-text: #1f2a3d;
    --blx-muted: #607087;
    --blx-primary: #4338ca;
    --blx-primary-hover: #3730a3;
    --blx-success-bg: #e6f4ea;
    --blx-success-border: #b7dfc2;
    --blx-success-text: #137333;
    --blx-danger-bg: #fce8e6;
    --blx-danger-border: #f4b8b2;
    --blx-danger-text: #c5221f;
    --blx-warning-bg: #fef7e0;
    --blx-warning-border: #f6d98b;
    --blx-warning-text: #8a5a00;
    --blx-radius: 8px;
    --blx-control-radius: 4px;
    --blx-font: "Noto Sans", "Segoe UI", Arial, sans-serif;
}

body,
button,
input,
select,
textarea,
.page-content,
.modal,
.popover,
.tooltip {
    color: var(--blx-text);
    font-family: var(--blx-font);
}

body { font-size: 13px; }
.page-content { background: #f7f9fc; }

h1, h2, h3, h4, h5, h6,
.page-title,
.caption,
.control-label,
.form-control,
.btn,
.table,
.label,
.badge,
.nav,
.dropdown-menu {
    font-family: var(--blx-font);
}

.page-title {
    color: #172033;
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 16px;
}

/* Panels and portlets */
.page-content .portlet,
.page-content .panel,
.modal-content {
    border: 1px solid var(--blx-border) !important;
    border-radius: var(--blx-radius) !important;
    box-shadow: 0 4px 12px rgba(42, 62, 90, .06);
    overflow: hidden;
}

.page-content .portlet > .portlet-title,
.page-content .panel > .panel-heading,
.modal-header {
    background: var(--blx-surface-soft) !important;
    border-bottom: 1px solid var(--blx-border-soft) !important;
    margin: 0;
    min-height: 52px;
    padding: 9px 14px;
}

.page-content .portlet > .portlet-title > .caption,
.page-content .panel-title,
.modal-title {
    color: #172033 !important;
    font-size: 18px;
    font-weight: 600;
    line-height: 32px;
    padding: 0;
}

.page-content .portlet > .portlet-title > .caption,
.page-content .portlet.box > .portlet-title > .caption {
    align-items: center !important;
    display: inline-flex !important;
    gap: 7px !important;
    min-height: 32px;
}

.page-content .portlet > .portlet-title > .caption > i,
.page-content .portlet.box > .portlet-title > .caption > i {
    align-items: center;
    display: inline-flex !important;
    flex: 0 0 auto;
    justify-content: center;
    line-height: 1 !important;
    margin: 0 !important;
    position: static !important;
    vertical-align: middle !important;
}

.page-content .portlet > .portlet-title > .caption > span {
    line-height: inherit;
}

/* Header actions must remain compact so adjacent actions share one row. */
.page-content .portlet > .portlet-title > .tools .btn.btn-block,
.page-content .portlet > .portlet-title > .actions .btn.btn-block,
.page-content .panel > .panel-heading > .tools .btn.btn-block,
.page-content .panel > .panel-heading > .actions .btn.btn-block {
    display: inline-block;
    width: auto !important;
    white-space: nowrap;
}

.page-content .portlet > .portlet-body,
.page-content .panel-body,
.modal-body {
    padding: 14px;
}

/* Form controls */
.form-group { margin-bottom: 16px; }
.control-label,
.form-group > label {
    color: #4f6179;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 6px;
}

.form-control,
.input-group-addon,
.select2-container .select2-choice,
.select2-container .select2-selection--single,
.bootstrap-select > .dropdown-toggle {
    border-color: #cbd6e2 !important;
    border-radius: var(--blx-control-radius) !important;
    box-shadow: none !important;
    font-size: 13px;
    min-height: 36px;
}

.form-control { padding: 7px 11px; }
.form-control:focus {
    border-color: #a5b4fc !important;
    box-shadow: 0 0 0 2px rgba(67, 56, 202, .10) !important;
}

.input-group .form-control:first-child,
.input-group-addon:first-child { border-radius: var(--blx-control-radius) 0 0 var(--blx-control-radius) !important; }
.input-group .form-control:last-child,
.input-group-addon:last-child { border-radius: 0 var(--blx-control-radius) var(--blx-control-radius) 0 !important; }

/* Buttons */
.btn {
    border-radius: var(--blx-control-radius) !important;
    box-shadow: none;
    font-size: 13px;
    font-weight: 600;
    min-height: 34px;
    padding: 7px 14px;
    text-transform: none;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.btn-sm,
.btn-xs,
.table .btn {
    font-size: 12px;
    min-height: 30px;
    padding: 5px 10px;
}

.btn-primary,
.btn.blue,
.btn.blue-madison,
.btn.blue-steel,
.btn.red-flamingo {
    background: var(--blx-primary) !important;
    border-color: var(--blx-primary) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn.blue:hover,
.btn.blue:focus,
.btn.blue-madison:hover,
.btn.blue-steel:hover,
.btn.red-flamingo:hover {
    background: var(--blx-primary-hover) !important;
    border-color: var(--blx-primary-hover) !important;
    color: #fff !important;
}

.btn-success,
.btn.green,
.btn.green-jungle,
.btn.green-meadow {
    background: var(--blx-success-bg) !important;
    border-color: var(--blx-success-border) !important;
    color: var(--blx-success-text) !important;
}

.btn-danger,
.btn.red,
.btn.red-mint {
    background: var(--blx-danger-bg) !important;
    border-color: var(--blx-danger-border) !important;
    color: var(--blx-danger-text) !important;
}

.btn-warning,
.btn.yellow,
.btn.yellow-gold {
    background: var(--blx-warning-bg) !important;
    border-color: var(--blx-warning-border) !important;
    color: var(--blx-warning-text) !important;
}

.btn-default,
.btn.default {
    background: #fff !important;
    border-color: #dadce0 !important;
    color: #3c4043 !important;
}

.btn-default:hover,
.btn.default:hover { background: #f8fafd !important; border-color: #c7d2e0 !important; }
.btn + .btn { margin-left: 4px; }

/* Tables */
.table {
    background: var(--blx-surface);
    color: var(--blx-text);
    font-size: 13px;
    margin-bottom: 0;
}

.table > thead > tr > th {
    background: #f8fbfe;
    border-bottom: 1px solid #dce7f2;
    color: #172033;
    font-size: 12px;
    font-weight: 700;
    padding: 11px 12px;
    text-transform: uppercase;
    vertical-align: middle;
}

.table > tbody > tr > td {
    border-color: #edf1f5;
    padding: 9px 12px;
    vertical-align: middle;
}

.table-striped > tbody > tr:nth-of-type(odd) { background: #f8fbfe; }
.table-hover > tbody > tr:hover { background: #eef2ff; }
.table-responsive { border: 0; border-radius: var(--blx-radius); }

/* Tabs, menus, pagination and status elements */
.nav-tabs { border-bottom-color: var(--blx-border-soft); }
.nav-tabs > li > a { border-radius: var(--blx-control-radius) var(--blx-control-radius) 0 0 !important; color: var(--blx-muted); font-size: 13px; }
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover { border-color: var(--blx-border-soft); border-bottom-color: #fff; color: var(--blx-primary); font-weight: 600; }
.dropdown-menu { border: 1px solid var(--blx-border); border-radius: var(--blx-control-radius) !important; box-shadow: 0 8px 24px rgba(31, 42, 61, .12); font-size: 13px; padding: 6px; }
.dropdown-menu > li > a { border-radius: 4px; padding: 7px 10px; }
.pagination > li > a,
.pagination > li > span { border-color: var(--blx-border-soft); color: var(--blx-primary); font-size: 12px; padding: 6px 10px; }
.pagination > .active > a,
.pagination > .active > span { background: var(--blx-primary); border-color: var(--blx-primary); color: #fff; }
.label,
.badge { border-radius: 999px !important; font-size: 11px; font-weight: 600; padding: 4px 8px; }
.label-success { background: var(--blx-success-bg); color: var(--blx-success-text); }
.label-danger { background: var(--blx-danger-bg); color: var(--blx-danger-text); }
.label-warning { background: var(--blx-warning-bg); color: var(--blx-warning-text); }
.label-default { background: #eef1f5; color: #5f6368; }
.alert { border-radius: var(--blx-control-radius); font-size: 13px; padding: 10px 14px; }
.form-actions,
.modal-footer { background: var(--blx-surface-soft) !important; border-top: 1px solid var(--blx-border-soft) !important; padding: 12px 14px !important; }

@media (max-width: 767px) {
    .page-content .portlet > .portlet-title > .caption,
    .page-content .panel-title,
    .modal-title { font-size: 16px; }
    .page-content .portlet > .portlet-body,
    .page-content .panel-body,
    .modal-body { padding: 12px; }
    .btn { padding-left: 11px; padding-right: 11px; }
}

/* One application theme: remove legacy appearance switchers. */
.theme-panel { display: none !important; }

.page-header.navbar .top-menu .navbar-nav > li.blx-theme-control {
    align-items: center;
    display: flex;
    height: 50px;
    padding: 0 5px;
}

.blx-theme-toggle {
    align-items: center !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 999px !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .12) !important;
    display: inline-flex !important;
    gap: 2px !important;
    height: 32px !important;
    justify-content: space-between !important;
    min-height: 32px !important;
    min-width: 64px !important;
    overflow: hidden !important;
    padding: 3px !important;
    width: 64px !important;
}

.blx-theme-toggle:hover,
.blx-theme-toggle:focus {
    background: #fff !important;
    border-color: #c7d2fe !important;
    box-shadow: 0 0 0 3px rgba(67, 56, 202, .10) !important;
    outline: 0 !important;
}

.blx-theme-option {
    align-items: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    color: #cbd5e1 !important;
    display: inline-flex !important;
    flex: 0 0 24px !important;
    height: 24px !important;
    justify-content: center !important;
    padding: 0 !important;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
    width: 24px !important;
}

.blx-theme-option .fa {
    font-size: 13px !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.blx-theme-toggle:not(.is-dark) .blx-theme-option-light,
.blx-theme-toggle.is-dark .blx-theme-option-dark {
    background: #2563eb !important;
    box-shadow: 0 2px 6px rgba(37, 99, 235, .30) !important;
    color: #fff !important;
}

.blx-theme-toggle:not(.is-dark) .blx-theme-option-dark,
.blx-theme-toggle.is-dark .blx-theme-option-light {
    background: transparent !important;
    box-shadow: none !important;
    color: #cbd5e1 !important;
}

/* User-selectable dark palette; structure and control dimensions stay identical. */
body.blx-dark-theme,
body.blx-dark-theme .page-wrapper,
body.blx-dark-theme .page-container,
body.blx-dark-theme .page-content-wrapper,
body.blx-dark-theme .page-content {
    background: #111827 !important;
    color: #e5e7eb;
}

body.blx-dark-theme .page-header.navbar,
body.blx-dark-theme .page-header.navbar .page-header-inner,
body.blx-dark-theme .page-header.navbar .page-logo,
body.blx-dark-theme .page-sidebar-wrapper,
body.blx-dark-theme .page-sidebar,
body.blx-dark-theme .page-sidebar .page-sidebar-menu {
    background: #172033 !important;
    border-color: #334155 !important;
}

body.blx-dark-theme .page-header.navbar .top-menu .navbar-nav > li.dropdown > .dropdown-toggle,
body.blx-dark-theme .page-header.navbar .top-menu .navbar-nav > li.dropdown-user > .dropdown-toggle,
body.blx-dark-theme .page-header.navbar .top-menu .navbar-nav > li.dropdown-user .username,
body.blx-dark-theme .page-sidebar .page-sidebar-menu > li > a,
body.blx-dark-theme .page-sidebar .page-sidebar-menu .sub-menu > li > a {
    color: #dbe5f1 !important;
}

body.blx-dark-theme .page-sidebar .page-sidebar-menu .sub-menu,
body.blx-dark-theme .page-sidebar .page-sidebar-menu > li:hover > a,
body.blx-dark-theme .page-sidebar .page-sidebar-menu > li.open > a,
body.blx-dark-theme .page-sidebar .page-sidebar-menu > li.active > a {
    background: #202c40 !important;
}

body.blx-dark-theme .page-sidebar .page-sidebar-menu .sub-menu > li:hover > a,
body.blx-dark-theme .page-sidebar .page-sidebar-menu .sub-menu > li.open > a,
body.blx-dark-theme .page-sidebar .page-sidebar-menu .sub-menu > li.active > a,
body.blx-dark-theme .page-sidebar .page-sidebar-menu .sub-menu > li.active.open > a {
    background: #303b59 !important;
    color: #ffffff !important;
}

body.blx-dark-theme .page-sidebar .page-sidebar-menu .sub-menu > li:hover > a > i,
body.blx-dark-theme .page-sidebar .page-sidebar-menu .sub-menu > li.open > a > i,
body.blx-dark-theme .page-sidebar .page-sidebar-menu .sub-menu > li.active > a > i,
body.blx-dark-theme .page-sidebar .page-sidebar-menu .sub-menu > li.active.open > a > i,
body.blx-dark-theme .page-sidebar .page-sidebar-menu .sub-menu > li.active > a > .title {
    color: #93c5fd !important;
}

body.blx-dark-theme .page-content .portlet,
body.blx-dark-theme .page-content .panel,
body.blx-dark-theme .modal-content,
body.blx-dark-theme .card,
body.blx-dark-theme .modern-card,
body.blx-dark-theme .config-card,
body.blx-dark-theme .dashboard-card,
body.blx-dark-theme .widget-thumb,
body.blx-dark-theme .table,
body.blx-dark-theme .k-grid,
body.blx-dark-theme .k-window,
body.blx-dark-theme .k-popup,
body.blx-dark-theme .dropdown-menu {
    background: #1f2937 !important;
    border-color: #3b4a5f !important;
    color: #e5e7eb !important;
}

body.blx-dark-theme .page-content .portlet > .portlet-title,
body.blx-dark-theme .page-content .panel > .panel-heading,
body.blx-dark-theme .modal-header,
body.blx-dark-theme .form-actions,
body.blx-dark-theme .modal-footer,
body.blx-dark-theme .card-header,
body.blx-dark-theme .modern-card-header,
body.blx-dark-theme .card-header-modern,
body.blx-dark-theme .k-grid-header,
body.blx-dark-theme .k-grid-header-wrap,
body.blx-dark-theme .k-grid-header th.k-header {
    background: #263244 !important;
    border-color: #3b4a5f !important;
    color: #f8fafc !important;
}

body.blx-dark-theme .page-title,
body.blx-dark-theme .caption,
body.blx-dark-theme .panel-title,
body.blx-dark-theme .modal-title,
body.blx-dark-theme h1,
body.blx-dark-theme h2,
body.blx-dark-theme h3,
body.blx-dark-theme h4,
body.blx-dark-theme h5,
body.blx-dark-theme h6,
body.blx-dark-theme label,
body.blx-dark-theme .control-label,
body.blx-dark-theme .table > thead > tr > th {
    color: #f8fafc !important;
}

body.blx-dark-theme .form-control,
body.blx-dark-theme .input-group-addon,
body.blx-dark-theme .select2-container .select2-choice,
body.blx-dark-theme .select2-container--default .select2-selection--single,
body.blx-dark-theme .select2-container--default .select2-selection--multiple,
body.blx-dark-theme .select2-dropdown,
body.blx-dark-theme .select2-drop {
    background: #111827 !important;
    border-color: #475569 !important;
    color: #e5e7eb !important;
}

body.blx-dark-theme .form-control::placeholder { color: #94a3b8; }
body.blx-dark-theme .table > tbody > tr > td,
body.blx-dark-theme .k-grid td { border-color: #344155 !important; }
body.blx-dark-theme .table-striped > tbody > tr:nth-of-type(odd),
body.blx-dark-theme .k-grid .k-alt { background: #243044 !important; }
body.blx-dark-theme .table-hover > tbody > tr:hover,
body.blx-dark-theme .k-grid tr:hover { background: #303b59 !important; }
body.blx-dark-theme .dropdown-menu > li > a { color: #dbe5f1; }
body.blx-dark-theme .dropdown-menu > li > a:hover { background: #303b59; color: #fff; }
body.blx-dark-theme .blx-theme-toggle { background: #fff !important; border-color: #e2e8f0 !important; }

/* Override legacy pages that hard-code black text. */
body.blx-dark-theme .page-content .portlet-body,
body.blx-dark-theme .page-content .panel-body,
body.blx-dark-theme .page-content .card-body,
body.blx-dark-theme .page-content .modern-card-body,
body.blx-dark-theme .page-content .form-body,
body.blx-dark-theme .page-content .tab-content,
body.blx-dark-theme .page-content .well,
body.blx-dark-theme .page-content p:not(.text-danger):not(.text-success):not(.text-warning),
body.blx-dark-theme .page-content td,
body.blx-dark-theme .page-content .help-block,
body.blx-dark-theme .page-content .text-muted,
body.blx-dark-theme .select2-container .select2-chosen,
body.blx-dark-theme .select2-container--default .select2-selection--single .select2-selection__rendered,
body.blx-dark-theme .k-grid td,
body.blx-dark-theme .k-grid a:not(.k-button) {
    color: #dbe5f1 !important;
}

body.blx-dark-theme .page-content [style*="color: black"]:not(.btn),
body.blx-dark-theme .page-content [style*="color:black"]:not(.btn),
body.blx-dark-theme .page-content [style*="color: #000"]:not(.btn),
body.blx-dark-theme .page-content [style*="color:#000"]:not(.btn),
body.blx-dark-theme .page-content [style*="color: #111"]:not(.btn),
body.blx-dark-theme .page-content [style*="color:#111"]:not(.btn),
body.blx-dark-theme .page-content [style*="color: #222"]:not(.btn),
body.blx-dark-theme .page-content [style*="color:#222"]:not(.btn),
body.blx-dark-theme .page-content [style*="color: #333"]:not(.btn),
body.blx-dark-theme .page-content [style*="color:#333"]:not(.btn) {
    color: #f1f5f9 !important;
}

body.blx-dark-theme .page-sidebar .sidebar-search input#menuSearchInput.form-control,
body.blx-dark-theme .page-sidebar .sidebar-search .submit i,
body.blx-dark-theme .page-sidebar .sidebar-search .remove i {
    color: #dbe5f1 !important;
}

body.blx-dark-theme .page-sidebar .page-sidebar-menu > li.sidebar-search-wrapper {
    border-bottom-color: #334155 !important;
}

body.blx-dark-theme .page-sidebar .sidebar-search .input-group,
body.blx-dark-theme .page-sidebar .sidebar-search.open .input-group {
    background: #111827 !important;
    border-color: #475569 !important;
    box-shadow: none !important;
}

body.blx-dark-theme .page-sidebar .sidebar-search .input-group:focus-within {
    background: #182235 !important;
    border-color: #60a5fa !important;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, .12) !important;
}

body.blx-dark-theme .page-sidebar .sidebar-search input#menuSearchInput.form-control,
body.blx-dark-theme .page-sidebar .sidebar-search .form-control {
    background: transparent !important;
    border: 0 !important;
    color: #f8fafc !important;
}

body.blx-dark-theme .page-sidebar .sidebar-search input#menuSearchInput.form-control::placeholder,
body.blx-dark-theme .page-sidebar .sidebar-search .form-control::placeholder {
    color: #94a3b8 !important;
    opacity: 1;
}

body.blx-dark-theme .page-sidebar .sidebar-search .btn.submit,
body.blx-dark-theme .page-sidebar .sidebar-search .btn.remove {
    background: transparent !important;
    border: 0 !important;
}

body.blx-dark-theme .page-sidebar .sidebar-search .btn.submit i,
body.blx-dark-theme .page-sidebar .sidebar-search .btn.remove i {
    color: #93c5fd !important;
}

/* Collapsed sidebar and its icon-only/fly-out states. */
body.blx-dark-theme.page-sidebar-closed .page-sidebar,
body.blx-dark-theme.page-sidebar-closed .page-sidebar-wrapper,
body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed {
    background: #172033 !important;
    border-color: #334155 !important;
}

body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed > li,
body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed > li > a {
    background: #172033 !important;
    border-color: #334155 !important;
    color: #dbe5f1 !important;
}

body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed > li > a > i {
    color: #94a3b8 !important;
}

body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed > li:hover > a,
body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed > li.open > a,
body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed > li.active > a {
    background: #303b59 !important;
    color: #ffffff !important;
}

body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed > li:hover > a > i,
body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed > li.open > a > i,
body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed > li.active > a > i {
    color: #60a5fa !important;
}

body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search .input-group,
body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search .input-group-btn,
body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed .sidebar-search .btn.submit {
    background: #172033 !important;
    border-color: #334155 !important;
}

body.blx-dark-theme.page-sidebar-closed .page-sidebar .page-sidebar-menu.page-sidebar-menu-closed > li:hover > .sub-menu {
    background: #202c40 !important;
    border: 1px solid #3b4a5f !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .28) !important;
}

body.blx-dark-theme .page-content .well,
body.blx-dark-theme .page-content pre,
body.blx-dark-theme .page-content code {
    background: #182235 !important;
    border-color: #3b4a5f !important;
}

/* Legacy create/edit forms use a forced white portlet body. */
body.blx-dark-theme .page-content .portlet > .portlet-body.form,
body.blx-dark-theme .page-content .portlet > .portlet-body.form > .form-body,
body.blx-dark-theme .page-content .portlet-body.form .form-body,
body.blx-dark-theme .page-content form > .form-body,
body.blx-dark-theme #sliderform .portlet-body,
body.blx-dark-theme #sliderform .form-body {
    background: #1f2937 !important;
    color: #e5e7eb !important;
}

body.blx-dark-theme .page-content .portlet.box > .portlet-title > .caption,
body.blx-dark-theme .page-content .portlet.box > .portlet-title > .caption > i,
body.blx-dark-theme .page-content .portlet-body.form .min-h,
body.blx-dark-theme .page-content .portlet-body.form .min-h > div {
    color: #f1f5f9 !important;
}

body.blx-dark-theme .page-content .portlet-body.form .form-actions {
    background: #263244 !important;
    border-color: #475569 !important;
}

/* Product index has page-local light colors, so provide an explicit dark skin. */
body.blx-dark-theme .product-index-page {
    color: #e5e7eb !important;
}

body.blx-dark-theme .product-index-page .portlet.box.blue-ebonyclay,
body.blx-dark-theme .product-index-page .portlet.box.green-haze,
body.blx-dark-theme .product-index-page .portlet.box.blue-ebonyclay > .portlet-body,
body.blx-dark-theme .product-index-page .portlet.box.green-haze > .portlet-body,
body.blx-dark-theme .product-index-page #sliderform .form-body {
    background: #1f2937 !important;
    border-color: #3b4a5f !important;
}

body.blx-dark-theme .product-index-page .portlet.box.blue-ebonyclay > .portlet-title,
body.blx-dark-theme .product-index-page .portlet.box.green-haze > .portlet-title {
    background: #263244 !important;
    border-color: #475569 !important;
}

body.blx-dark-theme .product-index-page .portlet.box.blue-ebonyclay > .portlet-title > .caption,
body.blx-dark-theme .product-index-page .portlet.box.green-haze > .portlet-title > .caption,
body.blx-dark-theme .product-index-page .portlet-title > .caption > i,
body.blx-dark-theme .product-index-page h5,
body.blx-dark-theme .product-index-page .control-label {
    color: #f1f5f9 !important;
}

body.blx-dark-theme .product-index-page .form-options,
body.blx-dark-theme .product-index-page .table-responsive,
body.blx-dark-theme .product-index-page .product-search-results {
    background: #182235 !important;
    border-color: #3b4a5f !important;
    color: #dbe5f1 !important;
}

body.blx-dark-theme .product-index-page .form-control,
body.blx-dark-theme .product-index-page .select2-container .select2-selection--single,
body.blx-dark-theme .product-index-page .select2-container .select2-selection--multiple,
body.blx-dark-theme .product-index-page .select2-container .select2-search__field {
    background: #111827 !important;
    border-color: #526176 !important;
    color: #f8fafc !important;
}

body.blx-dark-theme .product-index-page .select2-container .select2-selection__rendered,
body.blx-dark-theme .product-index-page .select2-container .select2-search__field,
body.blx-dark-theme .product-index-page .select2-container .select2-search__field::placeholder {
    color: #f8fafc !important;
}

body.blx-dark-theme .product-index-page #productList.table,
body.blx-dark-theme .product-index-page #productList.table tbody tr {
    background: #1f2937 !important;
    color: #e5e7eb !important;
}

body.blx-dark-theme .product-index-page #productList.table thead th {
    background: #263244 !important;
    border-color: #475569 !important;
    color: #f8fafc !important;
}

body.blx-dark-theme .product-index-page #productList.table tbody td,
body.blx-dark-theme .product-index-page #productList.table tbody td a:not(.btn):not(.product-flow-shortcut) {
    border-color: #475569 !important;
    color: #e5e7eb !important;
}

body.blx-dark-theme .product-index-page #productList .product-flow-shortcut--combo {
    background: #dcfce7 !important;
    border-color: #86efac !important;
    color: #166534 !important;
}

body.blx-dark-theme .product-index-page #productList .product-flow-shortcut--modifier {
    background: #eef2ff !important;
    border-color: #a5b4fc !important;
    color: #3730a3 !important;
}

body.blx-dark-theme .product-index-page #productList .product-flow-shortcut--combo:hover,
body.blx-dark-theme .product-index-page #productList .product-flow-shortcut--combo:focus {
    background: #bbf7d0 !important;
    border-color: #4ade80 !important;
    color: #14532d !important;
}

body.blx-dark-theme .product-index-page #productList .product-flow-shortcut--modifier:hover,
body.blx-dark-theme .product-index-page #productList .product-flow-shortcut--modifier:focus {
    background: #e0e7ff !important;
    border-color: #818cf8 !important;
    color: #312e81 !important;
}

body.blx-dark-theme .product-index-page #productList.table tbody tr:hover {
    background: #303b59 !important;
}

body.blx-dark-theme .product-index-page .product-search-results__count,
body.blx-dark-theme .product-index-page .product-search-results__label {
    color: #dbe5f1 !important;
}

body.blx-dark-theme .product-index-page hr {
    border-color: #475569 !important;
}

/* Shared custom page shells used outside Bootstrap portlets. */
body.blx-dark-theme .page-content [class$="-board"],
body.blx-dark-theme .page-content [class*="-form-panel"],
body.blx-dark-theme .page-content .content-panel,
body.blx-dark-theme .page-content .form-panel,
body.blx-dark-theme .page-content .page-panel,
body.blx-dark-theme .page-content .section-panel {
    background: #1f2937 !important;
    border-color: #3b4a5f !important;
    color: #e5e7eb !important;
}

body.blx-dark-theme .page-content [class*="-board__top"],
body.blx-dark-theme .page-content .content-header,
body.blx-dark-theme .page-content .form-header,
body.blx-dark-theme .page-content .section-header,
body.blx-dark-theme .page-content .card-heading {
    background: #263244 !important;
    border-color: #475569 !important;
    color: #f8fafc !important;
}

body.blx-dark-theme .product-create-board,
body.blx-dark-theme .product-create-body,
body.blx-dark-theme .product-create-form-panel {
    background: #1f2937 !important;
    border-color: #3b4a5f !important;
    color: #e5e7eb !important;
}

body.blx-dark-theme .product-create-board__top {
    background: #263244 !important;
    border-color: #475569 !important;
}

body.blx-dark-theme .product-create-title,
body.blx-dark-theme .product-create-subtitle,
body.blx-dark-theme .product-create-board .control-label,
body.blx-dark-theme .product-create-board .spinnerClass {
    color: #f1f5f9 !important;
}

body.blx-dark-theme .product-create-board .form-control,
body.blx-dark-theme .product-create-board .select2-container .select2-selection--single,
body.blx-dark-theme .product-create-board .select2-container .select2-selection--multiple {
    background: #111827 !important;
    border-color: #526176 !important;
    color: #f8fafc !important;
}

body.blx-dark-theme .product-create-board .select2-container .select2-selection__rendered {
    color: #f8fafc !important;
}

body.blx-dark-theme .product-create-board .img-upload-btn {
    background: #111827 !important;
    border-color: #526176 !important;
    color: #f1f5f9 !important;
}

body.blx-dark-theme .product-create-actions {
    border-color: #475569 !important;
}

/* Admin dashboard uses a standalone card and chart theme. */
body.blx-dark-theme .dashboard-wrapper {
    background: #111827 !important;
    color: #e5e7eb !important;
}

body.blx-dark-theme .dashboard-header,
body.blx-dark-theme .dashboard-wrapper .stat-card-premium,
body.blx-dark-theme .dashboard-wrapper .hero-total-card,
body.blx-dark-theme .dashboard-wrapper .analysis-card,
body.blx-dark-theme .dashboard-wrapper .chart-panel-v2,
body.blx-dark-theme .dashboard-wrapper .no-data-banner {
    background: #1f2937 !important;
    border-color: #3b4a5f !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18) !important;
    color: #e5e7eb !important;
}

body.blx-dark-theme .dashboard-wrapper .hero-total-card {
    background: linear-gradient(110deg, #1f2937 0%, #243044 100%) !important;
    border-left-color: #3b82f6 !important;
}

body.blx-dark-theme .dashboard-wrapper .dashboard-title,
body.blx-dark-theme .dashboard-wrapper .dashboard-greeting,
body.blx-dark-theme .dashboard-wrapper .hero-label,
body.blx-dark-theme .dashboard-wrapper .hero-value,
body.blx-dark-theme .dashboard-wrapper .stat-label-v2,
body.blx-dark-theme .dashboard-wrapper .stat-value-v2,
body.blx-dark-theme .dashboard-wrapper .chart-title-v2,
body.blx-dark-theme .dashboard-wrapper .compare-label,
body.blx-dark-theme .dashboard-wrapper .compare-val,
body.blx-dark-theme .dashboard-wrapper .bar-value,
body.blx-dark-theme .dashboard-wrapper .bar-date,
body.blx-dark-theme .dashboard-wrapper .hourly-summary b,
body.blx-dark-theme .dashboard-wrapper .no-data-title {
    color: #f8fafc !important;
}

body.blx-dark-theme .dashboard-wrapper .text-secondary,
body.blx-dark-theme .dashboard-wrapper .text-xs,
body.blx-dark-theme .dashboard-wrapper .hourly-summary span,
body.blx-dark-theme .dashboard-wrapper .chart-title-v2 small,
body.blx-dark-theme .dashboard-wrapper .no-data-text {
    color: #aebdcd !important;
}

body.blx-dark-theme .dashboard-wrapper .compare-item,
body.blx-dark-theme .dashboard-wrapper .hourly-panel .svg-container {
    border-color: #3b4a5f !important;
}

body.blx-dark-theme .dashboard-wrapper .hourly-summary > div,
body.blx-dark-theme .dashboard-wrapper .progress {
    background: #182235 !important;
    border-color: #3b4a5f !important;
}

body.blx-dark-theme .dashboard-wrapper svg text {
    fill: #cbd5e1 !important;
}

body.blx-dark-theme .dashboard-wrapper svg line,
body.blx-dark-theme .dashboard-wrapper svg .grid-line {
    stroke: #3b4a5f !important;
}

/* Register Workstation company list and details dialog. */
body.blx-dark-theme .company-table-wrap {
    background: #182235 !important;
    border-color: #3b4a5f !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18) !important;
}

body.blx-dark-theme .company-table-wrap,
body.blx-dark-theme .company-table-wrap + *,
body.blx-dark-theme .company-table-wrap #companyTable,
body.blx-dark-theme .company-table-wrap #companyTable tbody {
    background-color: #182235 !important;
}

body.blx-dark-theme .page-content .portlet:has(.company-table-wrap) > .portlet-body {
    background: #182235 !important;
}

.company-table-wrap #companyTable {
    table-layout: fixed;
}

.company-table-wrap #companyTable th:first-child,
.company-table-wrap #companyTable td:first-child { width: 55px; }
.company-table-wrap #companyTable th:nth-child(2),
.company-table-wrap #companyTable td:nth-child(2) { width: 150px; }
.company-table-wrap #companyTable th:nth-child(3),
.company-table-wrap #companyTable td:nth-child(3) { width: 110px; }
.company-table-wrap #companyTable th:nth-child(4),
.company-table-wrap #companyTable td:nth-child(4) { width: 120px; }
.company-table-wrap #companyTable th:nth-child(5),
.company-table-wrap #companyTable td:nth-child(5) { width: 210px; }
.company-table-wrap #companyTable th:nth-child(6),
.company-table-wrap #companyTable td:nth-child(6) { width: 120px; }
.company-table-wrap #companyTable th:nth-child(7),
.company-table-wrap #companyTable td:nth-child(7) { width: 180px; }
.company-table-wrap #companyTable th:last-child,
.company-table-wrap #companyTable td:last-child { min-width: 220px; width: 220px; }

.company-table-wrap #companyTable tbody td {
    overflow-wrap: anywhere;
}

.company-table-wrap #companyTable td:last-child {
    overflow-wrap: normal;
}

.company-table-wrap #companyTable .btn.btn-sm,
.company-table-wrap #companyTable a.btn.btn-sm {
    font-size: 11px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
}

body.blx-dark-theme .company-table-wrap #companyTable thead,
body.blx-dark-theme .company-table-wrap #companyTable thead th {
    background: #263244 !important;
    border-color: #475569 !important;
    color: #f8fafc !important;
}

body.blx-dark-theme .company-table-wrap #companyTable tbody tr,
body.blx-dark-theme .company-table-wrap #companyTable tbody td {
    background: #1f2937 !important;
    border-color: #3b4a5f !important;
    color: #dbe5f1 !important;
}

body.blx-dark-theme .company-table-wrap #companyTable tbody tr:hover,
body.blx-dark-theme .company-table-wrap #companyTable tbody tr:hover td {
    background: #303b59 !important;
    border-color: #526176 !important;
}

body.blx-dark-theme .company-table-wrap #companyTable tbody td:first-child,
body.blx-dark-theme .company-table-wrap #companyTable tbody td:nth-child(2),
body.blx-dark-theme .company-table-wrap #companyTable .text-muted {
    color: #dbe5f1 !important;
}

body.blx-dark-theme .company-table-wrap::-webkit-scrollbar-track {
    background: #111827 !important;
}

body.blx-dark-theme .company-table-wrap::-webkit-scrollbar-thumb {
    background: #526176 !important;
}

body.blx-dark-theme .company-modal-box,
body.blx-dark-theme .company-modal-body {
    background: #1f2937 !important;
    border-color: #3b4a5f !important;
    color: #e5e7eb !important;
}

body.blx-dark-theme .company-modal-field,
body.blx-dark-theme .company-modal-field:nth-child(3n+2),
body.blx-dark-theme .company-modal-field:nth-child(3n+3),
body.blx-dark-theme .company-modal-feature-item {
    background: #182235 !important;
    border-color: #3b4a5f !important;
}

body.blx-dark-theme .company-modal-detail-label,
body.blx-dark-theme .company-modal-feature-label {
    color: #aebdcd !important;
}

body.blx-dark-theme .company-modal-detail-value,
body.blx-dark-theme .company-modal-section {
    border-color: #3b4a5f !important;
    color: #f1f5f9 !important;
}

/* Runtime compatibility for legacy/custom pages with hard-coded light colors. */
body.blx-dark-theme .page-content .blx-auto-dark-surface {
    background-color: #1f2937 !important;
    background-image: none !important;
    border-color: #3b4a5f !important;
    color: #e5e7eb !important;
}

body.blx-dark-theme .page-content thead.blx-auto-dark-surface,
body.blx-dark-theme .page-content th.blx-auto-dark-surface,
body.blx-dark-theme .page-content header.blx-auto-dark-surface,
body.blx-dark-theme .page-content [class*="header"].blx-auto-dark-surface {
    background-color: #263244 !important;
}

body.blx-dark-theme .page-content tr.blx-auto-dark-surface:hover,
body.blx-dark-theme .page-content tr.blx-auto-dark-surface:hover > td {
    background-color: #303b59 !important;
}

body.blx-dark-theme .page-content .blx-auto-dark-text {
    color: #e5e7eb !important;
}

/* Location Config has high-specificity page-local text colors. */
body.blx-dark-theme .location-config-page,
body.blx-dark-theme .location-config-table > tbody > tr > td,
body.blx-dark-theme .location-config-table .location-config-company,
body.blx-dark-theme .location-config-table .location-config-index {
    color: #f1f5f9 !important;
}

body.blx-dark-theme .location-config-table .location-config-muted {
    color: #aebdcd !important;
}

body.blx-dark-theme .location-config-table > tbody > tr,
body.blx-dark-theme .location-config-table > tbody > tr > td {
    background: #1f2937 !important;
    border-color: #3b4a5f !important;
}

body.blx-dark-theme .location-config-table > tbody > tr:hover,
body.blx-dark-theme .location-config-table > tbody > tr:hover > td {
    background: #303b59 !important;
}

body.blx-dark-theme .location-config-action.copy {
    background: #334155 !important;
    border-color: #64748b !important;
    color: #f8fafc !important;
}

body.blx-dark-theme .location-config-action.copy:hover,
body.blx-dark-theme .location-config-action.copy:focus {
    background: #475569 !important;
    border-color: #94a3b8 !important;
    color: #ffffff !important;
}

body.blx-dark-theme .location-config-pager > li > a,
body.blx-dark-theme .location-config-pager > li > span,
body.blx-dark-theme .pagination > li > a,
body.blx-dark-theme .pagination > li > span {
    background: #263244 !important;
    border-color: #526176 !important;
    color: #dbe5f1 !important;
}

body.blx-dark-theme .location-config-pager > li > a:hover,
body.blx-dark-theme .location-config-pager > li > a:focus,
body.blx-dark-theme .pagination > li > a:hover,
body.blx-dark-theme .pagination > li > a:focus {
    background: #303b59 !important;
    border-color: #818cf8 !important;
    color: #ffffff !important;
}

body.blx-dark-theme .location-config-pager > .active > a,
body.blx-dark-theme .location-config-pager > .active > span,
body.blx-dark-theme .pagination > .active > a,
body.blx-dark-theme .pagination > .active > span {
    background: #4338ca !important;
    border-color: #6366f1 !important;
    color: #ffffff !important;
}

body.blx-dark-theme .location-config-pager > .disabled > a,
body.blx-dark-theme .location-config-pager > .disabled > span,
body.blx-dark-theme .pagination > .disabled > a,
body.blx-dark-theme .pagination > .disabled > span {
    background: #1f2937 !important;
    border-color: #3b4a5f !important;
    color: #718096 !important;
    cursor: not-allowed;
    opacity: .8;
}

/* Code Configuration grid, including edit/new/disabled row states. */
body.blx-dark-theme .code-config-table-wrap,
body.blx-dark-theme .code-config-table-scroll,
body.blx-dark-theme .code-config-table-scroll table,
body.blx-dark-theme .code-config-table-scroll tbody {
    background: #182235 !important;
    border-color: #3b4a5f !important;
}

body.blx-dark-theme .code-config-table-scroll tbody tr,
body.blx-dark-theme .code-config-table-scroll tbody tr:nth-child(odd),
body.blx-dark-theme .code-config-table-scroll tbody tr:nth-child(even),
body.blx-dark-theme .code-config-table-scroll tbody td,
body.blx-dark-theme .code-config-table-scroll tbody td.fixed-col-1,
body.blx-dark-theme .code-config-table-scroll tbody td.fixed-col-2,
body.blx-dark-theme .code-config-table-scroll tbody td.fixed-col-3,
body.blx-dark-theme .code-config-table-scroll tbody td.fixed-col-4 {
    background: #1f2937 !important;
    border-color: #475569 !important;
    color: #f1f5f9 !important;
}

body.blx-dark-theme .code-config-table-scroll tbody tr:hover td,
body.blx-dark-theme .code-config-table-scroll tbody tr:hover td.fixed-col-1,
body.blx-dark-theme .code-config-table-scroll tbody tr:hover td.fixed-col-2,
body.blx-dark-theme .code-config-table-scroll tbody tr:hover td.fixed-col-3,
body.blx-dark-theme .code-config-table-scroll tbody tr:hover td.fixed-col-4 {
    background: #303b59 !important;
}

body.blx-dark-theme .code-config-table-scroll tbody tr.code-config-row-disabled td,
body.blx-dark-theme .code-config-table-scroll tbody tr.code-config-row-disabled td.fixed-col-1,
body.blx-dark-theme .code-config-table-scroll tbody tr.code-config-row-disabled td.fixed-col-2,
body.blx-dark-theme .code-config-table-scroll tbody tr.code-config-row-disabled td.fixed-col-3,
body.blx-dark-theme .code-config-table-scroll tbody tr.code-config-row-disabled td.fixed-col-4,
body.blx-dark-theme .code-config-table-scroll td.cell-readonly {
    background: #263244 !important;
    color: #94a3b8 !important;
    opacity: 1;
}

body.blx-dark-theme .code-config-table-scroll tbody tr.code-config-row-new td,
body.blx-dark-theme .code-config-table-scroll tbody tr.code-config-row-new td.fixed-col-1,
body.blx-dark-theme .code-config-table-scroll tbody tr.code-config-row-new td.fixed-col-2,
body.blx-dark-theme .code-config-table-scroll tbody tr.code-config-row-new td.fixed-col-3,
body.blx-dark-theme .code-config-table-scroll tbody tr.code-config-row-new td.fixed-col-4 {
    background: #173b35 !important;
    color: #d1fae5 !important;
}

body.blx-dark-theme .code-config-table-scroll td.cell-editing,
body.blx-dark-theme .code-config-table-scroll td.cell-editing.fixed-col-1,
body.blx-dark-theme .code-config-table-scroll td.cell-editing.fixed-col-2,
body.blx-dark-theme .code-config-table-scroll td.cell-editing.fixed-col-3,
body.blx-dark-theme .code-config-table-scroll td.cell-editing.fixed-col-4 {
    background: #303b59 !important;
    color: #ffffff !important;
}

body.blx-dark-theme .code-config-table-scroll .cell-edit-input {
    background: #111827 !important;
    border-color: #818cf8 !important;
    color: #ffffff !important;
}

@media (max-width: 767px) {
    .blx-theme-toggle { height: 30px !important; min-height: 30px !important; min-width: 60px !important; width: 60px !important; }
    .blx-theme-option { flex-basis: 22px !important; height: 22px !important; width: 22px !important; }
}

/* Native and plugin form controls. */
textarea.form-control { min-height: 92px; resize: vertical; }
select.form-control { cursor: pointer; }
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control { background: #f1f5f9; color: #64748b; }
input[type="checkbox"],
input[type="radio"] { accent-color: var(--blx-primary); }
.mt-checkbox, .mt-radio, .checkbox, .radio { color: var(--blx-text); font-size: 13px; }
.mt-checkbox > span, .mt-radio > span { border-color: #aebdcd !important; }
.mt-checkbox > input:checked ~ span,
.mt-radio > input:checked ~ span { border-color: var(--blx-primary) !important; }
.bootstrap-switch { border-color: #cbd6e2 !important; border-radius: 999px !important; box-shadow: none !important; font-family: var(--blx-font); }
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success { background: var(--blx-primary) !important; }

/* Consistent icons within actions. */
.btn > i { font-size: 1em; margin-right: 5px; }
.btn-icon-only > i,
.table .btn > i:only-child { margin-right: 0; }
.btn-circle { border-radius: 999px !important; }
.fa, .glyphicon, [class^="icon-"], [class*=" icon-"] { line-height: 1; }

/* Select2 dropdowns. */
.select2-container { font-family: var(--blx-font); }
.select2-container .select2-choice,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple { background: #fff !important; border: 1px solid #cbd6e2 !important; border-radius: var(--blx-control-radius) !important; box-shadow: none !important; min-height: 36px; }
.select2-container .select2-chosen,
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--blx-text); line-height: 34px; }
.select2-dropdown, .select2-drop { border: 1px solid var(--blx-border) !important; border-radius: var(--blx-control-radius) !important; box-shadow: 0 8px 24px rgba(31, 42, 61, .12) !important; font-family: var(--blx-font); }
.select2-results__option { font-size: 13px; padding: 7px 10px; }
.select2-results__option--highlighted,
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: #eef2ff !important; color: var(--blx-primary) !important; }

/* Kendo grids and controls. */
.k-widget, .k-input, .k-textbox, .k-dropdown, .k-grid, .k-window { font-family: var(--blx-font) !important; font-size: 13px !important; }
.k-grid, .k-window, .k-popup { border-color: var(--blx-border) !important; border-radius: var(--blx-radius) !important; box-shadow: 0 8px 24px rgba(31, 42, 61, .10) !important; overflow: hidden; }
.k-grid-header, .k-grid-header-wrap, .k-grid-header th.k-header { background: #f8fbfe !important; border-color: #dce7f2 !important; color: #172033 !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase; }
.k-grid td { border-color: #edf1f5 !important; padding: 9px 12px !important; }
.k-grid tr:hover { background: #eef2ff !important; }
.k-grid .k-alt { background: #f8fbfe !important; }
.k-button { border-radius: var(--blx-control-radius) !important; font-family: var(--blx-font) !important; font-size: 12px !important; font-weight: 600 !important; }
.k-primary, .k-button.k-primary { background: var(--blx-primary) !important; border-color: var(--blx-primary) !important; color: #fff !important; }
.k-pager-wrap { background: #fff !important; border-color: var(--blx-border-soft) !important; }

/* Dialogs, popups and date pickers. */
.modal-backdrop.in { opacity: .38; }
.modal-header .close { color: #64748b; font-size: 24px; margin-top: 2px; opacity: .8; }
.popover { border: 1px solid var(--blx-border); border-radius: var(--blx-control-radius); box-shadow: 0 8px 24px rgba(31, 42, 61, .12); font-family: var(--blx-font); }
.tooltip { font-size: 12px; }
.datepicker, .ui-datepicker { border: 1px solid var(--blx-border) !important; border-radius: var(--blx-control-radius) !important; box-shadow: 0 8px 24px rgba(31, 42, 61, .12) !important; font-family: var(--blx-font); padding: 7px; }
.sweet-alert, .swal-modal { border-radius: var(--blx-radius) !important; box-shadow: 0 12px 36px rgba(31, 42, 61, .16) !important; font-family: var(--blx-font) !important; }
.sweet-alert h2, .swal-title { color: #172033 !important; font-size: 20px !important; font-weight: 600 !important; }
.sweet-alert button, .swal-button { background: var(--blx-primary) !important; border-radius: var(--blx-control-radius) !important; font-family: var(--blx-font) !important; font-size: 13px !important; font-weight: 600 !important; }
.sweet-alert button.cancel, .swal-button--cancel { background: #ffffff !important; border: 1px solid #cbd6e2 !important; color: #334155 !important; }
.sweet-alert button.cancel:hover, .swal-button--cancel:hover { background: #f8fafd !important; border-color: #cbd6e2 !important; color: #1e293b !important; }

/* Shared card conventions used by newer and legacy pages. */
.card, .modern-card, .config-card, .dashboard-card, .widget-thumb { border: 1px solid var(--blx-border) !important; border-radius: var(--blx-radius) !important; box-shadow: 0 4px 12px rgba(42, 62, 90, .06) !important; }
.card-header, .modern-card-header, .card-header-modern { border-bottom: 1px solid var(--blx-border-soft) !important; padding: 12px 14px; }
.card-body, .modern-card-body { padding: 14px; }

/* Dark theme: Code Configuration relation editor and Select2 popup.
   Keep these rules after the shared light plugin rules so an opened popup
   cannot fall back to white search/highlight surfaces. */
body.blx-dark-theme .select2-drop,
body.blx-dark-theme .select2-dropdown,
body.blx-dark-theme .select2-results,
body.blx-dark-theme .select2-results__options {
    background: #111827 !important;
    border-color: #475569 !important;
    color: #f1f5f9 !important;
}

body.blx-dark-theme .select2-search,
body.blx-dark-theme .select2-search--dropdown {
    background: #182235 !important;
    border-color: #475569 !important;
}

body.blx-dark-theme .select2-search input,
body.blx-dark-theme .select2-search__field {
    background: #111827 !important;
    border: 1px solid #526176 !important;
    box-shadow: none !important;
    color: #ffffff !important;
}

body.blx-dark-theme .select2-results li,
body.blx-dark-theme .select2-results .select2-result-label,
body.blx-dark-theme .select2-results__option {
    background: #111827 !important;
    color: #f1f5f9 !important;
}

body.blx-dark-theme .select2-results .select2-highlighted,
body.blx-dark-theme .select2-results li.select2-highlighted,
body.blx-dark-theme .select2-results__option--highlighted,
body.blx-dark-theme .select2-container--default .select2-results__option--highlighted[aria-selected],
body.blx-dark-theme .select2-results__option[aria-selected="true"] {
    background: #303b59 !important;
    color: #ffffff !important;
}

body.blx-dark-theme .select2-results .select2-disabled,
body.blx-dark-theme .select2-results__option[aria-disabled="true"] {
    background: #1f2937 !important;
    color: #94a3b8 !important;
}

body.blx-dark-theme .select2-results::-webkit-scrollbar-track,
body.blx-dark-theme .select2-results__options::-webkit-scrollbar-track {
    background: #111827;
}

body.blx-dark-theme .select2-results::-webkit-scrollbar-thumb,
body.blx-dark-theme .select2-results__options::-webkit-scrollbar-thumb {
    background: #526176;
}

body.blx-dark-theme .code-relation-panel,
body.blx-dark-theme .code-relation-child-row,
body.blx-dark-theme .code-relation-table-wrap,
body.blx-dark-theme .code-relation-table,
body.blx-dark-theme .code-relation-table tbody {
    background: #1f2937 !important;
    border-color: #475569 !important;
    color: #f1f5f9 !important;
}

body.blx-dark-theme .code-relation-panel label,
body.blx-dark-theme .code-relation-empty {
    color: #cbd5e1 !important;
}

body.blx-dark-theme .code-relation-table th,
body.blx-dark-theme .code-relation-table thead th {
    background: #263244 !important;
    border-color: #475569 !important;
    color: #ffffff !important;
}

body.blx-dark-theme .code-relation-table td,
body.blx-dark-theme .code-relation-table tbody tr:nth-child(odd) td,
body.blx-dark-theme .code-relation-table tbody tr:nth-child(even) td {
    background: #1f2937 !important;
    border-color: #475569 !important;
    color: #f1f5f9 !important;
}

body.blx-dark-theme .code-relation-table tbody tr:hover td,
body.blx-dark-theme .code-relation-table tbody tr.relation-row-new td {
    background: #263b4f !important;
    color: #ffffff !important;
}

body.blx-dark-theme .code-relation-input {
    background: #111827 !important;
    border-color: #526176 !important;
    color: #ffffff !important;
}

body.blx-dark-theme .code-relation-input:focus {
    border-color: #818cf8 !important;
    box-shadow: 0 0 0 2px rgba(129, 140, 248, .2) !important;
}

/* Dark theme: Product Group list and editor. */
body.blx-dark-theme .group-workspace,
body.blx-dark-theme .group-edit-workspace,
body.blx-dark-theme .group-board,
body.blx-dark-theme .group-edit-board {
    background: #111827 !important;
    border-color: #475569 !important;
    color: #f1f5f9 !important;
}

body.blx-dark-theme .group-hero,
body.blx-dark-theme .group-edit-hero,
body.blx-dark-theme .group-panel,
body.blx-dark-theme .group-edit-panel,
body.blx-dark-theme .group-panel__head,
body.blx-dark-theme .group-edit-panel__head,
body.blx-dark-theme .group-panel__body,
body.blx-dark-theme .group-edit-panel__body {
    background: #1f2937 !important;
    border-color: #475569 !important;
    color: #f1f5f9 !important;
}

body.blx-dark-theme .group-hero h2,
body.blx-dark-theme .group-edit-hero h2,
body.blx-dark-theme .group-panel__title,
body.blx-dark-theme .group-edit-panel__title,
body.blx-dark-theme .group-field label,
body.blx-dark-theme .group-edit-field label,
body.blx-dark-theme .group-card__name {
    color: #ffffff !important;
}

body.blx-dark-theme .group-hero__meta,
body.blx-dark-theme .group-edit-hero__meta,
body.blx-dark-theme .group-panel__hint,
body.blx-dark-theme .group-edit-panel__hint,
body.blx-dark-theme .group-card__meta,
body.blx-dark-theme .group-empty {
    color: #aebed2 !important;
}

body.blx-dark-theme .group-card {
    background: #1f2937 !important;
    border-color: #475569 !important;
    box-shadow: none !important;
}

body.blx-dark-theme .group-card:hover {
    background: #263244 !important;
    border-color: #64748b !important;
}

body.blx-dark-theme .group-card__thumb {
    background: #172554 !important;
    border-color: #3b5ccc !important;
    color: #bfdbfe !important;
}

body.blx-dark-theme .group-icon-btn {
    color: #e2e8f0 !important;
}

body.blx-dark-theme .group-icon-btn:hover {
    background: #303b59 !important;
    color: #ffffff !important;
}

body.blx-dark-theme .group-field .form-control,
body.blx-dark-theme .group-edit-field .form-control {
    background: #111827 !important;
    border-color: #526176 !important;
    color: #ffffff !important;
}

body.blx-dark-theme .group-field .form-control::placeholder,
body.blx-dark-theme .group-edit-field .form-control::placeholder {
    color: #93a4ba !important;
    opacity: 1;
}

/* Application-wide typography standard.
   This is intentionally last so legacy page-local uppercase and font rules
   cannot create a different heading or label style. */
body,
button,
input,
select,
textarea,
.page-content,
.modal,
.popover,
.tooltip,
.table,
.nav,
.dropdown-menu {
    font-family: var(--blx-font) !important;
}

.page-content h1,
.page-content .page-title,
.page-content .group-hero h2,
.page-content .group-edit-hero h2 {
    font-family: var(--blx-font) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    line-height: 1.35 !important;
    text-transform: capitalize !important;
}

.page-content h2,
.page-content .portlet > .portlet-title > .caption,
.page-content .portlet.box > .portlet-title > .caption,
.page-content .panel-title,
.page-content .card-title,
.page-content .modal-title,
.modal .modal-title {
    font-family: var(--blx-font) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
    text-transform: capitalize !important;
}

.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6,
.page-content .group-panel__title,
.page-content .group-edit-panel__title,
.page-content .card-subtitle,
.page-content .section-title {
    font-family: var(--blx-font) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
    text-transform: capitalize !important;
}

.page-content label,
.page-content .control-label,
.modal label,
.modal .control-label,
.popover label {
    font-family: var(--blx-font) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
    text-transform: capitalize !important;
}

.page-content table thead th,
.page-content .table > thead > tr > th,
.page-content .k-grid-header th.k-header,
.page-content .dataTables_wrapper table thead th {
    font-family: var(--blx-font) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
    text-transform: capitalize !important;
}

/* Table actions: use clean icons instead of coloured button boxes. */
.page-content table tbody td:last-child .btn:has(i),
.page-content table tbody td:last-child a:has(i),
.page-content table tbody td.actions .btn:has(i),
.page-content table tbody td.actions a:has(i),
.page-content .action-buttons .btn:has(i),
.page-content .action-buttons a:has(i),
.page-content .group-card__actions .group-icon-btn {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: #4338ca !important;
    display: inline-flex !important;
    font-size: 0 !important;
    height: 30px !important;
    justify-content: center !important;
    min-height: 30px !important;
    min-width: 30px !important;
    padding: 0 !important;
    width: 30px !important;
}

.page-content table tbody td:last-child .btn:has(i) i,
.page-content table tbody td:last-child a:has(i) i,
.page-content table tbody td.actions .btn:has(i) i,
.page-content table tbody td.actions a:has(i) i,
.page-content .action-buttons .btn:has(i) i,
.page-content .action-buttons a:has(i) i,
.page-content .group-card__actions .group-icon-btn i {
    color: inherit !important;
    font-size: 14px !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.page-content table tbody td:last-child .btn:has(i):hover,
.page-content table tbody td:last-child a:has(i):hover,
.page-content table tbody td.actions .btn:has(i):hover,
.page-content table tbody td.actions a:has(i):hover,
.page-content .action-buttons .btn:has(i):hover,
.page-content .action-buttons a:has(i):hover,
.page-content .group-card__actions .group-icon-btn:hover {
    background: rgba(67, 56, 202, .09) !important;
    color: #3730a3 !important;
}

.page-content table tbody td:last-child .btn-success:has(i),
.page-content table tbody td:last-child .green:has(i),
.page-content table tbody td.actions .btn-success:has(i),
.page-content table tbody td.actions .green:has(i) {
    color: #15803d !important;
}

.page-content table tbody td:last-child .btn-danger:has(i),
.page-content table tbody td:last-child .red:has(i),
.page-content table tbody td.actions .btn-danger:has(i),
.page-content table tbody td.actions .red:has(i) {
    color: #dc2626 !important;
}

body.blx-dark-theme .page-content table tbody td:last-child .btn:has(i),
body.blx-dark-theme .page-content table tbody td:last-child a:has(i),
body.blx-dark-theme .page-content table tbody td.actions .btn:has(i),
body.blx-dark-theme .page-content table tbody td.actions a:has(i),
body.blx-dark-theme .page-content .action-buttons .btn:has(i),
body.blx-dark-theme .page-content .action-buttons a:has(i),
body.blx-dark-theme .page-content .group-card__actions .group-icon-btn {
    background: transparent !important;
    color: #a5b4fc !important;
}

body.blx-dark-theme .page-content table tbody td:last-child .btn:has(i):hover,
body.blx-dark-theme .page-content table tbody td:last-child a:has(i):hover,
body.blx-dark-theme .page-content table tbody td.actions .btn:has(i):hover,
body.blx-dark-theme .page-content table tbody td.actions a:has(i):hover,
body.blx-dark-theme .page-content .action-buttons .btn:has(i):hover,
body.blx-dark-theme .page-content .action-buttons a:has(i):hover,
body.blx-dark-theme .page-content .group-card__actions .group-icon-btn:hover {
    background: rgba(165, 180, 252, .12) !important;
    color: #c7d2fe !important;
}

/* Final icon-action sizing and contrast. */
.page-content table tbody td:last-child,
.page-content table tbody td.actions,
.page-content table tbody td.dept-actions {
    white-space: nowrap !important;
}

.page-content table tbody td:last-child .btn:has(i),
.page-content table tbody td:last-child a:has(i),
.page-content table tbody td.actions .btn:has(i),
.page-content table tbody td.actions a:has(i),
.page-content table tbody td.dept-actions .btn:has(i),
.page-content table tbody td.dept-actions a:has(i) {
    background: transparent !important;
    border: 0 !important;
    height: 32px !important;
    margin: 0 3px !important;
    min-height: 32px !important;
    min-width: 32px !important;
    width: 32px !important;
}

.page-content table tbody td:last-child .btn:has(i) i,
.page-content table tbody td:last-child a:has(i) i,
.page-content table tbody td.actions .btn:has(i) i,
.page-content table tbody td.actions a:has(i) i,
.page-content table tbody td.dept-actions .btn:has(i) i,
.page-content table tbody td.dept-actions a:has(i) i {
    font-size: 16px !important;
}

.page-content table tbody td:last-child .btn:has(i):hover,
.page-content table tbody td:last-child a:has(i):hover,
.page-content table tbody td.actions .btn:has(i):hover,
.page-content table tbody td.actions a:has(i):hover,
.page-content table tbody td.dept-actions .btn:has(i):hover,
.page-content table tbody td.dept-actions a:has(i):hover,
body.blx-dark-theme .page-content table tbody td:last-child .btn:has(i):hover,
body.blx-dark-theme .page-content table tbody td:last-child a:has(i):hover,
body.blx-dark-theme .page-content table tbody td.actions .btn:has(i):hover,
body.blx-dark-theme .page-content table tbody td.actions a:has(i):hover {
    background: transparent !important;
    filter: brightness(1.25);
}

.page-content table tbody td .green-jungle:has(i),
.page-content table tbody td .green:has(i),
.page-content table tbody td .btn-success:has(i),
body.blx-dark-theme .page-content table tbody td .green-jungle:has(i),
body.blx-dark-theme .page-content table tbody td .green:has(i),
body.blx-dark-theme .page-content table tbody td .btn-success:has(i) {
    color: #22c55e !important;
}

.page-content table tbody td .blue:has(i),
.page-content table tbody td .btn-primary:has(i),
body.blx-dark-theme .page-content table tbody td .blue:has(i),
body.blx-dark-theme .page-content table tbody td .btn-primary:has(i) {
    color: #818cf8 !important;
}

.page-content table tbody td .red:has(i),
.page-content table tbody td .btn-danger:has(i),
body.blx-dark-theme .page-content table tbody td .red:has(i),
body.blx-dark-theme .page-content table tbody td .btn-danger:has(i) {
    color: #f87171 !important;
}

/* All table action icons use one neutral gray colour. */
.page-content table tbody td:last-child .btn:has(i),
.page-content table tbody td:last-child a:has(i),
.page-content table tbody td.actions .btn:has(i),
.page-content table tbody td.actions a:has(i),
.page-content table tbody td.dept-actions .btn:has(i),
.page-content table tbody td.dept-actions a:has(i),
.page-content .action-buttons .btn:has(i),
.page-content .action-buttons a:has(i),
.page-content .group-card__actions .group-icon-btn {
    color: #64748b !important;
}

body.blx-dark-theme .page-content table tbody td:last-child .btn:has(i),
body.blx-dark-theme .page-content table tbody td:last-child a:has(i),
body.blx-dark-theme .page-content table tbody td.actions .btn:has(i),
body.blx-dark-theme .page-content table tbody td.actions a:has(i),
body.blx-dark-theme .page-content table tbody td.dept-actions .btn:has(i),
body.blx-dark-theme .page-content table tbody td.dept-actions a:has(i),
body.blx-dark-theme .page-content .action-buttons .btn:has(i),
body.blx-dark-theme .page-content .action-buttons a:has(i),
body.blx-dark-theme .page-content .group-card__actions .group-icon-btn {
    color: #cbd5e1 !important;
}

.page-content table tbody td:last-child .btn:has(i):hover,
.page-content table tbody td:last-child a:has(i):hover,
.page-content table tbody td.actions .btn:has(i):hover,
.page-content table tbody td.actions a:has(i):hover,
.page-content table tbody td.dept-actions .btn:has(i):hover,
.page-content table tbody td.dept-actions a:has(i):hover,
.page-content .action-buttons .btn:has(i):hover,
.page-content .action-buttons a:has(i):hover,
.page-content .group-card__actions .group-icon-btn:hover {
    color: #475569 !important;
}

body.blx-dark-theme .page-content table tbody td:last-child .btn:has(i):hover,
body.blx-dark-theme .page-content table tbody td:last-child a:has(i):hover,
body.blx-dark-theme .page-content table tbody td.actions .btn:has(i):hover,
body.blx-dark-theme .page-content table tbody td.actions a:has(i):hover,
body.blx-dark-theme .page-content table tbody td.dept-actions .btn:has(i):hover,
body.blx-dark-theme .page-content table tbody td.dept-actions a:has(i):hover,
body.blx-dark-theme .page-content .action-buttons .btn:has(i):hover,
body.blx-dark-theme .page-content .action-buttons a:has(i):hover,
body.blx-dark-theme .page-content .group-card__actions .group-icon-btn:hover {
    color: #f1f5f9 !important;
}

/* User Permission: keep selector and search directly below the title. */
.user-permission-page .portlet-title {
    margin-bottom: 0 !important;
}

.user-permission-page .user-permission-body {
    padding: 12px 14px 14px !important;
}

.user-permission-page .user-permission-toolbar {
    align-items: center;
    display: flex;
    margin: 0 -7px !important;
}

.user-permission-page .user-permission-toolbar > [class*="col-"] {
    padding-left: 7px !important;
    padding-right: 7px !important;
}

.user-permission-page .user-permission-toolbar .form-control,
.user-permission-page .user-permission-toolbar .select2-container,
.user-permission-page .user-permission-toolbar .select2-choice,
.user-permission-page .user-permission-toolbar .select2-selection--single {
    margin: 0 !important;
    width: 100% !important;
}

@media (max-width: 767px) {
    .user-permission-page .user-permission-toolbar {
        display: block;
    }

    .user-permission-page .user-permission-toolbar > [class*="col-"] + [class*="col-"] {
        margin-top: 10px;
    }
}

/* One header surface for legacy and modern pages. */
body:not(.blx-dark-theme) .page-content .portlet > .portlet-title,
body:not(.blx-dark-theme) .page-content .portlet.box > .portlet-title,
body:not(.blx-dark-theme) .page-content .panel > .panel-heading,
body:not(.blx-dark-theme) .page-content .card-header,
body:not(.blx-dark-theme) .modal-header {
    background: #ffffff !important;
    border-bottom: 1px solid #d8e3ee !important;
    color: #1f2a3d !important;
}

body:not(.blx-dark-theme) .page-content .portlet > .portlet-title > .caption,
body:not(.blx-dark-theme) .page-content .portlet.box > .portlet-title > .caption,
body:not(.blx-dark-theme) .page-content .panel > .panel-heading .panel-title,
body:not(.blx-dark-theme) .page-content .card-header,
body:not(.blx-dark-theme) .modal-header .modal-title {
    color: #1f2a3d !important;
}

body:not(.blx-dark-theme) .page-content .portlet > .portlet-title > .caption > i,
body:not(.blx-dark-theme) .page-content .portlet.box > .portlet-title > .caption > i {
    color: #64748b !important;
}

body.blx-dark-theme .page-content .portlet > .portlet-title,
body.blx-dark-theme .page-content .portlet.box > .portlet-title,
body.blx-dark-theme .page-content .panel > .panel-heading,
body.blx-dark-theme .page-content .card-header,
body.blx-dark-theme .modal-header {
    background: #263244 !important;
    border-bottom-color: #475569 !important;
}

/* Shared responsive safety layer for modern dashboards and legacy forms. */
html,
body,
.page-wrapper,
.page-container,
.page-content-wrapper,
.page-content {
    max-width: 100%;
}

.page-content img,
.page-content video,
.page-content canvas,
.page-content svg {
    max-width: 100%;
}

@media (max-width: 991px) {
    body {
        overflow-x: hidden;
    }

    .page-content-wrapper,
    .page-content-wrapper .page-content {
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .page-content .portlet,
    .page-content .panel,
    .page-content .card,
    .page-content .modern-card,
    .page-content .dashboard-card,
    .page-content .widget-thumb {
        box-sizing: border-box;
        max-width: 100%;
    }

    .page-content .row > [class*="col-"] {
        min-width: 0;
    }

    #sliderform,
    .slide-reveal-overlay + [id] {
        max-width: 100vw !important;
    }
}

@media (max-width: 767px) {
    .page-content-wrapper .page-content {
        min-height: calc(100vh - 50px);
        padding: 10px !important;
    }

    .page-content .portlet,
    .page-content .panel,
    .page-content .card,
    .page-content .modern-card,
    .page-content .dashboard-card {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .page-content .portlet > .portlet-title,
    .page-content .panel > .panel-heading,
    .page-content .card-header,
    .page-content .modern-card-header {
        min-height: 44px;
        padding: 10px 12px !important;
    }

    .page-content .portlet > .portlet-title > .caption,
    .page-content .panel-title,
    .page-content .card-header {
        max-width: 100%;
        white-space: normal;
        word-break: break-word;
    }

    .page-content .portlet > .portlet-title > .actions,
    .page-content .panel-heading > .actions,
    .page-content .card-header > .actions {
        display: flex;
        float: none !important;
        flex-wrap: wrap;
        gap: 6px;
        width: 100%;
        margin-top: 8px;
    }

    .page-content .table-responsive,
    .page-content .dataTables_wrapper,
    .page-content .k-grid,
    .page-content .k-grid-content {
        max-width: 100%;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .page-content table.table:not(.table-fixed) {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .page-content table.table:not(.table-fixed) td,
    .page-content table.table:not(.table-fixed) th {
        white-space: nowrap;
    }

    .page-content .k-grid table {
        min-width: 640px;
    }

    .form-horizontal .control-label {
        padding-top: 0;
        margin-bottom: 6px;
        text-align: left !important;
    }

    .form-control,
    .input-group,
    .select2-container,
    .select2-container.form-control,
    .bootstrap-select,
    .bootstrap-select > .dropdown-toggle {
        max-width: 100% !important;
        width: 100% !important;
    }

    .form-actions,
    .modal-footer {
        display: flex;
        flex-wrap: wrap;
        gap: 7px;
    }

    .form-actions .btn,
    .modal-footer .btn {
        margin: 0 !important;
    }

    .nav-tabs {
        display: flex;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        flex-wrap: nowrap;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .nav-tabs > li {
        float: none;
        flex: 0 0 auto;
    }

    .modal-dialog,
    .modal.container,
    .modal.container-fluid {
        width: auto !important;
        max-width: calc(100vw - 20px) !important;
        margin: 10px !important;
    }

    .modal-body {
        max-height: calc(100vh - 150px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .dropdown-menu,
    .select2-drop,
    .select2-dropdown,
    .datepicker,
    .ui-datepicker {
        max-width: calc(100vw - 20px) !important;
    }

    #sliderform {
        width: 100% !important;
        max-width: 100vw !important;
    }
}

@media (max-width: 480px) {
    .page-content-wrapper .page-content {
        padding: 8px !important;
    }

    .page-content .portlet > .portlet-body,
    .page-content .panel-body,
    .page-content .card-body,
    .page-content .modern-card-body {
        padding: 10px !important;
    }

    .form-actions .btn,
    .modal-footer .btn {
        flex: 1 1 auto;
    }

    .pagination > li > a,
    .pagination > li > span {
        padding: 6px 8px;
    }
}

/* The responsive menu control is unnecessary in the desktop top bar. */
@media (min-width: 992px) {
    .page-header.navbar .menu-toggler.responsive-toggler {
        display: none !important;
    }
}

/* Register Workstation company actions: prevent icon overlap. */
.company-table-wrap #companyTable .company-actions-heading {
    min-width: 96px !important;
    text-align: center !important;
    width: 96px !important;
}

.company-table-wrap #companyTable .company-actions-cell {
    min-width: 96px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    text-align: center !important;
    width: 96px !important;
}

.company-table-wrap #companyTable .company-actions-group {
    align-items: center;
    display: inline-flex;
    gap: 10px;
    justify-content: center;
}

.company-table-wrap #companyTable .company-actions-group .btn,
.company-table-wrap #companyTable .company-actions-group a.btn,
.company-table-wrap #companyTable .company-actions-group .btn-view-location {
    flex: 0 0 32px !important;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
}

/* Login alignment: override legacy global form and button declarations. */
body.blx-login-page .login-container > .login-content.blx-login-content {
    box-sizing: border-box !important;
}

body.blx-login-page .blx-login-heading,
body.blx-login-page .login-form,
body.blx-login-page .blx-login-field,
body.blx-login-page .blx-login-input-wrap {
    box-sizing: border-box !important;
    width: 100% !important;
}

body.blx-login-page .blx-login-heading h2 {
    font-family: var(--blx-font) !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 0 5px !important;
}

body.blx-login-page .blx-login-heading p,
body.blx-login-page .blx-login-eyebrow,
body.blx-login-page .blx-login-field label {
    font-family: var(--blx-font) !important;
}

body.blx-login-page .blx-login-input-wrap > i {
    left: 15px !important;
    margin: 0 !important;
    pointer-events: none;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

body.blx-login-page .blx-login-input-wrap > i.blx-login-eye {
    cursor: pointer !important;
    left: auto !important;
    pointer-events: auto !important;
    right: 15px !important;
}

body.blx-login-page .blx-login-input-wrap > .form-control {
    box-sizing: border-box !important;
    border-radius: 12px !important;
    height: 46px !important;
    line-height: 24px !important;
    margin: 0 !important;
    padding: 10px 44px !important;
    width: 100% !important;
}

body.blx-login-page .blx-login-submit,
body.blx-login-page .login-form .blx-login-submit {
    align-items: center !important;
    background: linear-gradient(135deg, #1677ff, #075ee8) !important;
    border-color: #1265e8 !important;
    color: #ffffff !important;
    display: flex !important;
    height: 50px !important;
    justify-content: center !important;
    margin: 24px 0 0 !important;
    padding: 0 18px !important;
    width: 100% !important;
}

body.blx-login-page .blx-login-submit:hover,
body.blx-login-page .blx-login-submit:focus {
    background: linear-gradient(135deg, #0f6fe9, #064fc7) !important;
    border-color: #064fc7 !important;
    color: #ffffff !important;
}

/* Login-index split layout overrides loaded after the shared theme. */
body.blx-login-page.blx-login-index .blx-login-heading h2 {
    color: #ffffff !important;
    font-size: 31px !important;
}

body.blx-login-page.blx-login-index .login-container > .login-content.blx-login-content {
    align-self: center !important;
    margin: 0 auto !important;
    max-width: 410px !important;
    width: calc(100% - 48px) !important;
}

body.blx-login-page.blx-login-index .blx-login-input-wrap > .form-control {
    background: rgba(255, 255, 255, .20) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    font-size: 13px !important;
    height: 44px !important;
    padding: 9px 42px 9px 14px !important;
}

body.blx-login-page.blx-login-index .blx-login-input-wrap {
    border-radius: 8px !important;
    overflow: hidden !important;
}

body.blx-login-page.blx-login-index .blx-login-submit,
body.blx-login-page.blx-login-index .login-form .blx-login-submit {
    background: #2563eb !important;
    border-color: #2563eb !important;
    border-radius: 5px !important;
    font-size: 13px !important;
    height: 44px !important;
    margin-top: 24px !important;
}

body.blx-login-page.blx-login-index .blx-login-submit:hover,
body.blx-login-page.blx-login-index .blx-login-submit:focus {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
}

@media (max-width: 480px) {
    body.blx-login-page.blx-login-index .blx-login-heading h2 {
        font-size: 26px !important;
    }

}

@media (max-width: 1023px) {
    body.blx-login-page.blx-login-index .login-container > .login-content.blx-login-content {
        align-self: center !important;
        margin: auto 0 0 !important;
        max-width: 420px !important;
        width: 100% !important;
    }

    body.blx-login-page.blx-login-index .blx-login-input-wrap > .form-control,
    body.blx-login-page.blx-login-index .blx-login-submit,
    body.blx-login-page.blx-login-index .login-form .blx-login-submit {
        min-height: 46px !important;
    }
}

/* Authentication feedback integrated with the navy sign-in panel. */
body.blx-login-page.blx-login-index .blx-login-error {
    align-items: center !important;
    background: rgba(127, 29, 29, .30) !important;
    border: 1px solid rgba(254, 202, 202, .42) !important;
    border-left: 3px solid #f87171 !important;
    border-radius: 5px !important;
    box-shadow: 0 5px 14px rgba(3, 34, 66, .12) !important;
    color: #ffffff !important;
    gap: 10px !important;
    margin: 14px 0 0 !important;
    min-height: 44px;
    padding: 10px 13px !important;
}

body.blx-login-page.blx-login-index .blx-login-error i {
    color: #fca5a5 !important;
    flex: 0 0 auto;
    font-size: 14px;
}

body.blx-login-page.blx-login-index .blx-login-error p {
    color: #ffffff !important;
    font-family: var(--blx-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 20px !important;
    margin: 0 !important;
    opacity: 1 !important;
}

/* Change-password screen uses the same authentication control language. */
body.blx-login-page.blx-login-index .blx-change-password .blx-password-fields {
    margin: 0 !important;
}

body.blx-login-page.blx-login-index .blx-change-password .blx-password-fields > [class*="col-"] {
    float: none !important;
    padding: 0 !important;
    width: 100% !important;
}

body.blx-login-page.blx-login-index .blx-change-password .form-control {
    background: rgba(255, 255, 255, .20) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-family: var(--blx-font) !important;
    font-size: 13px !important;
    height: 44px !important;
    margin: 0 0 18px !important;
    padding: 9px 14px !important;
    width: 100% !important;
}

body.blx-login-page.blx-login-index .blx-change-password .form-control::-webkit-input-placeholder {
    color: rgba(255, 255, 255, .82) !important;
}

body.blx-login-page.blx-login-index .blx-change-password .form-control::placeholder {
    color: rgba(255, 255, 255, .82) !important;
    opacity: 1;
}

body.blx-login-page.blx-login-index .blx-change-password .form-control:focus {
    background: rgba(255, 255, 255, .24) !important;
    border-color: rgba(99, 196, 238, .9) !important;
    box-shadow: 0 0 0 3px rgba(41, 157, 207, .2) !important;
}

body.blx-login-page.blx-login-index .blx-password-guidance {
    color: rgba(255, 255, 255, .68) !important;
    font-family: var(--blx-font) !important;
    font-size: 11px !important;
    line-height: 17px !important;
    margin: -2px 0 0 !important;
}

body.blx-login-page.blx-login-index .blx-change-password label.error {
    color: #ffe0e0 !important;
    display: block;
    font-size: 11px !important;
    font-weight: 600;
    line-height: 16px;
    margin: -12px 0 15px !important;
}

body.blx-login-page.blx-login-index .blx-change-password-logout {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 5px;
    color: rgba(255, 255, 255, .88) !important;
    display: flex;
    font-size: 12px;
    font-weight: 600;
    gap: 8px;
    justify-content: center;
    margin-top: 12px;
    min-height: 42px;
    text-decoration: none !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
    width: 100%;
}

body.blx-login-page.blx-login-index .blx-change-password-logout:hover,
body.blx-login-page.blx-login-index .blx-change-password-logout:focus {
    background: rgba(255, 255, 255, .10);
    border-color: rgba(255, 255, 255, .48);
    color: #ffffff !important;
}

@media (max-width: 1023px) {
    body.blx-login-page.blx-login-index .blx-change-password .form-control {
        min-height: 46px !important;
    }
}

/* Full-screen transition shown only during real page navigation. */
.blx-page-loader {
    align-items: center;
    background: #0d457a;
    display: flex;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    inset: 0;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: none;
    visibility: hidden;
    z-index: 2147483000;
}

.blx-page-loader.is-active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.blx-page-loader-content {
    align-items: center;
    display: flex;
    flex-direction: column;
    transform: translateY(-8px);
}

.blx-page-loader-mark {
    display: block;
    height: 55px;
    overflow: hidden;
    position: relative;
    width: 55px;
}

.blx-page-loader-mark img {
    height: auto;
    left: 0;
    max-width: none !important;
    position: absolute;
    top: 0;
    width: 255px;
}

.blx-page-loader-dots {
    display: flex;
    gap: 5px;
    margin-top: 13px;
    transform: translateX(8px);
}

.blx-page-loader-dots i {
    animation: blx-loader-pulse 1s ease-in-out infinite;
    background: #1677d2;
    border-radius: 50%;
    display: block;
    height: 8px;
    width: 8px;
}

.blx-page-loader-dots i:nth-child(2) {
    animation-delay: .14s;
    background: #2f80ed;
}

.blx-page-loader-dots i:nth-child(3) {
    animation-delay: .28s;
    background: #78b7f5;
}

@keyframes blx-loader-pulse {
    0%, 70%, 100% { opacity: .34; transform: scale(.78); }
    35% { opacity: 1; transform: scale(1.12); }
}

@media (prefers-reduced-motion: reduce) {
    .blx-page-loader,
    .blx-page-loader-dots i {
        animation: none !important;
        transition: none !important;
    }

    .blx-page-loader-dots i { opacity: .8; transform: none; }
}

@media (max-width: 480px) {
    body.blx-login-page.blx-login-index .login-container > .login-content.blx-login-content {
        max-width: 100% !important;
    }
}

/* Company selection uses the same compact controls as sign-in. */
body.blx-login-page.blx-login-index .blx-company-selection .blx-login-select-wrap > select.form-control,
body.blx-login-page.blx-login-index .blx-company-selection .select2-container .select2-selection--single,
body.blx-login-page.blx-login-index .blx-company-selection .select2-container .select2-choice {
    background: rgba(255, 255, 255, .17) !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    color: #ffffff !important;
    height: 44px !important;
    min-height: 44px !important;
    padding-left: 4px !important;
}

body.blx-login-page.blx-login-index .blx-company-selection .select2-container .select2-selection__rendered,
body.blx-login-page.blx-login-index .blx-company-selection .select2-container .select2-chosen {
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 42px !important;
    padding-left: 10px !important;
}

body.blx-login-page.blx-login-index .blx-company-selection .select2-container .select2-selection__arrow,
body.blx-login-page.blx-login-index .blx-company-selection .select2-container .select2-arrow {
    height: 42px !important;
}

body.blx-login-page.blx-login-index .blx-company-selection .select2-container .select2-selection__arrow b {
    border-top-color: rgba(255, 255, 255, .8) !important;
}

body.blx-login-page.blx-login-index .blx-company-selection .select2-container--open .select2-selection--single,
body.blx-login-page.blx-login-index .blx-company-selection .select2-container-active .select2-choice {
    background: rgba(255, 255, 255, .22) !important;
    border-color: rgba(99, 196, 238, .9) !important;
    box-shadow: 0 0 0 3px rgba(41, 157, 207, .2) !important;
}

@media (max-width: 1023px) {
    body.blx-login-page.blx-login-index .blx-company-selection .blx-login-select-wrap > select.form-control,
    body.blx-login-page.blx-login-index .blx-company-selection .select2-container .select2-selection--single,
    body.blx-login-page.blx-login-index .blx-company-selection .select2-container .select2-choice {
        height: 46px !important;
        min-height: 46px !important;
    }

    body.blx-login-page.blx-login-index .blx-company-selection .select2-container .select2-selection__rendered,
    body.blx-login-page.blx-login-index .blx-company-selection .select2-container .select2-chosen,
    body.blx-login-page.blx-login-index .blx-company-selection .select2-container .select2-selection__arrow,
    body.blx-login-page.blx-login-index .blx-company-selection .select2-container .select2-arrow {
        line-height: 44px !important;
        height: 44px !important;
    }
}
/* Inventory transaction lines expose quantity as the one directly editable value. */
.inventory-line-qty,
.k-grid td.inventory-qty-cell {
    box-sizing: border-box;
    cursor: text;
    font-weight: 600;
    min-width: 88px;
}

.k-grid td.inventory-qty-cell {
    overflow: visible;
    padding: 8px 10px !important;
}

.inventory-line-qty {
    background: #fff;
    border-radius: 5px;
    box-shadow: inset 0 0 0 1px #b9c9dd;
    padding: 9px 10px !important;
}

.inventory-line-qty::after {
    content: none;
}

.inventory-line-qty:focus,
.k-grid td.inventory-qty-cell:focus,
.k-grid td.inventory-qty-cell.k-edit-cell {
    background: #fff;
    box-shadow: inset 0 0 0 2px #2563eb;
    outline: 0;
}

.inventory-line-qty[data-available-label]:focus::after {
    color: #64748b;
    content: attr(data-available-label);
    display: block;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.25;
    margin-top: 5px;
    text-align: left;
}

.inventory-qty-display {
    align-items: center;
    background: #fff;
    border: 1px solid #b9c9dd;
    border-radius: 5px;
    color: #172033;
    display: flex;
    height: 34px;
    justify-content: space-between;
    line-height: 1;
    padding: 0 9px;
    transition: border-color .15s ease, box-shadow .15s ease;
    width: 100%;
}

.inventory-qty-cell:hover .inventory-qty-display {
    border-color: #7694bc;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .08);
}

.inventory-qty-display svg {
    color: #64748b;
    flex: 0 0 auto;
    height: 12px;
    margin-left: 8px;
    width: 12px;
}

.inventory-direct-qty {
    background: #fff;
    border: 1px solid #b9c9dd;
    border-radius: 6px !important;
    box-sizing: border-box !important;
    color: #172033;
    display: block;
    font: 600 13px/1.2 "Noto Sans", "Segoe UI", sans-serif;
    height: 34px;
    max-width: 100%;
    padding: 6px 9px;
    text-align: left;
    width: 100%;
}

.inventory-direct-qty:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .14);
    outline: 0;
}

.inventory-qty-editor {
    box-sizing: border-box;
    display: block;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.inventory-qty-available {
    color: #64748b;
    display: none;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.25;
    margin-top: 5px;
    white-space: nowrap;
}

.inventory-qty-available:empty {
    display: none !important;
}

.inventory-direct-qty:focus + .inventory-qty-available {
    display: block;
}

.inventory-qty-input {
    height: 32px !important;
    margin: -5px 0 !important;
    text-align: right;
    width: 100% !important;
}

/* Inventory rows stay visually stable on pointer hover. */
body.stock-inventory-module table tbody tr:not(.k-state-selected):not(.selected):hover,
body.stock-inventory-module table tbody tr.k-state-hover:not(.k-state-selected):not(.selected),
body.stock-inventory-module table tbody tr:not(.k-state-selected):not(.selected):hover > td:not(.k-state-selected),
body.stock-inventory-module table tbody tr.k-state-hover:not(.k-state-selected):not(.selected) > td:not(.k-state-selected) {
    background: #fff !important;
    color: #172033 !important;
}

body.stock-inventory-module .k-grid tbody tr.k-alt:not(.k-state-selected):not(.selected):hover,
body.stock-inventory-module .k-grid tbody tr.k-alt.k-state-hover:not(.k-state-selected):not(.selected),
body.stock-inventory-module .k-grid tbody tr.k-alt:not(.k-state-selected):not(.selected):hover > td:not(.k-state-selected),
body.stock-inventory-module .k-grid tbody tr.k-alt.k-state-hover:not(.k-state-selected):not(.selected) > td:not(.k-state-selected),
body.stock-inventory-module table.table-striped tbody tr:nth-of-type(odd):not(.k-state-selected):not(.selected):hover,
body.stock-inventory-module table.table-striped tbody tr:nth-of-type(odd):not(.k-state-selected):not(.selected):hover > td:not(.k-state-selected) {
    background: #f8fbfe !important;
    color: #172033 !important;
}
