@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");

:root {
  --primary-color: #32489d;
  --secondary-color: #171e3a;
  --info-color: #1266c8;
  --success-color: #25ae5e;
  --warning-color: #e2b93b;
  --error-color: #ea5656;
  --white-color: #fff;
  --black-color: #000;
  --linktext-color: #1266c8;
  --gray1-color: #323232;
  --gray2-color: #4f4f4f;
  --gray3-color: #818181;
  --gray4-color: #bcbcbc;
  --gray5-color: #dfdfdf;
  --gray6-color: #f5f5f5;
  --gray7-color: hsl(0deg 0% 98.82%);
  --badge-primary-bg: #e9e7fc;
  --badge-secondary-bg: #f1f1f1;
  --badge-success-bg: #d9f6e4;
  --badge-danger-bg: #f8e5e1;
  --badge-warning-bg: #ffecdc;
  --badge-info-bg: #d5fbfe;
  --badge-primary-text: #7368f5;
  --badge-secondary-text: #a8a9ad;
  --badge-success-text: #2dc16b;
  --badge-danger-text: #ed5a53;
  --badge-warning-text: #fd9a47;
  --badge-info-text: #10aebf;
  --fontColor: #323232;
  --border-radius: 6px;
  --row-hover: #b7e0c5;
  --box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.4);
}

* {
  box-sizing: border-box;
  margin: 0px;
  font-size: 14px;
  color: var(--fontColor);
  font-family: "Inter", sans-serif;
}

body {
  font-family: "Inter", sans-serif;
  overflow-x: hidden;
  background: url(../images/page-bg.jpg) repeat;
}

body.menu-open {
  overflow: hidden;
  /* Prevent scrolling when menu is open */
}

ul {
  padding: 0px;
  margin: 0px;
  list-style: none;
}

button {
  outline: 0px;
  transition: 0.3s;
  cursor: pointer;
}

a {
  text-decoration: none !important;
  transition: 0.3s;
  cursor: pointer;
}

input {
  outline: 0px;
}

nav {
  background: var(--primary-color);
  width: 100%;
  position: relative;
  display: flex;
  justify-content: flex-end;
}

/* Top bar */
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(100% - 300px);
  padding: 13px 30px;
  transition: width 0.4s ease-in-out;
}

main {
  display: flex;
  justify-content: flex-end;
  position: relative;
  overflow-x: hidden;
}

/* Full-width main content */
/* Main Content */
.mainWapper {
  position: relative;
  width: calc(100% - 300px);
  padding: 30px;
  min-height: calc(100vh - 127px);
  transition: width 0.4s ease-in-out, transform 0.3s ease-in-out;
}

@media screen and (max-width: 1199px) {
  .topbar {
    width: 100%;
  }

  .mainWapper {
    width: 100%;
    padding: 25px 15px;
  }
}

/* When Menu is Collapsed */
.menu-collapsed .topbar,
.menu-collapsed .mainWapper {
  width: 100%;
}

/* Open/Close Button */
.openClose {
  cursor: pointer;
  z-index: 1000;
  margin-right: 25px;
  transition: transform 0.3s ease-in-out;
}

/* Rotate & Scale Effect for Icon */
.openClose i {
  color: var(--row-hover);
  font-size: 1.714em;
  transition: transform 0.3s ease-in-out, color 0.3s ease-in-out;
}

/* Rotate and Change Icon */
.menu-collapsed .openClose i {
  transform: rotate(180deg) scale(1.2);
  color: var(--row-hover);
}

/* Hover Glow Effect */
.openClose:hover {
  transform: scale(1.1);
}

@media (max-width: 767px) {
  .openClose {
    margin-right: 15px;
  }
}

.topRight ul {
  display: flex;
  align-items: center;
  gap: 10px;
}

.topletf {
  display: flex;
  align-items: center;
  width: 100%;
}

.timeInfo {
  display: flex;
  align-items: center;
}

.timeInfo h2 {
  color: #f3f3f3;
  margin: 0px;
  font-size: 1.429em;
  font-weight: 500;
}

.timeInfo h2 span {
  display: block;
  color: #f3f3f3;
}

.timeInfo img {
  width: 30px;
  margin-right: 6px;
}

@media (max-width: 1199px) {
  .timeInfo {
    position: relative;
  }

  .alarm-info {
    position: absolute;
    top: 52px;
    left: 0;
    background: var(--white-color);
    color: var(--gray1-color);
    padding: 10px 20px;
    white-space: nowrap;
    z-index: 10;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius);
    opacity: 0;
    transform: translateY(-10px);
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
  }

  .timeInfo h2,
  .timeInfo h2 span {
    color: var(--gray1-color);
  }

  .alarm-info.show {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
  }

  .alarm-clock {
    cursor: pointer;
  }
}

@media (max-width: 767px) {
  .timeInfo img {
    width: 23px;
  }
}

.topLeftSearch {
  position: relative;
  margin-left: 30px;
}

/* Search panel default state */
.search-panel {
  border-radius: 40px;
  border: 1px solid transparent;
  background: #495ca7;
  padding: 10px 15px;
  height: 46px;
}

/* Search input styling */
.search-panel .search-input {
  height: auto;
  width: calc(100% - 50px);
  color: var(--white-color);
  box-shadow: none !important;
  border: 0 !important;
  padding: 0;
  background-color: transparent !important;
}

.search-panel .search-input:focus {
  box-shadow: none;
}

.search-icon {
  font-size: 18px;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: var(--white-color);
}

.topRight .dropdown-menu {
  display: none;
}

.topRight .dropdown-menu.show {
  display: block;
}

.topLeftSearch input::placeholder {
  color: var(--white-color);
}

.topLeftSearch i {
  color: var(--white-color);
  position: absolute;
  right: 17px;
  top: 50%;
  font-size: 1.214em;
  transform: translateY(-50%);
}

.topLeftSearch input:focus {
  background: rgba(255, 255, 255, 0.1);
  /* Light transparent background */
  border: 1px solid var(--white-color);
  color: var(--white-color);
  outline: none;
  /* Remove default browser outline */
}

.topRight ul li {
  position: relative;
  width: 40px;
  height: 40px;
  background: var(--white-color);
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.429em;
  cursor: pointer;
}

.topRight ul li span {
  background: var(--badge-danger-text);
  position: absolute;
  width: 20px;
  height: 20px;
  color: var(--white-color);
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  top: -6px;
  right: -1px;
}

.topRight ul li img {
  cursor: pointer;
}

.topRight ul li .dropdown #dropdownMenuButton1 img {
  width: 40px;
  height: 40px;
  border-radius: 100%;
  object-fit: cover;
}

.topRight ul li.menu-icon {
  display: none;
}

/* Mobile-specific styles */
@media (max-width: 1199px) {
  .topRight ul li.menu-icon {
    display: flex;
  }

  .topLeftSearch {
    background-color: var(--white-color);
    box-shadow: var(--box-shadow);
    position: absolute;
    top: 100%;
    left: -30px;
    width: 100%;
    padding: 14px;
    z-index: 10;
    display: none;
  }

  .search-panel .search-input {
    width: 100%;
  }

  .topLeftSearch i {
    right: 35px;
  }

  .topLeftSearch input:focus {
    border: 1px solid transparent;
    background: #495ca7;
    color: var(--white-color);
  }
}

@media screen and (max-width: 767px) {
  .topRight ul li {
    width: 34px;
    height: 34px;
  }
}

footer {
  position: relative;
  width: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white-color);
  z-index: 1;
  padding: 12px 0px;
  padding-left: 300px;
  border-top: 1px solid var(--gray4-color);
}

footer p {
  margin: 0px;
  color: var(--gray1-color);
}

footer p label {
  opacity: 60%;
  color: var(--gray1-color);
  margin: 0px;
}

footer p span {
  font-size: 0.857em;
  color: var(--gray1-color);
  opacity: 50%;
}

@media (max-width: 1199px) {
  footer {
    padding-left: 15px;
    padding-right: 15px;
    flex-wrap: wrap;
  }

  footer p span {
    display: block;
  }
}

/* Left menu (visible by default) */
.leftMenu {
  position: fixed;
  top: 3px;
  left: 3px;
  width: 300px;
  background: var(--white-color);
  z-index: 2;
  box-shadow: 0px -2px 5px rgb(157 153 153);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  height: calc(100vh - 0px);
  transition: left 0.5s cubic-bezier(0.77, 0, 0.18, 1), opacity 0.4s ease;
  opacity: 1;
}

/* Hide menu with fade */
.leftMenu.closed {
  left: -310px;
  opacity: 0;
}

@media screen and (max-width: 1199px) {
  .leftMenu {
    left: -310px;
    top: 0;
    border-radius: 0;
    z-index: 11;
  }

  .leftMenu.closed {
    left: 0;
    opacity: 1;
  }

  .menu-collapsed .openClose i {
    color: var(--badge-primary-text);
  }

  .menu-collapsed .openClose {
    margin-top: 16px;
  }

  .openClose:hover {
    transform: scale(1);
  }
}

@media screen and (max-width: 767px) {
  .custom-radio.withoutLeave {
    width: 18px;
  }

  .custom-checkbox.withoutLeave {
    width: 18px;
  }
}

.logo {
  width: 100%;
  position: relative;
  padding: 14px;
  text-align: center;
}

.logo img {
  width: 123px;
}

.leftMenu .menu {
  height: calc(100% - 103px);
  overflow: auto;
}

.leftMenu .menu ul li {
  position: relative;
  border-bottom: 1px solid var(--gray4-color);
}

.leftMenu .menu ul li a {
  color: var(--gray1-color);
  display: block;
  transition: 0.3s;
  padding: 10px 20px;
}

.leftMenu .menu ul li .dropdown-badge {
  position: absolute;
  right: 0;
  top: 5px;
}

.leftMenu .menu .dropdown.active .dropdown-toggle {
  background-color: var(--row-hover);
}

.leftMenu .menu .dropdown.active .dropdown-menu {
  display: block !important;
}

.leftMenu .menu .dropdown.active span {
  transform: rotate(180deg);
}

.leftMenu .menu ul li a:hover,
.leftMenu .menu ul li.active a {
  background: var(--row-hover);
}

.leftMenu .menu ul li.submemu-active a {
  background: var(--gray6-color);
}

.leftMenu .menu ul li:last-child a {
  border-bottom: 0px;
}

.leftMenu .menu ul li a i {
  margin-right: 10px;
  color: var(--gray1-color);
}

.leftMenu .menu ul li .dropdown-menu {
  position: relative !important;
  transform: none !important;
  border-radius: 0px;
  width: 100%;
}

.leftMenu .menu ul li .dropdown-menu li {
  border-bottom: 0px;
}

.leftMenu .menu ul li .dropdown-menu li a {
  padding: 5px 10px;
  padding-left: 35px;
  font-size: 12px;
}

.leftMenu .menu ul li .dropdown-menu li a i {
  font-size: 0.429em;
  vertical-align: middle;
  color: #88b2e3;
  margin-right: 1.429em;
}

.leftMenu .menu ul li .dropdown-menu li.active a {
  background-color: var(--gray6-color);
}

.leftMenu .menu ul li a span {
  display: inline-block;
  position: absolute;
  right: 20px;
  font-size: 1.429em;
  top: 6px;
  transition: 0.3s;
}

.leftMenu .menu ul li a span i {
  margin: 0px;
}

.leftMenu .menu ul li a.show span {
  transform: rotate(180deg);
}

.leftMenu .dropdown-toggle::after {
  display: none;
}

.pageHeading {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.headingLeft h1 {
  margin: 0px;
  font-size: 1.571em;
  display: flex;
  align-items: center;
  position: relative;
  color: var(--secondary-color);
  font-weight: 600;
}

.headingLeft h1 span {
  height: 19px;
  width: 4px;
  background: var(--warning-color);
  display: inline-block;
  margin-right: 6px;
  position: relative;
  top: -1px;
}

.headingLeft h1 a {
  width: 35px;
  height: 35px;
  transition: 0.3s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  font-size: 1.429em;
  cursor: pointer;
  margin-left: 10px;
}

.headingLeft h1 a:hover {
  background: var(--gray4-color);
  color: var(--primary-color);
}

@media screen and (max-width: 1199px) {
  .headingLeft h1 {
    font-size: 1.3em;
  }
}

.applyFilter {
  background: var(--white-color);
  position: relative;
  padding: 30px;
  box-shadow: 0px 0px 5px rgb(0 0 0 / 33%);
  border-radius: var(--border-radius);
  margin-bottom: 1.429em;
}

.pageHeading {
  margin-bottom: 1.429em;
}

.applyFilterInner {
  width: 50%;
}

.applyFilterInner .form-floating-con {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.applyFilterInner .form-floating-con .form-floating {
  width: calc(100% - 115px);
}

.applyFilter a {
  position: absolute;
  right: 13px;
  top: 5px;
  font-size: 1.429em;
  color: var(--gray3-color);
}

.applyFilter a i {
  color: var(--badge-primary-text);
  font-size: 1.4em;
}

.applyFilter a:hover i {
  color: var(--gray1-color);
}

@media screen and (max-width: 767px) {
  .applyFilter {
    padding: 36px 18px 18px;
  }

  .applyFilterInner {
    width: 100%;
  }

  .applyFilterInner .form-floating-con .form-floating {
    width: 100%;
    margin-bottom: 15px;
  }

  .applyFilter a {
    right: 0px;
    top: -3px;
  }

  .applyFilter .form-floating {
    margin-bottom: 20px;
  }
}

/* Dropdown Menu - Initial State (Hidden) */
.topRight .dropdown .dropdown-menu {
  width: 250px;
  padding: 15px;
  text-align: center;
  border: 0px;
  box-shadow: 0px 0px 5px var(--gray4-color);
  border-radius: var(--border-radius);
  padding: 20px 15px;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-15px);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out,
    visibility 0s linear 0.3s;
}

/* Show Dropdown with Smooth Fade-in & Slide */
.topRight .dropdown .dropdown-menu.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out,
    visibility 0s linear 0s;
}

.topRight .dropdown .dropdown-menu .btn-close {
  position: absolute;
  right: 10px;
  top: 10px;
}

/* Fade-in for Text */
.topRight .dropdown .dropdown-menu h4,
.topRight .dropdown .dropdown-menu p,
.topRight .dropdown .dropdown-menu a {
  opacity: 0;
  transform: translateY(-5px);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

/* When Dropdown is Open, Text Appears */
.topRight .dropdown .dropdown-menu.show h4,
.topRight .dropdown .dropdown-menu.show p,
.topRight .dropdown .dropdown-menu.show a {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}

/* User Logo */
.userlogo img {
  width: 60px !important;
  height: 60px !important;
  margin-bottom: 15px !important;
  border-radius: 100%;
  object-fit: cover;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

/* Smooth Hover Effect on User Logo */
.userlogo img:hover {
  transform: scale(1.1);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

/* Dropdown Links */
.topRight .dropdown .dropdown-menu a {
  color: var(--primary-color);
  font-size: 0.857em;
  display: inline-block;
  transition: color 0.3s ease, transform 0.2s ease;
}

/* Hover Effect for Links */
.topRight .dropdown .dropdown-menu a:hover {
  color: var(--linktext-color);
  transform: translateX(5px);
}

/* Title and Paragraph */
.topRight .dropdown .dropdown-menu h4 {
  font-size: 1.286em;
  margin: 0px;
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--secondary-color);
}

.topRight .dropdown .dropdown-menu p {
  color: var(--gray1-color);
  margin: 0px;
  margin-bottom: 4px;
}

/* Email Link */
.email {
  margin-bottom: 10px;
  /* color: var(--gray1-color) !important; */
  transition: color 0.3s ease;
}

/* Hover Effect on Email */
/* .email:hover {
  color: var(--primary-color) !important;
} */

/* Logout Button */
.logout {
  background: var(--primary-color);
  color: var(--white-color) !important;
  padding: 4px 12px;
  border-radius: 30px;
  margin-top: 10px;

  border: 2px solid transparent;
  font-weight: 500;
  transition: all 0.3s ease-in-out;
}

/* Smooth Hover Effect on Logout Button */
.logout:hover {
  background: var(--white-color);
  color: var(--primary-color) !important;
  border-color: var(--primary-color);
  box-shadow: 0px 0px 10px rgba(50, 72, 156, 0.3);
}

#example_wrapper .dt-layout-row:first-child {
  display: none;
}

#data_table_wrapper table,
#example_wrapper table {
  border: 1px solid var(--gray4-color);
}

#data_table_wrapper .dt-layout-row:nth-child(3),
#example_wrapper .dt-layout-row:nth-child(3) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 15px;
}

/* #data_table_wrapper .dt-layout-row:nth-child(3) .dt-layout-end {
  order: -1;
} */
#example tr td,
tr td {
  box-shadow: none !important;
  vertical-align: middle;
  background-color: transparent !important;
  text-align: left !important;
  padding-left: 15px !important;
  color: var(--gray1-color) !important;
  font-size: 12px;
  white-space: nowrap;
}

#example tr td p {
  margin: 0px;
  width: 90%;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--gray1-color);
  font-size: 12px;
}

#example thead tr th {
  padding-top: 13px;
  padding-bottom: 13px;
  outline: 0px !important;
  padding-left: 15px;
  text-align: left;
  text-transform: uppercase;
  color: var(--gray3-color);
}

#example thead tr th span,
tr th {
  font-size: 12px;
  text-transform: uppercase;
  color: var(--gray3-color);
  white-space: nowrap;
}

tr:hover,
tr.arive-row,
.modalTable table tr:nth-child(even):hover,
table.table.dataTable > tbody > tr:hover {
  background-color: var(--row-hover) !important;
}

@media screen and (max-width: 1199px) {
  #data_table_wrapper .dt-layout-row:nth-child(3),
  #example_wrapper .dt-layout-row:nth-child(3) {
    flex-wrap: wrap;
  }

  #data_table_wrapper .dt-layout-row:nth-child(3) .dt-layout-start,
  #example_wrapper .dt-layout-row:nth-child(3) {
    margin: 10px 0 20px 12px;
  }
}

.approved {
  padding: 5px 10px;
  color: var(--badge-success-text);
  font-weight: 600;
  background: var(--badge-success-bg);
  border-radius: var(--border-radius);
  font-size: 10px;
  margin: 3px 0px;
  display: inline-flex;
  align-items: center;
}

.approved i {
  color: var(--badge-success-text);
  margin-right: 5px;
}

.rejected {
  padding: 5px 10px;
  color: var(--badge-danger-text);
  font-weight: 600;
  background: var(--badge-danger-bg);
  border-radius: var(--border-radius);
  font-size: 10px;
  margin: 3px 0px;
  display: inline-flex;
  align-items: center;
}

.rejected i {
  color: var(--badge-danger-text);
  margin-right: 5px;
}

.applied {
  padding: 5px 10px;
  color: var(--badge-info-text);
  font-weight: 600;
  background: var(--badge-info-bg);
  border-radius: var(--border-radius);
  font-size: 10px;
  margin: 3px 0px;
  display: inline-flex;
  align-items: center;
}

.applied i {
  color: var(--badge-info-text);
  margin-right: 5px;
}

.pending {
  padding: 5px 10px;
  color: #856404;
  background: #fff3cd;
  font-weight: 600;
  border-radius: var(--border-radius);
  font-size: 10px;
  margin: 3px 0;
  display: inline-block;
}

.week-off {
  padding: 5px 10px;
  color: #004085;
  background: #cce5ff;
  font-weight: 600;
  border-radius: var(--border-radius);
  font-size: 10px;
  margin: 3px 0px;
  display: inline-block;
}

.holiday {
  padding: 5px 10px;
  color: #155724;
  background: #d4edda;
  font-weight: 600;
  border-radius: var(--border-radius);
  font-size: 10px;
  margin: 3px 0px;
  display: inline-block;
}

.info {
  padding: 5px 10px;
  color: var(--badge-info-text);
  font-weight: 600;
  background: var(--badge-info-bg);
  border-radius: var(--border-radius);
  font-size: 10px;
  margin: 3px 0px;
  display: inline-flex;
  align-items: center;
}

.info i {
  color: var(--badge-info-text);
  margin-right: 5px;
}

.warning {
  padding: 5px 10px;
  color: var(--badge-warning-text);
  font-weight: 600;
  background: var(--badge-warning-bg);
  border-radius: var(--border-radius);
  font-size: 10px;
  margin: 3px 0px;
  display: inline-flex;
  align-items: center;
}

.warning i {
  margin-right: 5px;
  color: var(--badge-warning-text);
}

.cntrol a {
  display: inline-block;
  margin-right: 10px;
  color: var(--badge-primary-text);
  font-size: 1.286em;
}

.cntrol a i {
  color: var(--badge-primary-text);
  font-size: 1.286em;
}

.cntrol a:hover i {
  color: #888;
}

.dt-paging nav {
  background: var(--white-color);
}

.dt-paging nav button:first-child {
  display: none;
}

.dt-paging nav button:last-child {
  display: none;
}

.dt-paging nav button.dt-paging-button.previous {
  border: 0px;
  background: var(--white-color);
  font-size: 2.143em;
  display: inline-flex;
  margin: 0px;
  align-items: center;
  justify-content: center;
}

.dt-paging nav button {
  border: 1px solid var(--gray4-color);
  border-radius: 40px;
  background: var(--gray5-color);
  padding: 3px 4px;
  width: 30px;
  height: 30px;
  margin: 0px 5px;
  font-size: 0.857em;
}

.dt-paging nav button:hover {
  color: var(--badge-primary-text);
  background: var(--badge-primary-bg);
  border: 1px solid var(--badge-primary-text);
  box-shadow: 0px 0px 5px rgb(50 72 156 / 17%);
}

.dt-paging nav button.dt-paging-button.next {
  border: 0px;
  background: var(--white-color);
  font-size: 2.143em;
  display: inline-flex;
  margin: 0px;
  align-items: center;
  justify-content: center;
}

.dt-paging nav button.current {
  background: var(--primary-color);
  color: var(--white-color);
  border-color: var(--primary-color);
  box-shadow: 0px 0px 5px rgb(50 72 156 / 17%);
}

.dt-paging nav button.dt-paging-button.next:hover {
  background: var(--badge-primary-bg);
  color: var(--badge-primary-text);
  border-color: var(--badge-primary-bg);
}

.dt-paging nav button.dt-paging-button.previous:hover {
  background: var(--badge-primary-bg);
  color: var(--badge-primary-text);
  border-color: var(--badge-primary-bg);
}

#data_table_wrapper .dt-layout-row:nth-child(3) .dt-layout-start .dt-info,
#example_wrapper .dt-layout-row:nth-child(3) .dt-layout-start .dt-info {
  font-size: 0.857em;
  font-weight: 600;
  color: var(--badge-info-text);
}

.tableWapper h3 {
  font-size: 1.286em;
  color: var(--gray1-color);
  font-weight: 600;
}

@media screen and (max-width: 1199px) {
  .tableWapper h3 {
    font-size: 1.1em;
  }
}

.viewModal {
  width: calc(100% - 303px);
  max-width: 100%;
}

.viewModal .modal-body {
  padding: 40px;
  padding-top: 10px;
  padding-right: 60px;
  overflow-y: auto;
  /* max-height: 610px; */
  height: calc(100vh - 100px);
}

.viewModal .btn-close {
  right: 1.429em;
  position: relative;
  top: 10px;
  z-index: 1;
}

.viewModal .modal-content {
  border-radius: 0px;
  border: 0px;
}

.modalTable h2,
h2.title {
  margin: 0px;
  font-size: 1.429em;
  display: flex;
  align-items: center;
  position: relative;
  color: var(--secondary-color);
  font-weight: 600;
  margin-bottom: 15px;
}

.modalTable h2 span,
h2.title span {
  height: 19px;
  width: 4px;
  background: var(--warning-color);
  display: inline-block;
  margin-right: 6px;
  position: relative;
  top: -1px;
}

.modalTable table {
  border: 1px solid var(--gray4-color);
}

.modalTable table tr td {
  padding: 8px 15px;
  background: transparent;
}

.modalTable table tr th {
  padding: 8px 15px;
  background: transparent;
  color: var(--gray3-color);
}

.modalTable table tr:nth-child(even) {
  background-color: hsl(0deg 0% 98.82%);
}

.viewModal .modal-content .modal-header {
  border: 0px;
  padding-bottom: 0px;
}

.tiny-radio-holder .tiny-radio {
  margin-left: 12px;
}

@media screen and (max-width: 1199px) {
  .viewModal {
    width: 100%;
    max-width: 100%;
    left: -7px;
  }

  .viewModal .modal-body {
    overflow-y: auto;
    max-height: 80vh;
    padding: 22px;
    padding-right: 28px;
  }
}

@media screen and (max-width: 767px) {
  .modalTable table tr th,
  .modalTable table tr td {
    padding: 10px;
  }

  .modalTable table tr td:first-child {
    width: 58px;
    /* word-break: break-all;
  white-space: normal; */
  }

  .modalTable table tr td:nth-child(2) {
    width: 94px;
  }

  #example thead tr th {
    padding-left: 10px;
  }

  #example tr td,
  tr td {
    padding-left: 8px !important;
  }
}

.tableWapper .table-responsive {
  overflow-y: hidden;
  padding-top: 5px;
}

.topRight ul li i {
  font-size: 1.029em;
}

.topRight ul li {
  transition: 0.3s;
}

.topRight ul li:hover {
  background: var(--row-hover);
}

.modal.fade .modal-dialog.viewModal {
  transform: translate(0, 153px);
  justify-content: flex-end;
  margin-right: initial !important;
  align-items: flex-end;
}

.modal.show .modal-dialog.viewModal {
  transform: translate(0, 25px);
}

.modal.fade {
  overflow: hidden;
}

.menu-collapsed .viewModal {
  width: 100%;
}

.tableWapperHeding {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5em;
}

@media screen and (max-width: 1199px) {
  .tableWapperHeding {
    margin-bottom: 0.2em;
  }
}

@media screen and (max-width: 767px) {
  .modalTable table {
    table-layout: fixed;
  }

  .applybtm.modalTable table {
    table-layout: auto;
  }

  .modalTable table th,
  .modalTable table tr td {
    white-space: normal;
  }

  .viewModal .modal-body {
    padding-bottom: 45px;
  }

  .viewModal .modal-body .btn-wrapper .btn {
    margin-right: 5px;
  }
}

.tglFilter {
  display: inline-block;
}

.tglFilter i {
  font-size: 1.857em;
  color: var(--badge-primary-text);
}

.tglFilter img {
  width: 23px;
}

.cntrol {
  position: relative;
}

.cntrol .dropdown-menu.show {
  border: 0px;
  box-shadow: 0px 0px 5px var(--gray4-color);
}

.cntrol .dropdown-menu.show li a {
  margin: 0px;
  font-size: 0.857em;
  color: var(--gray1-color);
}

.cntrol .dropdown-menu.show li a i {
  margin-right: 5px;
  color: var(--gray1-color);
}

.cntrol .dropdown-menu.show li a:hover {
  background-color: var(--row-hover);
}

#dropdownMenuButton1 {
  position: relative;
}

#dropdownMenuButton1 i {
  position: absolute;
  right: -10px;
  bottom: 4px;
  color: var(--white-color);
}

/* Class Routne */
.tableWapperCon {
  margin: 0;
}

.schedule-container {
  position: relative;
}

.schedule-container .schedule-carousel {
  max-width: 100%;
  margin: auto;
}

.custom-navigation {
  display: flex;
  margin-bottom: 20px;
  z-index: 1000;
  position: relative;
  /* Keep it on top */
}

.custom-prev,
.custom-next {
  display: block;
  padding: 10px 15px;
  background-color: var(--white-color);
  color: var(--gray1-color);
  border-radius: var(--border-radius);
  cursor: pointer;
  font-size: 16px;
  margin-right: 10px;
  border: 1px solid var(--gray5-color);
}

.custom-prev:hover,
.custom-next:hover {
  background-color: var(--row-hover);
}

.schedule-container .day {
  background-color: var(--white-color);
  color: var(--gray1-color);
  border: 1px solid var(--gray4-color);
  border-right: 0;
  text-align: center;
  margin: 0 2px;
  border-radius: var(--border-radius);
  overflow: hidden;
}

.schedule-container p {
  margin: 0;
}

.schedule-container .day .day-top {
  padding: 5px 10px;
  border-right: 1px solid var(--gray4-color);
}

.schedule-container .day .day-top h3 {
  font-size: 1em;
  line-height: 1;
  text-transform: uppercase;
  margin-bottom: 0;
}

.schedule-container .day .day-top p {
  font-size: 0.857em;
  text-transform: uppercase;
  color: var(--gray3-color);
}

.schedule-container .day .day-top {
  transition: background-color 0.3s ease, color 0.3s ease;
}

.schedule-container .slick-current.day .day-top {
  background-color: var(--primary-color);
  color: var(--white-color);
}

.schedule-container .slick-current.day .day-top h3 {
  color: var(--white-color);
}

.schedule-container .slick-current.day .day-top p {
  color: var(--white-color);
}

.schedule-container .class-details {
  padding: 10px;
  border-top: 1px solid var(--gray4-color);
  border-right: 1px solid var(--gray4-color);
}

.schedule-container .slick-current.day {
  background-color: hsl(0deg 0% 98.82%);
}

.schedule-container .class-details p {
  margin: 2px 0;
  font-size: 0.857em;
}

.schedule-container .time {
  font-size: 1rem;
  color: var(--gray1-color);
  font-weight: bold;
  margin: 0;
}

.schedule-container .sem {
  display: inline-block;
  padding: 5px 10px;
  color: var(--badge-info-text);
  font-weight: 600;
  background-color: var(--badge-info-bg);
  border: 1px solid var(--badge-info-text);
  border-radius: var(--border-radius);
  font-size: 10px !important;
  margin: 3px 0px;
  display: inline-block;
}

.schedule-container .program {
  font-style: italic;
}

.schedule-container .location {
  color: var(--gray3-color);
}

.schedule-container .class-details .active {
  background-color: var(--badge-primary-bg);
}

.schedule-container .class-details.active p {
  color: var(--badge-primary-text);
}

.schedule-container .class-details .active .sem {
  background-color: var(--badge-primary-bg);
  color: var(--badge-primary-text);
  border: 1px solid var(--badge-primary-text);
}

.schedule-container .class-details .active2 {
  background-color: var(--badge-info-bg);
}

.schedule-container .class-details.active p {
  color: var(--badge-primary-text);
}

.schedule-container .class-details .active2 .sem {
  background-color: var(--badge-primary-bg);
  color: var(--badge-primary-text);
  border: 1px solid var(--badge-primary-text);
}

/* Apply Lwave */
.applytop {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.leave-num {
  display: flex;
}

.leave-num > span {
  margin-right: 10px;
  min-width: 40px;
  text-align: center;
}

.applyBtn span {
  color: var(--white-color);
}

@media screen and (max-width: 767px) {
  .applyBtn {
    width: 42px;
    min-width: auto;
    border-radius: 100%;
  }

  .applyBtn span {
    display: none;
  }

  .applyCol {
    margin-top: 25px;
  }

  .leave-num > span {
    margin-right: 9px;
    min-width: 30px;
    text-align: center;
  }
}

.mt-4 {
  margin-top: 1rem !important;
}

.card {
  border: none;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  background: #fff;
}

.expad1 {
  padding: 40px !important;
}

@media screen and (max-width: 767px) {
  .expad1 {
    padding: 25px !important;
  }
}

.idnicator {
  display: flex;
  align-items: center;
}

.idnicator li {
  margin-right: 25px;
}

.idnicator li span {
  width: 12px;
  height: 12px;
  display: inline-block;
  border: 1px solid var(--gray4-color);
}

.idnicator li.consumed span {
  background: var(--badge-info-bg);
}

.idnicator li.available span {
  background: var(--badge-warning-bg);
}

.dropdown-badge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 15px;
}

.loader-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(255, 255, 255, 0.9);
  z-index: 1050000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

/* Login Page */
.login-wrapper {
  background: url(../images/login-bg.jpg) no-repeat 0 0;
  width: 100vw;
  height: 100vh;
  padding: 0;
  margin: 0;
  background-size: cover;
}

.login-wrapper .login-inner {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.login {
  padding: 40px;
  width: 420px;
}

.login-wrapper .card {
  -webkit-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.29);
  -moz-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.29);
  box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.29);
}

.form-top {
  margin-bottom: 30px;
  display: flex;
  justify-content: center;
}

.links {
  margin-top: 15px;
  margin-bottom: 15px;
  text-align: center;
}

.links a {
  font-size: 0.857em;
  text-decoration: none;
  color: var(--primary-color);
}

.links a:hover {
  color: var(--linktext-color);
}

.login a:visited {
  color: inherit;
}

.form-copyeight {
  display: flex;
  justify-content: space-between;
}

.form-copyeight p {
  font-size: 10px;
  color: var(--gray1-color);
  opacity: 50%;
  margin: 0;
}

.form-copyeight p span {
  display: block;
  font-size: 10px;
}

.form-copyeight .leftta {
  width: 40%;
}

.form-copyeight .leftta img {
  width: 90%;
}

.form-copyeight .righta {
  width: 60%;
  display: flex;
  justify-content: flex-end;
  text-align: right;
}

.form-copyeight .righta p {
  padding-top: 20px;
}

@media screen and (max-width: 767px) {
  .login-wrapper .login-inner {
    height: 100dvh;
  }
}

/*11/04/2025/ */
.shiftItem {
  padding: 30px;
  box-shadow: 0px 0px 5px rgb(0 0 0 / 33%);
  border-radius: 10px;
  background: #fff;
  margin-bottom: 30px;
}

.flxflot .form-floating {
  width: 39% !important;
}

.shiftItem h2 {
  margin: 0px;
  font-size: 1.286em;
  color: var(--gray1-color);
  font-weight: 600;
  margin-bottom: 15px;
}

.shiftItem p {
  font-size: 13px;
  color: #333;
  font-weight: 500;
  margin-bottom: 5px;
}

.shiftItem p span {
  color: #888;
}

.formInstruction {
  padding: 30px;
  box-shadow: 0px 0px 5px rgb(0 0 0 / 33%);
  border-radius: 10px;
  background: var(--badge-warning-bg);
  margin-bottom: 30px;
}

.formInstruction p {
  font-size: 10px;
  font-weight: 600;
  line-height: 14px;
}

.precessBar {
  text-align: center;
}

.precessBar .precessBarIner {
  height: 10px;
  width: 100%;
  background: #ff9800;
  border-radius: 20px;
  text-align: center;
  position: relative;
}

.precessBar .precessBarIner span {
  height: 10px;
  display: inline-block;
  width: 50px;
  background: #ccc;
  top: 0px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.precessBar .precessBarIner b {
  color: #333;
}

.precessBar .precessBarIner b small {
  font-size: 100%;
  color: #888;
  font-weight: 400;
}

.shiftItemLeftInner {
  display: flex;
}

.shiftItemLeftInner i {
  font-size: 48px;
  color: rgb(136 136 136 / 55%);
  line-height: normal;
}

.shiftItemLeftInner p {
  margin: 0px;
  color: var(--primary-color);
  font-size: 47px;
  font-weight: 800;
  line-height: normal;
  margin-left: 20px;
}

.shiftItemLeftInner p span {
  color: #888;
  font-weight: 600;
  font-size: 22px;
}

.listabsnt {
  width: 100%;
  height: 94px;
  border-radius: 10px;
  overflow: hidden;
  background: rgb(247 193 113 / 38%);
  padding: 10px;
}

.listabsnt p {
  color: #333;
  font-size: 12px;
  margin: 0px;
  margin-bottom: 1px;
}

.listabsntInner {
  width: 100%;
  height: 100%;
  overflow: auto;
}

.shiftItemFlx {
  display: flex;
  gap: 20px;
  align-items: center;
}

.shiftItemLeft {
  width: 40%;
}

.shiftItemRight span {
  text-transform: uppercase;
  color: #504b4b;
  font-weight: 600;
  transform: rotate(-90deg);
  display: inline-block;
  left: -40px;
  position: absolute;
  top: 37px;
  font-size: 16px;
}

.shiftItemRight {
  width: 50%;
  position: relative;
  padding-left: 20px;
}

.absentSec {
  font-size: 36px;

  cursor: pointer;
  display: inline-block;
}

.absentSec i {
  font-size: 36px;
  color: var(--primary-color);
  transition: 0.3s;
}

.absentSec:hover i {
  color: #333;
}

.listabsntInner::-webkit-scrollbar {
  width: 8px;
  border-radius: 20px;
}

.listabsntInner::-webkit-scrollbar-thumb {
  width: 8px;
  border-radius: 20px;
  background: #ccc;
}

.searchFld {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 500px;
  max-width: 100%;
}

.mngbtn40 {
  margin-bottom: 40px !important;
}

.searchFld .form-floating {
  width: calc(100% - 140px);
}

.userAvtar {
  width: 30px;
  height: 30px;
  overflow: hidden;
  border-radius: 100%;
  border: 1px solid #ccc;
}

.userAvtar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.absentTable table {
  border: 1px solid #ccc;
  margin-top: 30px;
}

.absentTable table thead th {
  color: var(--gray2-color);
  padding: 15px 15px;
}

.absentTable .table-responsive {
  height: calc(100vh - 281px);
}

.dttdncFrm .form-floating {
  margin-bottom: 25px !important;
}

.dttdncFrm .form-floating label span {
  color: var(--error-color);
}

.cntrol a[disabled] {
  pointer-events: none;
  opacity: 0.8;
}

.cntrol a[disabled] i {
  pointer-events: none;
  color: var(--gray4-color);
}

@media screen and (max-width: 767px) {
  .login {
    padding: 20px 30px;
    width: 90%;
    max-width: 480px;
  }

  .form-copyeight .righta p {
    padding-top: 5px;
  }
}

@media screen and (max-width: 512px) {
  .login-wrapper {
    background: url(../images/login-bg.jpg) no-repeat 70% 0;
  }

  .shiftItem {
    padding: 25px;
  }

  .shiftItem h2 {
    margin-bottom: 5px;
    font-size: 1.126em;
  }

  .shiftItemLeftInner p {
    font-size: 30px;
    margin-left: 10px;
  }

  .shiftItemLeftInner i {
    font-size: 30px;
  }

  .shiftItemRight span {
    font-size: 14px;
  }

  .flxflot .form-floating {
    width: 48% !important;
  }

  .mngbtn40 {
    margin-bottom: 20px !important;
  }

  .shiftItemFlx {
    flex-wrap: wrap;
    gap: 0px;
  }

  .shiftItemLeft {
    width: 100%;
  }

  .listabsnt {
    width: 100%;
  }

  .shiftItemRight {
    width: 100%;
    margin: 10px 0px;
  }

  .formInstruction {
    padding: 25px;
    margin-bottom: 0;
    margin-top: 25px;
  }
}

/* Inbox css 18-04-25*/
.policy-slider {
  display: flex;
}

.policy-slider .newlink {
  display: inline-block;
  padding: 12px 20px;
  border: 1px solid #ccc;
  border-radius: 30px;
  margin-right: 10px;
  background-color: white;
  color: var(--gray2-color);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.3s ease;
}

.policy-slider .newlink.active {
  background-color: var(--primary-color);
  color: var(--white-color);
  border-color: var(--primary-color);
}

.policy-slider .newlink:hover {
  background-color: #1a237e !important;
  border-color: #1a237e !important;
  color: var(--white-color);
}

.policy-slider .slick-slide {
  display: inline-block !important;
  float: none;
}

.policy-slider span.num {
  padding: 5px 10px;
  color: var(--badge-info-text);
  font-weight: 600;
  background: var(--badge-info-bg);
  border-radius: var(--border-radius);
  font-size: 10px;
  margin-left: 10px;
}

.policy-slider .slick-list {
  width: calc(100% - 100px);
  margin: 0 10px;
  padding: 0 0 5px 0;
}

.policy-slider .slick-prev,
.policy-slider .slick-next {
  display: block;
  padding: 10px 15px;
  background-color: var(--white-color);
  color: var(--gray1-color);
  border-radius: var(--border-radius);
  cursor: pointer;
  font-size: 16px;
  border: 1px solid var(--gray5-color);
  height: 46px;
}

.policy-slider .slick-prev:hover,
.policy-slider .slick-next:hover {
  background-color: var(--row-hover);
}

@media screen and (max-width: 768px) {
  .policy-slider .slick-list {
    margin: 0;
  }

  .policy-slider .slick-prev,
  .policy-slider .slick-next {
    display: none !important;
  }

  .policy-slider .slick-list {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .policy-slider .tab {
    display: inline-block;
    padding: 10px 14px;
    font-size: 12px;
  }
}

.takeContol {
  font-size: 12px !important;
}
.leave-container .action-tabs {
  display: flex;
  border-bottom: 1px solid var(--gray5-color);
}
.leave-container .action-tabs .action-link.active {
  color: var(--white-color);
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.leave-container .action-tabs .action-link {
  color: var(--primary-color);
  padding: 0.6rem 1rem 0.4rem;
  border-radius: 5px 5px 0 0;
}

.with-line {
  border-bottom: 1px solid var(--badge-secondary-text);
  padding-bottom: 16px;
}

.font-3 {
  font-size: 14px;
  font-weight: 600;
}

.light-text {
  color: var(--gray3-color);
  font-size: 12px;
}

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

.status-area {
  display: flex;
  height: 150px;
}

.status-area .form-floating > .form-control {
  border-radius: 6px 0 0px 6px;
}

.status-area .xstatus-dropdown {
  position: relative;
  width: 150px;
  display: block;
}

.status-area .xstatus-btn {
  border-radius: 0 6px 6px 0;
  width: 100%;
  cursor: pointer;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  color: var(--white-color);
  position: relative;
  overflow: hidden;
  font-weight: 600;
  padding: 8px 22px;
  height: 40px;
  transition: background-color 0.3s ease;
  border: 0;
}

.status-area .xstatus-btn:hover {
  background-color: #1a237e;
  border-color: #1a237e;
  -webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14),
    0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12),
    0 3px 1px -1px rgba(0, 0, 0, 0.2);
}

.status-area .xstatus-btn span {
  color: var(--white-color);
}

.status-area .xstatus-arrow {
  font-size: 12px;
  color: var(--white-color);
}
@media screen and (max-width: 1280px) {
  .status-area .xstatus-arrow {
    position: absolute;
    right: 10px;
    top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .status-area .xstatus-arrow {
    right: 10px;
  }
}
.status-area .xstatus-btn.xstatus-btn-success {
  background-color: #a7e8b1;
  border-color: #a7e8b1;
}
.status-area .xstatus-btn.xstatus-btn-success span {
  color: #2c7a4b;
}

.status-area .xstatus-btn.xstatus-btn-danger {
  background-color: #f5a8a8;
  border-color: #f5a8a8;
}
.status-area .xstatus-btn.xstatus-btn-danger span {
  color: var(--white-color);
}

.status-area .xstatus-btn.xstatus-btn-secondary {
  background-color: #6c757d;
  border-color: #6c757d;
}
.status-area .xstatus-btn.xstatus-btn-secondary span {
  color: var(--white-color);
}

.status-area .xstatus-menu {
  position: absolute;
  top: 36px;
  left: 0;
  z-index: 1;
  display: none;
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  background-color: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  width: 100%;
}

.status-area .xstatus-menu li {
  width: 100%;
}

.status-area .xstatus-item {
  display: block;
  padding: 8px 16px;
  text-decoration: none;
  color: black;
}

.status-area .xstatus-item:hover {
  background-color: #f0f0f0;
}

.ellipsis-wrap {
  max-width: 150px;
  /* adjust as needed */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 12px;
}

table.table.dataTableST .small-col {
  width: 95px !important;
  max-width: 95px;
  white-space: nowrap;
}

.dataTableST .small-col .tiny-checkbox {
  margin-left: 14px;
}

.dataTableST .action-col {
  width: 95px !important;
  max-width: 95px;
  white-space: nowrap;
}

.dataTableST .action-col .cntrol {
  /* text-align: center !important; */
  margin-left: 14px;
}
