ul.ui-autocomplete {
	z-index: 1100;
}

/* ========================================================================
   PASS Layout
   Fixed header, sidebar positioning, collapsed sidebar, loading overlay.
   Keep component styling out of this file.
   ======================================================================== */

html,
body {
	min-height: 100% !important;
}

body.hold-transition {
	padding-top: 50px !important;
}

.wrapper {
	min-height: calc(100vh - 50px);
	position: relative;
}

/* Header remains fixed */
.main-header {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 1050 !important;
	min-height: 50px;
}

.main-header > .navbar {
	min-height: 50px;
	margin-left: 230px !important;
	margin-bottom: 0;
}

/* Content starts below fixed header */
.content-wrapper,
.right-side {
	padding-top: 0 !important;
	margin-top: 0 !important;
	min-height: calc(100vh - 50px) !important;
}

/* Sidebar scrolls with the page, rather than staying fixed */
.main-sidebar,
.left-side {
	position: absolute !important;
	top: -50px !important;
	left: 0 !important;
	width: 230px;
	min-height: 100% !important;
	padding-top: 100px !important;
	z-index: 840 !important;
}

.sidebar {
	margin-top: 0 !important;
	padding-bottom: 10px;
}

.sidebar-menu {
	margin-top: 0 !important;
}

/* Logo area at top of sidebar. This now scrolls with the sidebar/page. */
.main-sidebar .user-panel {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 230px !important;
	height: 100px;
	z-index: 1040 !important;
	background-color: #ffffff !important;
	padding: 0 !important;
	overflow: hidden;
}

.main-sidebar .user-panel .collapsed-logo {
	display: none !important;
}

/* Collapsed sidebar */
.sidebar-mini.sidebar-collapse .main-sidebar,
.sidebar-mini.sidebar-collapse .left-side {
	width: 50px !important;
	transform: translate(0, 0) !important;
	z-index: 3000;
}

.sidebar-mini.sidebar-collapse .content-wrapper,
.sidebar-mini.sidebar-collapse .right-side,
.sidebar-mini.sidebar-collapse .main-footer {
	margin-left: 50px !important;
}

.sidebar-mini.sidebar-collapse .main-header > .navbar {
	margin-left: 50px !important;
}

.sidebar-collapse .main-sidebar .user-panel {
	width: 50px !important;
	height: 50px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.sidebar-collapse .main-sidebar .user-panel .pull-left {
	display: none !important;
}

.sidebar-collapse .main-sidebar .user-panel .collapsed-logo {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
}

.sidebar-collapse .main-sidebar .user-panel .collapsed-logo a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Header text */
#header_left {
	padding-right: 30px;
}

#header_text {
	font-size: 16px;
}

/* Notifications */
.alert-minimalist {
	background-color: #00c0ef;
	border-color: rgba(149, 149, 149, 0.3);
	border-radius: 6px;
	color: white;
	padding: 10px;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18);
}

.alert-minimalist > [data-notify="icon"] {
	margin-right: 12px;
	width: 20px;
	text-align: center;
	padding-top: 6px;
}

.alert-minimalist > [data-notify="title"] {
	color: white;
	display: block;
	font-weight: bold;
	margin-bottom: 5px;
}

.alert-minimalist > [data-notify="message"] {
	font-size: 100%;
}

/* Mobile */
@media (max-width: 767px) {
	body.hold-transition {
		padding-top: 50px !important;
	}

	.main-header {
		position: fixed !important;
	}

	.main-header .navbar {
		width: 100% !important;
		margin-left: 0 !important;
		float: none !important;
	}

	.main-sidebar,
	.left-side {
		padding-top: 100px !important;
		transform: translate(-230px, 0) !important;
	}

	.sidebar-open .main-sidebar,
	.sidebar-open .left-side {
		transform: translate(0, 0) !important;
	}

	.content-wrapper,
	.right-side,
	.main-footer {
		margin-left: 0 !important;
	}

	.sidebar-open .content-wrapper,
	.sidebar-open .right-side,
	.sidebar-open .main-footer {
		transform: translate(230px, 0) !important;
	}

	.main-sidebar .user-panel {
		width: 230px !important;
		height: 100px !important;
	}

	.sidebar-menu {
		margin-top: 0 !important;
	}
}

/* ==========================================================================
   Page content loading overlay
   ========================================================================== */

.content-wrapper {
	position: relative;
	background-color: var(--ui-bg, #ecf0f5) !important;
}

.loading-overlay {
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:rgba(236, 240, 245, 0.45);
	display:none;
	align-items:center;
	justify-content:center;
	z-index:99999;
}

.loading-overlay.is-active {
	display:flex !important;
}

body:not(.page-loaded) .loading-overlay {
	display:flex;
}

body.page-loaded .loading-overlay:not(.is-active) {
	display:none !important;
}

.loading-overlay .loading-box {
	display:flex;
	align-items:center;
	gap:10px;
	background:#ffffff;
	border:1px solid #e2e8f0;
	border-radius:999px;
	box-shadow:0 8px 24px rgba(15, 23, 42, 0.12), 0 2px 6px rgba(15, 23, 42, 0.08);
	color:#31466f;
	font-size:14px;
	font-weight:600;
	line-height:1;
	padding:11px 16px;
}

.loading-overlay i {
	font-size:16px;
}

/* ==========================================================================
   Collapsed sidebar flyout - final clean version
   Must stay at the very bottom.
   ========================================================================== */

@media (min-width: 768px) {
	body.sidebar-mini.sidebar-collapse .main-sidebar,
	body.sidebar-mini.sidebar-collapse .left-side,
	body.sidebar-mini.sidebar-collapse .sidebar,
	body.sidebar-mini.sidebar-collapse .sidebar-menu {
		overflow: visible !important;
	}

	body.sidebar-mini.sidebar-collapse .main-sidebar,
	body.sidebar-mini.sidebar-collapse .left-side {
		z-index: 5000 !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li {
		position: relative !important;
		width: 50px !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > a {
		position: relative !important;
		display: block !important;
		width: 50px !important;
		height: 46px !important;
		min-height: 46px !important;
		padding: 0 !important;
		overflow: visible !important;
		background: transparent !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > i {
		display: block !important;
		position: relative !important;
		width: 50px !important;
		height: 46px !important;
		line-height: 46px !important;
		text-align: center !important;
		font-size: 16px !important;
		margin: 0 !important;
		color: #ffffff !important;
		z-index: 6100 !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > span,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > a > .pull-right {
		display: none !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a {
		background: rgba(255, 255, 255, 0.10) !important;
		color: #ffffff !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > i {
		color: #ffffff !important;
		background: transparent !important;
	}

	/* Hover bridge between icon and flyout */
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li:after {
		content: "";
		display: none;
		position: absolute;
		top: 0;
		left: 50px;
		width: 14px;
		height: 46px;
		z-index: 6090;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover:after {
		display: block;
	}

	/* Top flyout title */
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span:not(.pull-right) {
		display: block !important;
		position: absolute !important;
		top: 0 !important;
		left: 50px !important;
		width: 250px !important;
		height: 46px !important;
		line-height: 22px !important;
		padding: 12px 16px !important;
		background: #ffffff !important;
		color: #111827 !important;
		border: 1px solid #e5e7eb !important;
		border-left: 0 !important;
		box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18) !important;
		z-index: 6000 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		border-top-right-radius: 8px !important;
		border-bottom-right-radius: 8px !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		letter-spacing: 1px !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li.treeview:hover > a > span:not(.pull-right) {
		border-bottom-right-radius: 0 !important;
		border-bottom-color: #f3f4f6 !important;
	}

	/* Submenu flyout */
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li.treeview:hover > .treeview-menu {
		display: block !important;
		position: absolute !important;
		top: 46px !important;
		left: 50px !important;
		width: 250px !important;
		margin: 0 !important;
		padding: 8px 0 !important;
		background: #ffffff !important;
		border: 1px solid #e5e7eb !important;
		border-top: 0 !important;
		box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18) !important;
		z-index: 5999 !important;
		border-bottom-right-radius: 8px !important;
		max-height: calc(100vh - 90px) !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li.treeview:hover > .treeview-menu > li {
		position: relative !important;
		margin: 0 !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li.treeview:hover > .treeview-menu > li > a {
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		min-height: 42px !important;
		padding: 10px 16px !important;
		color: #374151 !important;
		background: #ffffff !important;
		font-size: 13px !important;
		line-height: 18px !important;
		white-space: normal !important;
		border: 0 !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li.treeview:hover > .treeview-menu > li > a:hover {
		background: #f3f4f6 !important;
		color: #111827 !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li.treeview:hover > .treeview-menu > li > a > i {
		display: block !important;
		width: 24px !important;
		min-width: 24px !important;
		height: auto !important;
		line-height: 18px !important;
		margin: 0 10px 0 0 !important;
		text-align: center !important;
		color: #4b5563 !important;
		font-size: 14px !important;
		position: static !important;
		z-index: auto !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li.treeview:hover > .treeview-menu > li > a > span {
		display: inline !important;
		white-space: normal !important;
		color: inherit !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li.treeview:hover > .treeview-menu .treeview-menu {
		position: static !important;
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #f9fafb !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li.treeview:hover > .treeview-menu .treeview-menu > li > a {
		padding-left: 34px !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu {
		-webkit-transform: none !important;
		transform: none !important;
	}
}

/* ==========================================================================
   Mobile top bar fix
   Must stay at the very bottom.
   ========================================================================== */

@media (max-width: 767px) {
	.main-header {
		height: 50px !important;
		min-height: 50px !important;
		max-height: 50px !important;
		overflow: visible !important;
	}

	.main-header .navbar {
		height: 50px !important;
		min-height: 50px !important;
		max-height: 50px !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		overflow: visible !important;
	}

	.main-header .sidebar-toggle {
		width: 50px !important;
		height: 50px !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		float: none !important;
		flex: 0 0 50px !important;
	}

	.main-header .sidebar-toggle i {
		line-height: 1 !important;
	}

	.main-header .navbar-custom-menu {
		float: none !important;
		margin-left: auto !important;
		height: 50px !important;
		max-height: 50px !important;
		display: flex !important;
		align-items: center !important;
		overflow: visible !important;
	}

	.main-header .navbar-custom-menu > .navbar-nav {
		margin: 0 !important;
		height: 50px !important;
		max-height: 50px !important;
		display: flex !important;
		align-items: center !important;
		flex-direction: row !important;
	}

	.main-header .navbar-custom-menu > .navbar-nav > li {
		float: none !important;
		position: relative !important;
		height: 50px !important;
		display: flex !important;
		align-items: center !important;
	}

	.main-header .navbar-custom-menu > .navbar-nav > li > a {
		height: 50px !important;
		padding: 0 10px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		line-height: 50px !important;
	}

	.main-header .navbar-custom-menu > .navbar-nav > li > a i,
	.main-header .navbar-custom-menu > .navbar-nav > li > a .fa,
	.main-header .navbar-custom-menu > .navbar-nav > li > a .fas {
		line-height: 1 !important;
	}

	.main-header .navbar-custom-menu > .navbar-nav > li > .dropdown-menu {
		position: absolute !important;
		top: 50px !important;
		right: 0 !important;
		left: auto !important;
	}
}

/* ==========================================================================
   Mobile sidebar below fixed top bar
   Must stay at the very bottom.
   ========================================================================== */

@media (max-width: 767px) {
	.main-sidebar,
	.left-side {
		position: fixed !important;
		top: 50px !important;
		left: 0 !important;
		width: 230px !important;
		height: calc(100vh - 50px) !important;
		min-height: calc(100vh - 50px) !important;
		padding-top: 100px !important;
		transform: translate(-230px, 0) !important;
		z-index: 1040 !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
	}

	body.sidebar-open .main-sidebar,
	body.sidebar-open .left-side {
		transform: translate(0, 0) !important;
	}

	.main-sidebar .user-panel {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		width: 230px !important;
		height: 100px !important;
		z-index: 1041 !important;
	}

	body.sidebar-open .content-wrapper,
	body.sidebar-open .right-side,
	body.sidebar-open .main-footer {
		transform: translate(230px, 0) !important;
	}

	.main-header {
		z-index: 1050 !important;
	}
}

/* ============================================================
   Collapsed Sidebar Nested Flyout Menus
============================================================ */

@media (min-width:768px) {

	body.sidebar-mini.sidebar-collapse .main-sidebar,
	body.sidebar-mini.sidebar-collapse .sidebar {
		overflow:visible !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
		overflow:visible !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu {
		display:block !important;
		overflow:visible !important;
		height:auto !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.treeview {
		position:relative;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.treeview > .treeview-menu {
		display:none !important;
		position:absolute;
		top:0;
		left:100%;
		min-width:230px;
		margin:0;
		padding:5px 0;
		z-index:10000;
		height:auto !important;
		overflow:visible !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.treeview:hover > .treeview-menu,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.treeview.menu-open > .treeview-menu {
		display:block !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.treeview > a .pull-right,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.treeview > a .fa-angle-left {
		position:absolute;
		right:10px;
		top:50%;
		transform:translateY(-50%);
	}

}

/* ============================================================
   Collapsed Sidebar Sub-Sub Menus
============================================================ */

@media (min-width:768px) {

	body.sidebar-mini.sidebar-collapse .main-sidebar,
	body.sidebar-mini.sidebar-collapse .sidebar,
	body.sidebar-mini.sidebar-collapse .sidebar-menu,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
		overflow:visible !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu {
		display:block !important;
		height:auto !important;
		overflow:visible !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.treeview {
		position:relative;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.treeview > .treeview-menu {
		display:none !important;
		position:absolute;
		top:0;
		left:100%;
		min-width:230px;
		height:auto !important;
		margin:0;
		padding:5px 0;
		overflow:visible !important;
		z-index:10000;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.treeview:hover > .treeview-menu {
		display:block !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.treeview > a {
		position:relative;
		padding-right:32px;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.treeview > a .pull-right-container {
		position:absolute;
		right:10px;
		top:50%;
		transform:translateY(-50%);
	}

}

/* ============================================================
   Collapsed Sidebar - Nested Menu Visibility Fix
============================================================ */

@media (min-width:768px) {

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu .treeview-menu {
		background:#ffffff !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li > a,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li > a span,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li > a i {
		color:#374151 !important;
		opacity:1 !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li > a:hover,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.active > a {
		background:#f3f6fb !important;
		color:#111827 !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li > a:hover span,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li > a:hover i,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.active > a span,
	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu li.active > a i {
		color:#111827 !important;
		opacity:1 !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu .treeview-menu {
		padding-top:0;
		padding-bottom:0;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu .treeview-menu > li > a {
		padding-left:48px;
		background:#f8fafc !important;
	}

	body.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu .treeview-menu > li > a:hover {
		background:#eef2f7 !important;
	}

}