
	
:root {
	--icon-details-preview-font-size: 10rem;
	--icon-color: #ffffff;
	--primary-color: steelblue;


	--dt-order-arrow_color: #fff!important;
    --dt-order-arrow_color-current: #fff!important;
	/* --dt-row_background-selected: var(--dt_background-selected)!important; */
	
	/*--mColor: #0078d7;*/
	--pBgColor: #657d69;
	--pTxColor: #FFFFFF;
	--sBgColor: #444444;

	--mColor: #657d69;
	--sColor: #657d6929;
	--tColor: #657d6910;
	--fColor: #657d6999;
	--detailSize: 12px;
	--barcodeSize: 12px;
}
body{
	padding: 0;
	margin: 0;
	font-size: 14px;
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue","Ubuntu",sans-serif,"Khmer", "Kh system", "Khmer OS", "Kh Content", "Font Awesome 5 Free Solid", "Font Awesome 5 Free Regular";

}

#main{
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: 50px 1fr;
	grid-template-areas:
		"nav head"
		"nav aside";
    height: 100vh;
}

#menu {
	grid-area: nav;
	background: var(--pBgColor);
	color: var(--pTxColor);
	line-height: 30px;
    width: 220px;
    display: flex;
    flex-direction: column;
}
#menu > ul{
    flex: 1;
    max-height: 100%;
    max-height: 100%;
    overflow: auto;
}

#company{
	font-size: 16px;
    font-weight: 600;
	line-height: 50px;
	background: var(--sBgColor);
	text-align: center;
}

#contents{
	grid-area: aside;
	padding: 0 10px;
	
    overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
}

#header{
    grid-area: head;
    background: #333;
}


	
#menu ul{
	list-style: none;
	margin: 0;
	padding: 0;
}
#menu li ul {
	display:none;
	overflow: hidden;
}

#menu li:has(> ul) > span:after {
	content: '';
	border: #FFF solid;
	border-width: 0 3px 3px 0;
	width: 6px ;
	height: 6px;
	margin-top: 9px;
	margin-right: 3px;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#menu .show:has(> ul) > span:after {
	
	-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
}
#menu span:after{
	color: #777;
	font-weight: bold;
	float: right;
	margin-left: 5px;
}

#menu span{
	display: block;
	line-height: 30px;
	background-color: var(--mColor);
	color: #fff;
	padding: 0 5px 0 10px;
	border-bottom: 1px solid #ffffff22;
	cursor: pointer;
	font-weight: 600;
}
#menu ul li li span {
	padding-left: 30px;
}
#menu ul li li li span {
	padding-left: 50px;
}


/* Form View */
.formHeader{
	display: inline-block;
	background: #657d69; 
	color: #fff;
	border-bottom: none;
	font-weight: 600;
}
.formView form{
	display: flex;
}

.formHeader > div{
	display: inline-block;
    padding: 10px;
	
	border-right: 1px solid #657d69;
	color: #ffffff;
}

.formHeader > div:first-child{
	
}
.formHeader > div:last-child{
	border-right: none;
}

.formHeader > div.active{
	color: #657d69;
	background: #f8f8f8;
}

.formView {
	--primary-color: #657d69;
    flex: 1;
    overflow: auto;
    border: 1px solid #657d69;
    margin: 10px;
	display: flex;
    flex-direction: column;
	border-radius: 4px;
	box-shadow: 0 0 5px #00000055;
	margin-top: 0;
}

.formView fieldset{
	flex: 1 1 100%;
	min-width: 170px;
	border: none;
	padding: 5px 0;
	position: relative;
	margin: 0;
	border-radius: 4px;
}
.formView fieldset legend{
	padding: 0;
	margin: 0 10px;
	border: 1px solid #657d69;
	background: #657d69;
	color: #fff;
	border-radius: 4px;
	
}
.formView legend span{
	border-right: 1px solid;
    padding: 5px 10px;
    display: inline-block;
	background: #ffffff99;
	cursor: pointer;
}
.formView legend span:hover{
	background: #00000099 !important;
}
.formView legend span.active{
    
	background: #657d69;
}
.formView legend span:first-child {
	border-radius: 4px 0 0 4px;
}

.formView legend span:last-child{
	border: none;
	border-radius: 0 4px 4px 0;
}

.formView form >div{
	
	padding: 5px 0;
}
.formView fieldset label{
	line-height: 20px;
}

.formView form {
	flex-wrap: wrap;
	gap:5px 15px;
	
}

.formView fieldset input[type=text], .formView fieldset input[type=password], .formView fieldset input[type=date], .formView fieldset select{
	width: 100%;
	line-height: 25px;
	padding:2px 12px;
	margin: 2px 0;
	display: inline-block;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	height: 31px;
	outline: 1px;
}



.formView .multiSelect{
	border: 1px solid #ccc;
	border-radius: 4px;
	margin: 2px 0; 
	display: flex;
	background: #fff;
	align-items: center;
	height: auto;
	min-height: 20px;
	flex-wrap: wrap;
    gap: 5px;
    padding: 4px 0;
}

.formView .multiSelect div{
	background: #eee;
	display: inline-block;
}

.formView .multiSelectOption{
    position: absolute;
    top: 60px;
    left: 0px;
    z-index: 1;
    background: #fff;

    border: 1px solid #ccc;
    right: 0;
    border-radius: 4px;
	display: none;
	box-shadow: 0 0 5px #99999955;
}
.formView .multiSelectOption.show{
	display: block;
}

.formView .multiSelectOption input{
	margin: 10px;
}
.multiSelectOption > div{
	padding: 10px;
    border-bottom: 1px solid #ccc;
    
}
.multiSelectOption ul{
	min-height: 50px;
	max-height: 300px;
	overflow: auto;
	padding: 0;
	margin: 0;
}
.multiSelectOption ul li{
	line-height: 30px;
	padding: 0 10px;
}
.multiSelectOption ul li:hover{
	background: #eee;
}





.formView .multiSelect span{
	margin-left: 5px;
    border: 1px solid;
    border-radius: 4px;
    padding: 1px 20px 1px 5px;
    display: inline-block;
    background: #eee;
	position: relative;
	white-space: nowrap;
}
.formView .multiSelect span.placeholder{
	background: none;
	border: none;
	color: #ccc;
}

.formView .multiSelect svg{
	position: absolute;
	right: 2px;
	top: 2px;
	cursor: pointer;
	width: 16px;
	height: 16px;
}
.formView .multiSelect input{
	border: none !important;
    margin: 0px !important;
    flex: 1;
	min-width: 100px;
	padding: 2px 7px !important;
}


.formView fieldset input[type=checkbox]{
	display: block;
	width: 30px;
    height: 25px;
    margin: 5px 0;
}

.formView fieldset textarea{
	width: 100%;
	line-height: 25px;
	padding:2px 12px;
	margin: 2px 0;
	display: inline-block;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	
	outline: 1px;
}
.formView fieldset textarea:focus{
	border-color: #444;
}
.formView fieldset .text {
	border: 1px solid #ccc;
	height: 29px;
	border-radius: 4px;
	margin: 2px 0;
	line-height: 29px;
	padding: 0 12px;
}

.formView fieldset div.select{
	background: #fff;
	top: 20px;
	background: #fff;
	height: 31px;
	line-height: 31px;
	border: 1px solid #ccc;
	border-radius: 4px;
	overflow: hidden;
}

.formView fieldset div.select .txtBox {
	padding: 0 30px 0 10px;
}

.formView fieldset > .dropdown{
	position: absolute;
	bottom: 2px;
	right: 1px;
	line-height: 29px;
	width: 30px;
	text-align: center;
	cursor: pointer;
	border-left: 1px solid #ccc;
}

.formView fieldset div.select:focus{
	border-color: #000;
}

.formView fieldset .optionList{
	display: none;
    position: absolute;
    z-index: 9;
    background: #fff;
    list-style: none;
    line-height: 30px;
    padding: 0;
    margin: 0;
    box-shadow: 0 0 5px #00000055;
    top: 60px;
    left: 0;
	right: 0;
    border: 1px solid #999999;
	max-height: 300px;
    overflow: auto;
}


.formView fieldset .optionList li{
	padding: 0 10px;
	cursor: pointer;
}

.formView fieldset .optionList li:hover{
	background: #eee;
}

.formView fieldset input[type=text]:focus, #form fieldset select:focus{
	border-color: #000;
}


.subGrid{
    width: 100%;
    border: 1px solid #657d69cc;
    display: grid;
    grid-template-rows: auto 1fr;
	padding: 10px;
}


.subGrid thead{
	background: #657d69;
}
.subGrid td{
	line-height: 25px;
}

.highlight{
	font-weight: 600;
}
.formView button {
	background-color: #657d69;
    padding: 0 10px;
    color: #fff;
    border-radius: 4px;
	line-height: 25px;
	font-weight: 600;
}
.formView button:hover{
	box-shadow: 0 0 5px #00000050;
	background: #344337;
}
.formView .gridHeader{
	background-color: #afbbb1;
	color: #000;
}

.pBody	 .formView {
	margin: 0;
}
.formView .gridView tbody tr.active td{
	background-color:  rgb(from var(--pBgColor) r g b / 0.2);
}


.formView .summary{
	text-align: right;
	padding: 0 5px;
	display: grid;
	grid-template-columns: auto 120px;
	line-height: 30px;
}
.formView .summary input{
	text-align: right;
}
.formView .summary div{
	padding-right: 5px;
}
/* End Form View */



/* Toolbar */
#toolbar{
    height: 30px;
	padding: 10px;
	position: relative;
	display: flex;
	line-height: 30px;
	font-weight: 600;
	color: var(--pBgColor);
	gap: 10px;
}
.space {
	flex: 1;
}
#toolbar button{
	background-color: var(--pBgColor);
	padding: 0 10px;
	color: #fff;
	border-radius: 4px;
	text-transform: capitalize;
}
#toolbar button span{
	padding: 0;
	line-height: 29px;
	padding-left: 5px;
	background: none;
	font-weight: 600;
}

#toolbar button:hover{
	
	box-shadow: inset 0 0 0 9998px #0007;
}
#toolbar button svg{
	vertical-align: middle;
	width: 16px;
	height: 14px;
	padding-bottom: 4px;
	fill: #fff;
}

/* End Toolbar*/

	

/* Data Table */
div.dt-container{
    width: 100%;
	display: grid;
	grid-template-rows: auto 1fr auto;
    height: 100%;
	gap: 10px;
}
.dt-layout-full{
	height: 100%;
}
.dt-layout-table{
    display: flex;
    flex-direction: column;
    height: 100%;
	overflow: hidden;
	flex: 1;
}
/* Force the DataTables wrapper to match the parent container height using Flexbox */
div.dt-container div.dt-layout-row {
	margin: 0!important;
}

/* Force the data scrolling container to claim all remaining empty workspace */
.dt-scroll {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
	
}

.dt-scroll-body {
    flex-grow: 1;
	height: 100%;
}

table.dataTable tr th:nth-child(n+2)  span.dtcc {
	display: none!important;
}

table.dataTable>thead>tr>th, table.dataTable>thead>tr>td{
	background-color: var(--pBgColor)!important;
	color: var(--pTxColor);
	border-right: 1px solid #ffffff22;
	text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
	cursor: pointer;
}
table.dataTable>thead>tr>th, table.dataTable>thead>tr>td:hover{
	box-shadow: inset 0 0 0 999px #0002;
}
table.dataTable span.dtcc span.dtcc-button-icon{
	color: #fff!important;
}
tr.group td {
    width: 100%;
}
table { table-layout: fixed !important; }
.no{
	text-align: center;
}
/* Selected row color */
table.display.dataTable > tbody > tr.selected > *,
table.display.dataTable > tbody > tr.odd.selected > *,
table.display.dataTable > tbody > tr.selected:hover > *  {
    box-shadow: inset 0 0 0 9999px rgb(from var(--pBgColor) r g b / 0.3)	 !important;
    color: #333;
}
colgroup col:first-child{
	max-width: 40px!important;
	min-width: 40px!important;
}
table.dataTable.display>tbody>tr.selected+tr.selected>td {
    border-top-color:#00000011!important;
}
/* table.dataTable.display>tbody td{
	text-overflow: ellipsis;
	overflow: hidden;
} */

.child-row-wrapper {
    max-width: 100%;       /* Keeps content within the table boundaries */
    overflow-x: auto;      /* Adds a scrollbar if inner content is too wide */
    white-space: normal;   /* Overrides table nowrap classes if applied */
    word-break: break-all; /* Forces long unbroken strings to wrap */
}



.checkmark {
	position: relative;
	height: 20px;
	width: 20px;
	display: inline-block;
}

.checkmark:after {
	content: '';
	position: absolute;
	width: 3px;
	height: 80%;
	left: 10px;
	top: 2px;
	background-color:red;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.checkmark:before {
	content: '';
	position: absolute;
	left: 10px;
	top: 2px;
	width: 3px;
	height: 80%;
	background-color:red;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.checkmark.active:before{
	display: none;
}
.checkmark.active:after {
	background:none;
	display:block;
	left: 9px;
	top: 1px;
	width: 25%;
	height: 60%;
	border: solid green;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	content: "";
	position: relative;
}
.dt-scroll-head td{
	position: relative;
}
.dt-scroll-head td{
	position: relative;
}

.resize{
	border-right: 1px solid;
	cursor: e-resize;
	padding-left: 3px;
	transform: translateX(10px);
	resize:vertical;
	float: right;
	height: 30px;
}