<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/* ==========================================================================
Core
========================================================================== */

/* Variables */

:root {
	--side-width: 260px;
	--side-compact-width: 60px;
	--header-height: 60px;
	--border-color: #b8b8b8;
}

/* Base style */

body {
	background: #f3f3f3;
	color: #101010;
}

/* Scroll bar */

body::-webkit-scrollbar {
	width: 5px;
}

body::-webkit-scrollbar-track {
	background-color: #f1f1f1;
}

body::-webkit-scrollbar-thumb {
	background-color: var(--color-primary-dark);
}

/* Inline page */

body.inline {
	background-color: #fff;
}

body.inline::-webkit-scrollbar {
	width: 5px;
}

body.inline::-webkit-scrollbar-track {
	background-color: #f1f1f1;
}

body.inline::-webkit-scrollbar-thumb {
	background-color: #c8c8c8;
}

/* Generic */

.page-container {
	padding: 10px;
	border-radius: 5px;
	background: white;
}

table.data-table:before {
	border: 1px solid var(--border-color);
}

table.data-table,
.data-table-container,
.page-container {
	box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.04);
}

/* Inputs */

input[list],
input[type="text"],
input[type="password"],
input[type="number"],
input[type="file"],
input[type="email"],
input[type="date"],
input[type="time"],
input[type="search"],
textarea,
select {
	margin: 0;
	padding: 0 5px 0 5px;
	min-height: 30px;
	color: #101010;
	width: 100%;
	box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.1);
	border: 1px solid #b9b9b9;
	background: #fcfcfc;
	transition: box-shadow 0.3s, border 0.3s;
	border-radius: 3px;
}

.select2-selection {
	margin: 0;
	padding: 0;
	color: black;
	width: 100%;
	box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.1);
	border: 1px solid #b9b9b9 !important;
	background: #fcfcfc !important;
	transition: border 0.3s;
}

/* Inputs focus */

input[list]:focus,
input[type=text]:focus,
input[type=password]:focus,
input[type=number]:focus,
input[type=file]:focus,
input[type=email]:focus,
input[type=date]:focus,
input[type=time]:focus,
input[type=color]:focus,
textarea:focus,
select:focus,
.select2-selection[aria-expanded=true] {
	border-color: var(--color-primary) !important;
	box-shadow: 0 0 0 4px rgba(var(--rgb-primary), 0.1);
}

input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	box-shadow: 0 0 0 4px rgba(var(--rgb-primary), 0.1), inset 0 0 0 100px #fcfcfc;
}

/* Submit Container */

.submit-container {
	width: 100%;
	padding: 10px;
	border: 1px solid var(--border-color);
	text-align: center;
	background: rgba(255, 255, 255, 0.4);
	box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.04);
	margin-top: 15px;
	border-radius: 5px;
}

/* Change input directions based on selected database language */

body[database-language="en"] .data-table input[type="text"],
body[database-language="en"] .data-table input[type="number"],
body[database-language="en"] .data-table input[type="email"],
body[database-language="ar"] .data-table input[type="file"],
body[database-language="en"] .data-table textarea {
	direction: ltr;
	text-align: left;
}

body[database-language="ar"] .data-table input[type="text"],
body[database-language="ar"] .data-table input[type="number"],
body[database-language="ar"] .data-table input[type="email"],
body[database-language="ar"] .data-table input[type="file"],
body[database-language="ar"] .data-table textarea {
	direction: rtl;
	text-align: right;
}

body[database-language="ar"] .calendar-reset,
body[database-language="ar"] .time-reset {
	right: initial;
	left: 6px;
}

body[database-language="en"] .calendar-reset,
body[database-language="en"] .time-reset {
	right: 6px;
	left: initial;
}

/* ==========================================================================
Dashboard page layout
========================================================================== */

.body-container {
	display: grid;
    grid-template-columns: var(--side-width) calc(100% - var(--side-width));
}

.main-content {
	grid-column-start: 2;
}

@media screen and (max-width: 992px) {
	.body-container {
		display: block;
	}
}

body.inline .body-container {
	display: block;
}

.body-content {
	padding: 10px;
}

/* ==========================================================================
Side content
========================================================================== */

.side-content {
	width: var(--side-width);
	height: 100vh;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
	background: linear-gradient(135deg, var(--color-primary) 0%, rgba(var(--rgb-secondary), 0.8) 100%), url("../../../images/menu.jpg");
	background-size: cover;
	background-position: center center;
	overflow: hidden;
}

.side-content:not(.stop-animation) {
	transition: transform 0.5s ease, width 0.3s ease;
}

.side-content .side-menu-container {
	height: calc(100vh - var(--header-height));
	overflow-y: scroll;

	/* Firefox */
	scrollbar-width: none;
}

.side-content .side-menu-container::-webkit-scrollbar {
	display: none;
}

.side-content .side-menu-container:not(.initialized) .os-scrollbar {
	display: none !important;
}

.side-content .top-bar a {
	display: block;
	width: var(--side-width);
	height: var(--header-height);
	overflow: hidden;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;
	padding: 10px;
}

.side-content .top-bar a img {
	width: 30px;
	height: 30px;
}

.side-content .top-bar a span {
	font-weight: bold;
	color: #fff;
}

.side-content .logo {
	width: var(--side-width);
	padding: 10px;
	background: #fefefe;
}

.side-content .side-menu {
	width: var(--side-width);
}

.side-content .version {
	text-align: center;
	color: #fefefe;
	margin-top: 15px;
	margin-bottom: 15px;
	width: var(--side-width);
}

.side-content .version b {
	display: block;
	margin: 5px auto 5px auto;
}

@media screen and (min-width: 992px) {
	.side-content {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
	}

	.side-content:lang(ar) {
		left: initial;
		right: 0;
	}
}

/* Side menu */

.side-menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: #000;
	opacity: 0.4;
	display: none;
	z-index: 11000;
}

.side-menu .panel {
	background: transparent;
	border-radius: 0;
	border: 0;
	margin: 0 !important;
	box-shadow: initial;
	transition: background 0.25s;
}

.side-menu .panel:hover {
	background: rgba(255, 255, 255, 0.03);
}

/* Side menu panel heading */

.side-menu .panel-heading {
	margin: 0;
	padding: 0;
	background: transparent;
}

.side-menu .panel-heading a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	padding: 10px;
	width: 100%;
	color: #fefefe;
}

.side-menu .panel-heading a &gt; div {
	flex-grow: 1;
	display: flex;
	align-items: center;
	gap: 10px;
}

.side-menu .panel-heading a &gt; div .image img {
	display: block;
	width: 25px;
	margin: 0 auto 0 auto;
	filter: contrast(0) brightness(190%) grayscale(1);
}

.side-menu .panel-heading a &gt; div .content {
	font-size: 1.2rem;
	font-weight: bold;
	flex-grow: 1;
}

.side-menu .panel-heading a &gt; div .content small {
	display: none;
}

.side-menu .panel-heading a i {
	display: block;
	font-size: 2rem;
	color: #eee;
	transition: transform 0.25s;
}

.side-menu .panel-heading a[aria-expanded="true"] i {
	transform: scaleY(-1);
}

/* Side menu panel pages */

.side-menu .panel-body {
	padding: 5px;
	background: #fefefe;
	border: 0 !important;
}

.side-menu .icons-container {
	display: block;
	width: 100%;
	margin-bottom: 5px;
	padding: 0 0 0 10px;
	position: relative;
}

.side-menu .icons-container:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	border-radius: 5px;
	background: rgba(var(--rgb-primary), 0.2);
}

.side-menu:lang(ar) .icons-container {
	padding: 0 10px 0 0;
}

.side-menu:lang(ar) .icons-container:before {
	left: initial;
	right: 0;
}

.side-menu .icons-container:last-of-type {
	margin-bottom: 0;
}

.side-menu .index-button {
	color: #606060;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 7px;
	font-size: 1.2rem;
	position: relative;
	border-radius: 3px;
	transition: background 0.25s, color 0.25s;
}

.side-menu .index-button:hover {
	color: #404040;
	background: rgba(var(--rgb-primary), 0.02);
}

.side-menu .index-button b {
	font-weight: normal;
}

.side-menu .index-button img {
	width: 25px;
	height: 25px;
	margin: 0 10px 0 0;
}

.side-menu:lang(ar) .index-button img {
	margin: 0 0 0 10px;
}

.side-menu .index-button .icon-notification {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 0.9rem;
	background: red;
	color: white;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	position: absolute;
	right: 5px;
}

.side-menu:lang(ar) .index-button .icon-notification {
	right: initial;
	left: 5px;
}

.side-menu .index-button.active {
	pointer-events: none;
	background: rgba(var(--rgb-primary), 0.06);
	color: var(--color-primary);
}

.side-menu .index-button.active b {
	font-weight: bold;
}

.side-menu div.separator {
	width: 100%;
	height: auto;
	font-weight: bold;
	clear: both;
	padding: 5px;
	margin: 0 0 5px 0;
	border-radius: 3px;
	color: var(--color-primary);
}

/* Small screen */

@media screen and (max-width: 992px) {
	.side-content {
		position: fixed;
		top: 0;
		left: 0;
		box-shadow: 0 0 30px rgba(0, 0, 0, 0.35);
		transform: translateX(calc((var(--side-width) + 50px) * -1));
		z-index: 12000;
	}

	.side-content:lang(ar) {
		left: initial;
		right: 0;
		transform: translateX(calc(var(--side-width) + 50px));
	}

	.side-content.opened {
		transform: translateX(0);
	}

	.side-menu .index-button {
		border-left: 0 !important;
		border-right: 0 !important;
	}
}

/* ==========================================================================
Header
========================================================================== */

.header {
	position: sticky;
	top: 0;
	width: 100%;
	margin: 0;
	color: #f8f8f8;
	display: flex;
	align-items: center;
	z-index: 10000;
	height: var(--header-height);
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
}

/* Links */

.header .header-links {
	padding: 10px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-grow: 1;
}

.header .header-links .btn-group {
	margin: 0 8px 0 0;
}

.header:lang(ar) .header-links .btn-group {
	margin: 0 0 0 8px;
}

.header .header-links .btn-group:last-child {
	margin: 0;
}

.header .header-links .header-btn {
	color: white;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 3px;
	border: 0;
	height: 35px;
	min-width: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.25s;
	border-radius: 50%;
}

.header .header-links .header-btn:hover {
	background: rgba(255, 255, 255, 0.2);
}

.header .header-links .header-btn.no-background {
	background: transparent !important;
	min-width: initial;
}

.header .header-links .header-btn&gt;i {
	font-size: 1.6rem;
}

.header .header-links .header-btn .fa-angle-down {
	margin: 0 0 0 10px;
}

.header:lang(ar) .header-links .header-btn .fa-angle-down {
	margin: 0 10px 0 0;
}

.header .header-links .header-btn .notification-count {
	display: flex;
	justify-content: center;
	align-items: center;
	background: red;
	font-size: 1rem;
	font-weight: bold;
	border-radius: 50%;
	position: absolute;
	top: -5px;
	right: -5px;
	width: 20px;
	height: 20px;
}

.header .header-links .dropdown-menu li a {
	font-size: 1.2rem;
}

.header .side-menu-toggle {
	padding: 0 !important;
}
.header .side-menu-toggle i {
	font-size: 2.4rem !important;
}

.header .compensator {
	flex-grow: 1;
	min-width: 20px;
}

.body:not(.compact) .compact-icon:before {
	content: "\f060";
}

.body:not(.compact):lang(ar) .compact-icon:before {
	content: "\f061";
}

.body.compact .compact-icon:before {
	content: "\f0c9";
}

/* User Dropdown */

.header .btn-group.user-group img {
	width: 35px;
	height: 35px;
	border-radius: 50%;
}

.header .btn-group.user-group button {
	padding: 0;
	background: transparent !important;
	box-shadow: initial !important;
}

.header .btn-group.user-group .text {
	line-height: 1.4;
	width: 80px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: left;
	margin: 0 0 0 8px;
}

.header:lang(ar) .btn-group.user-group .text {
	text-align: right;
	margin: 0 8px 0 0;
}

.header .btn-group.user-group small {
	display: block;
	margin-top: 2px;
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.75);
}

.header .btn-group.user-group .user-dropdown-header {
	width: 250px;
	background: #eee;
	padding: 10px;
	border-bottom: 1px solid #bbb;
	color: #202020;
	display: flex;
	align-items: flex-start;
}

.header .btn-group.user-group .user-dropdown-header&gt;div {
	line-height: 1.5;
	flex-grow: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.header .btn-group.user-group .user-dropdown-header&gt;div small {
	display: block;
	color: #606060 !important;
}

/* Notifications dropdown */

.header .header-links .notifications-menu {
	width: 350px;
	max-width: calc(100vw - 20px);
}

.header .header-links .notifications-menu li a {
	font-size: 1.2rem;
	line-height: 1.75;
}

/* Search menu */

.header .search-group button {
	display: none;
}

.header .search-group input {
	border: 0 !important;
	box-shadow: initial !important;
	background: rgba(255, 255, 255, 0.05) !important;
	color: white !important;
	height: 35px !important;
	border-radius: 20px !important;
	padding: 0 35px 0 15px !important;
	max-width: 200px;
}

.header .search-group:lang(ar) input {
	padding: 0 15px 0 35px !important;
}

.header .search-group .search_container .fa-search {
	color: rgba(255, 255, 255, 0.2);
	font-size: 1.8rem;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.header .search-group:lang(ar) .search_container .fa-search {
	right: initial;
	left: 10px;
}

.header .search-group input::-webkit-input-placeholder {
	color: #eee;
}

.header .search-group input:-ms-input-placeholder {
	color: #eee;
}

.header .search-group input::placeholder {
	color: #bbb;
}

.header #header_search_results {
	width: 350px;
	max-width: calc(100vw - 20px);
	max-height: 75vh;
	overflow-y: scroll;
}

.header #header_search_results::-webkit-scrollbar {
	max-width: 5px;
	max-height: 5px;
	border-radius: 0 3px 3px 0;
}

.header #header_search_results::-webkit-scrollbar-track {
	background-color: #f1f1f1;
	border-radius: 0 3px 3px 0;
}

.header #header_search_results::-webkit-scrollbar-thumb {
	background-color: #808080;
	border-radius: 3px;
}

.header:lang(ar) #header_search_results::-webkit-scrollbar {
	border-radius: 3px 0 0 3px;
}

.header:lang(ar) #header_search_results::-webkit-scrollbar-track {
	border-radius: 3px 0 0 3px;
}

.header #header_search_results li .index-button {
	display: flex;
	align-items: center;
}

.header #header_search_results li .index-button img {
	width: 30px;
	height: 30px;
}

.header #header_search_results li .index-button b {
	display: block;
	font-size: 1.2rem;
	flex-grow: 1;
	margin: 0 0 0 10px;
}

.header #header_search_results:lang(ar) li .index-button b {
	margin: 0 10px 0 0;
}

.header #header_search_results li .index-button b .search-location {
	display: block;
	font-weight: normal;
	font-size: 1rem;
	margin-top: 5px;
}

/* Empty dropdowns */

.header .header-links .empty {
	color: #606060;
	padding: 7px;
	font-size: 1.2rem;
	display: flex;
	align-items: center;
}

.header .header-links .empty&gt;i {
	display: block;
	font-size: 3rem;
	color: #ddd;
	margin: 0 5px 0 0;
}

.header:lang(ar) .header-links .empty&gt;i {
	margin: 0 0 0 5px;
}

@media screen and (max-width: 992px) {
	.header .header-title {
		display: none;
	}

	.header .header-menu-toggle {
		display: block;
	}
}

/* ==========================================================================
Compact mode
========================================================================== */

body:not(.compact-menu) .top-bar a {
	justify-content: center;
}

body:not(.compact-menu) .top-bar .icon {
	display: none;
}

@media screen and (min-width: 992px) {
	body.compact-menu .side-content {
		width: var(--side-compact-width);
		z-index: 10050;
	}

	body.compact-menu .side-content .image {
		margin: 0 0 0 calc((var(--side-compact-width) - 50px) / 2);
	}

	body.compact-menu:lang(ar) .side-content .image {
		margin: 0 calc((var(--side-compact-width) - 50px) / 2) 0 0;
	}

	body.compact-menu .side-content .panel-collapse {
		overflow: hidden;
		max-height: 0;
	}

	body.compact-menu .body-container {
		grid-template-columns: var(--side-compact-width) calc(100% - var(--side-compact-width));
	}

	body.compact-menu .side-content .top-bar span,
	body.compact-menu .side-content .logo,
	body.compact-menu .side-content .panel-heading a .content,
	body.compact-menu .side-content .panel-heading a i,
	body.compact-menu .side-content .version {
		display: none;
	}

	body.compact-menu .side-content.hover .top-bar a span,
	body.compact-menu .side-content.hover .logo,
	body.compact-menu .side-content.hover .panel-heading a .content,
	body.compact-menu .side-content.hover .panel-heading a i,
	body.compact-menu .side-content.hover .version {
		display: block;
	}

	body.compact-menu .side-content.hover {
		width: var(--side-width);
	}

	body.compact-menu .side-content.hover .panel-collapse {
		max-height: 1000px;
	}
}

/* ==========================================================================
Login page
========================================================================== */

body.login .body-container {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	margin: 0 auto 0 auto;
}

body.login .main-content {
	width: 1000px;
	max-width: 100%;
	padding: 0;
}

.login-container {
	margin: 0 auto 20px auto;
	border-radius: 10px;
	box-shadow: 2px 2px 14px -2px rgba(0, 0, 0, 0.2);
	background: #fff;
	overflow: hidden;
}

.login-container .login-form {
	padding: 20px 10px 10px 10px;
}

.login-container .login-form img {
	max-width: 240px;
	max-height: 150px;
	display: block;
	margin: 0 auto 15px auto;
}


.login-container .login-form h1 {
	display: block;
	padding: 0;
	font-size: 1.6rem;
	text-align: center;
	font-weight: bold;
}

.login-container .login-form h1 small {
	font-weight: normal;
}

.login-container .login-side {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 20px;
	color: white;
	background: linear-gradient(135deg, var(--color-primary) 0%, rgba(var(--rgb-secondary), 0.8) 100%), url("../../../images/menu.jpg");
	background-size: cover;
	background-position: center center;
}

/* ==========================================================================
Index icons
========================================================================== */

.menu-panel {
	margin: 15px 0 0 0;
}

.menu-panel .panel {
	margin: 10px 0 10px 0;
}

.menu-panel .panel-heading a &gt; div {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-grow: 1;
	gap: 10px;
	font-size: 1.5rem;
	font-weight: bold;
	color: #202020;
}

.menu-panel .panel-heading a &gt; div .image {
	width: 40px;
}

.menu-panel .panel-heading a &gt; div small {
	display: block;
	font-weight: normal;
	font-size: 1.2rem;
	margin-top: 2px;
	color: #808080;
}

.menu-panel .panel-heading a &gt; i {
	display: block;
	font-size: 3rem;
	flex-basis: 30px;
	color: #909090;
	transition: transform 0.25s;
}

.menu-panel .panel-heading a[aria-expanded="true"] &gt; i {
	transform: scaleY(-1);
}

.menu-panel .panel-default&gt;.panel-heading {
	background-color: #fefefe;
	transition: background 0.25s;
}

.menu-panel .panel-default&gt;.panel-heading.open {
	background-color: #f8f8f8;
}

.menu-panel .panel-body {
	padding: 10px;
}

.menu-panel div.separator {
	width: 100%;
	height: auto;
	font-weight: bold;
	text-align: left;
	border-radius: 4px;
	clear: both;
	color: white;
	padding: 10px;
	text-shadow: 1px 1px 0 black;
	margin: 15px 0 10px 0;
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
}

.menu-panel:lang(ar) div.separator {
	text-align: right;
}

.menu-panel div.separator:first-child {
	margin-top: 0;
}

.menu-panel .index-button {
	color: #606060;
	position: relative;
	border: 1px solid #c8c8c8;
	border-bottom: 3px solid #c8c8c8;
	border-radius: 4px;
	display: block;
	width: 100%;
	text-align: center;
	padding: 5px 10px 5px 10px;
	height: 120px;
	font-size: 1.2rem;
	background: #fafafa;
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
	transition: background 0.25s, color 0.25s, border-color 0.25s;
}

.menu-panel .index-button:hover {
	color: #404040;
	background: #eee;
	border-color: #b1b1b1;
}

.menu-panel .index-button img {
	display: block;
	width: 50px;
	height: 50px;
	margin: 5px auto 7px auto;
}

.menu-panel .index-button .icon-notification {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	color: white;
	width: 25px;
	height: 25px;
	top: -3px;
	left: -3px;
	background: red;
}

.menu-panel .icons-container {
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	padding: 0;
	margin: 0;
	display: grid;
	--grid-column-count: 30;
	--grid-layout-gap: 10px;
	--grid-item--min-width: 140px;
	--gap-count: calc(var(--grid-column-count) - 1);
	--total-gap-width: calc(var(--gap-count) * var(--grid-layout-gap));
	--grid-item--max-width: calc((100% - var(--total-gap-width)) / var(--grid-column-count));
	grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item--min-width), var(--grid-item--max-width)), 1fr));
	grid-gap: var(--grid-layout-gap);
}

/* ==========================================================================
Copyrights
========================================================================== */

.copyrights {
	color: #c8c8c8;
	padding: 10px;
	text-align: center;
	font-size: 1rem;
}

.copyrights img {
	width: 140px;
	display: block;
	margin: 5px auto 5px auto;
}

.copyrights a,
.copyrights a:hover {
	color: #c8c8c8;
}


/* ==========================================================================
Loading
========================================================================== */

#page-loading {
	display: none;
	flex-direction: column;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.9);
	color: var(--color-primary);
	font-size: 1.6rem;
	padding: 40px;
	width: 100%;
	height: 100vh;
	align-items: center;
	justify-content: center;
	z-index: 999999999 !important;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);
}

body.body #page-loading {
	display: flex;
}

.lds-ellipsis {
	display: inline-block;
	position: relative;
	width: 80px;
	height: 80px;
}

.lds-ellipsis div {
	position: absolute;
	top: 33px;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
	background: #0d1e2e;
	left: 8px;
	animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
	background: #132d45;
	left: 8px;
	animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
	background: #22517f;
	left: 32px;
	animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(4) {
	background: #488ccd;
	left: 56px;
	animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
	0% {
		transform: scale(0);
	}

	100% {
		transform: scale(1);
	}
}

@keyframes lds-ellipsis3 {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(0);
	}
}

@keyframes lds-ellipsis2 {
	0% {
		transform: translate(0, 0);
	}

	100% {
		transform: translate(24px, 0);
	}
}


/* ==========================================================================
Footer notifications
========================================================================== */

.footer-notifications-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	bottom: 10px;
	right: 10px;
	background: #f2b738;
	padding: 3px;
	width: 66px;
	height: 66px;
	border-radius: 50%;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
	z-index: 90;
	cursor: pointer;
	color: white;
	transition: box-shadow 0.2s;
}

.footer-notifications-icon:lang(ar) {
	right: initial;
	left: 10px;
}

.footer-notifications-icon:hover {
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
}

.footer-notifications-icon i {
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
	font-size: 3rem;
}

.footer-notifications-icon .count {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	right: 0;
	background: red;
	color: white;
	width: 30px;
	height: 30x;
	padding: 5px;
	border-radius: 50%;
}

.footer-notifications {
	display: none;
}

ul.footer-notifications-list {
	margin: 0;
	list-style-position: inside;
	padding: 0 20px 0 0;
}

ul.footer-notifications-list:lang(ar) {
	padding: 0 0 0 20px;
}

ul.footer-notifications-list li {
	margin-bottom: 3px;
}

ul.footer-notifications-list li:last-child {
	margin-bottom: 0;
}

ul.footer-notifications-list a {
	color: #404040;
}

ul.footer-notifications-list a:hover {
	color: #000;
}

.footer-copyrights {
	text-align: center;
	margin-top: 10px;
}

/* ==========================================================================
Page titles
========================================================================== */

body.body div.title {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	padding: 10px;
	font-size: 1.4rem;
	font-weight: bold;
	background: #fcfcfc;
	margin: 0 0 10px 0;
	border-radius: 5px;
	border: 1px solid var(--border-color);
	box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, .04);
}

body.body div.title div.image {
	width: 40px;
	height: 40px;
	margin: 0 10px 0 0;
}

body.body:lang(ar) div.title div.image {
	margin: 0 0 0 10px;
}

body.body div.title h1 {
	font-size: 1.4rem;
	margin: 0;
	padding: 0;
	font-weight: bold;
}

body.body div.title div.title-breadcrumb {
	font-size: 1.1rem;
	font-weight: normal;
	color: #606060;
	margin-bottom: 5px;
}

body.body:lang(ar) div.title div.title-breadcrumb .fa-angle-double-right {
	transform: rotate(180deg);
}

body.body div.title a {
	color: #353535;
	text-decoration: none;
}

body.body div.title a i {
	color: #606060 !important;
	text-decoration: none;
}

body.body div.title a:hover {
	color: #000;
}

/* ========== Inline Page Titles ========== */

body.inline div.title {
	width: 100%;
	padding: 10px;
	font-weight: bold;
	color: white;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
	margin-bottom: 10px;
	border-radius: 5px;
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
}

body.inline div.title .image,
body.inline div.title .title-breadcrumb {
	display: none;
}

body.inline div.title h1,
body.inline div.title h1 a {
	font-weight: bold;
	color: white;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
	pointer-events: none;
}

/* Inline subtitle (Used in system_permissions) */

div.inline-subtitle {
	margin: 20px 0 10px 0;
	padding: 6px 6px 0 6px;
	background: #f8f8f8;
	color: #505050;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
}

div.inline-subtitle:first-child {
	margin-top: 0;
}

div.inline-subtitle b {
	flex-grow: 1;
	margin-bottom: 6px;
}

div.inline-subtitle span {
	display: block;
	margin-bottom: 6px;
}

/* ==================================================
Select2 search box
================================================== */


.search-box b {
	display: block;
	margin-bottom: 5px;
}

.search-box div {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -5px;
}

.search-box p {
	color: #606060;
	font-size: 1rem;
	margin: 0 15px 5px 0;
	padding: 0;
}

.search-box:lang(ar) p {
	margin: 0 0 5px 15px;
}

.search-box p i.fas {
	margin: 0 3px 0 0;
}

.search-box:lang(ar) p i.fas {
	margin: 0 0 0 3px;
}

.search-box small {
	font-weight: normal;
	color: #606060;
}


/* ==================================================
View page
================================================== */

.pdf-section {
	display: none;
}

.info-header {
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	background: #f8f8f8;
	border-radius: 5px;
	margin-bottom: 10px;
}

.info-header .info-content {
	display: flex;
	gap: 10px;
}

.info-header .info-icon {
	width: 60px;
	height: 60px;
}

.info-header .info-icon i {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	background: #ddd;
	color: white;
	border-radius: 3px;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
	font-size: 3rem;
}

.info-header .info-icon img {
	border-radius: 3px;
}

.info-header .info-title {
	flex-grow: 1;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 5px;
}

.info-header .info-title b {
	display: block;
	width: 100%;
	font-size: 1.5rem;
}

.info-header .info-title .info-buttons {
	display: flex;
	justify-content: flex-end;
	flex-grow: 1;
	gap: 5px;
}

.info-header .info-blocks {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
	margin-top: 10px;
}

.info-header .info-blocks .info-block-item {
	flex-basis: 25%;
	flex-grow: 1;
	min-width: 200px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding: 8px;
	border: 1px solid #c8c8c8;
	border-radius: 3px;
	background: #fefefe;
}

.info-header .info-blocks .info-block-item p {
	font-weight: bold;
}

.info-header .info-blocks .info-block-item .label {
	font-size: 1.2rem;
	margin: -4px;
}

/* ==================================================
Query builder
================================================== */

.query-builder .rules-group-container {
	border-color: #ccc;
	background-color: rgba(0, 0, 0, .025) !important;
}

.query-builder .rules-group-container:first-child {
	margin: 0 !important;
}

.query-builder .rules-group-header {
	display: flex;
	flex-wrap: wrap;
}

.query-builder .rules-group-header .group-actions {
	flex-grow: 1;
}

@media screen and (max-width: 576px) {
	.query-builder .rules-group-header .group-actions {
		margin-bottom: 5px !important;
	}
}

.query-builder .rule-container,
.query-builder .rule-placeholder,
.query-builder .rules-group-container {
	border-color: #ddd !important;
}

.query-builder .rule-container {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
	align-items: center;
}

.query-builder .rule-container&gt;div {
	margin: 0 !important;
}

.query-builder .rule-filter-container,
.query-builder .rule-operator-container {
	min-width: 150px;
	width: 150px;
	max-width: 150px;
	flex-grow: 1;
}

@media screen and (max-width: 576px) {

	.query-builder .rule-filter-container,
	.query-builder .rule-operator-container {
		max-width: initial;
	}
}

.query-builder .rule-value-container {
	display: flex !important;
	align-items: center;
	gap: 5px;
	flex-grow: 10;
	border: 0 !important;
	padding: 0 !important;
}

.query-builder .rule-value-container&gt;div {
	width: 100%;
}

.query-builder .btn {
	z-index: 5;
}


.query-builder .has-error {
	background-color: #fde4e1 !important;
	border-color: #d9534f !important;
}

.query-builder .has-error .error-container {
	display: none !important;
}

.query-builder .rules-list:empty {
	margin-top: -5px !important;
}

/* ==================================================
JS Tree
================================================== */

.jstree {
	padding: 0 !important;
	margin: 0 !important;
}

.jstree-default .jstree-wholerow {
	border-radius: 3px !important;
}

.jstree-default .jstree-wholerow-hovered {
	background: #f8f8f8 !important;
}

.jstree-default .jstree-wholerow-clicked {
	background: #eee !important;
}

.jstree-default .jstree-context {
	background: transparent !important;
	border: 0 !important;
	box-shadow: initial !important;
}

.jstree-default .jstree-search {
	color: #000 !important;
}

.jstree-default-large .jstree-icon:empty {
	width: 24px !important;
}

.vakata-context,
.vakata-context ul {
	background: #fff !important;
	border: 1px solid rgba(0, 0, 0, 0.15) !important;
	border-radius: 3px !important;
	box-shadow: 0 6px 12px rgb(0 0 0 / 18%) !important;
	padding: 0 !important;
}

.vakata-context li&gt;a:hover,
.vakata-context .vakata-context-hover&gt;a {
	box-shadow: initial !important;
	background: #eee !important;
}

.vakata-context li&gt;a {
	text-shadow: initial !important;
}

/* Custom pages tree */

.page-row {
	display: inline-flex !important;
	align-items: center !important;
	flex-grow: 1 !important;
}

.page-row small {
	color: #aaa !important;
}

.tree-search {
	border-radius: 3px !important;
	box-shadow: initial !important;
	background: #fff !important;
}

/* ==================================================
Canvas ediotr
================================================== */

.canvas-scroller::-webkit-scrollbar {
	width: 5px;
	height: 5px;
}

.canvas-scroller::-webkit-scrollbar-track {
	background-color: #f4f4f4;
}

.canvas-scroller::-webkit-scrollbar-thumb {
	background-color: #c5c5c5;
}

.canvas-scroller {
	height: 66vh;
	position: relative;
	overflow: scroll;
	background-color: #e5e5e5;
}

.canvas-content {
	position: absolute;
	transform-origin: top left;
	top: 0;
	left: 0;
	background-color: #fff;
	transition: opacity 0.15s;
}

.canvas-scroller:not(.initialized) .canvas-content {
	opacity: 0;
}

.toxx-container .scrollable-container-wrapper {
	box-shadow: initial;
	border-radius: 0;
	border: 0;
}

/* Fullscreen */

.fullscreen {
	background: #f6f6f6;
	padding: 10px 5px 10px 5px;
}

.fullscreen .canvas-scroller {
	height: calc(100vh - 65px);
}

/* ==================================================
Resizable handles
================================================== */

.ui-resizable .ui-resizable-handle {
	width: 8px;
	height: 8px;
	background: #c5c5c5;
	position: absolute;
}

.ui-resizable.active .ui-resizable-handle {
	background: #3b82f6;
}

.ui-resizable .ui-resizable-handle.ui-resizable-nw {
	top: 0;
	left: 0;
	cursor: nw-resize;
	transform: translate(-40%, -40%);
}

.ui-resizable .ui-resizable-handle.ui-resizable-n {
	top: 0;
	left: 50%;
	transform: translate(-40%, -40%);
	cursor: n-resize;
}

.ui-resizable .ui-resizable-handle.ui-resizable-ne {
	top: 0;
	right: 0;
	cursor: ne-resize;
	transform: translate(40%, -40%);
}

.ui-resizable .ui-resizable-handle.ui-resizable-e {
	top: 50%;
	right: 0;
	cursor: e-resize;
	transform: translate(40%, -40%);
}

.ui-resizable .ui-resizable-handle.ui-resizable-se {
	bottom: 0;
	right: 0;
	cursor: se-resize;
	transform: translate(40%, 40%);
}

.ui-resizable .ui-resizable-handle.ui-resizable-s {
	bottom: 0;
	left: 50%;
	cursor: s-resize;
	transform: translate(-40%, 40%);
}

.ui-resizable .ui-resizable-handle.ui-resizable-sw {
	bottom: 0;
	left: 0;
	cursor: sw-resize;
	transform: translate(-40%, 40%);
}

.ui-resizable .ui-resizable-handle.ui-resizable-w {
	top: 50%;
	left: 0;
	cursor: w-resize;
	transform: translate(-40%, -40%);
}

/* ==================================================
Properties tabs
================================================== */

.tab-rectangle.properties {
	background: #fcfcfc !important;
	border: 1px solid #eee;
	padding: 5px;
	border-radius: 5px;
}

/* ==================================================
Modules selector
================================================== */

.modules-list {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.modules-list li {
	padding: 5px;
	border: 1px solid #c8c8c8;
	background: #f8f8f8;
	border-radius: 3px;
	display: flex;
	align-items: center;
}

.modules-list li .handle {
	display: none;
	font-size: 20px;
	cursor: move;
}

.modules-list li span {
	flex-grow: 1;
	padding: 4px;
}

.modules-list li .btn:not([operation=edit]) {
	display: none;
}

.modules-list.used li.fixed {
	font-weight: bold;
	border: 1px solid #ccc;
	background: #eee;
	text-align: center;
}

.modules-list.used li .handle {
	display: block;
}

.modules-list.used li span {
	text-align: center;
}

.modules-list.used li [operation=remove] {
	display: block;
}

.modules-list.available {
	max-height: 200px;
	overflow-y: scroll;
	padding: 0 5px 0 0;
}

.modules-list.available::-webkit-scrollbar {
	width: 5px;
}

.modules-list.available::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 10px;
}

.modules-list.available::-webkit-scrollbar-thumb {
	background: #888;
	border-radius: 10px;
}

.modules-list.available li.used {
	font-weight: bold;
	border: 1px solid #ccc;
	background: #eee;
}

.modules-list.available li [operation=insert] {
	display: block;
}

.modules-list.available:lang(ar) li [operation=insert] i {
	transform: scale(-1);
}

.modules-list [operation=search] {
	border-radius: 3px;
	margin-bottom: 10px;
	height: 40px;
	box-shadow: initial;
}

/* ==================================================
Generics
================================================== */

/* Anchors */
.anchor-container {
	display: grid;
	grid-template-columns: repeat(3, 20px);
	grid-template-rows: repeat(3, 20px);
	gap: 5px;

}

.anchor-container span::before,
.anchor-container span::after {
	border-radius: 0 !important;
}

/* Code Mirror */

.CodeMirror {
	border: 1px solid #aaa;
	border-radius: 3px;
}

/* ==================================================
Boxes
================================================== */

.box-light {
	background: rgba(255,255,255,.5);
	border: 1px solid #ddd;
	border-radius: 5px;
}

/* ==================================================
Workspace
================================================== */

.workspace {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.workspace .sidebar.md {
	--sidebar-width: 260px;
}

.workspace .sidebar.sm {
	--sidebar-width: 240px;
}

.workspace .sidebar.xs {
	--sidebar-width: 220px;
}

.workspace .sidebar {
	width: var(--sidebar-width, 290px);
	min-width: var(--sidebar-width, 290px);
	max-width: var(--sidebar-width, 290px);
}

.workspace .workarea {
	flex-grow: 1;
}

.workspace .sidebar .subtitle {
	font-size: 1.2rem;
	background-color: #eee;
	padding: 5px;
	border: 1px solid #ddd;
	border-radius: 3px;
}

@media screen and (max-width: 767px) {
	.workspace {
		flex-wrap: wrap;
	}

	.workspace .sidebar {
		width: 100%;
		flex-grow: 1;
		max-width: initial;
	}
}</pre></body></html>