/*
 * theme.css
 * Global design tokens for dark / light themes.
 * Included once via header.php — applies to the whole app.
 *
 * Usage:  <html data-theme="dark">  or  <html data-theme="light">
 */

/* ── Google Fonts ─────────────────────────────────────────────────────────── */
/*@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Mono:wght@300;400;500&family=Instrument+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap');*/
/*@import url('https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap');*/
/*@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap');*/
/*@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');*/
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;700&display=swap');


/*@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');*/

/* ══════════════════════════════════════════════════════════════════════════
   DARK THEME  (default)
   ══════════════════════════════════════════════════════════════════════════ */
:root,
[data-theme="dark"] {
	/* Backgrounds */
	--bg:         #0c0f1a;
	--surface:    #131827;
	--surface2:   #1a2035;
	--surface3:   #1f2640;

	--theme-mode: #000000;

	/* Borders */
	--border:     #232d45;
	--border2:    #2e3a57;

	/* Brand accent */
	--accent:     #FE8127;
	--accent-dim: rgba(254,129,39,.12);
	--accent-glow:rgba(254,129,39,.25);

	/* Semantic */
	--green:      #22d3a0;
	--red:        #f05252;
	--blue:       #4f8ef7;
	--purple:     #a78bfa;

	/* Text */
	--text:       #e8edf8;
	--text2:      #b0bcda;
	--muted:      #7a8aaa;
	--muted2:     #4a5672;

	/* Header */
	--header-bg:        #0e1120;
	--header-border:    #1d2540;
	--header-h:         64px;

	/* Sidebar */
	--sidebar-bg:       #0e1120;
	--sidebar-border:   #1d2540;
	--sidebar-w:        240px;
	--sidebar-w-sm:     70px;

	/* Nav item */
	--nav-text:         #7a8aaa;
	--nav-icon:         #4a5672;
	--nav-hover-bg:     rgba(254,129,39,.06);
	--nav-hover-text:   #e8edf8;
	--nav-active-bg:    rgba(254,129,39,.1);
	--nav-active-text:  #FE8127;
	--nav-active-icon:  #FE8127;
	--nav-active-line:  #FE8127;

	/* Dropdown */
	--dd-bg:            #1a2035;
	--dd-border:        #2e3a57;
	--dd-hover:         rgba(254,129,39,.08);

	/* Scrollbar */
	--sb-track:  #131827;
	--sb-thumb:  #2e3a57;

	/* Radius */
	--radius:    12px;
	--radius-sm: 8px;

	/* Fonts */
	/*--mono:    'DM Mono', monospace;*/
	/*--sans:    'Instrument Sans', sans-serif;*/
	/*--display: 'Syne', sans-serif;*/

	/*--mono:    'Inter', monospace;*/
	/*--sans:    'Inter', sans-serif;*/
	/*--display: 'Inter', sans-serif;*/

	--mono:    'Space Grotesk', sans-serif;
	--sans:    'Space Grotesk', sans-serif;
	--display: 'Space Grotesk', sans-serif;

	/* Shadows */
	--shadow-sm:  0 2px 8px rgba(0,0,0,.35);
	--shadow-md:  0 4px 20px rgba(0,0,0,.5);
}

/* ══════════════════════════════════════════════════════════════════════════
   LIGHT THEME
   ══════════════════════════════════════════════════════════════════════════ */
[data-theme="light"] {
	/* Backgrounds */
	/*--bg:         #f0f2f8;*/
	/*--surface:    #ffffff;*/
	/*--surface2:   #f5f6fc;*/
	/*--surface3:   #ebedf7;*/

	--bg: #F8F9FB;
	--surface: #FFFFFF;
	--surface2: #FDFDFE;
	--surface3: #F0F2F8;

	--theme-mode: #FFFFFF;

	/* Borders */
	--border:     #dde2f0;
	--border2:    #c8cfea;

	/* Brand accent stays amber */
	--accent:     #E06A10;
	--accent-dim: rgba(224,106,16,.1);
	--accent-glow:rgba(224,106,16,.2);

	/* Semantic */
	--green:      #10b981;
	--red:        #ef4444;
	--blue:       #3b82f6;
	--purple:     #8b5cf6;

	/* Text */
	--text:       #1a2035;
	--text2:      #374265;
	--muted:      #6b7a99;
	--muted2:     #9aa3bb;

	/* Header */
	--header-bg:        #ffffff;
	--header-border:    #dde2f0;

	/* Sidebar */
	--sidebar-bg:       #ffffff;
	--sidebar-border:   #dde2f0;

	/* Nav item */
	--nav-text:         #6b7a99;
	--nav-icon:         #9aa3bb;
	--nav-hover-bg:     rgba(224,106,16,.06);
	--nav-hover-text:   #1a2035;
	--nav-active-bg:    rgba(224,106,16,.1);
	--nav-active-text:  #E06A10;
	--nav-active-icon:  #E06A10;
	--nav-active-line:  #E06A10;

	/* Dropdown */
	--dd-bg:            #ffffff;
	--dd-border:        #dde2f0;
	--dd-hover:         rgba(224,106,16,.06);

	/* Scrollbar */
	--sb-track:  #f0f2f8;
	--sb-thumb:  #c8cfea;

	/* Shadows */
	--shadow-sm:  0 2px 8px rgba(0,0,0,.08);
	--shadow-md:  0 4px 20px rgba(0,0,0,.12);
}

/* ══════════════════════════════════════════════════════════════════════════
   BASE RESETS
   ══════════════════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

html { transition: background-color .25s, color .25s; }

body {
	background: var(--bg) !important;
	color: var(--text) !important;
	font-family: var(--sans) !important;
}

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--sb-track); }
::-webkit-scrollbar-thumb { background: var(--sb-thumb); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--muted); }

/* ══════════════════════════════════════════════════════════════════════════
   HEADER  #page-topbar
   ══════════════════════════════════════════════════════════════════════════ */
#page-topbar {
	position: fixed;
	top: 0; left: 0; right: 0;
	height: var(--header-h);
	background: var(--header-bg) !important;
	border-bottom: 1px solid var(--header-border) !important;
	box-shadow: var(--shadow-sm) !important;

	/*background: rgba(255, 255, 255, 0.15); !* transparent white *!*/
	/*backdrop-filter: blur(12px);*/
	/*-webkit-backdrop-filter: blur(12px); !* Safari support *!*/
	/*border-bottom: 1px solid rgba(255, 255, 255, 0.2);*/
	/*box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);*/
	z-index: 1002;
	transition: background .25s, border-color .25s;
}

.navbar-header {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 20px;
}


/* Brand box */
.navbar-brand-box {
	width: var(--sidebar-w);
	display: flex;
	align-items: center;
	padding: 0 20px;
	flex-shrink: 0;
	background: transparent !important;
	border-right: 1px solid var(--header-border);
	height: 100%;
	transition: width .25s;
}
.navbar-brand-box .logo-lg img { height: 36px; }
.navbar-brand-box .logo-sm { display: none; }

/* Hamburger */
#vertical-menu-btn {
	background: transparent !important;
	border: none !important;
	color: var(--muted) !important;
	box-shadow: none !important;
	padding: 8px 14px !important;
	border-radius: var(--radius-sm) !important;
	transition: color .15s, background .15s !important;
	margin-left: 8px;
}
#vertical-menu-btn:hover {
	color: var(--accent) !important;
	background: var(--accent-dim) !important;
}
#vertical-menu-btn i { font-size: 18px; }

/* Right side wrapper */
.navbar-header .d-flex:last-child {
	display: flex !important;
	align-items: center;
	gap: 6px;
}

/* ── Profile dropdown ── */
#page-header-user-dropdown {
	display: flex !important;
	align-items: center;
	gap: 9px;
	background: transparent !important;
	border: 1px solid transparent !important;
	border-radius: var(--radius) !important;
	padding: 7px 14px !important;
	color: var(--text) !important;
	box-shadow: none !important;
	transition: background .15s, border-color .15s !important;
}
#page-header-user-dropdown:hover,
#page-header-user-dropdown.show {
	background: var(--surface2) !important;
	border-color: var(--border) !important;
}

.header-profile-user {
	width: 34px !important;
	height: 34px !important;
	object-fit: cover;
	border-radius: 50%;
	border: 2px solid var(--border2);
	transition: border-color .15s;
	flex-shrink: 0;
}
#page-header-user-dropdown:hover .header-profile-user {
	border-color: var(--accent);
}

/* Initials avatar — shown when image is missing or fails to load.
   No fallback HTTP request is ever made. */
.header-profile-initials {
	width: 34px !important;
	height: 34px !important;
	border-radius: 50% !important;
	border: 2px solid var(--border2) !important;
	background: var(--accent-dim) !important;
	color: var(--accent) !important;
	font-family: var(--display) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0;
	letter-spacing: .02em;
	transition: border-color .15s;
	user-select: none;
}
#page-header-user-dropdown:hover .header-profile-initials {
	border-color: var(--accent) !important;
}

.header-username {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	color: var(--text);
}
.header-chevron {
	color: var(--muted2);
	font-size: 16px;
	margin-left: 2px;
}

/* Dropdown menu */
/*.dropdown-menu {*/
/*	background: var(--dd-bg) !important;*/
/*	border: 1px solid var(--dd-border) !important;*/
/*	border-radius: var(--radius) !important;*/
/*	box-shadow: var(--shadow-md) !important;*/
/*	padding: 8px !important;*/
/*	min-width: 180px !important;*/
/*	animation: ddSlide .15s ease !important;*/
/*	!*position: fixed;*!*/
/*	z-index: 999999 !important; !* ← added *!*/
/*}*/

/*.dropdown-menu[data-bs-popper] {*/
/*	margin-top: 4px !important;*/
/*}*/

@keyframes ddSlide {
	from { opacity:0; transform: translateY(-6px); }
	to   { opacity:1; transform: translateY(0); }
}
/*.dropdown-item {*/
/*	border-radius: var(--radius-sm) !important;*/
/*	padding: 9px 12px !important;*/
/*	font-family: var(--mono) !important;*/
/*	font-size: 12px !important;*/
/*	color: var(--text) !important;*/
/*	display: flex !important;*/
/*	align-items: center;*/
/*	gap: 8px;*/
/*	transition: background .12s !important;*/
/*}*/
/*.dropdown-item:hover { background: var(--dd-hover) !important; }*/
/*.dropdown-item.text-danger { color: var(--red) !important; }*/
/*.dropdown-item i { font-size: 15px; }*/
/*.dropdown-divider {*/
/*	border-color: var(--border) !important;*/
/*	margin: 6px 0 !important;*/
/*}*/

.dropdown-menu {
	background-color: var(--dd-bg);
	border: 1px solid var(--dd-border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-md);
	padding: 4px;
	z-index: 99999999 !important;
	/*min-width: 180px;*/
	/*animation: dd-open .18s ease;*/
	/*position: fixed !important;*/
}

@keyframes dd-open {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* ── Items ─────────────────────────────────────────── */
.dropdown-item {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 9px 12px;
	/*padding: 6px 4px;*/
	/*padding: 6px 4px 6px 8px;*/
	border-radius: var(--radius-sm);
	font-size: 11px;
	font-family: var(--sans);
	color: var(--text2);
	background: transparent;
	border: none;
	width: 100%;
	cursor: pointer;
	transition: background .15s, color .15s;
	text-decoration: none;
	white-space: nowrap;
}

.dropdown-item:hover,
.dropdown-item:focus {
	background: var(--dd-hover);
	color: var(--text);
	outline: none;
}

.dropdown-item.active {
	background: var(--accent-dim);
	color: var(--accent);
}

.dropdown-item.active, .dropdown-item:active {
	background: var(--accent-dim);
	color: var(--accent);
}

.dropdown-item.disabled,
.dropdown-item:disabled {
	color: var(--muted2);
	pointer-events: none;
	opacity: 0.6;
}

/* Icon inside item */
.dropdown-item i,
.dropdown-item svg {
	/*width: 16px;*/
	/*height: 16px;*/
	color: var(--muted);
	flex-shrink: 0;
	transition: color .15s;
}

.dropdown-item:hover i,
.dropdown-item:hover svg {
	color: var(--accent);
}

.dropdown-item.active i,
.dropdown-item.active svg {
	color: var(--accent);
}

/* ── Danger item (e.g. Delete, Logout) ─────────────── */
.dropdown-item.text-danger,
.dropdown-item--danger {
	color: var(--red);
}

.dropdown-item.text-danger:hover,
.dropdown-item--danger:hover {
	background: rgba(240, 82, 82, .1);
	color: var(--red);
}

.dropdown-item.text-danger i,
.dropdown-item.text-danger svg,
.dropdown-item--danger i,
.dropdown-item--danger svg {
	color: var(--red);
}

/* ── Success item ──────────────────────────────────── */
.dropdown-item--success {
	color: var(--green);
}

.dropdown-item--success:hover {
	background: rgba(34, 211, 160, .1);
	color: var(--green);
}

/* ── Divider ───────────────────────────────────────── */
.dropdown-divider {
	border-color: var(--dd-border);
	margin: 4px 0;
	opacity: 1;
}

/* ── Theme toggle button ── */
.theme-toggle-btn {
	width: 36px; height: 36px;
	border-radius: var(--radius-sm);
	background: transparent;
	border: 1px solid var(--border);
	color: var(--muted);
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	font-size: 16px;
	transition: all .15s;
	flex-shrink: 0;
	position: relative;
	overflow: hidden;
}
.theme-toggle-btn:hover {
	border-color: var(--accent);
	color: var(--accent);
	background: var(--accent-dim);
}
.theme-toggle-btn .icon-sun,
.theme-toggle-btn .icon-moon {
	position: absolute;
	transition: opacity .2s, transform .25s;
}
[data-theme="dark"] .theme-toggle-btn .icon-sun  { opacity:1; transform:rotate(0deg); }
[data-theme="dark"] .theme-toggle-btn .icon-moon { opacity:0; transform:rotate(-90deg); }
[data-theme="light"] .theme-toggle-btn .icon-sun  { opacity:0; transform:rotate(90deg); }
[data-theme="light"] .theme-toggle-btn .icon-moon { opacity:1; transform:rotate(0deg); }

/* ── Notification / settings icon buttons ── */
.noti-icon {
	background: transparent !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-sm) !important;
	color: var(--muted) !important;
	width: 36px !important;
	height: 36px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	transition: all .15s !important;
}
.noti-icon:hover {
	border-color: var(--accent) !important;
	color: var(--accent) !important;
	background: var(--accent-dim) !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   SIDEBAR  .vertical-menu
   ══════════════════════════════════════════════════════════════════════════ */
.vertical-menu {
	position: fixed !important;
	top: var(--header-h) !important;
	left: 0 !important;
	bottom: 0 !important;
	width: var(--sidebar-w) !important;
	background: var(--sidebar-bg) !important;
	border-right: 1px solid var(--sidebar-border) !important;
	box-shadow: var(--shadow-sm) !important;
	z-index: 1001;
	transition: background .25s, border-color .25s, width .25s;
	overflow: hidden;
}

/* Simplebar host */
.vertical-menu .h-100 { height: 100% !important; }

/* ── Section label ── */
.menu-title {
	font-family: var(--mono) !important;
	font-size: 9.5px !important;
	text-transform: uppercase !important;
	letter-spacing: .14em !important;
	color: var(--muted2) !important;
	padding: 20px 20px 8px !important;
	pointer-events: none;
}

/* ── Nav list ── */
#side-menu {
	padding: 6px 10px 20px !important;
}
#side-menu > li { list-style: none; margin-bottom: 2px; }

/* ── Nav item base ── */
#side-menu > li > a {
	display: flex !important;
	align-items: center;
	gap: 11px;
	padding: 10px 13px !important;
	border-radius: var(--radius-sm) !important;
	color: var(--nav-text) !important;
	font-family: var(--sans) !important;
	font-size: 13.5px !important;
	font-weight: 400;
	text-decoration: none !important;
	transition: background .15s, color .15s !important;
	position: relative;
	white-space: nowrap;
	overflow: hidden;
}
#side-menu > li > a i {
	font-size: 18px !important;
	color: var(--nav-icon) !important;
	flex-shrink: 0;
	transition: color .15s;
	width: 20px;
	text-align: center;
}

/* Hover */
#side-menu > li > a:hover {
	background: var(--nav-hover-bg) !important;
	color: var(--nav-hover-text) !important;
}
#side-menu > li > a:hover i { color: var(--accent) !important; }

/* Active */
#side-menu > li.mm-active > a,
#side-menu > li.mm-active > a:hover {
	background: var(--nav-active-bg) !important;
	color: var(--nav-active-text) !important;
	font-weight: 600;
}
#side-menu > li.mm-active > a i { color: var(--nav-active-icon) !important; }

/* Active — left accent bar */
#side-menu > li.mm-active > a::before {
	content: '';
	position: absolute;
	left: 0; top: 20%; bottom: 20%;
	width: 3px;
	border-radius: 0 3px 3px 0;
	background: var(--nav-active-line);
	box-shadow: 0 0 8px var(--accent-glow);
}

/* Nav label */
#side-menu > li > a span { flex: 1; }

/* Sidebar section divider (optional visual break between groups) */
.menu-section-sep {
	height: 1px;
	background: var(--border);
	margin: 8px 10px;
}

/* ── User card at the bottom of sidebar ── */
.sidebar-user-card {
	position: absolute;
	bottom: 0; left: 0; right: 0;
	padding: 12px 14px;
	border-top: 1px solid var(--border);
	background: var(--sidebar-bg);
	display: flex;
	align-items: center;
	gap: 10px;
	transition: background .25s;
}
.sidebar-user-card img,
.suc-avatar-img {
	width: 32px; height: 32px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--border2);
	flex-shrink: 0;
}
.suc-avatar {
	width: 32px; height: 32px; border-radius: 50%;
	background: var(--accent-dim); border: 2px solid var(--border2);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--display); font-size: 12px; font-weight: 700;
	color: var(--accent); flex-shrink: 0; user-select: none;
}
.sidebar-user-name {
	font-family: var(--sans);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.sidebar-user-role {
	font-family: var(--mono);
	font-size: 10px;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: .07em;
	white-space: nowrap;
}

/* ══════════════════════════════════════════════════════════════════════════
   MAIN CONTENT OFFSET
   ══════════════════════════════════════════════════════════════════════════ */
.main-content {
	margin-left: var(--sidebar-w) !important;
	margin-top: var(--header-h) !important;
	background: var(--bg) !important;
	min-height: calc(100vh - var(--header-h)) !important;
	transition: margin-left .25s, background .25s;
}

/* ══════════════════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════════════════ */
.footer {
	background: var(--surface) !important;
	border-top: 1px solid var(--border) !important;
	color: var(--muted) !important;
	font-family: var(--mono) !important;
	font-size: 11px !important;
	transition: background .25s;
}

/* ══════════════════════════════════════════════════════════════════════════
   BOOTSTRAP / CARD OVERRIDES
   ══════════════════════════════════════════════════════════════════════════ */
.card, .card3d {
	background: var(--surface) !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius) !important;
	box-shadow: var(--shadow-sm) !important;
	color: var(--text) !important;
	transition: background .25s, border-color .25s;
}
.card-header {
	background: var(--surface2) !important;
	border-bottom: 1px solid var(--border) !important;
	color: var(--text) !important;
}
.card-body { color: var(--text) !important; }

/* Page title */
.page-title-box h4 {
	font-family: var(--display) !important;
	color: var(--text) !important;
}
.breadcrumb-item a { color: var(--muted) !important; text-decoration: none; }
.breadcrumb-item a:hover { color: var(--accent) !important; }
.breadcrumb-item.active { color: var(--muted2) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--muted2) !important; }

/* Tables */
.table { color: var(--text) !important; }
.table thead th {
	background: var(--surface2) !important;
	color: var(--muted) !important;
	border-color: var(--border) !important;
	font-family: var(--mono) !important;
	font-size: 11px !important;
	text-transform: uppercase;
	letter-spacing: .07em;
}
.table td, .table th { border-color: var(--border) !important; }
.table-hover tbody tr:hover { background: var(--surface2) !important; --bs-table-accent-bg: transparent !important; }
.table-striped tbody tr:nth-of-type(odd) { background: rgba(255,255,255,.02) !important; }

/* ══════════════════════════════════════════════════════════════════════════
   FORMS — base inputs, Select2, bootstrap-datetimepicker
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Base: form-control & form-select ──────────────────────────────────── */
.form-control,
.form-select {
	background-color: var(--surface2) !important;
	border: 1px solid var(--border) !important;
	color: var(--text) !important;
	border-radius: var(--radius-sm) !important;
	font-family: var(--sans) !important;
	font-size: 13px !important;
	height: 36px;
	padding: 6px 10px !important;
	transition: border-color .2s, box-shadow .2s !important;
	-webkit-appearance: none;
	appearance: none;
}
.form-control:focus,
.form-select:focus {
	border-color: var(--accent) !important;
	box-shadow: 0 0 0 3px var(--accent-dim) !important;
	outline: none !important;
	background-color: var(--surface) !important;
}
.form-control:disabled,
.form-select:disabled {
	background-color: var(--surface3) !important;
	color: var(--muted) !important;
	cursor: not-allowed;
	opacity: .7;
}
.form-control::placeholder { color: var(--muted2) !important; }
label { color: var(--text2) !important; font-family: var(--sans) !important; }

/* sm variant */
.form-control-sm,
.form-select-sm {
	font-size: 12px !important;
	height: 31px !important;
	padding: 4px 8px !important;
}

/* ── form-select: replace Bootstrap's hardcoded dark SVG caret ─────────── */
.form-select {
	padding-right: 32px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%237a8aaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 5l6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 10px center !important;
	background-size: 12px !important;
}
.form-select:focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23FE8127' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 5l6 6 6-6'/%3E%3C/svg%3E") !important;
}
[data-theme="light"] .form-select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236b7a99' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 5l6 6 6-6'/%3E%3C/svg%3E") !important;
}
[data-theme="light"] .form-select:focus {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23E06A10' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 5l6 6 6-6'/%3E%3C/svg%3E") !important;
}
/* Native <option> — Firefox only, Chrome ignores */
.form-select option,
.form-select optgroup { background: var(--dd-bg); color: var(--text); }

/* ── Input group ────────────────────────────────────────────────────────── */
.input-group-text {
	background: var(--surface2) !important;
	border-color: var(--border) !important;
	color: var(--muted) !important;
	font-family: var(--sans) !important;
	font-size: 13px !important;
	height: 36px;
}
/* Keep borders seamless when inside a group */
.input-group .form-control:not(:first-child),
.input-group .form-select:not(:first-child) { border-left: none !important; }
.input-group .form-control:not(:last-child),
.input-group .form-select:not(:last-child)  { border-right: none !important; }
.input-group:focus-within .input-group-text {
	border-color: var(--accent) !important;
}

/* ── Textarea ───────────────────────────────────────────────────────────── */
textarea.form-control {
	height: auto !important;
	resize: vertical;
	min-height: 80px;
}

/* ── Checkboxes & radios ────────────────────────────────────────────────── */
.form-check-input {
	background-color: var(--surface3) !important;
	border-color: var(--border2) !important;
	transition: background .15s, border-color .15s !important;
}
.form-check-input:checked {
	background-color: var(--accent) !important;
	border-color: var(--accent) !important;
}
.form-check-input:focus {
	box-shadow: 0 0 0 3px var(--accent-dim) !important;
	border-color: var(--accent) !important;
}
.form-check-label { color: var(--text2) !important; font-family: var(--sans) !important; font-size: 13px !important; }

/* ── Range input ────────────────────────────────────────────────────────── */
.form-range::-webkit-slider-thumb  { background: var(--accent) !important; }
.form-range::-moz-range-thumb      { background: var(--accent) !important; }
.form-range::-webkit-slider-runnable-track { background: var(--border2) !important; }

/* ── Form feedback ──────────────────────────────────────────────────────── */
.valid-feedback   { color: var(--green) !important; font-family: var(--mono) !important; font-size: 11px !important; }
.invalid-feedback { color: var(--red)   !important; font-family: var(--mono) !important; font-size: 11px !important; }
.form-control.is-valid,   .form-select.is-valid   { border-color: var(--green) !important; }
.form-control.is-invalid, .form-select.is-invalid { border-color: var(--red)   !important; }
.form-control.is-valid:focus   { box-shadow: 0 0 0 3px rgba(34,211,160,.15) !important; }
.form-control.is-invalid:focus { box-shadow: 0 0 0 3px rgba(240,82,82,.15)  !important; }


/* ══════════════════════════════════════════════════════════════════════════
   SELECT2 — full theme override
   ══════════════════════════════════════════════════════════════════════════ */

/* Trigger button */
.select2-container--default .select2-selection--single {
	background: var(--surface2) !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-sm) !important;
	height: 36px !important;
	display: flex !important;
	align-items: center !important;
	transition: border-color .2s, box-shadow .2s !important;
}
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
	border-color: var(--accent) !important;
	box-shadow: 0 0 0 3px var(--accent-dim) !important;
	background: var(--surface) !important;
}

/* Rendered text */
.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--text) !important;
	font-family: var(--sans) !important;
	font-size: 13px !important;
	line-height: 34px !important;
	padding-left: 10px !important;
	padding-right: 28px !important;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--muted2) !important;
}

/* Arrow — hide default triangle, replace with custom SVG */
.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 34px !important;
	width: 28px !important;
	right: 4px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
	display: none !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow::after {
	content: '';
	display: block;
	width: 12px; height: 12px;
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%237a8aaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 5l6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: transform .2s;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23FE8127' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
	transform: translate(-50%, -50%) rotate(180deg);
}
[data-theme="light"] .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23E06A10' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
}

/* Dropdown container */
.select2-container--default .select2-dropdown {
	background: var(--dd-bg) !important;
	border: 1px solid var(--dd-border) !important;
	border-radius: var(--radius) !important;
	box-shadow: var(--shadow-md) !important;
	overflow: hidden;
	/*animation: ddSlide .15s ease;*/
}
.select2-container--default .select2-dropdown--above { border-radius: var(--radius) !important; }

/* Search field inside dropdown */
.select2-container--default .select2-search--dropdown {
	padding: 8px 8px 4px !important;
	background: var(--dd-bg) !important;
	border-bottom: 1px solid var(--border) !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
	background: var(--surface2) !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-sm) !important;
	color: var(--text) !important;
	font-family: var(--sans) !important;
	font-size: 12px !important;
	padding: 6px 10px !important;
	outline: none !important;
	width: 100%;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
	border-color: var(--accent) !important;
	box-shadow: 0 0 0 2px var(--accent-dim) !important;
}

/* Results list */
.select2-container--default .select2-results > .select2-results__options {
	max-height: 240px;
	overflow-y: auto;
	padding: 4px !important;
	background: var(--dd-bg) !important;
}
.select2-container--default .select2-results > .select2-results__options::-webkit-scrollbar { width: 4px; }
.select2-container--default .select2-results > .select2-results__options::-webkit-scrollbar-track { background: var(--sb-track); }
.select2-container--default .select2-results > .select2-results__options::-webkit-scrollbar-thumb { background: var(--sb-thumb); border-radius: 2px; }

/* Option rows */
.select2-container--default .select2-results__option {
	background: transparent !important;
	color: var(--text) !important;
	font-family: var(--sans) !important;
	font-size: 12px !important;
	padding: 8px 10px !important;
	border-radius: var(--radius-sm) !important;
	transition: background .1s !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--dd-hover) !important;
	color: var(--text) !important;
}
.select2-container--default .select2-results__option[aria-selected="true"] {
	background: var(--nav-active-bg) !important;
	color: var(--nav-active-text) !important;
}
.select2-container--default .select2-results__message,
.select2-container--default .select2-results__option--disabled {
	color: var(--muted) !important;
	font-family: var(--mono) !important;
	font-size: 11px !important;
}

/* Multi-select tags */
.select2-container--default .select2-selection--multiple {
	background: var(--surface2) !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-sm) !important;
	min-height: 36px !important;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
	border-color: var(--accent) !important;
	box-shadow: 0 0 0 3px var(--accent-dim) !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
	background: var(--accent-dim) !important;
	border: 1px solid var(--accent-glow) !important;
	color: var(--accent) !important;
	border-radius: 99px !important;
	font-family: var(--mono) !important;
	font-size: 11px !important;
	padding: 2px 8px !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
	color: var(--accent) !important;
	margin-right: 4px !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
	color: var(--red) !important;
	background: transparent !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   BOOTSTRAP DATETIMEPICKER — full theme override
   ══════════════════════════════════════════════════════════════════════════ */

.bootstrap-datetimepicker-widget {
	background: var(--dd-bg) !important;
	border: 1px solid var(--dd-border) !important;
	border-radius: var(--radius) !important;
	box-shadow: var(--shadow-md) !important;
	font-family: var(--sans) !important;
	z-index: 9999999999 !important;

	position: absolute !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;

	/*padding: 4px !important;*/
}

.bootstrap-datetimepicker-widget.dropdown-menu {
	display: block !important;
	margin: 2px 0 !important;
	width: auto !important;
}

/* Remove default arrow caret */
.bootstrap-datetimepicker-widget::before,
.bootstrap-datetimepicker-widget::after {
	display: none !important;
}

/* Month/year nav header */
.bootstrap-datetimepicker-widget table thead tr:first-child th {
	background: var(--surface2) !important;
	color: var(--text) !important;
	font-family: var(--mono) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	padding: 8px 4px !important;
	border-radius: var(--radius-sm) !important;
	cursor: pointer;
}
.bootstrap-datetimepicker-widget table thead tr:first-child th:hover {
	background: var(--nav-hover-bg) !important;
	color: var(--accent) !important;
}

/* Day-of-week row */
.bootstrap-datetimepicker-widget table thead tr:last-child th {
	color: var(--muted) !important;
	font-family: var(--mono) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 6px 2px !important;
	background: transparent !important;
}

/* All cells */
.bootstrap-datetimepicker-widget table td {
	color: var(--text) !important;
	font-family: var(--sans) !important;
	font-size: 12px !important;
	padding: 2px !important;
}
.bootstrap-datetimepicker-widget table td span,
.bootstrap-datetimepicker-widget table td.day {
	width: 30px !important;
	height: 30px !important;
	line-height: 30px !important;
	border-radius: var(--radius-sm) !important;
	color: var(--text) !important;
	transition: background .12s, color .12s !important;
}
.bootstrap-datetimepicker-widget table td span:hover,
.bootstrap-datetimepicker-widget table td.day:hover {
	background: var(--nav-hover-bg) !important;
	color: var(--accent) !important;
}

/* Today */
.bootstrap-datetimepicker-widget table td.today,
.bootstrap-datetimepicker-widget table td.today span {
	color: var(--accent) !important;
	font-weight: 700 !important;
}
.bootstrap-datetimepicker-widget table td.today::before {
	border-bottom-color: var(--accent) !important;
}

/* Selected / active */
.bootstrap-datetimepicker-widget table td.active,
.bootstrap-datetimepicker-widget table td.active:hover,
.bootstrap-datetimepicker-widget table td span.active {
	background: var(--accent) !important;
	color: #FFFFFF !important;
	font-weight: 700 !important;
	border-radius: var(--radius-sm) !important;
	text-shadow: none !important;
}

/* Greyed out other-month days */
.bootstrap-datetimepicker-widget table td.old,
.bootstrap-datetimepicker-widget table td.new { color: var(--muted2) !important; }

/* Disabled */
.bootstrap-datetimepicker-widget table td.disabled,
.bootstrap-datetimepicker-widget table td.disabled:hover {
	color: var(--muted2) !important;
	cursor: not-allowed;
	background: transparent !important;
}

/* Month / year / decade span cells */
.bootstrap-datetimepicker-widget table td span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 6px !important;
	padding: 8px 12px !important;
	border-radius: var(--radius-sm) !important;
}

/* Today / Clear toolbar */
.bootstrap-datetimepicker-widget .datepicker-days   tfoot tr th,
.bootstrap-datetimepicker-widget .datepicker-months tfoot tr th,
.bootstrap-datetimepicker-widget .datepicker-years  tfoot tr th,
.bootstrap-datetimepicker-widget .datepicker-decades tfoot tr th {
	background: var(--surface2) !important;
	color: var(--accent) !important;
	font-family: var(--mono) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	padding: 7px !important;
	border-radius: var(--radius-sm) !important;
	cursor: pointer;
}
.bootstrap-datetimepicker-widget .datepicker-days   tfoot tr th:hover,
.bootstrap-datetimepicker-widget .datepicker-months tfoot tr th:hover,
.bootstrap-datetimepicker-widget .datepicker-years  tfoot tr th:hover {
	background: var(--accent-dim) !important;
}

/* Prev / next arrows */
.bootstrap-datetimepicker-widget table thead tr:first-child th.prev,
.bootstrap-datetimepicker-widget table thead tr:first-child th.next {
	color: var(--muted) !important;
	font-size: 18px !important;
}
.bootstrap-datetimepicker-widget table thead tr:first-child th.prev:hover,
.bootstrap-datetimepicker-widget table thead tr:first-child th.next:hover {
	color: var(--accent) !important;
}

/* Time picker */
.bootstrap-datetimepicker-widget .timepicker-picker table td { color: var(--text) !important; }
.bootstrap-datetimepicker-widget .timepicker-picker table td a {
	color: var(--text) !important;
	border-radius: var(--radius-sm) !important;
}
.bootstrap-datetimepicker-widget .timepicker-picker table td a:hover {
	background: var(--nav-hover-bg) !important;
	color: var(--accent) !important;
}
.bootstrap-datetimepicker-widget .timepicker-picker table td span { color: var(--text) !important; }

/* Separator between date and time sections */
.bootstrap-datetimepicker-widget ul.list-unstyled li:not(:last-child) {
	border-bottom: 1px solid var(--border) !important;
	padding-bottom: 4px !important;
	margin-bottom: 4px !important;
}

/* Buttons */
.btn-primary {
	background: var(--accent) !important;
	border-color: var(--accent) !important;
	/*color: #0c0f1a !important;*/
	color: #F0F2F8 !important;
	font-family: var(--mono) !important;
	font-size: 12px !important;
	border-radius: var(--radius-sm) !important;
	font-weight: 700;
}
.btn-primary:hover { opacity: .85 !important; }
.btn-secondary {
	background: var(--surface2) !important;
	border-color: var(--border2) !important;
	color: var(--text) !important;
	font-family: var(--mono) !important;
	font-size: 12px !important;
	border-radius: var(--radius-sm) !important;
}
.btn-danger {
	background: rgba(240,82,82,.12) !important;
	border-color: rgba(240,82,82,.3) !important;
	color: var(--red) !important;
	font-family: var(--mono) !important;
	font-size: 12px !important;
	border-radius: var(--radius-sm) !important;
}
.btn-danger:hover { background: rgba(240,82,82,.22) !important; }
.btn-warning {
	background: var(--accent-dim) !important;
	border-color: var(--accent-glow) !important;
	color: var(--accent) !important;
	font-family: var(--mono) !important;
	font-size: 12px !important;
	border-radius: var(--radius-sm) !important;
}
.btn-warning:hover { background: rgba(254,129,39,.2) !important; }

/* Modal (Bootstrap) */
.modal-content {
	background: var(--surface) !important;
	border: 1px solid var(--border2) !important;
	border-radius: 16px !important;
	color: var(--text) !important;
}
.modal-header {
	border-bottom: 1px solid var(--border) !important;
	background: var(--surface2) !important;
}
.modal-footer { border-top: 1px solid var(--border) !important; }
.modal-title { font-family: var(--display) !important; font-weight: 700 !important; color: var(--text) !important; }
.btn-close { filter: var(--bs-btn-close-white-filter, invert(0.7)) !important; }

/* ══════════════════════════════════════════════════════════════════════════
   ALERTS — full themed system, both dark + light
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Base ───────────────────────────────────────────────────────────────── */
.alert {
	border-radius: var(--radius-sm) !important;
	font-family: var(--sans) !important;
	font-size: 13px !important;
	padding: 12px 16px !important;
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	border: 1px solid !important;
}

/* Icon auto-sizing inside alerts */
.alert i, .alert .bx {
	font-size: 16px !important;
	flex-shrink: 0;
	margin-top: 1px;
}

/* Alert heading */
.alert-heading {
	font-family: var(--display) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	margin-bottom: 4px !important;
}

/* Dismiss button */
.alert .btn-close {
	margin-left: auto !important;
	flex-shrink: 0;
	opacity: .5;
}
.alert .btn-close:hover { opacity: 1; }

/* ── Success ─────────────────────────────────────────────────────────────── */
.alert-success {
	background: rgba(34,211,160,.1)  !important;
	border-color: rgba(34,211,160,.3) !important;
	color: var(--green) !important;
}
.alert-success .alert-heading { color: var(--green) !important; }
.alert-success .btn-close { filter: invert(1) sepia(1) saturate(2) hue-rotate(110deg) !important; }
.alert-success hr { border-color: rgba(34,211,160,.25) !important; }

/* ── Danger / Error ──────────────────────────────────────────────────────── */
.alert-danger {
	background: rgba(240,82,82,.1)  !important;
	border-color: rgba(240,82,82,.3) !important;
	color: var(--red) !important;
}
.alert-danger .alert-heading { color: var(--red) !important; }
.alert-danger .btn-close { filter: invert(1) sepia(1) saturate(5) hue-rotate(320deg) !important; }
.alert-danger hr { border-color: rgba(240,82,82,.25) !important; }

/* ── Warning ─────────────────────────────────────────────────────────────── */
.alert-warning {
	background: var(--accent-dim)   !important;
	border-color: var(--accent-glow) !important;
	color: var(--accent) !important;
}
.alert-warning .alert-heading { color: var(--accent) !important; }
.alert-warning .btn-close { filter: invert(1) sepia(1) saturate(3) hue-rotate(10deg) !important; }
.alert-warning hr { border-color: var(--accent-glow) !important; }

/* ── Info ────────────────────────────────────────────────────────────────── */
.alert-info {
	background: rgba(79,142,247,.1)  !important;
	border-color: rgba(79,142,247,.3) !important;
	color: var(--blue) !important;
}
.alert-info .alert-heading { color: var(--blue) !important; }
.alert-info .btn-close { filter: invert(1) sepia(1) saturate(3) hue-rotate(190deg) !important; }
.alert-info hr { border-color: rgba(79,142,247,.25) !important; }

/* ── Primary (amber brand) ───────────────────────────────────────────────── */
.alert-primary {
	background: var(--accent-dim)   !important;
	border-color: var(--accent-glow) !important;
	color: var(--accent) !important;
}
.alert-primary .alert-heading { color: var(--accent) !important; }
.alert-primary hr { border-color: var(--accent-glow) !important; }

/* ── Secondary (muted / neutral) ────────────────────────────────────────── */
.alert-secondary {
	background: var(--surface2)  !important;
	border-color: var(--border2) !important;
	color: var(--muted) !important;
}
.alert-secondary .alert-heading { color: var(--text2) !important; }
.alert-secondary hr { border-color: var(--border2) !important; }

/* ── Purple / dark ───────────────────────────────────────────────────────── */
.alert-dark {
	background: rgba(167,139,250,.1)  !important;
	border-color: rgba(167,139,250,.3) !important;
	color: var(--purple) !important;
}
.alert-dark .alert-heading { color: var(--purple) !important; }
.alert-dark hr { border-color: rgba(167,139,250,.25) !important; }

/* ── Light (surface tone) ────────────────────────────────────────────────── */
.alert-light {
	background: var(--surface3)  !important;
	border-color: var(--border)  !important;
	color: var(--text2) !important;
}
.alert-light .alert-heading { color: var(--text) !important; }
.alert-light hr { border-color: var(--border2) !important; }

/* ── Light theme overrides ───────────────────────────────────────────────── */
/* Colours already adapt via CSS vars — only tweak opacity levels for legibility */
[data-theme="light"] .alert-success  { background: rgba(16,185,129,.08)  !important; border-color: rgba(16,185,129,.3)  !important; }
[data-theme="light"] .alert-danger   { background: rgba(239,68,68,.08)   !important; border-color: rgba(239,68,68,.3)   !important; }
[data-theme="light"] .alert-warning  { background: rgba(224,106,16,.1)   !important; border-color: rgba(224,106,16,.3)  !important; }
[data-theme="light"] .alert-info     { background: rgba(59,130,246,.08)  !important; border-color: rgba(59,130,246,.3)  !important; }
[data-theme="light"] .alert-primary  { background: rgba(224,106,16,.1)   !important; border-color: rgba(224,106,16,.3)  !important; }
[data-theme="light"] .alert-dark     { background: rgba(139,92,246,.08)  !important; border-color: rgba(139,92,246,.3)  !important; }
[data-theme="light"] .alert-secondary{ background: var(--surface3)       !important; border-color: var(--border2)       !important; }

/* Simplebar */
.simplebar-scrollbar::before { background: var(--sb-thumb) !important; }

/* ══════════════════════════════════════════════════════════════════════════
   SIDEBAR COLLAPSED  (body.sidebar-enable + menu-btn toggled)
   When sidebar width collapses to icon-only mode
   ══════════════════════════════════════════════════════════════════════════ */
body.sidebar-enable .vertical-menu { width: var(--sidebar-w-sm) !important; }
body.sidebar-enable .main-content  { margin-left: var(--sidebar-w-sm) !important; }
body.sidebar-enable .navbar-brand-box { width: var(--sidebar-w-sm) !important; }
body.sidebar-enable .navbar-brand-box .logo-lg { display: none !important; }
body.sidebar-enable .navbar-brand-box .logo-sm { display: block !important; }
body.sidebar-enable #side-menu > li > a span  { display: none !important; }
body.sidebar-enable #side-menu > li > a       { justify-content: center; padding: 11px !important; }
body.sidebar-enable .menu-title               { display: none !important; }
body.sidebar-enable .sidebar-user-card .suc-text { display: none !important; }

/* Desktop: icon-only collapsed */
/*@media (min-width: 992px) {*/
/*	body.vertical-collpsed .vertical-menu { width: var(--sidebar-w-sm) !important; }*/
/*	body.vertical-collpsed .main-content  { margin-left: var(--sidebar-w-sm) !important; }*/
/*	body.vertical-collpsed .navbar-brand-box { width: var(--sidebar-w-sm) !important; }*/
/*	body.vertical-collpsed .navbar-brand-box .logo-lg { display: none !important; }*/
/*	body.vertical-collpsed .navbar-brand-box .logo-sm { display: block !important; }*/
/*	body.vertical-collpsed #side-menu > li > a span  { display: none !important; }*/
/*	body.vertical-collpsed #side-menu > li > a       { justify-content: center; padding: 11px !important; }*/
/*	body.vertical-collpsed .menu-title               { display: none !important; }*/
/*	body.vertical-collpsed .sidebar-user-card .suc-text { display: none !important; }*/
/*}*/

.container-fluid {
	padding-top: 10px !important;
}


/*
 * datatables.theme.css
 * Complete DataTables theme — uses only var(--token) from theme.css.
 * Drop this file after theme.css; no !important overrides needed in page CSS.
 *
 * Covers:
 *   Core            — table, thead, tbody, tfoot, sorting arrows
 *   Wrapper UI      — dataTables_wrapper, filter, length, info, paginate
 *   Buttons plugin  — dt-buttons, Copy / CSV / Excel / PDF / Print / ColVis
 *   Responsive      — child rows, collapsed indicator
 *   Select plugin   — row / cell / column selection
 *   RowGroup        — group header rows
 *   ColReorder      — drag handle
 *   FixedHeader     — cloned fixed header
 *   Processing      — overlay spinner
 *   Empty state     — dataTables_empty
 *   Scrolling       — dataTables_scrollHead / Body
 *   Print view      — @media print
 */

/* ══════════════════════════════════════════════════════════════════
   1. BASE TABLE
   ══════════════════════════════════════════════════════════════════ */

table.dataTable {
	width: 100% !important;
	border-collapse: collapse !important;
	border-spacing: 0;
	color: var(--text);
	font-family: var(--sans);
	font-size: 13px;
}

/* ── Head ──────────────────────────────────────────────────────── */
table.dataTable thead tr {
	background: var(--surface2);
	border-bottom: 1px solid var(--border);
}
table.dataTable thead th,
table.dataTable thead td {
	padding: 10px 14px;
	font-family: var(--mono);
	font-size: 10px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--muted);
	border-bottom: 2px solid var(--border);
	white-space: nowrap;
	vertical-align: middle;
}
table.dataTable thead th:last-child,
table.dataTable thead td:last-child {
	border-right: none;
}

/* ── Sort arrows ───────────────────────────────────────────────── */
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
	cursor: pointer;
	position: relative;
	padding-right: 26px !important;
	user-select: none;
	transition: color .15s;
}
table.dataTable thead .sorting:hover,
table.dataTable thead .sorting_asc:hover,
table.dataTable thead .sorting_desc:hover {
	color: var(--text);
}

/* Remove default DataTables background-image arrows */
table.dataTable thead .sorting::before,
table.dataTable thead .sorting::after,
table.dataTable thead .sorting_asc::before,
table.dataTable thead .sorting_asc::after,
table.dataTable thead .sorting_desc::before,
table.dataTable thead .sorting_desc::after,
table.dataTable thead .sorting_asc_disabled::before,
table.dataTable thead .sorting_asc_disabled::after,
table.dataTable thead .sorting_desc_disabled::before,
table.dataTable thead .sorting_desc_disabled::after {
	position: absolute;
	font-family: 'boxicons', 'Material Design Icons', sans-serif;
	font-size: 11px;
	line-height: 1;
	opacity: .3;
	transition: opacity .15s, color .15s;
}

/* Up arrow - positioned to the left */
table.dataTable thead .sorting::before,
table.dataTable thead .sorting_asc::before,
table.dataTable thead .sorting_desc::before,
table.dataTable thead .sorting_asc_disabled::before,
table.dataTable thead .sorting_desc_disabled::before {
	content: '↑';
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
}

/* Down arrow - positioned to the right */
table.dataTable thead .sorting::after,
table.dataTable thead .sorting_asc::after,
table.dataTable thead .sorting_desc::after,
table.dataTable thead .sorting_asc_disabled::after,
table.dataTable thead .sorting_desc_disabled::after {
	content: '↓';
	right: 2px;
	top: 50%;
	transform: translateY(-50%);
}
table.dataTable thead .sorting_asc::before  { opacity: 1; color: var(--accent); }
table.dataTable thead .sorting_desc::after  { opacity: 1; color: var(--accent); }
table.dataTable thead .sorting:hover::before,
table.dataTable thead .sorting:hover::after { opacity: .6; }

/* ── Body ──────────────────────────────────────────────────────── */
table.dataTable tbody tr {
	border-bottom: 1px solid var(--border) !important;
	transition: background .1s;
}
table.dataTable tbody tr:last-child {
	border-bottom: none;
}
table.dataTable tbody tr:hover {
	background: var(--surface2);
}
table.dataTable tbody td,
table.dataTable tbody th {
	padding: 11px 14px;
	vertical-align: middle;
	color: var(--text);
}

/* Striped variant */
table.dataTable.table-striped tbody tr:nth-of-type(odd) {
	background: rgba(255,255,255,.02);
}
table.dataTable.table-striped tbody tr:nth-of-type(odd):hover {
	background: var(--surface2);
}

/* Bordered variant */
table.dataTable.table-bordered {
	border: 1px solid var(--border);
}
table.dataTable.table-bordered th,
table.dataTable.table-bordered td {
	border: 1px solid var(--border);
}

/* ── Foot ──────────────────────────────────────────────────────── */
table.dataTable tfoot tr {
	background: var(--surface2);
	border-top: 2px solid var(--border);
}
table.dataTable tfoot th,
table.dataTable tfoot td {
	padding: 10px 14px;
	font-family: var(--mono);
	font-size: 11px;
	font-weight: 500;
	color: var(--muted);
	border-top: 1px solid var(--border);
}

/* ── No border between head / body ──────────────────────────────── */
table.dataTable.no-footer {
	border-bottom: 1px solid var(--border);
}


/* ══════════════════════════════════════════════════════════════════
   2. WRAPPER LAYOUT
   ══════════════════════════════════════════════════════════════════ */

.dataTables_wrapper {
	position: relative;
	color: var(--text);
	font-family: var(--sans);
}

/* Top row: length + filter */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
	padding: 12px 16px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
	font-family: var(--mono);
	font-size: 11px;
	color: var(--muted);
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	white-space: nowrap;
}

/* ── Length select ─────────────────────────────────────────────── */
.dataTables_wrapper .dataTables_length select {
	background: var(--surface2);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	color: var(--text);
	font-family: var(--mono);
	font-size: 12px;
	padding: 5px 28px 5px 10px;
	cursor: pointer;
	outline: none;
	transition: border-color .2s;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237a8aaa'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 9px center;
}
.dataTables_wrapper .dataTables_length select:focus {
	border-color: var(--accent);
	box-shadow: 0 0 0 3px var(--accent-dim);
}

/* ── Filter / search input ─────────────────────────────────────── */
.dataTables_wrapper .dataTables_filter input {
	background: var(--surface2);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	color: var(--text);
	font-family: var(--mono);
	font-size: 12px;
	padding: 6px 12px;
	outline: none;
	transition: border-color .2s, box-shadow .2s;
	min-width: 200px;
}
.dataTables_wrapper .dataTables_filter input::placeholder {
	color: var(--muted2);
}
.dataTables_wrapper .dataTables_filter input:focus {
	border-color: var(--accent);
	box-shadow: 0 0 0 3px var(--accent-dim);
}

/* ── Info string ───────────────────────────────────────────────── */
.dataTables_wrapper .dataTables_info {
	padding: 10px 16px;
	font-family: var(--mono);
	font-size: 11px;
	color: var(--muted);
	white-space: nowrap;
}

/* ── Pagination ────────────────────────────────────────────────── */

/*
 * Bootstrap 4/5 DataTables renders pagination as Bootstrap .pagination:
 *
 *   <div class="dataTables_paginate">
 *     <ul class="pagination">
 *       <li class="paginate_button page-item previous [disabled]">
 *         <a class="page-link">Previous</a>
 *       </li>
 *       <li class="paginate_button page-item [active]">
 *         <a class="page-link">1</a>
 *       </li>
 *       …
 *     </ul>
 *   </div>
 *
 * Bootstrap's own .pagination/.page-link rules are highly specific.
 * Every rule below uses .dataTables_wrapper as a prefix qualifier
 * and !important on properties Bootstrap also sets, so our theme wins.
 */

.dataTables_wrapper .dataTables_paginate {
	padding: 10px 16px;
}

/* The Bootstrap <ul class="pagination"> */
.dataTables_wrapper .dataTables_paginate .pagination {
	display: flex !important;
	align-items: center !important;
	gap: 3px !important;
	flex-wrap: wrap !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

/* ── <li> items — strip Bootstrap margins ────────────────────── */
.dataTables_wrapper .dataTables_paginate .pagination .page-item {
	margin: 0 !important;
}

/* ── <a class="page-link"> — base ────────────────────────────── */
.dataTables_wrapper .dataTables_paginate .pagination .page-item .page-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 32px !important;
	height: 32px !important;
	padding: 0 10px !important;
	margin: 0 !important;
	border-radius: var(--radius-sm) !important;
	border: 1px solid transparent !important;
	background: transparent !important;
	color: var(--muted) !important;
	font-family: var(--mono) !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	transition: all .15s !important;
	text-decoration: none !important;
	box-shadow: none !important;
	outline: none !important;
}

/* ── Hover ───────────────────────────────────────────────────── */
.dataTables_wrapper .dataTables_paginate .pagination .page-item:not(.active):not(.disabled) .page-link:hover {
	background: var(--surface2) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
	box-shadow: none !important;
}

/* ── Active / current page ───────────────────────────────────── */
.dataTables_wrapper .dataTables_paginate .pagination .page-item.active .page-link,
.dataTables_wrapper .dataTables_paginate .pagination .page-item.active .page-link:hover,
.dataTables_wrapper .dataTables_paginate .pagination .page-item.active .page-link:focus {
	background: var(--accent) !important;
	border-color: var(--accent) !important;
	color: #0c0f1a !important;
	font-weight: 700 !important;
	box-shadow: 0 2px 8px var(--accent-glow) !important;
	z-index: 2 !important;
}

/* ── Disabled ────────────────────────────────────────────────── */
.dataTables_wrapper .dataTables_paginate .pagination .page-item.disabled .page-link,
.dataTables_wrapper .dataTables_paginate .pagination .page-item.disabled .page-link:hover {
	background: transparent !important;
	border-color: transparent !important;
	color: var(--muted2) !important;
	cursor: not-allowed !important;
	box-shadow: none !important;
	opacity: .5 !important;
	pointer-events: none !important;
}

/* ── Focus ring ──────────────────────────────────────────────── */
.dataTables_wrapper .dataTables_paginate .pagination .page-item .page-link:focus {
	box-shadow: 0 0 0 3px var(--accent-dim) !important;
	border-color: var(--accent) !important;
	outline: none !important;
}

/* ── Previous / Next — a little wider ───────────────────────── */
.dataTables_wrapper .dataTables_paginate .pagination .page-item.previous .page-link,
.dataTables_wrapper .dataTables_paginate .pagination .page-item.next .page-link {
	padding: 0 13px !important;
	font-size: 12px !important;
}

/* ── Ellipsis ────────────────────────────────────────────────── */
.dataTables_wrapper .dataTables_paginate .pagination .page-item.disabled.ellipsis .page-link {
	min-width: 20px !important;
	padding: 0 6px !important;
	opacity: 1 !important;
	color: var(--muted2) !important;
}

/* ── Vanilla DataTables fallback (no Bootstrap integration) ──── */
.dataTables_wrapper .dataTables_paginate span .paginate_button,
.dataTables_wrapper .dataTables_paginate > .paginate_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 0 10px;
	border-radius: var(--radius-sm);
	border: 1px solid transparent;
	background: transparent;
	color: var(--muted);
	font-family: var(--mono);
	font-size: 11px;
	cursor: pointer;
	transition: all .15s;
	box-shadow: none;
	text-decoration: none;
}
.dataTables_wrapper .dataTables_paginate span .paginate_button:hover,
.dataTables_wrapper .dataTables_paginate > .paginate_button:hover {
	background: var(--surface2);
	border-color: var(--border);
	color: var(--text);
}
.dataTables_wrapper .dataTables_paginate span .paginate_button.current,
.dataTables_wrapper .dataTables_paginate > .paginate_button.current {
	background: var(--accent);
	border-color: var(--accent);
	color: #0c0f1a;
	font-weight: 700;
	box-shadow: 0 2px 8px var(--accent-glow);
}
.dataTables_wrapper .dataTables_paginate span .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate > .paginate_button.disabled {
	color: var(--muted2);
	cursor: not-allowed;
	opacity: .5;
}
.dataTables_wrapper .dataTables_paginate .ellipsis {
	color: var(--muted2);
	font-family: var(--mono);
	font-size: 11px;
	padding: 0 4px;
}


/* ══════════════════════════════════════════════════════════════════
   3. BUTTONS PLUGIN  (dt-buttons)
   ══════════════════════════════════════════════════════════════════ */

.dt-buttons {
	display: flex;
	align-items: center;
	gap: 5px;
	flex-wrap: wrap;
	padding: 12px 16px;
}

/* Base button */
.dt-button,
.dt-button:visited {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 32px;
	padding: 0 13px;
	background: var(--surface2);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	color: var(--text);
	font-family: var(--mono);
	font-size: 11px;
	cursor: pointer;
	transition: all .15s;
	white-space: nowrap;
	box-shadow: none;
	text-decoration: none;
	outline: none;
}
.dt-button:hover,
.dt-button:focus {
	background: var(--surface3);
	border-color: var(--border2);
	color: var(--text);
	box-shadow: none;
}
.dt-button:active {
	transform: scale(.97);
}
.dt-button.active,
.dt-button.active:hover {
	background: var(--accent-dim);
	border-color: rgba(254,129,39,.35);
	color: var(--accent);
	box-shadow: none;
}
.dt-button.disabled,
.dt-button.disabled:hover {
	opacity: .45;
	cursor: not-allowed;
}

/* Copy button */
.buttons-copy::before {
	content: '\ebef';   /* bx bx-copy */
	font-family: 'boxicons';
	font-size: 13px;
}

/* CSV */
.buttons-csv::before {
	content: '\ebdf';   /* bx bx-file */
	font-family: 'boxicons';
	font-size: 13px;
}

/* Excel */
.buttons-excel {
	color: var(--green);
	border-color: rgba(34,211,160,.25);
	background: rgba(34,211,160,.06);
}
.buttons-excel:hover {
	background: rgba(34,211,160,.12);
	border-color: rgba(34,211,160,.4);
	color: var(--green);
}

/* PDF */
.buttons-pdf {
	color: var(--red);
	border-color: rgba(240,82,82,.25);
	background: rgba(240,82,82,.06);
}
.buttons-pdf:hover {
	background: rgba(240,82,82,.12);
	border-color: rgba(240,82,82,.4);
	color: var(--red);
}

/* Print */
.buttons-print {
	color: var(--blue);
	border-color: rgba(79,142,247,.25);
	background: rgba(79,142,247,.06);
}
.buttons-print:hover {
	background: rgba(79,142,247,.12);
	border-color: rgba(79,142,247,.4);
	color: var(--blue);
}

/* Column Visibility (ColVis) */
.buttons-colvis {
	position: relative;
}
/* ColVis dropdown */
.dt-button-collection {
	background: var(--dd-bg);
	border: 1px solid var(--dd-border);
	border-radius: var(--radius);
	box-shadow: var(--shadow-md);
	padding: 6px;
	z-index: 2002;
	min-width: 160px;
	animation: ddSlide .15s ease;
}
@keyframes ddSlide {
	from { opacity:0; transform: translateY(-6px); }
	to   { opacity:1; transform: translateY(0); }
}
.dt-button-collection .dt-button {
	width: 100%;
	justify-content: flex-start;
	gap: 8px;
	padding: 8px 10px;
	height: auto;
	background: transparent;
	border-color: transparent;
	color: var(--text);
	font-size: 12px;
	border-radius: var(--radius-sm);
}
.dt-button-collection .dt-button:hover {
	background: var(--dd-hover);
	border-color: transparent;
}
.dt-button-collection .dt-button.active {
	background: var(--accent-dim);
	color: var(--accent);
	border-color: transparent;
}
/* Checkmark for active columns */
.dt-button-collection .dt-button.active::before {
	content: '✓';
	font-size: 11px;
	color: var(--accent);
	min-width: 14px;
}
.dt-button-collection .dt-button:not(.active)::before {
	content: '';
	min-width: 14px;
	display: inline-block;
}

/* Background overlay for collection */
.dt-button-background {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.3);
	z-index: 2001;
}

/* Flash message (Copy confirmation) */
div.dt-button-info {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: var(--surface);
	border: 1px solid var(--border2);
	border-radius: var(--radius);
	padding: 20px 30px;
	text-align: center;
	box-shadow: var(--shadow-md);
	z-index: 2100;
	animation: ddSlide .2s ease;
}
div.dt-button-info h2 {
	font-family: var(--display);
	font-size: 15px;
	font-weight: 700;
	color: var(--text);
	margin: 0 0 6px;
}
div.dt-button-info > div {
	font-family: var(--mono);
	font-size: 12px;
	color: var(--muted);
}


/* ══════════════════════════════════════════════════════════════════
   4. RESPONSIVE PLUGIN
   ══════════════════════════════════════════════════════════════════ */

/* Collapse indicator cell */
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control {
	position: relative;
	padding-left: 36px !important;
	cursor: pointer;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control::before,
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control::before {
	content: '';
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 0 2px var(--accent-glow);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath d='M4 1v6M1 4h6' stroke='%230c0f1a' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td.dtr-control::before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th.dtr-control::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath d='M1 4h6' stroke='%230c0f1a' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
	background-color: var(--muted2);
	box-shadow: none;
}

/* Child row */
table.dataTable.dtr-inline > tbody > tr.child td,
table.dataTable.dtr-column > tbody > tr.child td {
	background: var(--surface2);
	border-left: 3px solid var(--accent);
	padding: 0;
}
table.dataTable.dtr-inline > tbody > tr.child ul.dtr-details,
table.dataTable.dtr-column > tbody > tr.child ul.dtr-details {
	list-style: none;
	padding: 10px 14px;
	margin: 0;
}
table.dataTable.dtr-inline > tbody > tr.child ul.dtr-details li,
table.dataTable.dtr-column > tbody > tr.child ul.dtr-details li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 6px 0;
	border-bottom: 1px solid var(--border);
	font-size: 12px;
}
table.dataTable.dtr-inline > tbody > tr.child ul.dtr-details li:last-child,
table.dataTable.dtr-column > tbody > tr.child ul.dtr-details li:last-child {
	border-bottom: none;
}
table.dataTable.dtr-inline > tbody > tr.child ul.dtr-details span.dtr-title,
table.dataTable.dtr-column > tbody > tr.child ul.dtr-details span.dtr-title {
	font-family: var(--mono);
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--muted);
	min-width: 100px;
	flex-shrink: 0;
}
table.dataTable.dtr-inline > tbody > tr.child ul.dtr-details span.dtr-data,
table.dataTable.dtr-column > tbody > tr.child ul.dtr-details span.dtr-data {
	color: var(--text);
	flex: 1;
}

/* Column hidden icon button */
table.dataTable.dtr-column > tbody > tr > td.control,
table.dataTable.dtr-column > tbody > tr > th.control {
	cursor: pointer;
}
table.dataTable.dtr-column > tbody > tr > td.control::before,
table.dataTable.dtr-column > tbody > tr > th.control::before {
	content: '⊕';
	color: var(--accent);
	font-size: 14px;
}
table.dataTable.dtr-column > tbody > tr.parent > td.control::before,
table.dataTable.dtr-column > tbody > tr.parent > th.control::before {
	content: '⊖';
	color: var(--muted2);
}


/* ══════════════════════════════════════════════════════════════════
   5. SELECT PLUGIN
   ══════════════════════════════════════════════════════════════════ */

table.dataTable tbody tr.selected,
table.dataTable tbody tr.selected:hover {
	background: var(--accent-dim);
	outline: 1px solid rgba(254,129,39,.2);
}
table.dataTable tbody tr.selected td {
	color: var(--text);
}
/* Checkbox column */
table.dataTable tbody tr td.select-checkbox,
table.dataTable thead tr th.select-checkbox {
	position: relative;
	padding-left: 36px !important;
	cursor: pointer;
}
table.dataTable tbody tr td.select-checkbox::before,
table.dataTable thead tr th.select-checkbox::before {
	content: '';
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
	height: 15px;
	border: 1.5px solid var(--border2);
	border-radius: 4px;
	background: var(--surface2);
	transition: all .15s;
}
table.dataTable tbody tr.selected td.select-checkbox::before,
table.dataTable thead tr.selected th.select-checkbox::before {
	background: var(--accent);
	border-color: var(--accent);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3L9 1' stroke='%230c0f1a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}
/* Cell selection */
table.dataTable tbody td.selected {
	background: var(--accent-dim);
}
/* Info about selection count */
span.select-info,
span.select-item {
	font-family: var(--mono);
	font-size: 11px;
	color: var(--accent);
	margin-left: 8px;
}


/* ══════════════════════════════════════════════════════════════════
   6. ROW GROUP PLUGIN
   ══════════════════════════════════════════════════════════════════ */

table.dataTable tr.dtrg-group td {
	background: var(--surface3);
	border-top: 1px solid var(--border2);
	border-bottom: 1px solid var(--border2);
	font-family: var(--mono);
	font-size: 10.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--muted);
	padding: 7px 14px;
}
table.dataTable tr.dtrg-group.dtrg-start td {
	border-top: 2px solid var(--accent);
}
table.dataTable tr.dtrg-group:hover td {
	background: var(--surface3);
}


/* ══════════════════════════════════════════════════════════════════
   7. COL REORDER PLUGIN
   ══════════════════════════════════════════════════════════════════ */

table.dataTable thead th.dt-reorder-moving {
	outline: 2px solid var(--accent);
	outline-offset: -2px;
	background: var(--accent-dim);
}
div.dt-colresizable-col {
	border-right: 2px dashed var(--border2);
	cursor: col-resize;
}
div.dt-colresizable-col:hover {
	border-right-color: var(--accent);
}


/* ══════════════════════════════════════════════════════════════════
   8. FIXED HEADER PLUGIN
   ══════════════════════════════════════════════════════════════════ */

table.fixedHeader-floating,
table.fixedHeader-locked {
	background: var(--surface) !important;
	border-bottom: 2px solid var(--border2) !important;
	box-shadow: var(--shadow-md) !important;
	z-index: 1003 !important;
}
table.fixedHeader-floating thead th,
table.fixedHeader-locked thead th {
	background: var(--surface2) !important;
}


/* ══════════════════════════════════════════════════════════════════
   9. SCROLL — dataTables_scroll*
   ══════════════════════════════════════════════════════════════════ */

.dataTables_scrollHead {
	background: var(--surface2);
	border-bottom: 1px solid var(--border);
	overflow: hidden !important;
}
.dataTables_scrollBody {
	background: var(--surface);
	overflow-y: auto;
}
.dataTables_scrollBody::-webkit-scrollbar         { width: 6px; height: 6px; }
.dataTables_scrollBody::-webkit-scrollbar-track   { background: var(--sb-track); }
.dataTables_scrollBody::-webkit-scrollbar-thumb   { background: var(--sb-thumb); border-radius: 3px; }
.dataTables_scrollBody::-webkit-scrollbar-thumb:hover { background: var(--muted); }
.dataTables_scrollFoot {
	background: var(--surface2);
	border-top: 1px solid var(--border);
}


/* ══════════════════════════════════════════════════════════════════
   10. PROCESSING OVERLAY
   ══════════════════════════════════════════════════════════════════ */

.dataTables_processing {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: var(--surface);
	border: 1px solid var(--border2);
	border-radius: var(--radius);
	padding: 14px 24px;
	z-index: 2000;
	box-shadow: var(--shadow-md);
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--mono);
	font-size: 12px;
	color: var(--muted);
}
.dataTables_processing::before {
	content: '';
	width: 14px;
	height: 14px;
	border: 2px solid var(--border2);
	border-top-color: var(--accent);
	border-radius: 50%;
	animation: dtSpin .7s linear infinite;
	flex-shrink: 0;
}
@keyframes dtSpin {
	to { transform: rotate(360deg); }
}


/* ══════════════════════════════════════════════════════════════════
   11. EMPTY STATE
   ══════════════════════════════════════════════════════════════════ */

table.dataTable tbody td.dataTables_empty {
	text-align: center;
	padding: 48px 20px;
	font-family: var(--mono);
	font-size: 12px;
	color: var(--muted2);
	border-bottom: none;
	background: var(--surface);
	/*set text as italic and add a pseudo-element with a question mark icon above it to indicate the empty state more visually.*/
	font-style: italic;

}
table.dataTable tbody td.dataTables_empty::before {
	content: '📋';
	display: block;
	font-size: 28px;
	margin-bottom: 10px;
	opacity: .25;
	font-style: normal;
}


/* ══════════════════════════════════════════════════════════════════
   12. WRAPPER CARD  — .dt-card helper class
       Add class="dt-card" to the parent div for a full card look.
   ══════════════════════════════════════════════════════════════════ */

.dt-card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
}
.dt-card .dataTables_wrapper {
	display: flex;
	flex-direction: column;
}
/* Top bar: buttons + filter */
.dt-card .dt-top-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	padding: 12px 16px;
	background: var(--surface2);
	border-bottom: 1px solid var(--border);
}
.dt-card .dt-top-bar .dt-buttons { padding: 0; }
.dt-card .dt-top-bar .dataTables_filter { padding: 0; }
/* Bottom bar: info + paginate */
.dt-card .dt-bottom-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	padding: 10px 16px;
	background: var(--surface2);
	border-top: 1px solid var(--border);
}
.dt-card .dt-bottom-bar .dataTables_info    { padding: 0; }
.dt-card .dt-bottom-bar .dataTables_paginate { padding: 0; }


/* ══════════════════════════════════════════════════════════════════
   13. BOOTSTRAP 4/5 OVERRIDES
       Resets Bootstrap table classes to play nicely with theme.
   ══════════════════════════════════════════════════════════════════ */

.table-dark { --bs-table-bg: var(--surface2); }

/* Kill Bootstrap's blue row highlight */
.table-hover > tbody > tr:hover > * { --bs-table-accent-bg: var(--surface2); }

/* Bootstrap .table inside DataTables */
.dataTables_wrapper .table {
	color: var(--text);
	border-color: var(--border);
}
.dataTables_wrapper .table > :not(caption) > * > * {
	background-color: transparent;
	border-bottom-color: var(--border);
	color: var(--text);
}
.dataTables_wrapper .table-bordered > :not(caption) > * {
	border-color: var(--border);
}


/* ══════════════════════════════════════════════════════════════════
   14. PRINT
   ══════════════════════════════════════════════════════════════════ */

@media print {
	.dataTables_wrapper .dataTables_length,
	.dataTables_wrapper .dataTables_filter,
	.dataTables_wrapper .dataTables_info,
	.dataTables_wrapper .dataTables_paginate,
	.dt-buttons {
		display: none !important;
	}
	table.dataTable thead th {
		background: #f0f2f8 !important;
		color: #1a2035 !important;
		border-bottom: 2px solid #dde2f0 !important;
	}
	table.dataTable tbody tr {
		border-bottom: 1px solid #dde2f0 !important;
	}
	table.dataTable tbody td { color: #1a2035 !important; }
}

.smart-tooltip {
	position: absolute;
	background: #1A2035;
	color: #fff;
	padding: 6px 10px;
	font-size: 13px;
	border-radius: 6px;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.15s ease;
	z-index: 9999;
}

/* ══════════════════════════════════════════════════════════════════════════
   JODIT EDITOR — THEME INTEGRATION
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Container ─────────────────────────────────────────────────────────── */
.jodit-container {
	border: 1px solid var(--border) !important;
	border-radius: var(--radius-sm) !important;
	background: var(--surface) !important;
	font-family: var(--sans) !important;
	box-shadow: var(--shadow-sm) !important;
	transition: border-color .2s ease !important;
}

.jodit-container:focus-within {
	border-color: var(--accent) !important;
	box-shadow: 0 0 0 3px var(--accent-dim) !important;
}

/* Validation error state */
.jodit-container.is-invalid {
	border-color: var(--red) !important;
	box-shadow: 0 0 0 3px rgba(240, 82, 82, .12) !important;
}

/* ── Toolbar ────────────────────────────────────────────────────────────── */
.jodit-toolbar__box {
	background: var(--surface2) !important;
	border-bottom: 1px solid var(--border) !important;
	border-radius: var(--radius-sm) var(--radius-sm) 0 0 !important;
	padding: 4px !important;
}

/* Toolbar buttons */
.jodit-toolbar-button__button {
	color: var(--text2) !important;
	border-radius: var(--radius-sm) !important;
	transition: background .15s ease, color .15s ease !important;
}

.jodit-toolbar-button__button:hover {
	background: var(--accent-dim) !important;
	color: var(--accent) !important;
}

.jodit-toolbar-button_activated .jodit-toolbar-button__button,
.jodit-toolbar-button__button[aria-pressed="true"] {
	background: var(--accent-dim) !important;
	color: var(--accent) !important;
}

/* Toolbar separator | */
.jodit-toolbar__box .jodit-ui-separator {
	border-left: 1px solid var(--border2) !important;
	margin: 4px 3px !important;
}

/* Toolbar icons */
.jodit-toolbar-button__button svg {
	fill: currentColor !important;
}

/* ── Editor Area ────────────────────────────────────────────────────────── */
.jodit-workplace {
	background: var(--surface) !important;
}

.jodit-wysiwyg {
	color: var(--text) !important;
	background: var(--surface) !important;
	font-family: var(--sans) !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
	caret-color: var(--accent) !important;
	padding: 12px 14px !important;
}

/* Placeholder */
.jodit-wysiwyg_placeholder {
	color: var(--muted) !important;
	font-family: var(--sans) !important;
	font-size: 14px !important;
}

/* ── Inline Elements ────────────────────────────────────────────────────── */
.jodit-wysiwyg a {
	color: var(--accent) !important;
	text-decoration: underline !important;
}

.jodit-wysiwyg a:hover {
	color: var(--blue) !important;
}

.jodit-wysiwyg ul,
.jodit-wysiwyg ol {
	padding-left: 1.5rem !important;
	color: var(--text) !important;
}

.jodit-wysiwyg li {
	margin-bottom: 4px !important;
}

/* ── Table ──────────────────────────────────────────────────────────────── */
.jodit-wysiwyg table {
	border-collapse: collapse !important;
	width: 100% !important;
}

.jodit-wysiwyg table td,
.jodit-wysiwyg table th {
	border: 1px solid var(--border2) !important;
	padding: 8px 10px !important;
	color: var(--text) !important;
	background: var(--surface) !important;
}

.jodit-wysiwyg table th {
	background: var(--surface2) !important;
	color: var(--text2) !important;
	font-weight: 600 !important;
}

.jodit-wysiwyg table tr:hover td {
	background: var(--surface3) !important;
}

/* ── Popups & Dialogs ───────────────────────────────────────────────────── */
.jodit-popup__content,
.jodit-dialog__panel {
	background: var(--dd-bg) !important;
	border: 1px solid var(--dd-border) !important;
	border-radius: var(--radius-sm) !important;
	box-shadow: var(--shadow-md) !important;
	color: var(--text) !important;
}

.jodit-dialog__header {
	background: var(--surface2) !important;
	border-bottom: 1px solid var(--border) !important;
	color: var(--text) !important;
}

.jodit-dialog__footer {
	background: var(--surface2) !important;
	border-top: 1px solid var(--border) !important;
}

/* Popup buttons */
.jodit-popup .jodit-toolbar-button__button:hover {
	background: var(--dd-hover) !important;
	color: var(--accent) !important;
}

/* ── Inputs inside dialogs ──────────────────────────────────────────────── */
.jodit-ui-input__input,
.jodit-dialog__panel input[type="text"],
.jodit-dialog__panel input[type="url"] {
	background: var(--surface3) !important;
	border: 1px solid var(--border2) !important;
	border-radius: var(--radius-sm) !important;
	color: var(--text) !important;
	font-family: var(--sans) !important;
	padding: 7px 10px !important;
	transition: border-color .2s ease !important;
}

.jodit-ui-input__input:focus,
.jodit-dialog__panel input[type="text"]:focus,
.jodit-dialog__panel input[type="url"]:focus {
	border-color: var(--accent) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px var(--accent-dim) !important;
}

.jodit-ui-input__label {
	color: var(--text2) !important;
	font-family: var(--sans) !important;
	font-size: 13px !important;
}

/* ── Dialog Buttons ─────────────────────────────────────────────────────── */
.jodit-dialog__panel .jodit-button {
	background: var(--accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--radius-sm) !important;
	font-family: var(--sans) !important;
	padding: 7px 16px !important;
	transition: opacity .2s ease !important;
}

.jodit-dialog__panel .jodit-button:hover {
	opacity: .85 !important;
}

/* ── Scrollbar inside editor ────────────────────────────────────────────── */
.jodit-wysiwyg::-webkit-scrollbar        { width: 6px; }
.jodit-wysiwyg::-webkit-scrollbar-track  { background: var(--sb-track); }
.jodit-wysiwyg::-webkit-scrollbar-thumb  { background: var(--sb-thumb); border-radius: 99px; }

/* DateRangePicker themed */
.daterangepicker {
	background: var(--surface) !important; border: 1px solid var(--border2) !important;
	border-radius: var(--radius) !important; color: var(--text) !important; box-shadow: var(--shadow-md) !important;
}
.daterangepicker .calendar-table { background: var(--surface) !important; border-color: var(--border) !important; }
.daterangepicker td.active, .daterangepicker td.active:hover { background: var(--accent) !important; color: #FFFFFF !important; }
.daterangepicker td.in-range { background: var(--accent-dim) !important; }
.daterangepicker td, .daterangepicker th, .daterangepicker .ranges li { color: var(--text) !important; }
.daterangepicker td:hover { background: var(--surface2) !important; }
.daterangepicker .ranges li.active { background: var(--accent) !important; color: #FFFFFF !important; }
.daterangepicker .ranges li:hover { background: var(--accent-dim) !important; }
.daterangepicker .drp-buttons .btn-primary { background: var(--accent) !important; border-color: var(--accent) !important; color: #FFFFFF !important; }
.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date { background: var(--surface) !important; color: var(--muted2) !important; }