@charset "UTF-8";

@import 'bootstrap/dist/css/bootstrap.min.css';
@import 'bootstrap-icons/font/bootstrap-icons.css';

:root {
    --spacing-0-25: 0.25rem;
    --spacing-0-5: 0.5rem;
    --spacing-1: 1rem;
    --spacing-1-5: 1.5rem;
    --spacing-2: 2rem;
    --spacing-2-5: 2.5rem;
    --spacing-3: 3rem;
    --spacing-4: 4rem;
    --spacing-5: 5rem;
    --spacing-6: 6rem;
    --spacing-7: 7rem;
    --spacing-8: 8rem;
}

:root, [data-bs-theme="light"] {
	--primary: #009b5d;
	--primary-bold: #007a4a;
	--primary-light: #00b36b;

	--bs-primary: var(--primary);
	--bs-primary-rgb: 0, 155, 93;
	--bs-accordion-active-bg: #cff4fc;
	--bs-primary-border-subtle: #99f7ce;
	--bs-primary-text-emphasis: #005d38;
	--color-border: rgb(222, 226, 230);
	--input-shadow-color: rgba(0, 155, 93, 0.15);
}

.btn-primary {
	--bs-btn-bg: var(--primary);
	--bs-btn-border-color: var(--primary);
	--bs-btn-hover-bg: #00824e;
	--bs-btn-hover-border-color: var(--primary-bold);;
	--bs-btn-active-bg: var(--primary-bold);;
	--bs-btn-disabled-bg: var(--primary);
	--bs-btn-disabled-border-color: var(--primary);

	&:disabled {
		color: #fff;
		background-color: #009b5d;
		border-color: #009b5d;
		opacity: 0.65;
	}
}

.btn-outline-primary {
	--bs-btn-color: var(--primary);
	--bs-btn-border-color: var(--primary);
	--bs-btn-hover-bg: var(--primary);
	--bs-btn-hover-border-color: var(--primary);
	--bs-btn-active-bg: var(--primary);
	--bs-btn-active-border-color: var(--primary);
	--bs-btn-disabled-color: var(--primary);
	--bs-btn-disabled-border-color: var(--primary);
	--bs-btn-focus-shadow-rgb: 0, 155, 93;
}

[data-bs-theme="dark"] {
	--bs-primary: var(--primary-light);;
	--bs-primary-rgb: 0, 179, 107;
}

[data-bs-theme="dark"] .btn-primary {
	--bs-btn-bg: var(--primary-light);;
	--bs-btn-border-color: var(--primary-light);;
	--bs-btn-hover-bg: #1ac27c;
	--bs-btn-hover-border-color: #1ac27c;
	--bs-btn-active-bg: #009b5d;
}

@layer base {
    :root {
        --blue: #27aeff;
        --indigo: #6610f2;
        --purple: #6f42c1;
        --pink: #e83e8c;
        --red: #dc3545;
        --orange: #fd7e14;
        --yellow: #ffc107;
        --green: #43d477;
        --teal: #20c997;
        --cyan: #17a2b8;
        --white: #ffffff;
        --gray: #6c757d;
        --gray-dark: #343a40;
        --panel-bg: #fbfbfd;
        --success: #e7f4f0;
        --info: #ebf7ff;

        --green-alison: #009b5d; /* rgb(0 155 93) */
		--highligh-color: #f8f9fa;

		--bs-primary: #009b5d;
		--bs-primary-rgb: 0,155,93;

        --primary: var(--green-alison);
        --primary-80: rgba(0, 155, 93, 0.8);
        --primary-dark: rgba(0, 155, 93, 0.9);
        --primary-lightdark: rgba(0, 155, 93, 0.3);
        --secondary: #1f3b64;
        --secondary-light: #305995;
        --secondary-80: rgba(40, 54, 24, 0.8);
        --secondary-30: rgba(40, 54, 24, 0.3);
        --gray300: #ececec;
        --gray200: #f1f1f1;
        --gray100: #f9f9f9;

        --primary-hover: var(--primary-dark);
        --primary-border: var(--primary);
        --primary-border-hover: var(--primary-lightdark);
        --primary-btn-shadow: 0 3px 6px 0 var(--primary-lightdark);
        --primary-btn-shadow-hover: 0 3px 8px 0 var(--primary-lightdark);
        --primary-btn-color: #ffffff;
        --primary-btn-color-hover: #ffffff;

        --secondary-hover: #162a47;
        --secondary-border: #162a47;
        --secondary-border-hover: #13243d;
        --secondary-btn-shadow: 0 3px 6px 0 rgba(64, 213, 125, 0.3);
        --secondary-btn-shadow-hover: 0 3px 8px 0 rgba(64, 213, 125, 0.3);
        --secondary-btn-color: #ffffff;
        --secondary-btn-color-hover: #ffffff;

        --font-family-base: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, "sans-serif";
        --font-family-special: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif;
        --font-family-rtl: "rtl-font-family";
        --light-grey-color: #C9CFD4;
        --soft-grey-color: #f5f5f5;
        --sk-body-link-color: #06c;

        --swiper-navigation-color: var(--primary);
        --swiper-pagination-bottom: -16px;
		--tblr-body-font-size: 16px;

        --app-shell-sidebar-width: 300px;
        --search-button-width: 54px;
        --search-button-height: 40px;
    }

	@media (max-width: 767px) {
        html {
            font-size: 14px;
        }
    }

    html {
        font-size: 17px;
		line-height: 1.5;
		-webkit-text-size-adjust: 100%;
		-moz-tab-size: 4;
		  -o-tab-size: 4;
			 tab-size: 4;
		font-family: var(--font-family-base);
		font-feature-settings: var(--tw-default-font-feature-settings, normal);
		font-variation-settings: var(--tw-default-font-variation-settings, normal);
		-webkit-tap-highlight-color: transparent;

        body {
            background-color: #fff;
            height: 100vh;
        }
    }

	.gap-8 {
		gap: 2rem !important;
	}

	.flex {
		display: flex !important;
	}

	.inline-flex {
		display: inline-flex !important;
	}

	.flex-col {
		flex-direction: column !important;
	}

	.justify-start {
		justify-content: flex-start !important;
	}

	.justify-end {
		justify-content: flex-end !important;
	}

	.justify-center {
		justify-content: center !important;
	}

	.justify-between {
		justify-content: space-between !important;
	}

	.justify-around {
		justify-content: space-around !important;
	}

	.items-start {
		align-items: flex-start !important;
	}

	.items-end {
		align-items: flex-end !important;
	}

	.items-center {
		align-items: center !important;
	}

	.items-baseline {
		align-items: baseline !important;
	}

	.items-stretch {
		align-items: stretch !important;
	}

	.row-gap-1 {
		row-gap: 0.25rem;
	}

	.row-gap-2 {
		row-gap: 0.5rem;
	}

	.row-gap-4 {
		row-gap: 1rem;
	}

	.row-gap-6 {
		row-gap: 1.5rem;
	}

	.row-gap-8 {
		row-gap: 2rem;
	}

	.w-full {
		width: 100%;
	}

	.w-180 {
		width: 180px;
	}
}

* {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, .4) transparent;
}

::-webkit-scrollbar {
    width: 4px;
    height: 4px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, .08);
    border-radius: 4px;
}

a {
	color: var(--bs-text-emphasis);
	text-decoration: none;
	&:hover {
		color: var(--primary-bold);
		text-decoration: none;
	}
}


.font-36 {
	font-size: 2.25rem;
	font-weight: bold;
	line-height: 1.22;
}

@media (max-width: 767px) {
	.font-36 {
		font-size: 1.25rem;
	}
}

.font-30 {
	font-size: 1.875rem;
	font-weight: bold;
	line-height: 1.22;
}

@media (max-width: 767px) {
	.font-30 {
		font-size: 1.25rem;
	}
}

.font-24 {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.5;
}

@media (max-width: 767px) {
	.font-24 {
		font-size: 1rem;
	}
}

.font-20 {
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.22;
}

@media (max-width: 767px) {
	.font-20 {
		font-size: 0.875rem;
	}
}

.font-16 {
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.5;
}

@media (max-width: 767px) {
	.font-16 {
		font-size: 0.75rem;
	}
}

.font-14 {
	font-size: 0.875rem;
	font-weight: normal;
	line-height: 1.4;
}

.font-12 {
	font-size: 0.75rem;
	font-weight: normal;
	line-height: 1.4;
}

.font-10 {
	font-size: 0.625rem;
	font-weight: normal;
	line-height: 1.4;
}

.font-weight-500 {
	font-weight: 500;
}

.nav-underline {
	.nav-link {
		color: var(--bs-text-emphasis);
		border-bottom-color: transparent;
		transition: color 0.2s ease, border-color 0.2s ease;

		&:hover {
			color: var(--primary-bold);
			border-bottom-color: var(--bs-gray-300);
		}

		&.active {
			color: var(--primary-bold) !important;
			font-weight: 600;
			border-bottom-color: var(--primary-bold) !important;
		}

		&:focus {
			color: var(--primary-bold);
			outline: none;
			box-shadow: none;
		}
	}
}

.nav-link:focus, .nav-link:hover {
    color: var(--primary-bold);
}

.grid-2 {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .grid-2 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* text */

h1 {
	font-size: 2rem;
}

h2 {
	font-size: 1.5rem;
}

h3 {
	font-size: 1.25rem;
}

h4 {
	font-size: 1rem;
}

ol,ul {
	padding-left: 1rem;
}

.text-gray {
    --bs-text-opacity: 1;
    color: rgba(0, 0, 0, .5) !important;
}

/* summernote */
.note-btn.dropdown-toggle {
	&:after {
		display: none;
	}
}

/* buttons */
.btn>i, button>i {
	font-size: 1rem;
}

.btn-block {
    display: inline-flex !important;
	width: 100%;
}

.btn-transparent {
	background-color: transparent !important;
	border-color: transparent !important;
}

.btn svg {
    display: inline-block;
}

.btn-icon {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    font-size: .92969rem;
    font-weight: 400;
    justify-content: center;
    padding: 0;
    position: relative;
    height: 2.15rem;
    width: 2.15rem;
	background-color: var(--bs-secondary-bg);
}

.btn-block+.btn-block {
	margin-top: 0.5rem;
}

.btn-toolbar {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;

	.input-group {
		width: auto;
	}
}

.btn-std {
	min-width:120px;
}

.tooltip-inner {
    font-size: 14px;
}

/* Bootstrap Icons star rating */
.bi.bi-star.active,
.bi.bi-star-fill.active,
i.active .bi.bi-star,
i.active .bi.bi-star-fill {
    color: #ffc600;
}
/* fa-spin replacement */
@keyframes rotating { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.rotating { animation: rotating 1s linear infinite; }

.card-icon {
	i {
		font-size: 2rem;
	}
	svg {
		width: 32px;
		height: 32px;
	}
}

.form-control:focus, .form-select:focus, .form-select:active {
	border-color: var(--primary) !important;
    box-shadow: 0 3px 3px 0 var(--input-shadow-color) !important;
    outline: 0;
}

.accordion-button:focus {
    border-color: rgba(0, 155, 93, 0.5) !important;
    box-shadow: 0 3px 3px 0 var(--input-shadow-color) !important;
    outline: 0;
    z-index: 3;
}

.accordion-button::after {
    width: 1rem;
    height: 1rem;
    background-size: 1rem;
    opacity: 0.5;
    filter: grayscale(1) brightness(1.5);
    transition: transform 0.2s ease-in-out, opacity 0.2s;
}

.accordion-button:not(.collapsed)::after {
    opacity: 0.8;
}

/* form */
.form-group {
    margin-bottom: 1.5rem;

	.input-label {
		font-size: .875rem;
		font-weight: 500;
		line-height: 1.19;
		margin-bottom: 0.25rem;
	}

	input {
		font-size: 0.875rem;
	}

	.text-danger {
		font-size: 0.875rem;
	}
}

select.form-control {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    appearance: none;
    background-image: var(--bs-form-select-bg-img, var(--bs-form-select-bg-icon, none));
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    padding-right: 2.25rem;
}

[dir="rtl"] select.form-control {
    background-position: left 0.75rem center;
    padding-right: 0.75rem;
    padding-left: 2.25rem;
}

.select2-container--bootstrap-5 .select2-selection--multiple {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    padding-right: 2.25rem;
}

[dir="rtl"] .select2-container--bootstrap-5 .select2-selection--multiple {
    background-position: left 0.75rem center;
    padding-right: 0.75rem;
    padding-left: 2.25rem;
}

.form-control,
.form-label,
.form-select,
.invalid-feedback {
	font-size: 0.875rem;
}

.form-check-input:checked,
.form-check-input[type="checkbox"]:indeterminate {
    background-color: var(--primary);
    border-color: var(--primary);
}

.form-check-input:focus {
    border-color: var(--primary);
    box-shadow: none;
}
.form-switch {
	&>input[type="checkbox"] {
		margin-right: 1rem;
	}
}

.form-switch .form-check-input {
    width: 40px;
    height: 20.5px;
    background-color: #e9e9ea;
    border: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3.3' fill='%23fff'/%3e%3c/svg%3e");
    transition: background-color 0.2s ease-in-out, background-position 0.2s ease-in-out;
    cursor: pointer;
}

/* The Active State (Green) */
.form-switch .form-check-input:checked {
    background-color: var(--bs-primary);
    background-position: right center;
    border: none;
}

/* Remove the blue "focus" outline for a cleaner look */
.form-switch .form-check-input:focus {
    box-shadow: none;
    border: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3.3' fill='%23fff'/%3e%3c/svg%3e");
}

/* Subtle shadow on the knob when active */
.form-switch .form-check-input:active {
    filter: brightness(95%);
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
    background: var(--primary)!important;
    border-color: var(--primary)!important;
}

.flatpickr-months {
	background-color: var(--bs-secondary-bg);
    padding-bottom: 0.75rem;
}

.flatpickr-day.today {
    border-color: var(--primary)!important;
}

.input-group-text {
	background-color: var(--primary) !important;
	border-color: var(--primary-border) !important;

	i {
		color: var(--primary-btn-color) !important;
	}
}

/* select-2 */
.select2-container--default {
	.select2-selection--single {
		height: calc(1.5em + 0.75rem + 2px);
		padding: 0.375rem 0.75rem;
		border-color: #ced4da;
		border-radius: 0.25rem;

		.select2-selection__rendered {
			line-height: 1.5;
			padding: 0;
			color: inherit;
		}

		.select2-selection__arrow {
			height: calc(1.5em + 0.75rem + 2px);
			top: 0;
		}
	}
}

.badge {
	font-weight: normal;
	padding: 0.3rem 0.75rem;
}

.callout {
	line-height: 1.47059;
	font-weight: 400;
	letter-spacing: -.022em;
	font-family: var(--font-family-base);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid;
	padding: 2rem;
	border-radius: 1rem;
	background-color: var(--soft-grey-color);
	border-color: transparent;
	color: #1d1d1f
}

.typography-callout {
	font-size: 32px;
	line-height: 1.125;
	font-weight: 600;
	letter-spacing: .004rem;
	font-family: var(--font-family-base);
}

.no-result {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 2rem;

	.no-result-logo {
		position: relative;
		width: 60px;
		height: 60px;
		border-radius: 50%;

		img {
			position: absolute;
			top: 50%;
			left: 50%;
			width: 100%;
			transform: translate(-50%, -50%);
		}
	}

	.no-result-info {
		display: flex;
		align-items: center;
		flex-direction: column;
		margin-top: 1rem;
		text-align: center;
	}
}

@media (max-width: 767px) {
	.no-result .no-result-logo {
		width: 175px;
		height: 175px;
	}

	.no-result .no-result-logo img {
		width: 175px;
		max-width: 175px;
	}
}

@media (max-width: 767px) {
	.no-result.default-no-result br {
		display: none;
	}
}

.no-result.status-failed .no-result-logo {
	background-image: linear-gradient(to bottom, #ffdbdf, #f61111);
}

.no-result.status-waiting .no-result-logo {
	background-image: linear-gradient(to bottom, #feeac2, #ffab00);
}

.section-title {
	font-size: 18px;
	font-weight: bold;

	&.after-line {
		display: flex;
		flex: 1;
		align-items: center;

		&:after {
			content: "";
			flex: 1 0 20px;
			height: 1px;
			background-color: var(--bs-border-color);
			margin-left: 10px;
		}
	}
}

/* Reset BS5 accordion defaults — custom styling via .accordion-row */
.accordion-row.accordion-item {
	border: none;
	background-color: transparent;
}

.accordion-row {
	.accordion-header {
		margin-bottom: 0;
	}
	.accordion-body {
		padding: 0;
	}
}

.accordion-header {
	.accordion-header-wrapper {
		display: flex;
		align-items: center;
		--bs-bg-opacity: 1;
    	background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
		border-radius: var(--bs-border-radius) !important;

		&:hover {
    		background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
		}

		.accordion-trigger {
			padding: 0.75rem;
			padding-right: 0;
			flex-grow: 1;
		}
	}
}

.draggable-content-lists {
	display: flex;
	flex-direction: column;
}

.accordion-content-wrapper {
	display: flex;
	flex-direction: column;
}

/* item containers */
.flex-column-container {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.btn {
	font-size: 0.875rem;
}


.chapter-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	width: 40px;
	max-width: 40px;
	min-height: 40px;
	height: 40px;
	max-height: 40px;
	background-color: var(--primary);
	border-radius: 50%;
	color:#fff;

	svg {
		width: 20px;
		height: 20px;
	}
}

.chapter-icon.chapter-content-icon {
	color: var(--primary);
	background-color: var(--bs-gray-100);
	font-size: 1.5rem;
}

.dropdown-menu {
	padding: 0.75rem;
	border-radius: 0.5rem;

	.dropdown-menu-item {
		display: flex;
		align-items: center;
		text-decoration: none;
		padding: 0.25rem;
		font-size: 0.75rem;
		margin-top: 0.25rem;
		cursor: pointer;
		transition: color 0.15s ease-in-out;
		--bs-text-opacity: 1;
    	color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity));
		width: 100%;

		&:hover {
    		color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity));
		}
	}

	.dropdown-item {
		font-size: 14px;

		&.active {
			color: var(--bs-primary);
			background-color: transparent;
		}
	}
}

.nav-item {
	.dropdown-menu {
		min-width: 300px;
	}
}

table {
	th {
		font-size: 14px;
		font-weight: 500;
	}

	td {
		vertical-align: middle !important;
	}
}

.table-actions {
	.dropdown-toggle {
		&::after {
			display: none;
		}

		&::before {
			display: none;
		}
	}


	&.dropdown, &.dropstart {
		.dropdown-toggle::after {
			display: none;
		}

		.dropdown-menu {
			font-size: 14px;
			font-weight: 400;
			padding: 0.25rem .75rem .75rem;
		}
	}
}

.table-actions.dropdown .dropdown-menu.show {
	opacity: 1;
	visibility: visible;
}

.table-actions.dropdown .dropdown-menu:after {
	display: none;
}

.table-actions.dropdown .dropdown-menu button:hover,
.table-actions.dropdown .dropdown-menu a:hover {
	color: var(--primary);
}

.table-actions.dropdown .dropdown-menu.menu-lg {
	min-width: 192px !important;
}

html:has(body.swal2-shown),
html:has(body.modal-open) {
    overflow-y: hidden;
}

.table-actions.dropdown.table-actions-lg .dropdown-menu {
	min-width: 150px !important;
}

.table-actions {
	.dropdown-menu {
		button {
			padding: 0!important;
			text-align: start;
			white-space: nowrap;
		}

		a {
			padding: 0!important;
			text-align: start;
			white-space: nowrap;
		}
	}
}

.nav-tabs .nav-link {
    color: var(--bs-secondary-emphasis);
    border-color: transparent;
    transition: color 0.15s ease-in-out;
}

.nav-tabs .nav-link:hover {
    color: var(--bs-primary);
    border-color: var(--bs-gray-200) var(--bs-gray-200) transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: var(--bs-primary) !important;
    background-color: #fff;
    border-color: var(--bs-gray-300) var(--bs-gray-300) transparent;
    font-weight: 600;
}

/* select2 */
.select2-container {
	.select2-dropdown {
		padding: 0;
	}
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: calc(1.5em + 0.75rem + 2px) !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: calc(1.5em + 0.75rem + 2px) !important;
    top: 0 !important;
    right: 0.5rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    height: calc(1.5em + 0.75rem + 2px) !important;
    line-height: calc(1.5em + 0.75rem + 2px) !important;
    margin-right: 1.5rem !important;
}

.select2-results__options {
	.select2-results__option {
		padding: 0.5rem!important;
	}

	.select2-results__option--selected {
		background-color: var(--primary)!important;
	}
}

/*! purgecss ignore */
.select2-container {
	width: 100% !important;

	.select2-selection {
		display: block;
		width: 100%;
		height: 2.5rem !important;
		/* padding: 0.5rem 1rem !important; */
		padding: .375rem .75rem !important;
		font-size: 0.875rem !important;
		font-weight: normal !important;
		line-height: 1.25 !important;
		background-color: #ffffff;
		background-clip: padding-box;
		border: 1px solid #ced4da !important;
		border-radius: 0.25rem !important;
		box-shadow: none !important;
		transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;

		.select2-selection__arrow {
			top: 6px !important;
			right: 10px !important;
		}
	}

	.select2-dropdown {
		border: 1px solid var(--gray300) !important;
		box-shadow: 0 3px 3px 0 var(--input-shadow-color);
		padding: 0.5rem;

		.select2-search__field{
			display: block;
			width: 100%;
			height: 2.5rem !important;
			/* padding: 0.5rem 1rem !important; */
			padding: .375rem .25rem !important;
			font-size: 0.875rem !important;
			font-weight: normal !important;
			line-height: 1.25 !important;
			background-color: #ffffff;
			background-clip: padding-box;
			border: 1px solid #ced4da !important;
			border-radius: 0.25rem !important;
			box-shadow: none !important;
		}

		.select2-search {
			padding: .375rem .25rem!important;
		}

		.select2-results {
			font-size: 0.875rem !important;
			padding-left: 0.25rem;
		}

		.select2-results__options {
			display: flex;
			flex-direction: column;
			gap: 0.25rem;
			font-size: 0.875rem !important;
		}
	}

	.select2-selection--single {
		height: 2.5rem;
	}
}

.select2-container {
    /* z-index: 1049 !important; */
	.select2-dropdown {
		z-index: 1000 !important;
	}
}

/* .modal .select2-container {
    z-index: 1060 !important;
} */

.select2-container--open {
	.select2-selection {
		border-color: var(--primary) !important;
	}
}

.select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field:focus {
	border-color: var(--primary) !important;
	box-shadow: 0 3px 3px 0 var(--input-shadow-color) !important;
	outline: 0;
}

.select2-selection__choice {
	background-color: var(--primary) !important;
	color: #fff !important;
	margin-top: 0 !important;
	padding: 2px 5px !important;
}

.select2-selection__choice__remove {
	color: #ffffff !important;
}

select+.select2-container--bootstrap-5 {
    z-index: auto!important;
}

.dashboard-stat-item {
	display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;

	svg {
		width: 32px;
		height: 32px;
	}
}

.language-select .dropdown-menu {
	padding: 0.5rem 0;
	min-width: 10rem;

	li {
		margin-bottom: 10px;
		font-size: 14px;
	}
}


/* ==========================================================================
   Sidebar — base layout
   ========================================================================== */

.main-sidebar .sidebar-menu {
    padding: 0;
    margin: 0;
    list-style: none;
}

.main-sidebar .sidebar-menu > li {
    display: block;
}

/* Parent toggle + leaf links share the same base row style */
.main-sidebar .sidebar-menu > li > a.nav-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.5rem;
    padding: 0 20px;
    width: 100%;
    font-size: 14px;
    letter-spacing: 0.3px;
    color: var(--bs-secondary-text-emphasis);
    text-decoration: none;
}

.main-sidebar .sidebar-menu > li > a.nav-link i,
.main-sidebar .sidebar-menu > li > a.nav-link svg {
    flex-shrink: 0;
    font-size: 1rem;
}

.main-sidebar .sidebar-menu li.menu-header {
    padding: 3px 15px;
    color: #a1a8ae;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.3px;
    font-weight: 600;
}

.main-sidebar .sidebar-menu li.menu-header:not(:first-child) {
    margin-top: 10px;
}

/* Overlay close button shown on mobile when sidebar is open */
.sidebar-close {
    display: none;
    position: fixed;
    top: 12px;
    right: 12px;
    z-index: 900;
    background: rgba(0, 0, 0, 0.4);
    border: none;
    border-radius: 50%;
    color: #fff;
    font-size: 1.25rem;
    line-height: 1;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

body.sidebar-show .sidebar-close {
    display: flex;
}


/* ==========================================================================
   Sidebar tree-menu component  (x-nav.tree-item)
   ========================================================================== */

/* ── Wrapper li ──────────────────────────────────────────────────────────── */
.sidebar-nav-item {
    display: block;
}

/* ── Parent toggle link — chevron via ::after ────────────────────────────── */
.sidebar-nav-item__toggle {
    display: flex;
    align-items: center;
    user-select: none;
}

.sidebar-nav-item__toggle::after {
    content: '';
    display: inline-block;
    margin-left: auto;
    flex-shrink: 0;
    width: 0.375rem;
    height: 0.375rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(-45deg);   /* pointing right */
    transition: transform 0.25s ease;
    opacity: 0.6;
}

.sidebar-nav-item__toggle[aria-expanded="true"]::after {
    transform: rotate(45deg);    /* pointing down */
    opacity: 1;
}

/* ── Children container ──────────────────────────────────────────────────── */
.sidebar-nav-item__children {
    margin-left: 1.725rem;
    padding-left: 0.625rem;
    padding-right: 0;
    margin-bottom: 0;
}

/* ── Each child li — vertical + horizontal dashed tree lines ─────────────── */
.sidebar-nav-item__children > li {
    position: relative;
}

/* Vertical line — runs full height, stopped at midpoint on last child */
.sidebar-nav-item__children > li::before {
    content: '';
    position: absolute;
    left: -0.625rem;
    top: 0;
    bottom: 0;
    border-left: 1.5px dashed rgba(0, 0, 0, .1);
}

.sidebar-nav-item__children > li:last-child::before {
    bottom: 50%;
}

/* Horizontal branch line */
.sidebar-nav-item__children > li::after {
    content: '';
    position: absolute;
    left: -0.625rem;
    top: 50%;
    width: 1.25rem;
    border-top: 1.5px dashed rgba(0, 0, 0, .1);
}

/* ── Child links ─────────────────────────────────────────────────────────── */
.sidebar-nav-item__children > li > a.nav-link {
    color: var(--bs-body-color);
    padding: 0.35rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: 400;
    min-height: 2rem;
    border-radius: 4px;
    display: flex;
    align-items: center;
    text-decoration: none;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.sidebar-nav-item__children > li > a.nav-link:hover {
    color: var(--primary);
    background-color: transparent;
}

.sidebar-nav-item__children > li.active > a.nav-link {
    color: var(--primary);
    font-weight: 600;
}

/* ── Active standalone top-level link ────────────────────────────────────── */
.main-sidebar .sidebar-menu > li.active > a.nav-link {
    color: var(--primary);
    font-weight: 600;
}

/* ── Active parent ───────────────────────────────────────────────────────── */
.sidebar-nav-item.active > .sidebar-nav-item__toggle {
    color: var(--primary);
    font-weight: 600;
    /* background-color: #f8fafb; */
}

/* ── Mini sidebar overrides ──────────────────────────────────────────────── */
.sidebar-mini .main-sidebar .sidebar-nav-item {
    padding: 10px;
    position: relative;
}

/* In mini mode hide the ::after chevron */
.sidebar-mini .main-sidebar .sidebar-nav-item__toggle::after {
    display: none;
}

/* Hide tree lines in mini mode */
.sidebar-mini .main-sidebar .sidebar-nav-item__children > li::before,
.sidebar-mini .main-sidebar .sidebar-nav-item__children > li::after {
    display: none;
}

/* Children float out as an absolute dropdown on hover */
.sidebar-mini .main-sidebar .sidebar-nav-item__children {
    background-color: #fff;
    border-left: none;
    border-radius: 4px;
    box-shadow: 0 0 30px rgba(0, 0, 0, .08);
    display: none;
    height: auto !important;
    left: 65px;
    margin-left: 0;
    padding: 0.25rem 0;
    position: absolute;
    top: 0;
    width: 200px;
    z-index: 200;
}

.sidebar-mini .main-sidebar .sidebar-nav-item:hover > .sidebar-nav-item__children {
    display: block !important;
}

.sidebar-mini .main-sidebar .sidebar-nav-item__children > li > a.nav-link {
    height: 40px;
    padding: 0 20px;
    background-color: #fff;
    border-radius: 0;
}

.sidebar-mini .main-sidebar .sidebar-nav-item__children > li > a.nav-link:hover,
.sidebar-mini .main-sidebar .sidebar-nav-item__children > li.active > a.nav-link {
    background-color: var(--primary);
    color: #fff;
}

/* ── RTL support ─────────────────────────────────────────────────────────── */
.rtl .sidebar-nav-item__toggle::after {
    margin-left: 0;
    margin-right: auto;
    transform: rotate(135deg);   /* pointing left */
}

.rtl .sidebar-nav-item__toggle[aria-expanded="true"]::after {
    transform: rotate(225deg);   /* pointing down */
}

.rtl .sidebar-nav-item__children {
    margin-left: 0;
    margin-right: 2.125rem;
    padding-left: 0;
    padding-right: 0.625rem;
}

.rtl .sidebar-nav-item__children > li::before {
    left: auto;
    right: -0.625rem;
    border-left: none;
    border-right: 1.5px dashed rgba(0, 0, 0, .1);
}

.rtl .sidebar-nav-item__children > li::after {
    left: auto;
    right: -0.625rem;
}

.rtl .sidebar-mini .main-sidebar .sidebar-nav-item__children {
    left: auto;
    right: 65px;
}