:root {
	--cms-primary: #004B52;
	--cms-required: #344054;
	--cms-secondary: #0098A6;
	--cms-light: #EAF5F5;
	--cms-bg: #F8FAFB;
	--cms-border: #E5E7EB;
	--cms-text: #1F2937;
	--cms-text-secondary: #64748B;
}

/* Global input focus style, consistent soft highlight across all pages */
.form-select:focus, .form-control:focus, input[type="text"]:focus, input[type="password"]:focus {
	border-color: var(--cms-primary) !important;
	outline: 0 !important;
	box-shadow: 0 0 0 3px rgba(0, 75, 82, 0.15) !important;
}


option:hover,
option:focus,
option:checked {
	background-color: var(--cms-primary) !important;
	color: #fff !important;
}

/* select2's dropdown wrapper doesn't receive native :focus, so it keeps its own
   default blue focus ring unless overridden here to match the rest of the app. */
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-selection--single:focus {
	border-color: var(--cms-primary) !important;
	outline: 0 !important;
	box-shadow: 0 0 0 3px rgba(0, 75, 82, 0.15) !important;
}
.select2-search__field:focus {
	border-color: var(--cms-primary) !important;
	outline: 0 !important;
	box-shadow: 0 0 0 3px rgba(0, 75, 82, 0.15) !important;
}

#dvMain {
	height: 100vh !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
}
body {
	min-height: 100% !important;
}



.td {
	font-size: 12px;
	font-family: Arial;
	color: #14335D; /*#04608f;*/
}

.layout-navbar-fixed .wrapper .sidebar-dark-primary .brand-link:not([class*="navbar"]) {
	background-color: var(--cms-primary) !important;
}

[class*="sidebar-dark-"] {
	background-color: var(--cms-primary) !important;
}

[class*="sidebar-dark"] .form-control-sidebar,
[class*="sidebar-dark"] .btn-sidebar {
	background-color: transparent !important;
	border: 1px solid rgba(255,255,255,.30) !important;
	color: white !important;
}
.span
{
	font-size:12px;
	font-family:Arial;
	color:#14335D;
}
.style1
{
    width: 100%;
    text-align:left;
    font-weight: bold;
}
.defaultMenuText
{
	font: 14px Arial;
	color:White;
	font-weight:normal;	
	padding-left:0px;
	padding-right:5px;
}
.menuTD
{	 
	font-size:8pt;
	border:solid 1px black;
	font-family:Arial,Arial;
	color:White;
	font-weight:normal;
	padding-left:0px;
	padding-right:7px;
	background-color:#233253 ;
	text-align:center;
	cursor:hand;	
}
.mainMenu
{
	padding-right:20px;
	border-top-style: solid; 
	border-top-width: 1px; 
	border-top-color:#808080 ;
	font-size:small; 
	font-family:Arial;
	font-weight:bold;
}
.tableMenu
{
	border:solid 1px #14335D;
	display:none;
	height:25px; 
	width:100%;
}
.dvHeader {
	display:none;
	font-family: 'Arial', sans-serif;
	font-size: 16px; /* Adjust the font size as needed */
	color: white;
	font-weight: bold;
	background-color: #17a2b8;
	text-align: left;
	padding: 10px;
	border-radius: 15px;
}
#dvheader {
	font-size: 30px;
	text-align: left; /* Center the text horizontally */
	font-weight: bold;
	font-size: 30px; /* Make the text bold */
	line-height: 2; /* Adjust line height if necessary for vertical centering */
	margin: 0 0; /* Center the element horizontally */
	width: auto;
}
.saveDone
{
	font-weight: bold; 
	cursor:hand; 
	background-position: center top;
    font-weight: bolder; 
    font-size : 8pt;
    background-image: url(APPRES.ashx/1448713687/savedonebig.gif);
    border-top-style: none; 
    background-repeat: no-repeat; 
    border-right-style: none;
    line-height: 7em; 
    height: 70px;
    border-left-style: none; 
    background-color: transparent; 
    border-bottom-style: none;
}
.saveAdd
{
	border-style: none; 
	background-position: center top; 
	font-weight:bolder; 
	font-size : 8pt;
	background-image: url('APPRES.ashx/1448713687/saveaddbig.gif'); 
	width: 81px; 
	font-family:Arial; 
	line-height: 7em; 
	background-repeat: no-repeat;  
	height: 70px; 
	background-color: transparent; 
	cursor: hand;   
}
.Cancel
{
	font-weight: bold; 
	cursor:hand; 
	background-position: center top;
    font-weight: bolder; 
    font-size : 8pt;
    background-image: url(APPRES.ashx/1448713687/closebtnbig.gif); 
    border-top-style: none;
    line-height: 7em; 
    height: 70px;
    background-repeat: no-repeat; 
    border-right-style: none; 
    border-left-style: none;
    background-color: transparent; 
    border-bottom-style: none;
}
.label
{
	color:black; 
	font-family : arial, Geneva, arial; 	
	font-size : 9pt;
	font-weight:bold ;
}
.label2
{
	color:#14335D; 
	font-family : arial, Geneva, arial; 	
	font-size : 8pt;
	font-weight:bold ;
}
.subHeading
{
    color:#14335D; 
	font-family : arial, Geneva, arial; 	
	font-size : 10pt;
	font-weight:bold ;
}
.divGrid{
    width: 100%;
}
#pageInfo {
	color: #14335D;
	font-family: arial, Geneva, arial;
	font-size: 8pt;
	font-weight: bold;

}
#recInfo {
	color: #14335D;
	font-family: arial, Geneva, arial;
	font-size: 8pt;
	font-weight: bold;
	margin-right:15px;
}
 .dynamiclabel
    {
    background-color:Lavender; 
    width:50%; 
    font-size:14px;
    }
.controlspacing
{
	padding-bottom:10px;
}
.table
{
	border:solid 1px #233253; 
	width:100%; 
	background-color:Transparent;
}
.fieldSet
{
	border:solid 1px #005b81;
}
.redstar
{
	font-size: 12px !important; color: var(--cms-required) !important;
}
.dvHeaderText
{
text-align: center;
color:White ;/*black*/
font-weight: bold;
font-size: 24px;
height: 25px;
}
.btn
{
	width:95%!important;
}
.form-group 
{
	font-weight:bold;
}
.vertical-scroll::-webkit-scrollbar {
	width: 8px !important; 
}

.horizontal-scroll::-webkit-scrollbar {
	height: 3px !important; 
}

.vertical-scroll::-webkit-scrollbar-track,
.horizontal-scroll::-webkit-scrollbar-track {
	background-color: rgba(255, 255, 255, 0.5) !important;
}

.vertical-scroll::-webkit-scrollbar-thumb,
.horizontal-scroll::-webkit-scrollbar-thumb {
	background-color: #393E46 !important;
	border-radius: 4px !important;
}

	.vertical-scroll::-webkit-scrollbar-thumb:hover,
	.horizontal-scroll::-webkit-scrollbar-thumb:hover {
		background-color: #4a505a !important;
	}


.page-header {
	background-color: #e9ecef !important;
	color: #004b52 !important;
	border-left: 4px solid #004b52 !important;
	border-top-left-radius: 3px !important;
	border-top-right-radius: 3px !important;
}

.page-header .card-title,
.page-header h3,
.page-header h4 {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #004b52 !important;
}

.btn-cms-primary {
	background-color: #ffffff !important;
	border: 1px solid var(--cms-primary) !important;
	color: var(--cms-primary) !important;
	border-radius: 6px !important;
	transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, color 0.15s ease-in-out;
}
.btn-cms-primary:hover {
	background-color: var(--cms-primary) !important;
	border-color: var(--cms-primary) !important;
	color: #ffffff !important;
}

div.gridbox table.hdr td,
div.gridbox_modern table.hdr td,
div.gridbox_light table.hdr td {
	background-color: var(--cms-light) !important;
}

.text-cms-primary {
	color: var(--cms-primary) !important;
}
.form-check-input:checked {
	background-color: var(--cms-primary) !important;
	border-color: var(--cms-primary) !important;
}
.page-title-header {
	background-color: #ffffff !important;
	color: var(--cms-primary) !important;
	border: 1px solid #ddd !important;
	padding: 10px 15px 10px 0px !important;
	margin: 0 0 15px 0 !important;
}

.page-title-header .card-title {
	padding-left: 6px !important;
}

.content-header {
	margin-top: .4em;
}
div.gridbox tr.rowselected td:not([style*="background-color"]),
div.gridbox td.cellselected:not([style*="background-color"]),
div.gridbox_light tr.rowselected td:not([style*="background-color"]),
div.gridbox_light td.cellselected:not([style*="background-color"]),
div.gridbox_mt tr.rowselected td:not([style*="background-color"]),
div.gridbox_mt td.cellselected:not([style*="background-color"]),
div.gridbox_sbdark tr.rowselected td:not([style*="background-color"]),
div.gridbox_sbdark td.cellselected:not([style*="background-color"]),
div.gridbox_true tr.rowselected td:not([style*="background-color"]),
div.gridbox_true td.cellselected:not([style*="background-color"]),
div.gridbox_ tr.rowselected td:not([style*="background-color"]),
div.gridbox_ td.cellselected:not([style*="background-color"]),
div.gridbox_xp tr.rowselected td:not([style*="background-color"]),
div.gridbox_xp td.cellselected:not([style*="background-color"]) {
	background-color: var(--cms-light) !important;
	color: var(--cms-text) !important;
}

.accordion-button:not(.collapsed) {
	background-color: var(--cms-light) !important;
	color: var(--cms-primary) !important;
}

.accordion-button:focus {
	border-color: var(--cms-primary) !important;
	box-shadow: 0 0 0 0.25rem rgba(0, 122, 131, 0.25) !important;
}

#fcaccordion {
	margin-bottom: 15px !important;
}

/* border-collapse:separate is required so border-radius on <td> buttons renders;
   Bootstrap's table reset sets collapse which silently kills it */
.toolbarTable {
	border-collapse: separate !important;
	border-spacing: 1px 0 !important;
}

.defaultButton, .defaultButtonOver, .defaultButtonDown {
	border-radius: 6px !important;
	box-sizing: border-box !important;
}

div[id$='ToolBar'] > table,
div[id*='Toolbar'] > table,
div[id*='toolbar'] > table,
div[id^='dvtb'] > table,
div[id^='dvtab'] > table {
	border-collapse: separate !important;
	border-spacing: 2px !important;
}

div[id$='ToolBar'],
div[id*='Toolbar'],
div[id*='toolbar'],
div[id^='dvtb'],
div[id^='dvtab'] {
	margin-bottom: 10px !important;
}
/* CMS Toggle Switch */
.cms-toggle input:checked + .slider {
	background-color: var(--cms-primary) !important;
}

	.cms-toggle input:checked + .slider:before {
		background-color: #ffffff !important;
	}

.cms-toggle .slider {
	background-color: #d1d5db;
}

	.cms-toggle .slider:before {
		background-color: #ffffff;
	}

/* Button & Toolbar Icon Color Fixes */
.btn-cms-primary i {
	color: inherit !important;
}

.defaultButton i {
	color: var(--cms-primary) !important;
}

.defaultButtonOver i,
.defaultButtonDown i {
	color: #ffffff !important;
}

.defaultButton svg.lucide {
	color: var(--cms-primary) !important;
}

.defaultButtonOver svg.lucide,
.defaultButtonDown svg.lucide {
	color: #ffffff !important;
}
/* ==========================================================================
   Premium UI/UX Enhancements for CMSReports & ICMSReports
   ========================================================================== */

/* 1. Scoped Body & Block Reset */
.cms-reports-page,
.icms-reports-page {
	background-color: var(--cms-bg) !important;
	/* Off-white canvas to make the card stand out */
	color: #1e293b !important;
	padding: 24px !important;
	min-height: 100vh !important;
	box-sizing: border-box !important;
}

	.cms-reports-page #form1,
	.icms-reports-page #form1 {
		background-color: #ffffff !important;
		min-height: auto !important;
		height: auto !important;
		display: block !important;
		/* Force standard block rendering to avoid breaking calendar positions */
		width: 100% !important;
		margin: 0 !important;
		border: 1px solid var(--cms-border) !important;
		border-radius: 8px !important;
		box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
		overflow: visible !important;
		padding-bottom: 24px !important;
		position: relative !important;
	}

	.cms-reports-page #form1 {
		margin-top: 0 !important;
	}

	.cms-reports-page input, .cms-reports-page select, .cms-reports-page textarea, .cms-reports-page button, .cms-reports-page .label, .cms-reports-page font, .cms-reports-page td, .cms-reports-page span,
	.icms-reports-page input, .icms-reports-page select, .icms-reports-page textarea, .icms-reports-page button, .icms-reports-page .label, .icms-reports-page font, .icms-reports-page td, .icms-reports-page span {
		font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
	}
	/* 2. Financial Year Indicator */
	.cms-reports-page #spnFYearWrapper {
		display: inline-flex;
		align-items: center;
		background-color: transparent !important;
		color: var(--cms-primary) !important;
		padding: 0 !important;
		border-radius: 0 !important;
		font-size: 13px !important;
		font-weight: 600 !important;
		border: none !important;
		margin-bottom: 0 !important;
		margin-left: auto !important;
		position: static !important;
		top: auto !important;
		left: auto !important;
		gap: 6px;
		white-space: nowrap;
	}

	/* Toolbar row: buttons left, Financial Year pinned to the far right, same line */
	.cms-reports-page .cms-toolbar-row-inner {
		display: flex !important;
		align-items: center !important;
		flex-wrap: wrap !important;
	}

		.cms-reports-page .cms-toolbar-row-inner #dvtbGen {
			width: auto !important;
			flex: 0 0 auto !important;
		}

	.cms-reports-page #spnFYearWrapper span, .cms-reports-page #spnFYear, .cms-reports-page #spnFDate {
		color: var(--cms-primary) !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		margin-left: 4px;
	}

	/* 3. Modern Page Headers */
	.cms-reports-page .dvHeader,
	.icms-reports-page .dvHeader {
		background: var(--cms-primary) !important;
		color: #ffffff !important;
		padding: 10px 20px !important;
		padding: 10px 15px !important;
		border-radius: 8px 8px 0 0 !important;
		font-size: 1.1rem !important;
		font-weight: 600 !important;
		font-size: 1.25rem !important;
		font-weight: normal !important;
		font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
		letter-spacing: normal !important;
		box-shadow: none !important;
		margin-bottom: 0px !important;
		border: none !important;
		display: flex !important;
		align-items: center;
	}
		.cms-reports-page .dvHeader b,
		.icms-reports-page .dvHeader b {
			font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
			font-weight: normal !important;
		}


	/* 4. Elegant Toolbar Customization (dvtbGen) */
	/* Leave native display and table layout intact to avoid rendering bugs */
	.cms-reports-page .row:has(#dvtbGen) {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

		.cms-reports-page .row:has(#dvtbGen) > div {
			padding-left: 24px !important;
			padding-right: 24px !important;
			margin-left: 0 !important;
			margin-right: 0 !important;
			width: auto !important;
			display: flex !important;
			align-items: center !important;
			flex-wrap: wrap !important;
		}

	.cms-reports-page #dvtbGen {
		background-color: #ffffff !important;
		border: none !important;
		border-bottom: none !important;
		border-radius: 0 !important;
		padding: 12px 0 !important;
		margin-bottom: 12px !important;
		width: auto !important;
		flex: 0 0 auto !important;
	}

	.icms-reports-page #dvtbGen {
		background-color: #ffffff !important;
		border: none !important;
		border-bottom: none !important;
		border-radius: 0 !important;
		padding: 12px 24px !important;
		margin-bottom: 12px !important;
	}

	.cms-reports-page .toolbarTable, .icms-reports-page .toolbarTable {
		background-color: #ffffff !important;
		border: none !important;
		height: 48px !important;
		width: auto !important; /* Shrink-wrap the toolbar to reduce button spaces */
	}

	/* Scoped DHTMLX Toolbar Buttons */
	.cms-reports-page .defaultButton, .cms-reports-page .defaultButtonOver, .cms-reports-page .defaultButtonDown,
	.icms-reports-page .defaultButton, .icms-reports-page .defaultButtonOver, .icms-reports-page .defaultButtonDown {
		font-size: 13px !important;
		font-weight: 600 !important;
		height: 34px !important;
		border-radius: 6px !important;
		color: var(--cms-primary) !important;
		background-color: #ffffff !important;
		border: 1px solid var(--cms-primary) !important;
		transition: all 0.2s ease !important;
		cursor: pointer !important;
		padding: 0 16px !important;
		display: inline-flex; /* Removed !important to respect DHTMLX's native inline display: none */
		align-items: center !important;
		justify-content: center !important;
		gap: 6px !important;
	}

	/* Scope and fix .btn overrides to prevent global 95% width stretch inside reports */
	.cms-reports-page .btn, .icms-reports-page .btn {
		width: auto !important;
	}

	/* Elegant DHTMLX button text support */
	.cms-reports-page .defaultButtonText, .icms-reports-page .defaultButtonText {
		color: var(--cms-primary) !important;
		font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		line-height: 1 !important; /* Reset line-height to prevent vertical offsets */
	}
	.cms-reports-page .defaultButtonOver .defaultButtonText, .icms-reports-page .defaultButtonOver .defaultButtonText,
	.cms-reports-page .defaultButtonDown .defaultButtonText, .icms-reports-page .defaultButtonDown .defaultButtonText {
		color: #ffffff !important;
	}

	/* Button specific backgrounds */
	.cms-reports-page .defaultButtonOver, .icms-reports-page .defaultButtonOver,
	.cms-reports-page .defaultButtonDown, .icms-reports-page .defaultButtonDown {
		background-color: var(--cms-primary) !important;
		color: #ffffff !important;
	}



	/* Disabled Scoped Toolbar Buttons */
	.cms-reports-page .iconGray, .icms-reports-page .iconGray {
		background-color: #f1f5f9 !important;
		border: 1px solid #e2e8f0 !important;
		color: #94a3b8 !important;
		cursor: not-allowed !important;
		opacity: 0.6 !important;
		border-radius: 6px !important;
		height: 34px !important;
		padding: 0 16px !important;
	}

	/* Custom Spacers & Dividers inside Toolbars */
	.cms-reports-page .toolbarDivider, .icms-reports-page .toolbarDivider {
		
		display: none !important;
	}

	/* 5. Seamless Integrated Filter Panels */
	/* Form tables span full page width beautifully on pure white canvas */
	.cms-reports-page table[id^="tbl"], .cms-reports-page table[id^="Tbl"], .cms-reports-page table[id="tblFacility"], .cms-reports-page table[id="tblBillTax"], .cms-reports-page table[id^="tblReceipt"], .cms-reports-page table[id^="tblWaiter"],
	.icms-reports-page table[id^="tbl"], .icms-reports-page table[id^="Tbl"], .icms-reports-page table[id="tblFacility"], .icms-reports-page table[id="tblBillTax"], .icms-reports-page table[id^="tblReceipt"], .icms-reports-page table[id^="tblWaiter"],
	.icms-reports-page #dvMain > table:first-child {
		background-color: #ffffff !important;
		border: none !important;
		border-radius: 0 !important;
		padding: 12px 0 !important;
		box-shadow: none !important;
		margin-bottom: 24px !important;
		width: 100% !important;
		border-collapse: separate !important;
		border-spacing: 0 12px !important;
	}

	/* ICMS dvMain container fixes */
	.icms-reports-page #dvMain {
		border: none !important;
		background-color: transparent !important;
		overflow-y: auto !important;
		padding: 0 24px 24px 24px !important;
		height: auto !important;
	}

	/* Dynamic nested blocking structures inside block selectors */
	.icms-reports-page div[id*="blocking"] table {
		border: none !important;
		padding: 0 !important;
		box-shadow: none !important;
		margin-bottom: 0 !important;
	}

	/* Captions and Labels inside cards */
	.cms-reports-page .Caption, .icms-reports-page .Caption {
		font-size: 14px !important;
		font-weight: 700 !important;
		color: #0f172a !important;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		white-space: nowrap !important;
		vertical-align: middle !important;
		width: 1% !important;
		text-align: left !important;
		padding-right: 16px !important;
	}

	/* Dynamically hide empty Master Tables if they contain only hidden sub-panels to reclaim vertical space */
	.cms-reports-page #form1 > table:has(table):not(:has(table:not(:has(table)):not([style*="display: none"]):not([style*="display:none"]))),
	.icms-reports-page #dvMain > table:has(table):not(:has(table:not(:has(table)):not([style*="display: none"]):not([style*="display:none"]))) {
		display: none !important;
	}

	.cms-reports-page #spnCap, .icms-reports-page #spnCap {
		font-size: 15px !important;
		font-weight: 600 !important;
		color: var(--cms-primary) !important;
		background-color: var(--cms-light);
		padding: 4px 12px;
		border-radius: 6px;
		border: 1px solid var(--cms-secondary);
	}

	.cms-reports-page .label, .cms-reports-page font,
	.icms-reports-page .label, .icms-reports-page font {
		font-size: 13px !important;
		font-weight: 600 !important;
		color: #475569 !important;
	}

	/* 6. Form Control Overrides (Inputs, Selects, Dropdowns) */
	/* Retain relative layouts cleanly */
	.cms-reports-page .form-select, .cms-reports-page select, .cms-reports-page .form-control, .cms-reports-page input[type="text"], .cms-reports-page input[type="password"],
	.icms-reports-page .form-select, .icms-reports-page select, .icms-reports-page .form-control, .icms-reports-page input[type="text"], .icms-reports-page input[type="password"] {
		display: block;
		width: 100% !important;
		min-width: 200px;
		height: 36px !important;
		padding: 6px 12px !important;
		font-size: 13px !important;
		font-weight: 500 !important;
		line-height: 1.5 !important;
		color: #334155 !important;
		background-color: #ffffff !important;
		background-clip: padding-box !important;
		border: 1px solid #cbd5e1 !important;
		border-radius: 6px !important;
		transition: all 0.2s ease-in-out !important;
		box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
	}

		.cms-reports-page .form-select:focus, .cms-reports-page select:focus, .cms-reports-page .form-control:focus, .cms-reports-page input[type="text"]:focus, .cms-reports-page input[type="password"]:focus,
		.icms-reports-page .form-select:focus, .icms-reports-page select:focus, .icms-reports-page .form-control:focus, .icms-reports-page input[type="text"]:focus, .icms-reports-page input[type="password"]:focus {
			color: #0f172a !important;
			background-color: #ffffff !important;
			border-color: var(--cms-primary) !important;
			outline: 0 !important;
			box-shadow: 0 0 0 3px rgba(0, 75, 82, 0.15) !important;
		}

	/* Ensure textareas do not get restricted to 36px height */
	.cms-reports-page textarea.form-control,
	.icms-reports-page textarea.form-control {
		height: auto !important;
		min-height: 80px !important;
	}

	/* Ensure scrollable containers (like dvUsers) with form-control class do not get shrunk */
	.cms-reports-page #dvUsers,
	.icms-reports-page #dvUsers {
		height: 100px !important;
		overflow-y: auto !important;
	}

	/* Restore Bootstrap flexbox input-group layout to prevent calendar icon offsets and overlap */
	.cms-reports-page .input-group .form-control,
	.cms-reports-page .input-group input[type="text"],
	.icms-reports-page .input-group .form-control,
	.icms-reports-page .input-group input[type="text"] {
		width: 1% !important;
		min-width: 0 !important;
		flex: 1 1 auto !important;
		display: inline-block !important;
	}

	/* Standard checkbox overrides */
	.cms-reports-page input[type="checkbox"], .cms-reports-page input[type="radio"],
	.icms-reports-page input[type="checkbox"], .icms-reports-page input[type="radio"] {
		width: 16px !important;
		height: 16px !important;
		accent-color: #3b82f6 !important;
		cursor: pointer;
		vertical-align: middle;
		margin-right: 8px !important;
	}

	/* 7. Scoped Select2 Dropdown overrides */
	.cms-reports-page .select2-container, .icms-reports-page .select2-container {
		width: 100% !important;
		max-width: 320px !important;
	}

		.cms-reports-page .select2-container .select2-selection--single,
		.icms-reports-page .select2-container .select2-selection--single {
			height: 36px !important;
			border: 1px solid #cbd5e1 !important;
			border-radius: 6px !important;
			background-color: #ffffff !important;
			transition: all 0.2s ease-in-out !important;
			display: flex !important;
			align-items: center !important;
		}

	.cms-reports-page .select2-container--default .select2-selection--single .select2-selection__rendered,
	.icms-reports-page .select2-container--default .select2-selection--single .select2-selection__rendered {
		color: #334155 !important;
		font-size: 13px !important;
		font-weight: 500 !important;
		padding-left: 12px !important;
		line-height: 34px !important;
	}

	.cms-reports-page .select2-container--default .select2-selection--single .select2-selection__arrow,
	.icms-reports-page .select2-container--default .select2-selection--single .select2-selection__arrow {
		height: 34px !important;
		right: 8px !important;
	}

	.cms-reports-page .select2-container--default.select2-container--open .select2-selection--single,
	.icms-reports-page .select2-container--default.select2-container--open .select2-selection--single {
		border-color: var(--cms-primary) !important;
		box-shadow: 0 0 0 3px rgba(0, 75, 82, 0.15) !important;
	}

	/* select2 custom overlay lists */
	.cms-reports-page .select2-dropdown, .icms-reports-page .select2-dropdown {
		border: 1px solid #e2e8f0 !important;
		border-radius: 6px !important;
		box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08) !important;
		overflow: hidden !important;
	}

	.cms-reports-page .select2-search--dropdown .select2-search__field,
	.icms-reports-page .select2-search--dropdown .select2-search__field {
		border: 1px solid #cbd5e1 !important;
		border-radius: 6px !important;
		padding: 6px 10px !important;
		font-size: 13px !important;
	}

	.cms-reports-page .select2-results__option, .icms-reports-page .select2-results__option {
		font-size: 13px !important;
		padding: 8px 14px !important;
	}

	.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
	.select2-container--default .select2-results__option--highlighted[aria-selected] {
		background-color: var(--cms-primary) !important;
		color: #ffffff !important;
	}

	/* 8. Padding corrections */
	.cms-reports-page td[style*="padding: 20px"], .cms-reports-page td[style*="padding:20px"],
	.icms-reports-page td[style*="padding: 20px"], .icms-reports-page td[style*="padding:20px"] {
		padding: 12px 16px !important;
		vertical-align: middle !important;
	}

	.cms-reports-page table, .icms-reports-page table {
		border-collapse: separate !important;
	}

	.cms-reports-page tr[style*="border: 1px solid"], .icms-reports-page tr[style*="border: 1px solid"] {
		border: none !important;
	}

	/* 9. Sleek Custom Scrollbars (overriding default legacy scrollbars) */
	.cms-reports-page ::-webkit-scrollbar, .icms-reports-page ::-webkit-scrollbar {
		width: 8px !important;
		height: 8px !important;
	}

	.cms-reports-page ::-webkit-scrollbar-track, .icms-reports-page ::-webkit-scrollbar-track {
		background-color: #f1f5f9 !important;
	}

	.cms-reports-page ::-webkit-scrollbar-thumb, .icms-reports-page ::-webkit-scrollbar-thumb {
		background-color: #cbd5e1 !important;
		border-radius: 100px !important;
		border: 2px solid #f1f5f9 !important;
	}

		.cms-reports-page ::-webkit-scrollbar-thumb:hover, .icms-reports-page ::-webkit-scrollbar-thumb:hover {
			background-color: #94a3b8 !important;
		}

	/* 10. Form Label Alignment & Spacing Fixes */
	.cms-reports-page td:has(> font[id^="lbl"]),
	.icms-reports-page td:has(> font[id^="lbl"]),
	.cms-reports-page td:has(> font[id^="Font"]),
	.icms-reports-page td:has(> font[id^="Font"]),
	.cms-reports-page td:has(> label),
	.icms-reports-page td:has(> label),
	.cms-reports-page td:has(> .label),
	.icms-reports-page td:has(> .label) {
		width: 1% !important;
		white-space: nowrap !important;
		text-align: left !important;
		padding-right: 12px !important;
	}

	.cms-reports-page td:has(> .input-group),
	.icms-reports-page td:has(> .input-group) {
		width: auto !important;
	}

	/* Form table layout left-aligned and compact */
	.icms-reports-page #dvMain > table {
		width: auto !important;
		margin-right: auto !important;
	}

	.cms-reports-page #form1 > table {
		width: auto !important;
		margin-left: 24px !important;
		margin-right: 24px !important;
		margin-bottom: 24px !important;
	}


	/* Hide wrapper rows that only contain hidden tables to eliminate large gaps in reports */
	.cms-reports-page tr:has(> td > table[style*="display: none"]):not(:has(> td > table:not([style*="display: none"]):not([style*="display:none"]))),
	.cms-reports-page tr:has(> td > table[style*="display:none"]):not(:has(> td > table:not([style*="display: none"]):not([style*="display:none"]))),
	.icms-reports-page tr:has(> td > table[style*="display: none"]):not(:has(> td > table:not([style*="display: none"]):not([style*="display:none"]))),
	.icms-reports-page tr:has(> td > table[style*="display:none"]):not(:has(> td > table:not([style*="display: none"]):not([style*="display:none"]))) {
		display: none !important;
	}

/* Grid Alternating Row Colors */
/* :not([style*="background-color"]) skips cells that already carry an explicit
   status color (e.g. booking calendar grids like PartyBooking/RoomTypeBooking
   set background-color inline per cell) so the zebra stripe doesn't blot it out. */
div.gridbox table.obj tr:nth-child(odd):not(.rowselected) td:not([style*="background-color"]),
div.gridbox_modern table.obj tr:nth-child(odd):not(.rowselected) td:not([style*="background-color"]),
div.gridbox_light table.obj tr:nth-child(odd):not(.rowselected) td:not([style*="background-color"]) {
    background-color: #f9f9f9 !important; /* Grey */
}

div.gridbox table.obj tr:nth-child(even):not(.rowselected) td:not([style*="background-color"]),
div.gridbox_modern table.obj tr:nth-child(even):not(.rowselected) td:not([style*="background-color"]),
div.gridbox_light table.obj tr:nth-child(even):not(.rowselected) td:not([style*="background-color"]) {
    background-color: #ffffff !important; /* White */
}

.cms-header-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: 4px 10px !important;
}

.cms-toolbar-container {
    display: flex;
    align-items: center;
    margin-top: 2px;
}

/* Compensate for DHTMLX defaultButton margin-left: 5px so toolbar aligns with form fields */
.card-body .cms-toolbar-container {
    margin-left: -5px !important;
}

.cms-toolbar {
    width: auto;
    height: 30px;
    padding: 0;
    margin: 0;
}

.cms-section-header {
    background-color: #e9ecef !important;
    color: #004b52 !important;
    border-left: 4px solid #004b52 !important;
    border-radius: 3px !important;
    font-weight: bold !important;
    font-size: 16px !important;
    padding: 10px 16px !important;
}

/* Space above main page card on all add/edit pages */
.card:has(> .card-header.cms-section-header) {
    margin-top: 15px !important;
}

/* Breathing room between popup header and content below */
.card-header.cms-section-header + .card-body {
    padding-top: 20px !important;
}

.cms-section-header h3,
.cms-section-header .card-title {
    font-size: 16px !important;
    font-weight: bold !important;
    color: #004b52 !important;
}

/* Grid Header Colors */
div.gridbox table.hdr td,
div.gridbox_modern table.hdr td,
div.gridbox_light table.hdr td,
div.gridbox table.hdr div.hdrcell,
div.gridbox_modern table.hdr div.hdrcell,
div.gridbox_light table.hdr div.hdrcell {
    background-color: var(--cms-primary) !important;
    color: white !important;
    font-weight: bold;
}

/* Grid Text Alignment */
div.gridbox table.hdr td,
div.gridbox_modern table.hdr td,
div.gridbox_light table.hdr td {
    text-align: left !important;
    padding-left: 8px !important;
    box-sizing: border-box !important;
}

div.gridbox table.hdr td div.hdrcell,
div.gridbox_modern table.hdr td div.hdrcell,
div.gridbox_light table.hdr td div.hdrcell {
    text-align: left !important;
    padding-left: 0px !important;
    margin-left: 0px !important;
}

div.gridbox table.obj td,
div.gridbox_modern table.obj td,
div.gridbox_light table.obj td {
    text-align: left !important;
    padding-left: 8px !important;
    box-sizing: border-box !important;
}

/* mDepartment grid needs a larger left indent than the site-wide default above */
#dvDeptGrid table.hdr td,
#dvDeptGrid table.obj td {
    padding-left: 50px !important;
}

/* Pagination Info Colors and Padding */
#pageInfo, #recInfo {
    color: var(--cms-primary) !important;
    padding: 8px 4px;
    font-weight: normal;
}

	#pageInfo a, #recInfo a {
		color: var(--cms-primary) !important;
		font-weight: normal;
	}

form label,
.form-group label,
label.col-form-label,
.radio-inline {
	font-size: 12px !important;
	font-weight: bold !important;
	color: var(--cms-primary) !important;
	padding-bottom: 3px;
	line-height: 1.4;
}

/* Fix inline font-size: medium on asterisks causing vertical misalignment */
.form-group span[style*="color: Red"],
.form-group span[style*="color:Red"] {
	font-size: 12px !important;
	line-height: 1.4 !important;
	font-weight: bold !important;
}

.form-control,
.form-select {
	font-size: 13px !important;
	padding: 0.3rem 0.55rem !important;
}

textarea.form-control {
	padding: 0.4rem 0.55rem !important;
}

.input-group-text {
	font-size: 13px !important;
	padding: 0.3rem 0.6rem !important;
}

.form-check {
	display: flex !important;
	align-items: center !important;
	gap: 0.4em;
	padding-left: 0 !important;
	min-height: auto !important;
}

.form-check .form-check-input {
	float: none !important;
	margin-top: 0 !important;
	margin-left: 0 !important;
	flex-shrink: 0;
	position: static !important;
}

.form-check .form-check-label,
.form-check .form-label {
	font-size: 12px !important;
	font-weight: bold !important;
	color: var(--cms-primary) !important;
	margin-bottom: 0 !important;
	line-height: 1.4;
	cursor: pointer;
}

span[style*="color:Red"],
span[style*="color: Red"],
span[style*="color:red"],
span[style*="color: red"],
span[style*="color:Green"],
span[style*="color: Green"],
span[style*="color:green"],
span[style*="color: green"] {
	color: var(--cms-required) !important;
	font-size: 14px !important;
}

input.form-control, select.form-select {
	height: 38px !important;
	padding-top: 0.375rem !important;
	padding-bottom: 0.375rem !important;
}
