body{
  font-family:  Inter,apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI","Fira Sans",Roboto,Oxygen,Ubuntu,"Droid Sans",Arial,sans-serif;
	font-size: 13px;
  color: #5e5f63;
}

.font-10{ font-size: 10px; }
.font-12{ font-size: 12px; }
.font-14{ font-size: 14px; }
.font-16{ font-size: 16px; }
.font-18{ font-size: 18px; }
.font-20{ font-size: 20px; }
.font-22{ font-size: 22px; }
.font-24{ font-size: 24px; }
.font-26{ font-size: 26px; }
.font-28{ font-size: 28px; }

.multitab{
  user-select: none;
  cursor: pointer;
}

.multitab.none{
  user-select: none;
  cursor: default;
}

.multitab .text{
  padding: 3px 14px;
  color: #a5a5a5;
  font-weight: bold;
}

.multitab .bar{
  background: #d8d8d8;
  height:2px;
}

.multitab.active .bar{
  background: #fd8e19;
}

.multitab.active .text{
  font-weight: bold;
  color: #6c6c6c;
}

.cursor-pointer{
	cursor: pointer;
}

.shadow {
  box-shadow: 2px 4px 10px rgba(88,88,88,0.5);
}

.greyscale{
  filter: grayscale(100%);
}

.tableheader{
	background: #727272;
  color: #ffffff;
}

.text-darkgrey
{
	color: #646464;
}

.form-control,.btn{
	font-size: 13px;
	padding: 5px 20px;
}

.hoverselect:hover{
	background: #efefef;
	cursor: pointer;
}

.dot.active{
	 font-size: 8px;
	 color: #32ff0a;
}

.dot.inactive{
	 font-size: 8px;
	 color: #ff0707;
}

.display tbody tr{
	cursor: pointer;
}

.dataTables_wrapper .dataTables_filter input {
	border-radius: 25px;
	padding: 5px 12px;
	margin-left: 10px;
}

.dataTables_wrapper .dataTables_length select {
	border-radius: 25px;
	padding: 5px 12px;
	margin-left: 5px;
	margin-right: 5px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current{
	border-radius: 25px;
	padding: 5px 12px;
	min-width: 50px;
}

.dataTables_wrapper .dataTables_filter input:focus-visible{
	outline: none !important;
}

.dataTables_wrapper .dataTables_length select :focus-visible{
	outline: none !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
	border: 1px solid #fd8e19;
  background-color: #fd8e19;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fd8e19), color-stop(100%, #fd8e19));
  background: -webkit-linear-gradient(top, #fd8e19 0%, #fd8e19 100%);
  background: -moz-linear-gradient(top, #fd8e19 0%, #fd8e19 100%);
  background: -ms-linear-gradient(top, #fd8e19 0%, #fd8e19 100%);
  background: -o-linear-gradient(top, #fd8e19 0%, #fd8e19 100%);
  background: linear-gradient(to bottom, #fd8e19 0%, #fd8e19 100%);

}


.btn-primary{
	background-color: #fd8e19;
  border-color: #fd8e19;
}

.btn-primary:hover {
    background-color: #e47c0e;
    border-color: #e47c0e;
}

.pagetitle{
  font-weight: bold;
  font-size: 20px;
  line-height: 30px;
}

.headerBg{
	position: relative;
	background: linear-gradient(259deg, #eb5f00 0%, #f98002 100%);
	box-shadow: inset 0 -1px 0 rgba(0,0,0,0.18), 0 2px 14px rgba(120,40,15,0.28);
}
/* light glow from the corner */
.headerBg::before{
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(45% 260% at 2% 0%, rgba(255,255,255,0.42) 0%, rgba(255,255,255,0.10) 40%, rgba(255,255,255,0) 72%);
	pointer-events: none;
	z-index: 0;
}
/* futuristic HUD grid texture */
.headerBg::after{
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px),
		linear-gradient(rgba(255,255,255,0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.08) 1px, transparent 1px);
	background-size: 24px 24px, 24px 24px, 120px 120px, 120px 120px;
	pointer-events: none;
	z-index: 0;
}

.headerMenu{
	height: 55px;
	position: relative;
	/* Creates a stacking context (needed so the headerBg glow/grid layers sit behind).
	   Must stay ABOVE the tables' sticky <thead> (z-index:98) so the profile dropdown
	   isn't painted over, but BELOW the slide panel (.viewpanel1bg:100 / .viewpanel1:101)
	   so that panel still covers the header. */
	z-index: 99;
}

.headerMenu .title{
	color: #f27439;
	font-weight: bold;
	font-size: 1em;
}

.mainContainer{
	height:calc(100vh - 55px);
}

.mainLogo{
	height:35px;
}

.headerBg .mainLogo{
	filter: brightness(0) invert(1) drop-shadow(0 3px 1px rgba(0, 0, 0, 0.45));
}

.loginBg{
	background: #fff2e6;
}

/* soft drifting waves along the bottom of the page */
.loginWaves{
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	height: 42vh;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}
.loginWaves svg{
	display: block;
	width: 200%;
	height: 100%;
}
.lw{ animation: lwMove linear infinite; }
.lw1{ fill: rgba(249,128,2,0.10); animation-duration: 26s; }
.lw2{ fill: rgba(235,95,0,0.08);  animation-duration: 19s; animation-direction: reverse; }
.lw3{ fill: rgba(255,175,80,0.12); animation-duration: 33s; }

@keyframes lwMove{
	from{ transform: translateX(0); }
	to{ transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce){
	.lw{ animation: none; }
}

.loginWrap{
	position: relative;
	z-index: 1;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.loginCard{
	display: flex;
	width: 860px;
	max-width: 100%;
	min-height: 520px;
	background: transparent;
	overflow: hidden;
}

/* login page keeps the white card panel; expense upload stays transparent */
.loginPage .loginCard{
	background: rgba(255,255,255,0.40);
	border-radius: 18px;
	box-shadow: 0 30px 70px rgba(40,30,60,0.18), 0 8px 24px rgba(0,0,0,0.06);
}
.loginPage .loginWrap{ padding: 24px; }

/* Left brand panel with dotted texture over the brand gradient */
.loginLeft{
	position: relative;
	flex: 0 0 46%;
	padding: 16px 14px;
	display: flex;
	align-items: center;
	overflow: hidden;
	color: #ffffff;
	background: linear-gradient(135deg, #f9971f 0%, #ef7415 50%, #c74e0c 100%);
}

/* bright light bleed from the top corner */
.loginLeft::before{
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(125% 100% at 8% 2%, rgba(255,255,255,0.50) 0%, rgba(255,255,255,0.12) 42%, rgba(255,255,255,0) 78%);
	pointer-events: none;
	z-index: 0;
}
/* futuristic HUD grid texture */
.loginLeft::after{
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px),
		linear-gradient(rgba(255,255,255,0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.08) 1px, transparent 1px);
	background-size: 24px 24px, 24px 24px, 120px 120px, 120px 120px;
	pointer-events: none;
	z-index: 0;
}
.loginLeftInner{ position: relative; z-index: 1; width: 100%; text-align: center; }

.loginLogo{
	height: 50px;
	filter: brightness(0) invert(1) drop-shadow(0 3px 5px rgba(0,0,0,0.35));
}

.loginTagline{
	margin-top: 14px;
	font-size: 14px;
	line-height: 1.55;
	font-weight: 500;
	color: rgba(255,255,255,0.85);
}

.loginMapWrap{
	position: relative;
	width: 100%;
	max-width: 460px;
	margin: 18px auto 0;
}
.loginMap{
	display: block;
	width: 100%;
	filter: brightness(0) invert(1) drop-shadow(0 6px 10px rgba(0,0,0,0.35));
	opacity: 0.5;
}
.mapPt{
	position: absolute;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	gap: 5px;
	white-space: nowrap;
	font-size: 10px;
	font-weight: 600;
	color: #ffffff;
	text-shadow: 0 1px 3px rgba(0,0,0,0.35);
	pointer-events: none;
}
.mapPt i{
	width: 7px;
	height: 7px;
	margin-left: -3.5px;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(255,255,255,0.30);
	flex: none;
}

/* Right form panel */
.loginRight{
	flex: 1;
	padding: 54px 46px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.loginHead{
	font-size: 26px;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #23252b;
}

.loginSub{
	font-size: 14px;
	color: #5e5e5e;
	margin-top: 6px;
	margin-bottom: 26px;
}

.loginField{
	position: relative;
	margin-bottom: 14px;
}

.loginField i{
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: #b6bac1;
	font-size: 14px;
}

.loginField input{
	width: 100%;
	height: 46px;
	padding: 0 40px 0 40px;
	border: 1px solid #e2e4e8;
	border-radius: 10px;
	font-size: 14px;
	color: #2b2f36;
	background: #ffffff;
	transition: border-color .12s ease, box-shadow .12s ease;
}

.loginField input:focus{
	outline: none;
	border-color: #f98002;
	box-shadow: 0 0 0 3px rgba(249,128,2,0.15);
}

.loginField input::placeholder{ color: #a9adb4; }

.loginField .loginEye{
	left: auto;
	right: 14px;
	cursor: pointer;
}
.loginField .loginEye:hover{ color: #f98002; }

.loginSubmit{
	width: 100%;
	height: 48px;
	margin-top: 8px;
	border: none;
	border-radius: 10px;
	background: linear-gradient(135deg, #f98002, #eb5f00);
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(235,95,0,0.32);
	transition: filter .12s ease, transform .12s ease, box-shadow .12s ease;
}

.loginSubmit:hover{
	filter: brightness(1.05);
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(235,95,0,0.42);
}

.loginFoot{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: fit-content;
	margin: 22px auto 0;
	padding: 7px 15px;
	border-radius: 999px;
	background: rgba(46,160,90,0.08);
	border: 1px solid rgba(46,160,90,0.22);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .02em;
	color: #2b8c52;
}
.loginFoot i{ color: #2e9c5a; font-size: 12px; margin: 0; }

.loginCopy{
	text-align: center;
	margin-top: 22px;
	font-size: 11px;
	color: #5e5e5e;
}

/* expense upload page (login-style, right panel) */
.expuPage .loginLogo{ height: 40px; }
.expuPage .loginTagline{ margin-top: 7px; font-size: 12px; }
.expuRight{ justify-content: flex-start; overflow-y: auto; }
.expuAmount{
	margin-top: 18px;
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #cb0909;
}
.expuDate{ font-size: 13px; color: #5e5e5e; margin-top: 2px; }
.expuCharge{ font-size: 14px; font-weight: 600; color: #3a3f47; margin-top: 6px; }
.expuLabel{
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #5e5e5e;
	margin-top: 16px;
}
.expuValue{ font-size: 15px; font-weight: 600; color: #2b2f36; margin-top: 2px; }
.expuDesc{
	margin-top: 6px;
	border: 1px solid #eee;
	border-radius: 12px;
	background: rgba(251,251,251,0.85);
	padding: 12px 14px;
	min-height: 64px;
	font-size: 14px;
	color: #3a3f47;
}

@media (max-width: 760px){
	.loginWrap{ padding: 0; align-items: flex-start; }
	.loginCard{ flex-direction: column; width: 420px; min-height: auto; }
	.loginLeft{ flex: none; width: 100%; min-height: 150px; padding: 26px 24px; }
	.loginLogo{ height: 42px; }
	.loginTagline{ margin-top: 14px; font-size: 13px; }
	.loginRight{ padding: 30px 26px; }
	.expuRight{ overflow: visible; }
}

.loginPanel{
	width:400px;
	border-radius: 25px;
	padding: 40px 30px;
	background: rgb(255 255 255 / 50%);
	z-index: 1;
}

.btn.roundedItem{
	min-width: 130px;
}

.roundedItem{
	border-radius: 25px;
}

.loginbtn{
	min-width: 60%;
}

.loginContainer{
	width: 100vh;
  height: 100vh;
}

.portalName{
  border-radius: 30px;
  font-size: 13px;
  padding: 4px 15px;
  font-weight: bold;
  background: #d94f1b;
  color: #ffffff;
  box-shadow: 2px 1px 8px rgba(88,88,88,0.5);
}

.headerBg .portalName{
  padding: 5px 16px;
  background: rgb(255 234 234 / 31%);
  border: 1px solid rgba(255, 255, 255, 0.30);
  box-shadow: none;
  text-shadow: 0 1px 2px rgba(0,0,0,0.18);
}

.contentArea{
	padding-left: 60px;
	height: calc(100vh - 55px);
	overflow-y: scroll;
}

.menuIcon{
	height:30px;
	width: 30px;
	border-radius: 25px;
	background: #efefef;
	color: #292929;
	border: 1px solid #d2d2d2;
}

.userIcon{
	height:32px;
	border-radius: 25px;
	background: rgba(255,255,255,0.15);
	color: #ffffff;
	border: 1px solid rgba(255,255,255,0.30);
	padding: 0px 15px;
	font-weight: 600;
	cursor: pointer;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.22);
	transition: background .15s ease, border-color .15s ease;
}

.userIcon:hover{
	background: rgba(255,255,255,0.26);
	border-color: rgba(255,255,255,0.55);
}

.userIcon span{
	font-size: 12px;
	margin-left: 5px;
}


@import url(//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css);
}
@import url(https://fonts.googleapis.com/css?family=Titillium+Web:300);
.fa-2x {
font-size: 2em;
}



.limenu:hover .sub_ul{
    display: block;
    position: absolute;
    left: calc(100% - 1px);
    width: max-content;
    min-width: 250px;
    top: 0px;
    background: #242427;
    box-shadow: 4px 4px 16px rgba(0,0,0,0.28);
    border-radius: 0 8px 8px 0;
    overflow: hidden;
}

.sub_ul{
   display: none;
}


.main-menu .fas {
position: relative;
display: table-cell;
width: 60px;
height: 36px;
text-align: center;
vertical-align: middle;
font-size:20px;
}

.main-menu img {
  position: relative;
  display: table-cell;
  height: 30px;
  text-align: center;
  vertical-align: middle;
  margin: 5px 14px;
}

.main-menu li{
	border-left: 3px solid rgba(0,0,0,0);
	transition: background .12s ease, border-color .12s ease, box-shadow .12s ease;
}

.main-menu li.current{
	border-left: 3px solid #fd9d18;
	background: linear-gradient(90deg, rgba(253,157,24,0.18) 0%, rgba(253,157,24,0.02) 72%);
	box-shadow: inset 0 0 22px rgba(253,157,24,0.06);
}



.main-menu:hover,nav.main-menu.expanded {
  width:250px;
  overflow:visible;
}

.main-menu {
  background:linear-gradient(180deg, #2c2c30 0%, #242427 100%);
  border-right:1px solid rgba(0,0,0,0.25);
  box-shadow:2px 0 14px rgba(0,0,0,0.18);
  position:absolute;
  top:0;
  bottom:0;
  height:100%;
  left:0;
  width:60px;
  overflow:hidden;
  -webkit-transition:width .18s ease;
  transition:width .18s ease;
  -webkit-transform:translateZ(0) scale(1,1);
  z-index:99;
}

.main-menu>ul {
margin:7px 0;
}

.main-menu li {
position:relative;
display:block;
width:250px;
}

.main-menu .limenu>.lidetail {
position:relative;
display:table;
border-collapse:collapse;
border-spacing:0;
color:#ffffff;
 font-family: arial;
font-size: 14px;
text-decoration:none;
-webkit-transform:translateZ(0) scale(1,1);
-webkit-transition:all .1s linear;
transition:all .1s linear;
filter: grayscale(1);
}

.main-menu .sub_li>.sublidetail {
position:relative;
display:table;
border-collapse:collapse;
border-spacing:0;
color:#ffffff;
 font-family: arial;
font-size: 14px;
text-decoration:none;
-webkit-transform:translateZ(0) scale(1,1);
-webkit-transition:all .1s linear;
transition:all .1s linear;
filter: grayscale(1);
}

.main-menu .limenu .lidetail{
  filter: grayscale(1);
}

.main-menu .sub_li .sublidetail{
  filter: grayscale(1);
}

.main-menu .limenu .lidetail:hover{
  filter: grayscale(0);
}

.main-menu .sub_li .sublidetail:hover{
  filter: grayscale(0);
}

.main-menu .limenu.current .lidetail{
  filter: grayscale(0);
}

.main-menu .sub_li.current .sublidetail{
  filter: grayscale(0);
}

.main-menu .nav-icon {
position:relative;
display:table-cell;
width:60px;
height:36px;
text-align:center;
vertical-align:middle;
font-size:18px;
}

.main-menu .nav-text {
position:relative;
display:table-cell;
vertical-align:middle;
width:190px;
}

/* submenu flyout grows with its longest label instead of wrapping */
.main-menu .sub_li {
width:100%;
}

/* font icons in a submenu take the same 58x40 slot as the image icons (else the label cell squeezes them) */
.main-menu .sub_li .sublidetail > .fas {
padding:0 20px;
height:40px;
}

/* the hover highlight paints the link, so it must span the whole row */
.main-menu .sub_li > .sublidetail {
width:100%;
}

.main-menu .sub_li .nav-text {
width:100%;   /* label cell takes the spare row width, so icon + text stay left-aligned */
white-space:nowrap;
padding-right:20px;
}

.main-menu>ul.logout {
position:absolute;
left:0;
bottom:0;
}

.no-touch .scrollable.hover {
overflow-y:hidden;
}

.no-touch .scrollable.hover:hover {
overflow-y:auto;
overflow:visible;
}

a:hover,a:focus {
text-decoration:none;
}

nav {
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
-o-user-select:none;
user-select:none;
}

nav ul,nav li {
outline:0;
margin:0;
padding:0;
cursor: pointer;
}

.main-menu li:hover>a,nav.main-menu li.active>a,.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus,.no-touch .dashboard-page nav.dashboard-menu ul li:hover a,.dashboard-page nav.dashboard-menu ul li.active a {
color:#fff;
background-color:#fd8e19;
filter: opacity(1);
}

/* Sidebar: refined translucent hover instead of full-saturation fill */
.main-menu li:hover > a{
  background-color: rgba(253,142,25,0.16);
}
.main-menu li:hover{
  background: rgba(255,255,255,0.05);
  box-shadow: inset 2px 0 0 rgba(253,157,24,0.55);
}
.area {
float: left;
background: #e2e2e2;
width: 100%;
height: 100%;
}
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 300;
  src: local('Titillium WebLight'), local('TitilliumWeb-Light'), url(http://themes.googleusercontent.com/static/fonts/titilliumweb/v2/anMUvcNT0H1YN4FII8wpr24bNCNEoFTpS2BTjF6FB5E.woff) format('woff');
}













.loadingpanel{
	z-index: 99999;
	position:fixed;
	width: 100vw;
	height:100vh;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.5);
}


.loader {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  border: 3px solid;
  border-color: #FFF #FFF transparent transparent;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
.loader::after,
.loader::before {
  content: '';  
  box-sizing: border-box;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border: 3px solid;
  border-color: transparent transparent #FF3D00 #FF3D00;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  box-sizing: border-box;
  animation: rotationBack 0.5s linear infinite;
  transform-origin: center center;
}
.loader::before {
  width: 32px;
  height: 32px;
  border-color: #FFF #FFF transparent transparent;
  animation: rotation 1.5s linear infinite;
}
    
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
} 
@keyframes rotationBack {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}


.loader2 {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  border: 3px solid;
  border-color: #afafaf #afafaf transparent transparent;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
.loader2::after,
.loader2::before {
  content: '';  
  box-sizing: border-box;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border: 3px solid;
  border-color: transparent transparent #FF3D00 #FF3D00;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  box-sizing: border-box;
  animation: rotationBack 0.5s linear infinite;
  transform-origin: center center;
}
.loader2::before {
  width: 32px;
  height: 32px;
  border-color: #afafaf #afafaf transparent transparent;
  animation: rotation 1.5s linear infinite;
}

.viewpanelbg{
	background: rgba(0,0,0,0.5);
	position: fixed;
	width: 100vw;
	height:100vh;
	left: ;:0;
	top: 0;
	z-index: 100;
}

.viewpanel1{
	background: #ffffff;
	position: fixed;
	width: 450px;
	height:100vh;
	right:0;
	top: 0;
	z-index: 101;
}

.panelShow{
	right:0px;
}

.panelHide{
	right:-500px;
}

.bootstrap-select .dropdown-toggle{
	background: #ffffff;
  border: 1px solid #ced4da;
  border-radius: 25px;
}

.bootstrap-select .dropdown-toggle:focus-visible,.bootstrap-select .dropdown-toggle:focus {
	outline: none !important;
}

.bootstrap-select .dropdown-toggle:active,.btn-light:not(:disabled):not(.disabled).active, .btn-light:not(:disabled):not(.disabled):active, .show>.btn-light.dropdown-toggle {
	background-color: #ffffff !important;
	border-color: 1px solid #ced4da !important;
}

.bootstrap-select .dropdown-menu {
  border-radius: 15px;
}

.bs-searchbox input{
	border-radius: 25px;
}

.form-switch {
  display: inline-block;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  margin-bottom: 0px;
}
.form-switch i {
  position: relative;
  display: inline-block;
  margin-right: .5rem;
  width: 46px;
  height: 26px;
  background-color: #e6e6e6;
  border-radius: 23px;
  vertical-align: text-bottom;
  transition: all 0.3s linear;
}
.form-switch i::before {
  content: "";
  position: absolute;
  left: 0;
  width: 42px;
  height: 22px;
  background-color: #c3c3c3;
  border-radius: 11px;
  transform: translate3d(2px, 2px, 0) scale3d(1, 1, 1);
  transition: all 0.25s linear;
}
.form-switch i::after {
  content: "";
  position: absolute;
  left: 0;
  width: 22px;
  height: 22px;
  background-color: #fff;
  border-radius: 11px;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.24);
  transform: translate3d(2px, 2px, 0);
  transition: all 0.2s ease-in-out;
}
.form-switch:active i::after {
  width: 28px;
  transform: translate3d(2px, 2px, 0);
}
.form-switch:active input:checked + i::after { transform: translate3d(16px, 2px, 0); }
.form-switch input { display: none; }
.form-switch input:checked + i { background-color: #4BD763; }
.form-switch input:checked + i::before { transform: translate3d(18px, 2px, 0) scale3d(0, 0, 0); }
.form-switch input:checked + i::after { transform: translate3d(22px, 2px, 0); }
.form-switch span{ align-self: center!important; }

.fitselect.bootstrap-select .dropdown-menu {
    max-width: -webkit-fill-available;
    /* position: fixed!important; */
}


.viewFullpanel{
	background: #ffffff;
	position: fixed;
	width: calc(100vw - 60px);
	height:calc(100vh - 55px);
	right:0;
	top: 55px;
	z-index: 98;
}

.fullPanelShow{
	right:0px;
}

.fullPanelHide{
	right: calc(-100vw - 60vw);
}

.fullclosebtn{
	position: absolute;
	top: 15px;
	right:20px;
	cursor: pointer;
	z-index: 1;
}

.stepper-wrapper {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
}
.stepper-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;

  @media (max-width: 768px) {
    font-size: 12px;
  }
}

.stepper-item::before {
  position: absolute;
  content: "";
  border-bottom: 2px solid #ccc;
  width: 100%;
  top: 13px;
  left: -50%;
  z-index: 2;
}

.stepper-item::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid #ccc;
  width: 100%;
  top: 13px;
  left: 50%;
  z-index: 2;
}

.stepper-item .step-counter {
  position: relative;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #ccc;
  margin-bottom: 2px;
}

.stepper-item.active {
  font-weight: bold;
}

.stepper-item.completed .step-counter {
  background-color: #fd8e19;
  color: #ffffff;
}

.stepper-item.completed::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid #fd8e19;
  width: 100%;
  top: 13px;
  left: 50%;
  z-index: 3;
}

.stepper-item:first-child::before {
  content: none;
}
.stepper-item:last-child::after {
  content: none;
}


.stepper-item.active .step-counter {
	background: #fd8e19;
	color: #ffffff;
}

.compulsary{
	color: #ff0707;
	margin-left: 3px;
}

.tabbar{
	width: 100%;
	height:3px;
	background: #efefef;
}

.colortab{
	font-weight: bold;
	cursor: pointer;
	user-select: none;
}

.colortab .tabbar{
	width: 100%;
	height:3px;
	background: #efefef;
	margin-top: 3px;
	position: relative;
}
.user-select{
  user-select: none;
}

.fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: #fd8e19;
   
}

.colortab .tabbar.active .fill{
	width: 100%;
	 transition: width 0.8s; /* Transition for width change */
}

.form-check-input {
    margin-top: 0.2rem;
}

.textbox-container {
  position: relative;
}

.textbox-container input[type="text"]{
	width: 100%;
  padding: 10px;
  border: none;
}

.textbox-container input[type="text"]:focus-visible{
	outline: none !important;
}

.clear-icon {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  color: #858585;
  cursor: pointer;
}

.hovertablecolumn{
  cursor: pointer;
}

.hovertablecolumn:hover{
  background: #fd8e19!important;
  cursor: pointer;
  color: #ffffff!important;
}

/*.timetable .weekend{
  background: #fdb964;
}

.hovertablecolumn.weekend{
  background: #fdb964;
  cursor: pointer;
}

.hovertablecolumn.weekend:hover{
  background: #fd8e19;
  cursor: pointer;
  color: #ffffff;
}*/

.timetable th.weekend{
  color: #fd8e19;
}

.timetable th.holiday{
  color: #00a14d;
}

.timetable td.weekend{
  background: #fdeed6;
}

.timetable td.holiday{
  background: #ecffe6;
}



.timetable.table-bordered td, .timetable.table-bordered th {
  padding: 0.3rem 0.25rem;
}

select.form-control:not([size]):not([multiple]) {
    height: calc(2rem - 0.5px) !important;
}

.timetable .titletype{
  background: #cdcdcd;
  padding: 1px 1px!important;
  text-align: center;
  font-weight: bold;
  font-size: 11px;
  font-style: italic;
}

.timetable .datecol{
  width: 45px;
  text-align: center;
}

.timetable .totalcol{
  width: 50px;
  text-align: center;
}

.timetable .codecol{
  width: 120px;
  text-align: center;
}

.timetable .totalrow{
  font-weight: bold;
  color: #004cc1;
  border-top: 4px solid #cdcdcd !important;
  background: #f3f3f3;
}

.timetable .OTrow{
  font-weight: bold;
  color: #dc3545;
  background: #f3f3f3;
}

#periodResultTable td.draft{
  font-weight: bold;
  color:#898989;
}

#periodResultTable td.submitted{
  font-weight: bold;
  color:#4BD763;
}

.multioption {
    background: #ececec;
    border-radius: 35px;
    padding: 4px 4px;
}

.multioption .opt{
    padding: 5px 10px;
    cursor: pointer;
}

.multioption .opt.active{
    padding: 5px 10px;
    background: #fd8e19;
    font-weight: bold;
    color: #ffffff;
    border-radius: 35px;
}

.multioption .opt:hover{
    padding: 5px 10px;
    background: #fbece6;
    border-radius: 35px;
}

.multioption .opt.active:hover{
    padding: 5px 10px;
    background: #fbece6;
    color: #ffffff;
    border-radius: 35px;
}



/* The container <div> - needed to position the dropdown content */
.dropdown {
  position: relative;
  display: inline-block;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #ffffff;
  min-width: 160px;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(30,20,10,0.16), 0 2px 8px rgba(30,20,10,0.08);
  z-index: 99;
}

/* Profile header block (photo / name / code / branch) */
.dropdown-content::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #f7911f, #d9590a);
  z-index: 2;
}
.dropdown-content .border-bottom{
  background: #fffaf6;
  border-bottom: 1px solid #f0ebe6 !important;
}
.dropdown-content .empSelfPic img{
  border: 3px solid #ffffff !important;
  box-shadow: 0 0 0 3px rgba(217,79,27,0.16), 0 5px 14px rgba(0,0,0,0.14) !important;
}
.dropdown-content .empSelfName{
  font-size: 15px;
  font-weight: 700;
  color: #23262b;
  letter-spacing: -0.01em;
}
.dropdown-content .empSelfCode{
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #a0a4ab;
  margin-top: 3px;
}
.dropdown-content .empSelfBranchDept{
  display: inline-block;
  margin-top: 8px;
  font-size: 11px;
  font-weight: 600;
  color: #d9590a;
  background: rgba(217,79,27,0.09);
  border-radius: 999px;
  padding: 3px 11px;
}

/* Links inside the dropdown */
.dropdown-content a {
  display: flex;
  align-items: center;
  color: #3a3f47;
  font-size: 13px;
  font-weight: 500;
  padding: 12px 18px;
  text-decoration: none;
  transition: background .12s ease, color .12s ease;
}
.dropdown-content a i{
  width: 26px;
  height: 26px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f4f2f3;
  color: #8a8f98;
  font-size: 12px;
  transition: background .12s ease, color .12s ease;
}
.dropdown-content a + a{ border-top: 1px solid #f2f2f2; }

/* Hover: soft tint instead of full-saturation fill */
.dropdown-content a:hover { background: #fff2e6; color: #d94f1b; }
.dropdown-content a:hover i{ background: rgba(217,79,27,0.12); color: #d9590a; }

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
  display: block;
}

/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {background: rgba(255,255,255,0.26);}