


.xdsoft_scrollbar{
	display: none !important;
}



div[required_target] > * > label::after{
	content: "*";
}
.validation{
    outline: 2px solid red !important;
}
.validation-msg > td{
	color: red;
	font-weight: bold;
	font-size: 12px;
	padding-top: 0px;
}
.validation-msg{
	color: red;
	font-weight: bold;
	font-size: 12px;
}

.fixed{
	position: fixed !important;
}
.absolute{
	position: absolute !important;
}
.table thead{
	font-size: 14px;
}
.table th{
	font-weight: 500;
}
.table tbody{
	font-size: 14px;
}

.flex{
	display: flex;
	gap: 4px;
}
.flex-column{
	flex-direction: column;
}
.flex-row{
	flex-direction: row;
}
.flex-center-v{
	align-items: center;
}



.row{
    margin-right: 0px;
    margin-left: 0px;
}
.row>*{
	padding-right: 0px;
	padding-left: 0px;
}
.row>*:not(:first-child){
	padding-left: calc(var(--bs-gutter-x)* .5);
}
.row>*:not(:last-child){
	padding-right: calc(var(--bs-gutter-x)* .5);
}




.text-error{
	color: red;
	font-weight: bold;
	font-size: 12px;
}
.m-error{
	outline: 2px solid red;
}
.float-right{
	position: absolute;
	top: 0px;
	right: 0px;
}
.input-label{
    position: absolute;
    z-index: 2;
    top: -8px;
    left: 8px;
    font-size: 10px;
    background: white;
    font-weight: bold;
    color: #777;
}
.input-search{
	max-width: 300px;
}

.table-wrapper{
	border: 1px solid #dee2e6;
	border-radius: 10px;
	overflow: hidden;
}
.table-td-hover td.hover:hover{
	outline: 1px solid #B0B0B0;
}
div.border-box{
	border: 1px solid #B0B0B0;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
div.border-box-sm{
	padding: 12px;
	margin-bottom: 12px;
}
div.border-right{
	border-right: 1px solid #B0B0B0;
}
input.border-bottom{
	box-sizing: border-box;
  	border: none;
	border-bottom: 1px solid #B0B0B0;
}
input[type="checkbox"]{
	cursor: pointer;
}
.form-control{
	font-size: 14px;
	padding: 10px 10px;
	height: 40px;
}
.form-control.editable:not(:focus){
	background-color: transparent;
	border-color: transparent;
}
.form-control:disabled, .form-control.disabled{
	background-color: transparent;
	opacity: 0.5;
}
.disable-opacity.form-control:disabled{
	opacity: 0.5;
}


html, body{
	width: 100%;
	height: 100%;
	margin: 0px;
    
	font-family: "Helvetica Neue";
    font-style: normal;
	font-size: 12px;
	font-weight: 400;
	line-height: 140%;
}
div{
	box-sizing: border-box;
}

input[type="checkbox"]{
	width: 20px;
	height: 20px;
}






.form-group{
	display: flow-root;
}
.form-group label, .form-group .label{
    position: absolute;
    z-index: 2;
    top: 0px;
    padding: 0px 4px;
    margin-left: 8px;
    background: white;
    line-height: normal;
}
.form-content{
	margin-top: 8px;
}
/*.form-group{
	padding-top: 12px;
}
.form-group label, .form-group .label{
    position: absolute;
    z-index: 2;
    top: 0px;
    left: 12px;
    color: var(--text-secondary, rgba(0, 0, 0, 0.60));
    background: white;
	font-feature-settings: 'liga' off, 'clig' off;
	font-family: Roboto;
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 12px;
	letter-spacing: 0.15px;
}
.row .form-group label, .row .form-group .label{
	left: 20px;
}	
.form-group .form-content{
	margin-top: 6px;
    align-self: stretch;
}
*/


.text-right{
	text-align: right;
}
.text-center-v{
    align-items: center;
    vertical-align: middle;
}

.hide{
	display: none !important;
}
.main-wrapper{
	display: flex;
	width: 100%;
	height: 100%;
	padding-left: 80px;
	flex-direction: column;
	flex-grow: 1;
	overflow-y: hidden;
}
.content-wrapper{
	display: flex;
	flex-direction: column;
	width: 100%;
	height: calc(100% - 48px);
	justify-content: flex-start;
	overflow-y: hidden;
	padding: 24px;
	position: relative;
}








.wrapper-input{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	align-self: stretch;
}

.m-input-container-title{
	display: flex;
	align-items: center;
	align-self: stretch;
	color: var(--Neutral-Neutral-90, #232325);
	font-size: 24px;
	font-weight: 700;
	position: relative;
}
.m-input-container-items{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	align-self: stretch;
	padding: 0px 24px;
}
.m-input-label{
	display: flex;
	justify-content: space-between;
	width: 100%;
	color: var(--Neutral-Neutral-90, #232325);

	/* Contents/14px/mediumR */
	font-family: "Helvetica Neue";
	font-size: 14px;
	font-style: normal;
	font-weight: 900;
	line-height: 140%; /* 19.6px */
}

/*.m-input{
	display: flex;
	padding: 10px 12px;
	width: 100%;
	align-items: center;
	gap: 8px;
	align-self: stretch;
	border-radius: 2px;
	border: 1px solid var(--Neutral-Neutral-30, #D1D1D6);
	background: var(--Neutral-Neutral-00, #FFF);
}*/



.m-select{
	width: 100%;
}

.disable-transparent > .selectize-input.locked{
	opacity: 1 !important;
	border-color: transparent !important;
}
.selectize-input.locked{
	cursor: not-allowed !important;
}
.selectize-input.locked::after{
	display: none !important;
}
.selectize-input input{
	font-style: italic;
}
.selectize-input{
	border: 1px solid var(--Neutral-Neutral-30, #D1D1D6);
    padding: 10px 10px;
    font-size: 14px;
    display: inline-block;
    width: 100%;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    box-shadow: none;
    border-radius: 0.5rem;
}
.selectize-control.single .selectize-input, .selectize-dropdown.single{
	border-color: var(--Neutral-Neutral-30, #D1D1D6);
}
.selectize-control.single .selectize-input{
	box-shadow: none;
	background-color: var(--Neutral-Neutral-00, #FFF);
    background-image: none;
    background-repeat: repeat-x;
}
.selectize-dropdown .selected{
	background-color: var(--Primary-Primary-70, #1F235B);
}
.m-select::placeholder{
	color: var(--Neutral-Neutral-60, #8E8E93);
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
}
.selectize-dropdown{
	z-index: 1055;
}
.selectize-control.plugin-remove_button .item .remove{
	padding: 0px 6px;
}
.selectize-control.multi .selectize-input:after {
    content: " ";
    display: block;
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -3px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 5px 0 5px;
    border-color: grey transparent transparent transparent;
}
.selectize-control.multi .selectize-input.has-items{
	padding: 6px 10px;
}




.w-100{
	width: 100% !important;
}
.blocker{
	z-index: 110;
}






.m-btn{
	cursor: pointer;
	display: flex;
	height: 32px;
	padding: 6px 20px;
	justify-content: center;
	align-items: center;

	color: var(--Neutral-Neutral-00, #FFF);
	text-align: center;

	border-radius: 2px;
	background: var(--Primary-Primary-50, #383DBC);

	/* Contents/14px/mediumB */
	font-family: "Helvetica Neue";
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 19.6px */
}




































/*.modal{
	max-width: unset;
	width: fit-content;
}*/
.modal{
	overflow: hidden;
}
.modal-right .modal-dialog{
	margin-right: 0px;
	height: 100%;
}
.modal-dialog{
	display: flex;
	max-height: calc(100% - 40px);
}
.modal-header{
	padding: 12px 24px;
	justify-content: space-between;
}
.modal-body{
	padding: 24px;
	overflow-y: auto;
}
@media (min-width: 1400px) {
    .modal-2xl {
        --bs-modal-width: 1540px;
    }
}

/*****************************/
/**********Pagination*********/
/*****************************/
.pagination li{
    list-style-type: none;
}
.pagination{
	display: flex;
	align-items: center;
	gap: 60px;
    justify-content: center;
}
.pagination .pages{
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.pagination a{
	text-decoration-line: none;
}
.pagination .page a{
	color: var(--Neutral-Neutral-60, #8F8F9E);
	text-align: center;
	font-family: "Helvetica Neue";
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 22.4px */
}
.pagination .page{
	display: flex;
	width: 32px;
	height: 32px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-radius: 2px;
	
	color: var(--Neutral-Neutral-60, #8F8F9E);
	text-align: center;
	font-family: "Helvetica Neue";
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 22.4px */
}
.pagination .page.active{
	cursor: not-allowed;
	background: var(--Primary-Primary-40, #444CE7);
	color: var(--Neutral-Neutral-00, #FFF);
}
.pagination .page:hover:not(.active){
	background: var(--Neutral-Neutral-20, #ECECEE);
}
.pagination .pagination-arrow-btn{
	display: flex;
	padding: 8px;
	justify-content: center;
	align-items: center;
	border-radius: 2px;
	background: var(--Primary-Primary-30, #8098F9);
	color: white;
}
.pagination .pagination-arrow-btn.disabled{
	cursor: not-allowed;
	background: var(--Neutral-Neutral-20, #ECECEE);
	color: gray;
}





.cpx-section-title{
	display: flex;
	align-items: center;
	align-self: stretch;

	color: var(--Neutral-Neutral-90, #26262C);

	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 25.2px */
}
.cpx-section-item{
	display: flex;
	align-items: flex-start;
	gap: 8px;
	align-self: stretch;
}
.cpx-section-item-label{
	min-width: 120px;
	display: flex;
	padding: 10px 12px;
	align-items: center;
	gap: 4px;
	color: var(--Neutral-Neutral-60, #8F8F9E);

	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 19.6px */
}
.cpx-section-item-content{
	display: flex;
	padding: 10px 12px;
	align-items: center;
	gap: 8px;
	align-self: stretch;
}






.m-toggle{
	cursor: pointer;
	user-select: none;
}
.m-toggle::before{
  content: ">";
  margin-right: 5px;
}








.m-badge{
	display: flex;
	padding: 4px 8px;

	border-radius: 7px;
	background: var(--Link, #00F);

	color: #FFF;
	font-style: normal;
	line-height: normal;

	display: flex;
	flex-direction: row;
	gap: 6px;

	font-weight: 400;
	letter-spacing: 0.16px;
    border: 1px solid transparent;
}
.m-badge-lg{
	padding: 6px 12px;
	gap: 8px;
	border-radius: 14px;
}
.m-badge-sm{
    font-size: 9px;
    padding: 3px 6px;
	gap: 2px;
	border-radius: 4px;

}
.m-badge-outline{
	background: white;
    border: 1px solid #00F;
    color: #00f;
}
















/*Handsontable*/
.td-read-only{
    background-color: lightgray !important;
}
.handsontable th, .handsontable td{
	white-space: normal;
	line-height: 12px;
}
.htBorders{
	top: 0px;
    left: 0px;
    position: absolute;
}
















.nav-tabs{
	background: var(--Lyuno-Purpple-50, #E9EAFA);
	display: flex;
}
.nav-link{
	flex: 1;
	color: var(--text-secondary, rgba(0, 0, 0, 0.60));
	font-size: 15px;
	font-weight: 600;
	padding: 4px 8px;
	text-transform: uppercase;
	padding: 9px;
}
.nav-link.active{
	color: var(--primary-contrast, #FFF);
	border: 1px solid var(--Lyuno-Purpple-300, #7F87E2);
	background: var(--Lyuno-Purpple-300, #7F87E2);
}


.cpx-btn-groups{
	background: var(--Lyuno-Purpple-50, #E9EAFA);
}
.cpx-btn-groups button{
	color: var(--text-secondary, rgba(0, 0, 0, 0.60));
	font-size: 15px;
	font-weight: 600;
	padding: 4px 8px;
	text-transform: uppercase;
	padding: 9px;

}
.cpx-btn-groups button.active{
	color: var(--primary-contrast, #FFF);
	border: 1px solid var(--Lyuno-Purpple-300, #7F87E2);
	background: var(--Lyuno-Purpple-300, #7F87E2);
}




.box-shadow{
	box-shadow: 0px 1px 12px rgba(0,0,0,0.5);
}


.btn{
	letter-spacing: 0.46px;
	text-transform: uppercase;
}
.btn:disabled{
	cursor: not-allowed;
}
.btn.active:disabled{
	color: var(--bs-btn-active-color) !important;
    background-color: var(--bs-btn-active-bg) !important;
    background: var(--bs-btn-active-bg) !important;
    border-color: var(--bs-btn-active-border-color) !important;
}

.btn-no-border{
	border: 0px;
}
.btn-rt{
	position: absolute; right: 12px; top: 12px; z-index: 1;
}
.btn-width{
	min-width: 120px;
}
.btn-circle{
	border-radius: 50%;
}
.btn-icon{
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1 / 1;
    font-size: 16px;
    width: 24px;
    height: 24px;
}
.btn-icon.btn-lg{
	width: 40px;
	height: 40px;
}
.btn-lg svg{
	width: 16px;
	height: 16px;
}
.btn-transparent{
	background: transparent;
    color: #211B9C;
    padding: 0px 5px;
    font-weight: bold;
}
.btn-transparent:hover{
	background: #EDE7F6;
    color: white;
}
.btn-transparent:active{
	background: #0d6efd !important;
    color: white !important;
}
.btn-transparent.active,.btn-transparent.active:disabled{
	background: #0d6efd !important;
    color: white !important;	
}

.btn-white{
	background: white;
    color: #211B9C;
    padding: 0px 5px;
    font-weight: bold;
}
.btn-white:hover{
	background: #0d6efd;
    color: white;
}
.btn-white:active{
	background: #211B9C !important;
    color: white !important;
}
.btn-group .btn-white:focus, .btn-group .btn-white:focus-visible{
	background: white;
    color: #211B9C;
}
.btn-group .btn-white:focus:not(:first-child), .btn-group .btn-white:focus-visible:not(:first-child){
	border-left: 1px solid #211B9C !important;;
}
.btn-group .btn-white:not(:first-child){
	border-left: 1px solid #211B9C !important;;
}
.btn-group .btn-white:focus:not(:last-child), .btn-group .btn-white:focus-visible:not(:last-child){
	border-right: 1px solid #211B9C !important;;
}
.btn-group .btn-white:not(:last-child){
	border-right: 1px solid #211B9C !important;;
}





/* CPX Cascader */
#cpx-cascader{
	position: absolute;
	display: flex;
    top: 30px;
/*    left: 0;*/
    z-index: 2009;
    margin: 5px 0;
    margin-bottom: 12px;
    font-size: 13px;
    background: #fff;
    border: 1px solid #e4e7ed;
    border-radius: 4px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
}
.cpx-cascader-target{
	position: relative;
	padding-right: 30px;
}
.wrapper-cpx-cascader::after{
    content: " ";
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -3px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 5px 0 5px;
    border-color: grey transparent transparent transparent;
}
.cpx-cas-wrap-header{
	font-weight: bold;
	border-bottom: 3px solid #e4e7ed;
	text-align: center;
	padding: 4px 12px;
}
.cpx-cas-wrap{
	min-width: 150px;
}
.cpx-cas-wrap:not(:first-child){
	border-left: 1px solid #e4e7ed;
}
.cpx-cas-item{
	position: relative;
    display: flex;
    align-items: center;
    padding: 0 30px 0 20px;
    height: 34px;
    line-height: 34px;
    outline: none;
}
.cpx-cas-item:hover{
    background: #f5f7fa;
    cursor: pointer;
}
.cpx-cas-item.active{
	color: #409eff;
    font-weight: 700;;
}
.cpx-cascader-no-data-wrapper {
	text-align: center;
	margin-top: 24px;
}
.cpx-cascader-no-data-wrapper-icon{
	font-size: 24px;
}






.spinner {
    width: 16px;
    aspect-ratio: 1;
    border: 2px solid rgba(0, 0, 0, 0.1);
    border-top: 2px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}