/* Qualifo modern theme: restyles the Ace admin markup with CSS variables (light + dark). Loaded after ace*.css. */
:root {
    --brand: #0e7490;
    --brand-strong: #155e75;
    --brand-soft: #e0f2f7;
    --accent: #14b8a6;
    --bg: #f1f5f9;
    --surface: #ffffff;
    --surface-2: #f8fafc;
    --text: #1e293b;
    --muted: #64748b;
    --border: #e2e8f0;
    --sidebar: #0f172a;
    --sidebar-2: #1e293b;
    --sidebar-text: #cbd5e1;
    --danger: #dc2626;
    --success: #16a34a;
    --warning: #d97706;
    --radius: 10px;
    --sidebar-w: 240px;
    --sidebar-min-w: 68px;
    --shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 4px 14px rgba(15, 23, 42, .06);
    --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color-scheme: light;
}
:root[data-theme="dark"] {
    --brand: #4db6cb;
    --brand-strong: #8bd3e2;
    --brand-soft: rgba(77, 182, 203, .14);
    --accent: #3aa99c;
    --bg: #0e1522;
    --surface: #151e2f;
    --surface-2: #1a2538;
    --text: #e3e8f0;
    --muted: #9aa8bd;
    --border: #263349;
    --sidebar: #0a101c;
    --sidebar-2: #151e2f;
    --sidebar-text: #9aa8bd;
    --th-bg: #1c2a44;
    --row-alt: #121a2a;
    --row-hover: #1d2c47;
    --shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 14px rgba(0, 0, 0, .3);
    color-scheme: dark;
}

html, body, body.skin-1, body.login-layout { font-family: var(--font); color: var(--text); background: var(--bg); font-size: 14px; }
a { color: var(--brand); }
a:hover, a:focus { color: var(--brand-strong); }
h1, h2, h3, h4, h5, h6, .page-header h1 { font-family: var(--font); color: var(--text); font-weight: 600; }
.page-header h1 small { color: var(--muted); }
.page-header { border-bottom-color: var(--border); }
.main-content, .page-content, .main-container { background: var(--bg); }
.main-container:before { background: transparent !important; border: 0 !important; }
/* sidebar colour column that always reaches the page bottom (Ace's sidebar is not full height) */
@media (min-width: 992px) {
    .main-container { background: linear-gradient(to right, var(--sidebar) var(--sidebar-w), var(--bg) var(--sidebar-w)) !important; }
    .main-container:has(.sidebar.menu-min) { background: linear-gradient(to right, var(--sidebar) var(--sidebar-min-w), var(--bg) var(--sidebar-min-w)) !important; }
}
.page-content { padding: 18px 20px 24px; }

/* ---------- top bar ---------- */
.navbar.navbar-default, .navbar { background: var(--surface) !important; border: 0; border-bottom: 1px solid var(--border); box-shadow: var(--shadow); min-height: 52px; }
.navbar .navbar-brand, .navbar .navbar-brand small { color: var(--brand) !important; font-weight: 700; letter-spacing: .2px; text-shadow: none; }
.navbar-container { min-height: 52px; }
.navbar .navbar-toggle.menu-toggler { background: var(--brand-soft) !important; border: 0; border-radius: 8px; margin-top: 8px; }
.navbar .navbar-toggle.menu-toggler .icon-bar { background: var(--brand) !important; }
.ace-nav > li, .ace-nav > li.light-blue { border: 0; background: transparent !important; }
.ace-nav > li > a, .ace-nav > li.light-blue > a { background: transparent !important; color: var(--text) !important; line-height: 52px; height: 52px; border: 0; }
.ace-nav > li > a:hover, .ace-nav > li.open > a { background: var(--surface-2) !important; }
.ace-nav > li .user-info { color: var(--text); font-size: 13px; line-height: 15px; }
.ace-nav > li .user-info small { color: var(--muted); }
.ace-nav > li > a > .nav-user-photo { border-radius: 50%; border: 2px solid var(--brand); }
.dropdown-menu { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.dropdown-menu > li > a { color: var(--text); }
.dropdown-menu > li > a:hover { background: var(--brand-soft); color: var(--brand-strong); }
.dropdown-yellow, .dropdown-yellow.dropdown-caret:before, .dropdown-yellow.dropdown-caret:after { background: var(--surface); border-color: var(--border); }
.dropdown-menu.dropdown-caret:before, .dropdown-menu.dropdown-caret:after { display: none; }
.dropdown-menu .divider { background: var(--border); }

/* ---------- sidebar ---------- */
.sidebar, .sidebar:before, .sidebar .nav-list { background: var(--sidebar) !important; border: 0 !important; box-shadow: none !important; }
.sidebar.responsive, .sidebar.menu-min { border-right: 0 !important; }
.sidebar .sidebar-shortcuts { background: transparent; border: 0; padding: 12px 10px; }
.sidebar-shortcuts-large .btn, .sidebar-shortcuts-mini .btn { border-radius: 8px; opacity: .85; box-shadow: none; }
.nav-list > li, .nav-list > li > a, .nav-list > li .submenu > li, .nav-list > li .submenu > li > a { background: transparent; border-color: transparent !important; box-shadow: none; }
.nav-list > li > a { color: var(--sidebar-text); font-weight: 500; margin: 2px 10px; border-radius: 8px; }
.nav-list > li > a:hover, .nav-list > li:hover > a { background: var(--sidebar-2) !important; color: #fff; }
.nav-list > li.active > a, .nav-list > li.active > a:hover { background: linear-gradient(90deg, var(--brand), var(--accent)) !important; color: #fff !important; font-weight: 600; }
.nav-list > li.active:after, .nav-list > li > a > .arrow, .nav-list > li:before { display: none !important; }
.nav-list > li > a > .menu-icon { color: inherit; opacity: .9; }
.nav-list > li .submenu { background: transparent !important; border: 0; }
.nav-list > li .submenu:before { border-left-color: #334155 !important; }
.nav-list > li .submenu > li > a { color: var(--sidebar-text) !important; background: transparent !important; margin: 1px 10px 1px 14px; border-radius: 6px; }
.nav-list > li .submenu > li > a:hover { color: #fff; background: var(--sidebar-2) !important; }
.nav-list > li .submenu > li.active > a { color: #fff; background: rgba(20, 184, 166, .22) !important; font-weight: 600; }
.nav-list > li .submenu > li > a > .menu-icon { color: var(--accent); }
.nav-list > li .submenu > li:before { border-color: #334155; }
.sidebar .sidebar-toggle { background: transparent; border: 0; border-top: 1px solid #1e293b; }
.sidebar .sidebar-toggle:before { border-color: #1e293b; }
.sidebar .sidebar-toggle > .ace-icon { background: var(--sidebar-2); color: var(--sidebar-text); border-color: #334155; }

/* ---------- breadcrumbs / footer ---------- */
.breadcrumbs, .breadcrumbs.breadcrumbs-fixed { background: var(--surface) !important; border: 0 !important; border-bottom: 1px solid var(--border) !important; box-shadow: none !important; min-height: 40px; }
.breadcrumb > li > a { color: var(--brand); font-weight: 500; }
.breadcrumb > li + li:before { color: var(--muted); }
.footer .footer-inner .footer-content { background: transparent; border-top: 1px solid var(--border); box-shadow: none; }

/* ---------- content card header (Ace "table-header") ---------- */
.table-header { background: linear-gradient(90deg, var(--brand), var(--accent)); color: #fff; border-radius: var(--radius); padding: 0 16px; line-height: 40px; height: 40px; font-size: 15px; font-weight: 600; letter-spacing: .2px; }
.table-header:has(+ .row > form.form-horizontal) { border-radius: var(--radius) var(--radius) 0 0; }
#partial > .table-header { margin-bottom: 4px; }
#partial fieldset { margin-bottom: 4px; }
#content > .row, #content > .table-header + .row { background: transparent; }
#content > .row > form.form-horizontal {
    background: var(--surface); border: 1px solid var(--border); border-top: 0; border-radius: 0 0 var(--radius) var(--radius); box-shadow: var(--shadow); padding-top: 18px; padding-bottom: 6px;
}
#content form.form-horizontal .form-actions { background: var(--surface-2); border-top: 1px solid var(--border); border-radius: 0 0 var(--radius) var(--radius); margin-bottom: 0; }

/* ---------- buttons ---------- */
.btn { border-radius: 8px; border-width: 1px; box-shadow: none; text-shadow: none; font-weight: 500; transition: background .15s, border-color .15s, box-shadow .15s; }
.btn-white.btn-info, .btn.btn-white.btn-info.btn-bold { background: var(--surface) !important; border: 1px solid var(--border) !important; color: var(--brand) !important; border-radius: 8px; }
.btn-white.btn-info:hover { background: var(--brand-soft) !important; border-color: var(--brand) !important; color: var(--brand-strong) !important; }
.btn-white.btn-info .ace-icon, .btn-white.btn-info i { color: var(--brand) !important; }
.btn-info, .btn-primary, .btn-info:focus, .btn-primary:focus { background: var(--brand) !important; border-color: var(--brand) !important; color: #fff !important; }
:root[data-theme="dark"] .btn-info, :root[data-theme="dark"] .btn-primary { color: #04222b !important; }
.btn-info:hover, .btn-primary:hover { background: var(--brand-strong) !important; border-color: var(--brand-strong) !important; }
.btn-success { background: var(--success) !important; border-color: var(--success) !important; }
.btn-danger { background: var(--danger) !important; border-color: var(--danger) !important; }
.btn:not(.btn-info):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-white):not(.btn-warning):not(.btn-yellow):not(.btn-inverse):not(.btn-purple):not(.btn-pink):not(.btn-grey):not(.btn-sm.btn-link) { background: var(--surface-2) !important; color: var(--text) !important; border: 1px solid var(--border) !important; }
.form-actions .btn { padding: 7px 18px; }
.btn:focus, .form-control:focus, input:focus, select:focus { outline: none; box-shadow: 0 0 0 3px rgba(20, 184, 166, .25) !important; }

/* ---------- forms ---------- */
input[type=text], input[type=password], input[type=email], select, textarea, .form-control, .dataTables_filter input, .dataTables_length select {
    background: var(--surface) !important; color: var(--text) !important; border: 1px solid var(--border); border-radius: 8px; padding: 6px 10px; height: 34px; box-shadow: none;
}
input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, select:focus, .form-control:focus { border-color: var(--accent) !important; }
input:disabled, select:disabled { background: var(--surface-2) !important; color: var(--muted); }
.control-label, label { color: var(--text); font-weight: 500; }
.form-group { margin-bottom: 14px; }
.ace-file-input label, .ace-file-input .ace-file-container { border-radius: 8px; border-color: var(--border); background: var(--surface); }

.ace-file-input a.remove { background: var(--surface); }
.input-icon > .ace-icon { color: var(--muted); }
.wysiwyg-editor { background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 0 0 8px 8px; min-height: 260px; }
.wysiwyg-toolbar { background: var(--surface-2); border: 1px solid var(--border); border-radius: 8px 8px 0 0; padding: 8px; }
.widget-box { background: var(--surface); border-color: var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.widget-header { background: var(--surface-2); border-color: var(--border); }
.widget-color-blue { border-color: var(--brand) !important; }
.widget-color-blue > .widget-header { background: var(--brand) !important; border-color: var(--brand) !important; color: #fff; }
.widget-color-blue > .widget-header .widget-title { color: #fff; }
.widget-body { background: var(--surface); }

/* ---------- data tables ---------- */
#List, .table-responsive { background: transparent; }
.dataTables_wrapper { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 12px 14px 4px; }
.dataTables_wrapper > .row, .dataTables_wrapper .row { background: transparent !important; border: 0 !important; }
.dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter, .dataTables_info { color: var(--muted); }
.table { background: transparent; color: var(--text); border-color: var(--border); margin-bottom: 10px; }
.table > thead > tr > th { background: var(--surface-2); color: var(--muted); text-transform: uppercase; font-size: 11.5px; letter-spacing: .6px; font-weight: 600; border-bottom: 2px solid var(--border) !important; border-color: var(--border); }
.table > tbody > tr > td { border-color: var(--border); vertical-align: middle; }
.table-bordered, .table-bordered > thead > tr > th, .table-bordered > tbody > tr > td { border-color: var(--border); }
.table-striped > tbody > tr:nth-child(odd) > td { background: var(--surface-2); }
.table-striped > tbody > tr:nth-child(even) > td { background: var(--surface); }
.table-hover > tbody > tr:hover > td { background: var(--brand-soft) !important; }
table.dataTable thead .sorting_asc, table.dataTable thead .sorting_desc { color: var(--brand); }
.pagination > li > a, .pagination > li > span { background: var(--surface); border-color: var(--border); color: var(--text); }
.pagination > .active > a, .pagination > .active > a:hover { background: var(--brand) !important; border-color: var(--brand) !important; color: #fff; }
.action-buttons a { margin: 0 4px; opacity: .85; }
.action-buttons a:hover { opacity: 1; }
.label-success { background: var(--success); }
.label-warning { background: var(--warning); }

/* ---------- toasts / modals ---------- */
.gritter-item { border-radius: var(--radius); background: var(--surface) !important; box-shadow: var(--shadow); border: 1px solid var(--border); }
.gritter-light .gritter-item { color: var(--text); }
.gritter-success .gritter-title { color: var(--success); }
.modal-content { background: var(--surface); color: var(--text); border-radius: var(--radius); border: 1px solid var(--border); }
.modal-header, .modal-footer { border-color: var(--border); }
.ui-widget-content { background: var(--surface); color: var(--text); border-color: var(--border); }
.ui-datepicker { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow); border: 1px solid var(--border); padding: 8px; }
.ui-datepicker .ui-datepicker-header { background: var(--brand); color: #fff; border-radius: 8px; border: 0; }
.ui-datepicker .ui-datepicker-title { color: #fff; }
.ui-datepicker td a { border-radius: 6px; text-align: center; }
.ui-datepicker td a.ui-state-active, .ui-datepicker td a.ui-state-highlight { background: var(--brand); color: #fff; border-color: var(--brand); }
.alert-danger { border-radius: 8px; }

/* ---------- login ---------- */
body.login-layout, body.login-layout.light-login { background: radial-gradient(1200px 600px at 10% -10%, rgba(20, 184, 166, .20), transparent 60%), radial-gradient(900px 500px at 100% 0%, rgba(14, 116, 144, .22), transparent 55%), var(--bg); }
body.login-layout .main-container { background: transparent; }
.login-layout .login-container { margin-top: 40px; }
.login-layout .login-container h1 .grey, .login-layout h1 .grey { color: var(--brand) !important; font-weight: 800; letter-spacing: 1px; }
.login-layout .widget-box { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; box-shadow: 0 10px 40px rgba(15, 23, 42, .14); overflow: hidden; }
.login-layout .widget-box .widget-main { background: var(--surface); padding: 22px; }
.login-layout .widget-box .header { color: var(--text) !important; border-color: var(--border); }
.login-layout .widget-box .toolbar { background: var(--brand) !important; border: 0; }
.login-layout .widget-box .toolbar a { color: #fff !important; }
.login-layout .widget-box .toolbar > div:first-child { background: transparent; }
.login-layout .widget-box .toolbar > div { background: transparent; border: 0; }
.login-layout .widget-box .toolbar a:hover { color: #ccfbf1 !important; }

/* ---------- theme switch ---------- */
.theme-switch { cursor: pointer; }
.theme-switch .ace-icon { width: 18px; text-align: center; }

@media (max-width: 767px) {
    .page-content { padding: 12px 10px 20px; }
    .navbar .navbar-brand small:before { display: none; }
}

/* misc dark-mode fixes */
select option { background: var(--surface); color: var(--text); }
.ace-file-input .ace-file-container, .ace-file-input .ace-file-name { background: var(--surface) !important; color: var(--text); }

.ace-file-input a.remove, .ace-file-input .btn { border-radius: 6px; }
.login-layout .widget-box .header { font-weight: 600; }
.login-layout .widget-box input.form-control, .login-layout .widget-box input { background: var(--surface-2) !important; }
.dataTables_wrapper .dataTables_paginate .paging_bootstrap { margin: 0; }
.table > thead > tr > th.sorting_asc, .table > thead > tr > th.sorting_desc, .table > thead > tr > th.sorting { background: var(--surface-2); }
.page-header { margin-top: 4px; }

.nav-list > li .submenu > li > a { font-size: 13px; padding-right: 30px; }
.ace-file-input .ace-file-container[data-title]:after, .ace-file-input .ace-file-container:after { background: var(--brand) !important; color: #fff !important; border-radius: 0 6px 6px 0; }
:root[data-theme="dark"] .ace-file-input .ace-file-container[data-title]:after { color: #04222b !important; }
.ace-file-input .ace-file-container.selected:after { background: var(--danger) !important; }

.ace-file-input .ace-file-container:before { background: var(--brand) !important; color: #fff !important; border-radius: 0 6px 6px 0; }
:root[data-theme="dark"] .ace-file-input .ace-file-container:before { color: #04222b !important; }
.ace-file-input .ace-file-container.selected:before { background: var(--danger) !important; }
.ace-file-input .ace-file-name { color: var(--muted); }
.navbar-buttons, .navbar-buttons .ace-nav, .navbar .navbar-header.pull-right { background: transparent !important; }
@media (max-width: 767px) { .navbar-buttons { background: var(--surface) !important; border-top: 1px solid var(--border); } }
input[disabled], select[disabled], input[type=password][disabled] { background: var(--surface-2) !important; color: var(--muted) !important; }

/* ---------- responsive sidebar width (Ace hard-codes 190px) ---------- */
@media (min-width: 992px) and (max-width: 1399px) { :root { --sidebar-w: 240px; } }
@media (min-width: 1400px) { :root { --sidebar-w: 260px; } }
@media (min-width: 992px) {
    .sidebar:not(.menu-min), .sidebar:not(.menu-min):before { width: var(--sidebar-w) !important; }
    .sidebar:not(.menu-min) ~ .main-content { margin-left: var(--sidebar-w) !important; }
    .sidebar:not(.menu-min) ~ .footer { left: var(--sidebar-w) !important; }
    .sidebar:not(.menu-min) .nav-list > li > a { width: auto; }
}

/* quick-action buttons fill the whole row and stay on one line at any sidebar width */
.sidebar-shortcuts-large { display: flex; gap: 6px; padding: 0 12px; }
.sidebar-shortcuts-large .btn { flex: 1 1 0; min-width: 0; margin: 0 !important; padding-left: 0; padding-right: 0; height: 34px; }
.sidebar-shortcuts-mini { display: none; }
.sidebar.menu-min .sidebar-shortcuts-large { display: none; }
.nav-list > li .submenu > li > a { white-space: normal; }

/* ---------- collapsed sidebar (menu-min): wider, everything centred ---------- */
@media (min-width: 992px) {
    .sidebar.menu-min, .sidebar.menu-min:before { width: var(--sidebar-min-w) !important; }
    .sidebar.menu-min ~ .main-content { margin-left: var(--sidebar-min-w) !important; }
    .sidebar.menu-min ~ .footer { left: var(--sidebar-min-w) !important; }
    .sidebar.menu-min .sidebar-shortcuts { padding: 12px 0; text-align: center; height: auto; }
    .sidebar.menu-min .sidebar-shortcuts-mini { display: grid !important; grid-template-columns: repeat(2, 20px); gap: 6px; justify-content: center; width: auto; margin: 0 auto; padding: 0; }
    .sidebar.menu-min .sidebar-shortcuts-mini .btn { display: block; position: static; width: 20px; height: 20px; margin: 0 !important; padding: 0; border-radius: 6px; float: none; }
    .sidebar.menu-min .nav-list > li > a { display: flex; align-items: center; justify-content: center; width: 48px !important; height: 46px; margin: 4px auto; padding: 0; border-radius: 10px; }
    .sidebar.menu-min .nav-list > li > a > .menu-icon { float: none; display: block; width: auto; min-width: 0; margin: 0; padding: 0; font-size: 20px; line-height: 1; text-align: center; }
    .sidebar.menu-min .nav-list > li.active > a, .sidebar.menu-min .nav-list > li.active > a:hover { background: linear-gradient(135deg, var(--brand), var(--accent)) !important; box-shadow: 0 4px 12px rgba(20, 184, 166, .35); }
    .sidebar.menu-min .nav-list > li.active > a > .menu-icon { color: #fff; }
    .sidebar.menu-min .nav-list > li > a .arrow, .sidebar.menu-min .nav-list > li > a > .menu-text { text-align: left; }
    .sidebar.menu-min .sidebar-toggle { text-align: center; }
    .sidebar.menu-min .sidebar-toggle > .ace-icon { float: none; display: inline-block; margin: 8px auto; }
}

@media (min-width: 992px) {
    .sidebar.menu-min .nav-list > li.active > a:after, .sidebar.menu-min .nav-list > li.active:after, .sidebar.menu-min .nav-list > li.active > a:before { display: none !important; }
    .main-container:has(.sidebar.menu-min) .footer .footer-inner { left: var(--sidebar-min-w) !important; }
    .main-container:has(.sidebar:not(.menu-min)) .footer .footer-inner { left: var(--sidebar-w) !important; }
}

/* ---------- phone + tablet (Ace goes off-canvas up to 991px): full-screen scrollable menu ---------- */
.sidebar-mobile-head { display: none; }
@media (max-width: 991px) {
    .sidebar.responsive:not(.display) { width: 0 !important; min-width: 0; border: 0 !important; box-shadow: none !important; }
    .sidebar ~ .main-content { margin-left: 0 !important; }
    .sidebar ~ .footer, .sidebar ~ .footer .footer-inner { left: 0 !important; }
    .sidebar.responsive.display {
        position: fixed !important; top: 0; left: 0; right: 0; bottom: 0; margin: 0 !important; width: 100% !important; height: 100% !important;
        z-index: 1100; overflow-y: auto !important; overflow-x: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
    }
    .sidebar.responsive.display:before { display: none; }
    .sidebar.responsive.display .nav-list { width: 100% !important; padding-bottom: 24px; }
    .sidebar.responsive.display .sidebar-mobile-head {
        display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 2;
        padding: 10px 14px; background: var(--sidebar); border-bottom: 1px solid #1e293b; color: #fff; font-weight: 700; font-size: 16px;
    }
    .sidebar-close { background: var(--sidebar-2); color: #fff; border: 0; width: 40px; height: 40px; border-radius: 10px; font-size: 18px; line-height: 1; }
    .sidebar-close:active { background: var(--brand); }
    .sidebar.responsive.display .sidebar-shortcuts { padding: 12px 6px; }
    .sidebar.responsive.display .nav-list > li > a { display: flex; align-items: center; min-height: 48px; line-height: 1.2; margin: 3px 14px; padding: 0 12px; font-size: 15px; }
    .sidebar.responsive.display .nav-list > li > a > .menu-icon { float: none; width: 26px; margin: 0 8px 0 0; text-align: center; line-height: 1; }
    .sidebar.responsive.display .nav-list > li > a > .menu-text { display: inline; line-height: 1.2; }
    .sidebar.responsive.display .nav-list > li > a > .arrow { position: static; margin-left: auto; line-height: 1; }
    .sidebar.responsive.display .nav-list > li .submenu > li > a { min-height: 44px; font-size: 14px; padding-top: 10px; padding-bottom: 10px; }
    .sidebar.responsive.display .sidebar-toggle { display: none; }
    body:has(#sidebar.display) { overflow: hidden; }
}

/* ---------- validation ---------- */
.req { color: #dc2626; font-weight: 700; }
.has-error input, .has-error select, .has-error textarea, .has-error .ace-file-input .ace-file-container, .has-error .ace-file-input label { border-color: #dc2626 !important; box-shadow: 0 0 0 3px rgba(220, 38, 38, .15) !important; }
.has-error .control-label, .has-error label { color: #dc2626; }
.help-block.js-err { color: #dc2626; font-size: 12.5px; margin: 4px 0 0; display: block; clear: both; }
.gritter-item .gritter-without-image p { white-space: normal; }

/* ---------- dark mode refinements: muted teal instead of neon, readable tables ---------- */
:root[data-theme="dark"] .table-header { background: linear-gradient(90deg, #14566b, #136d66); color: #f1f5f9; }
:root[data-theme="dark"] .nav-list > li.active > a, :root[data-theme="dark"] .nav-list > li.active > a:hover { background: linear-gradient(90deg, #14566b, #136d66) !important; color: #fff !important; }
:root[data-theme="dark"] .sidebar.menu-min .nav-list > li.active > a, :root[data-theme="dark"] .sidebar.menu-min .nav-list > li.active > a:hover { background: linear-gradient(135deg, #14566b, #136d66) !important; box-shadow: 0 4px 12px rgba(0, 0, 0, .4); }
:root[data-theme="dark"] .nav-list > li .submenu > li.active > a { background: rgba(77, 182, 203, .16) !important; }
:root[data-theme="dark"] .btn-info, :root[data-theme="dark"] .btn-primary, :root[data-theme="dark"] .btn-info:focus, :root[data-theme="dark"] .btn-primary:focus { background: #0e7490 !important; border-color: #0e7490 !important; color: #fff !important; }
:root[data-theme="dark"] .btn-info:hover, :root[data-theme="dark"] .btn-primary:hover { background: #12859f !important; border-color: #12859f !important; }
:root[data-theme="dark"] .btn-success { background: #1f8f4e !important; border-color: #1f8f4e !important; }
:root[data-theme="dark"] .btn-danger { background: #b83b3b !important; border-color: #b83b3b !important; }
:root[data-theme="dark"] .dataTables_wrapper { background: var(--surface); }
:root[data-theme="dark"] .dataTables_wrapper .dataTables_length, :root[data-theme="dark"] .dataTables_wrapper .dataTables_filter, :root[data-theme="dark"] .dataTables_info { color: var(--muted); }
:root[data-theme="dark"] .dataTables_filter input, :root[data-theme="dark"] .dataTables_length select { background: var(--surface-2) !important; border-color: #314060; }
:root[data-theme="dark"] .table > thead > tr > th, :root[data-theme="dark"] .table > thead > tr > th.sorting, :root[data-theme="dark"] .table > thead > tr > th.sorting_asc, :root[data-theme="dark"] .table > thead > tr > th.sorting_desc { background: var(--th-bg); color: #b4c2d8; border-bottom: 2px solid #34476a !important; }
:root[data-theme="dark"] .table > thead > tr > th.sorting_asc, :root[data-theme="dark"] .table > thead > tr > th.sorting_desc { color: var(--brand-strong); }
:root[data-theme="dark"] .table > tbody > tr > td { color: var(--text); border-color: #212e45; background: var(--surface); }
:root[data-theme="dark"] .table-striped > tbody > tr:nth-child(odd) > td, :root[data-theme="dark"] .table > tbody > tr:nth-child(odd) > td { background: var(--row-alt); }
:root[data-theme="dark"] .table-striped > tbody > tr:nth-child(even) > td, :root[data-theme="dark"] .table > tbody > tr:nth-child(even) > td { background: var(--surface); }
:root[data-theme="dark"] .table-hover > tbody > tr:hover > td, :root[data-theme="dark"] .table > tbody > tr:hover > td { background: var(--row-hover) !important; }
:root[data-theme="dark"] .table-bordered, :root[data-theme="dark"] .table-bordered > thead > tr > th, :root[data-theme="dark"] .table-bordered > tbody > tr > td { border-color: #212e45; }
:root[data-theme="dark"] .table a { color: var(--brand-strong); }
:root[data-theme="dark"] .table a:hover { color: #b6e6ef; }
:root[data-theme="dark"] .action-buttons a.blue { color: #6aaee8 !important; }
:root[data-theme="dark"] .action-buttons a.green { color: #5fc58a !important; }
:root[data-theme="dark"] .action-buttons a.red { color: #e07070 !important; }
:root[data-theme="dark"] .pagination > li > a, :root[data-theme="dark"] .pagination > li > span { background: var(--surface-2); border-color: #314060; color: #c4d0e2; }
:root[data-theme="dark"] .pagination > li > a:hover { background: var(--row-hover); color: #fff; }
:root[data-theme="dark"] .pagination > .active > a, :root[data-theme="dark"] .pagination > .active > a:hover { background: #0e7490 !important; border-color: #0e7490 !important; color: #fff; }
:root[data-theme="dark"] .pagination > .disabled > a, :root[data-theme="dark"] .pagination > .disabled > span { background: var(--surface); color: #5b6b85; border-color: #263349; }
:root[data-theme="dark"] .ui-datepicker .ui-datepicker-header { background: #14566b; }
:root[data-theme="dark"] .ui-datepicker td a.ui-state-active, :root[data-theme="dark"] .ui-datepicker td a.ui-state-highlight { background: #0e7490; }
:root[data-theme="dark"] .ui-datepicker td a { color: var(--text); background: var(--surface-2); border-color: var(--border); }
:root[data-theme="dark"] .form-actions .btn:not(.btn-info) { color: var(--text) !important; }
:root[data-theme="dark"] .help-block.js-err, :root[data-theme="dark"] .req { color: #f08a8a; }
:root[data-theme="dark"] .wysiwyg-editor { background: var(--surface-2); }
:root[data-theme="dark"] .navbar .navbar-brand, :root[data-theme="dark"] .navbar .navbar-brand small { color: var(--brand-strong) !important; }
:root[data-theme="dark"] ::-webkit-scrollbar { width: 10px; height: 10px; }
:root[data-theme="dark"] ::-webkit-scrollbar-thumb { background: #34476a; border-radius: 6px; }
:root[data-theme="dark"] ::-webkit-scrollbar-track { background: var(--bg); }
