body, html, input, button, select, textarea, span, div, p, a, h1, h2, h3, h4, h5, h6 {
  font-family: 'Roboto', sans-serif !important;
}

/* CUSTOM DROPDOWN */
.dropdown-content {
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* .dropdown-wrapper {
  z-index: 999;
} */

.dropdown-wrapper:hover .dropdown-content {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* KANBAN BORDER ON HOVER */

.kanban-block {
  border: 2px solid transparent;
}

.kanban-block.highlight {
  border: 2px dashed #4a90e2;
}

/* SIDEBAR  */

.sidebarModal {
  width: 350px;
  max-width: calc(100% - 1rem);
  height: calc(-2rem + 100vh);
  position: fixed;
  z-index: 999;
  border-radius: 1rem;
  top: 1rem;
  right: 1rem;
  background-color: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(2px);
  padding: 1rem;
  transform: translateX(calc(100% + 1rem));
  transition: 0.3s;
}

.sidebarModal.active {
  transform: translateX(0px);
  box-shadow: rgba(0, 0, 0, 0.1) -15px 5px 20px;
}

@media (max-width: 575px) {
  .sidebarModal {
    width: 300px;
  }
}

/* LIST DESIGN */
.list-checked {
  display: flex;
  flex-flow: column;
}

.list-checked li {
  margin: 5px 0;
  position: relative;
  padding-left: 20px;
}

.list-checked li:before {
  content: "\f058";
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  font-size: 12px;
  color: #1E88E5;
  position: absolute;
  left: 0;
}

.sidebar {
  width: 75px;
  display: flex;
  flex-flow: column;
  align-items: center;
  padding: 15px;
}

.sidebox {
  opacity: 0;
  transition: 0.3s;
  top: 0;
  height: 100vh;
  top: 75px;
  visibility: hidden;
  font-size: 0.85rem;
}

.sideboxmain:hover .sidebox {
  opacity: 1;
  visibility: visible;
  background: rgb(255 255 255 / 95%);
  backdrop-filter: blur(3px);
}

.sideboxmain {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  padding: 5px;
  border-radius: 50%;
  background-color: #0000000e;
  transition: 0.3s;
}

.sideboxmain:hover {
  background-color: #1E88E5;
}

.sideboxmain:hover img {
  filter: brightness(0) invert(1);
}

.sideboxmain.active {
  background-color: #1E88E5;
}

.sideboxmain img {
  width: 20px;
}

.sideboxmain.active img {
  filter: brightness(0) invert(1);
}

.sidebox ul li {
  border-bottom: 1px solid #0000000c;
  padding-bottom: 6px;
  margin-bottom: 6px;
}

.sidebox ul li a {
  transition: 0.3s;
  display: flex;
  font-size: 13px;
  padding: 6px 10px;
  border-radius: 5px;
  position: relative;
  transition: 0.3s;
  overflow: hidden;
}

.sidebox ul li a:after {
  content: "";
  position: absolute;
  width: 2px;
  height: 100%;
  background-color: #1E88E5;
  opacity: 0;
  inset: 0;
  right: 0;
  left: auto;
  transition: 0.3s;
}

.sidebox ul li a:hover {
  background: rgb(30 136 229 / 10%);
  color: #1E88E5;
  /* border-right: 2px solid #1E88E5; */
}

.sidebox ul li a:hover:after,
.sidebox ul li a.active:after {
  opacity: 1;
}

.sidebox ul li a.active {
  background: rgb(30 136 229 / 10%);
  color: #1E88E5;
}

.breadcrumb {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  font-size: 13px !important;
  color: #64748B !important; /* Slate-500 */
  font-family: 'Roboto', sans-serif !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .breadcrumb {
    row-gap: 0;
  }
}

.breadcrumb li {
  display: inline-flex !important;
  align-items: center !important;
  position: relative;
}

.breadcrumb li:not(:last-child):before {
  display: none !important;
}

.breadcrumb li:not(:last-child)::after {
  content: "/" !important;
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
  color: #94A3B8 !important; /* Slate-400 */
  font-weight: 300 !important;
}

.breadcrumb li:last-child {
  color: #0F172A !important; /* Slate-900 active state */
  font-weight: 500 !important;
}

.breadcrumb li a {
  color: #64748B !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.breadcrumb li a:hover {
  color: #1E88E5 !important;
}

.stickyleft {
  position: sticky;
  left: 0;
  background-color: white;
}

.stickyleft-second {
  position: sticky;
  left: 38px;
  background-color: white;
}

.stickyright {
  position: sticky;
  right: 0;
  background-color: white;
}

/* CHECK IN OUT */
.check {
  padding: 8px 20px;
  border-radius: 5px;
  position: relative;
  font-size: 0.9rem;
  font-weight: 500;
  overflow: hidden;
  width: 135px;
  height: 38px;
}

.check.checkin {
  color: #15ca0c;
  background: rgb(33 209 23 / 10%);
}

.check.checkout {
  color: #e9910d;
  background: rgb(233 145 13 / 10%);
}

.check .date,
.check .con {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

.check .date {
  opacity: 1;
  z-index: 1;
}

.check .con {
  opacity: 0;
  z-index: 2;
}

/* On hover: show .con, hide .date */
.check:hover .date {
  opacity: 0;
}

.check:hover .con {
  opacity: 1;
}

@media (max-width: 991px) {
  .check {
    display: none;
  }
}

/* FORM DESIGN */
.myform input,
.myform select,
.myform textarea {
  padding: 0.5rem;
  border-radius: 5px;
  width: 100%;
  font-size: 0.75rem;
  border: 1px solid #e6e6e6;
  transition: 0.3s;
}

.myform input:focus,
.myform select:focus,
.myform textarea:focus {
  outline: unset;
  border: 1px solid #1E88E5;
}

.myform label {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 600;
}

.btn {
  background: #1E88E5;
  color: white;
  font-size: 13px;
  min-width: max-content;
  padding: 3px 15px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  transition: 0.3s;
}

.btn:hover {
  background: #5755e7;
}

/* TOGGLE BUTTON */
.toggle-label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  gap: 10px;
}

.toggle-input {
  display: none;
}

.toggle-switch {
  position: relative;
  width: 36px;
  height: 20px;
  background-color: #aeaeb2;
  border-radius: 9999px;
  transition: background-color 0.3s;
}

.toggle-switch::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  background-color: white;
  border-radius: 50%;
  transition: transform 0.3s;
}

/* When checked */
.toggle-input:checked+.toggle-switch {
  background-color: #1E88E5;
}

.toggle-input:checked+.toggle-switch::after {
  transform: translateX(16px);
}

/* MULTI SELECT */
.select2-container--default .select2-selection--multiple {
  border: 1px solid #e7e7e7;
}

.select2-container--default .select2-selection--multiple:focus {
  outline: unset;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
  font-size: 10px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #1E88E5;
  color: white;
  border: unset;
  height: 23px;
}

.select2-container .select2-selection--multiple .select2-selection__rendered {
  line-height: 18px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  border-right: 1px solid #ffffff57;
  color: white;
  font-size: 10px;
  height: 100%;
}

.select2-results__option {
  font-size: 12px;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #fff5f1;
  color: #1E88E5;
}

.select2-container--default .select2-results__option--selected {
  background-color: #fff5f1;
  color: #1E88E5;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid #e7e7e7 1px;
  outline: 0;
}

.select2-container .select2-search--inline .select2-search__field {
  height: 25px;
}

.select2-dropdown {
  border: 1px solid #e7e7e7;
}

/* .select2-container {
  width: 100% ;
} */

.userbox {
  border: 1px solid #ebebeb;
  transition: 0.3s;
}

.userbox.active,
.userbox:hover {
  border: 1px solid #1E88E5;
}

.userlist {
  display: flex;
}

/* .userlist li span {
  display: flex;
  width: 30px;
  height: 30px;
  background-color: white;
  border-radius: 50%;
  padding: 2px;
  align-items: center;
  justify-content: center;
}
.userlist li span img {
  width: 100%;
}
.userlist li:nth-child(2) {
  margin-left: -10px;
}
.userlist li:nth-child(3) {
  margin-left: -10px;
}
.userlist li:nth-child(4) {
  margin-left: -10px;
}
.userlist li:nth-child(4) span {
  border: 3px solid white;
  background-color: #dbdbdb;
  font-size: 12px;
} */
.userlist li span {
  display: flex;
  width: 30px;
  height: 30px;
  background-color: white;
  border-radius: 50%;
  padding: 2px;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  cursor: pointer;
}

.userlist li span img {
  width: 100%;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.userlist li span a {
  display: block;
  width: 100%;
  height: 100%;
}

.userlist li:not(:first-child) {
  margin-left: -10px;
}

.userlist li:last-child span {
  border: 3px solid white;
  background-color: #dbdbdb;
  font-size: 12px;
  color: #666;
}

.userlist li:hover span {
  transform: translateY(-5px) scale(1.1);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
  z-index: 10;
  position: relative;
}

.userlist li:hover span img {
  transform: scale(1.05);
}

.userlist li:not(:hover) span {
  transform: translateY(0) scale(1);
}

.usertablist {
  display: flex;
  flex-flow: wrap;
  gap: 10px;
}

.usertablist li button {
  border: 1px solid #e7e7e7;
  padding: 5px 15px;
  border-radius: 5px;
  font-size: 0.8rem;
  transition: 0.3s;
  color: #333;
}

.usertablist li button.active,
.usertablist li button:hover {
  background-color: #1E88E5;
  border: 1px solid #1E88E5;
  color: white;
}

/* TAB DESIGN */

.mytab {
  border: 1px solid #1E88E5;
  border-radius: 50px;
  overflow: hidden;
  padding: 5px;
  background-color: white;
  z-index: 9;
}

.mytab .tab-button.active {
  color: white;
  background: #1E88E5;
  border-radius: 50px;
}

/* FOLDING KANBAN */
.compact {
  width: max-content !important;
}

.compact .task-card {
  display: none;
}

.compact .kanban-head {
  height: 100%;
  display: flex;
  align-items: flex-start;
  flex-flow: column;
  width: 50px;
}

.compact h5 {
  transform: rotate(90deg) translateX(0);
  transform-origin: top left;
  position: absolute;
  top: 0;
  left: 40px;
  width: max-content;
}

.compact-mode {
  display: flex !important;
}

.compact-mode> :not(.kanban-block.compact) {
  width: 300px;
}

.compact .collapse-content,
.compact .fa-square-plus,
.compact .fa-square-plus,
.compact .fa-ellipsis-vertical {
  display: none;
}

@media (max-width: 767px) {
  .compact-mode {
    /* display: flow !important; */
    flex-flow: wrap;
  }
}

.btn-com {
  padding: 5px 15px;
  font-size: 13px;
  border-radius: 5px;
  width: max-content;
  transition: 0.3s;
}

.btn-com.clr1 {
  border: 1px solid #d71d00;
  color: #d71d00;
}

.btn-com.clr2 {
  border: 1px solid #ffa800;
  color: #ffa800;
}

.btn-com.clr3 {
  border: 1px solid #0e79dc;
  color: #0e79dc;
}

.btn-com.clr4 {
  border: 1px solid #00c490;
  color: #00c490;
}

.btn-com.clr5 {
  border: 1px solid #00d319;
  color: #00d319;
}

.btn-com.clr1:hover,
.btn-com.clr2:hover,
.btn-com.clr3:hover,
.btn-com.clr4:hover,
.btn-com.clr5:hover {
  color: white;
}

.btn-com.clr1:hover {
  background-color: #d71d00;
}

.btn-com.clr2:hover {
  background-color: #ffa800;
}

.btn-com.clr3:hover {
  background-color: #0e79dc;
}

.btn-com.clr4:hover {
  background-color: #00c490;
}

.btn-com.clr5:hover {
  background-color: #00d319;
}

.btn-square {
  padding: 10px;
  border-radius: 3px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}

.btn-square:hover {
  color: white;
}

.btn-square1:hover {
  background-color: #00c700;
}

.btn-square2:hover {
  background-color: red;
}

.btn-square3:hover {
  background-color: #001affd5;
}

/* SELECT DROPDOWN */
.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  height: 35px;
  display: flex;
  align-items: center;
  font-size: 13px;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #e6e6e6;
  border-radius: 3px;
  padding: 3px 8px;
  font-size: 13px;
  outline: unset;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 4px;
}

.select2-dropdown {
  box-shadow: 0 5px 7px 1px #00000014;
}

.sidebar-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.date-list li {
  position: relative;
  padding-left: 20px;
  font-size: 13px;
  color: #666;
}

.date-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 10px;
  height: 10px;
  bottom: 0;
  margin: auto;
  border-radius: 50%;
}

/*
.date-list li:nth-child(1)::before {
  background-color: #00c490;
}
.date-list li:nth-child(2)::before {
  background-color: #0e79dc;
}
.date-list li:nth-child(3)::before {
  background-color: #ee1b18;
}
.date-list li:nth-child(4)::before {
  background-color: #fe8a3d;
}
.date-list li:nth-child(5)::before {
  background-color: #fec53d;
}
.date-list li:nth-child(6)::before {
  background-color: #ee1b18;
} */

.datebox {
  color: white;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 500;
  margin: auto;
}

/* .datebox.box1 {
  background-color: #00c490;
}
.datebox.box2 {
  background-color: #ee1b18;
}
.datebox.box3 {
  background-color: #0e79dc;
}
.datebox.box4 {
  background-color: #fec53d;
}
.datebox.box5 {
  background-color: #fe8a3d;
} */
.date-list li:nth-child(1)::before {
  background-color: #00c490;
}

.date-list li:nth-child(2)::before {
  background-color: #808080;
}

.date-list li:nth-child(3)::before {
  background-color: #fec53d;
}

.date-list li:nth-child(4)::before {
  background-color: #a8b1ff;
}

.date-list li:nth-child(5)::before {
  background-color: #fe8a3d;
}

.date-list li:nth-child(6)::before {
  background-color: #ee1b18;
}

.datebox {
  color: white;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 500;
  margin: auto;
}

.datebox.present {
  background-color: #00c490;
}

.datebox.conflict {
  background-color: #ee1b18;
}

.datebox.absent {
  background-color: #a8b1ff;
}

.datebox.half-day {
  background-color: #fec53d;
}

.datebox.leave-present {
  background-color: #fe8a3d;
}

.datebox.leave {
  background-color: #808080;
}

.date-table thead tr th:first-child {
  border-top-left-radius: 10px;
}

.date-table thead tr th:last-child {
  border-top-right-radius: 10px;
}

.holiday {
  background: #ecf3fb;
}

input[type="radio"].red-radio {
  appearance: none;
  -webkit-appearance: none;
  width: 1rem;
  height: 1rem;
  border-radius: 9999px;
  background-color: #e9edf7;
  border: 2px solid #ccc;
  position: relative;
  cursor: pointer;
  transition: 0.2s;
}

input[type="radio"].red-radio:checked {
  border-color: #1E88E5;
  background-color: #1E88E5;
}

input[type="radio"].red-radio:checked::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 3px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: white;
}

input[type="checkbox"].custom-checkbox {
  appearance: none;
  -webkit-appearance: none;
  width: 1rem;
  height: 1rem;
  background-color: #e9edf7;
  border: 2px solid #ccc;
  border-radius: 0.25rem;
  position: relative;
  cursor: pointer;
  transition: 0.2s;
}

table input[type="checkbox"] {
  margin-top: 8px;
}

input[type="checkbox"].custom-checkbox:checked {
  background-color: #1E88E5;
  border-color: #1E88E5;
}

input[type="checkbox"].custom-checkbox:checked::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 0px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

input[type="checkbox"].custom-checkbox:hover {
  border-color: #1E88E5;
}

.tooltip {
  position: relative;
}

.tooltip .tooltiptext {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -30px;
  background: black;
  border-radius: 3px;
  font-size: 10px;
  padding: 3px 5px;
  opacity: 0;
  transition: 0.3s;
  width: max-content;
}

.tooltip:hover .tooltiptext {
  opacity: 1;
}

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

.progress li {
  position: relative;
  width: 50%;
}

.progress li .sec::before {
  content: "";
  position: absolute;
  height: 4px;
  width: 100%;
  background-color: #ffe5e1;
  left: 0;
  top: 15px;
  bottom: 0;
}

.progress li.active .sec::before {
  background-color: #1E88E5;
}

.progress li span {
  position: relative;
  z-index: 1;
}

.progress li:nth-child(2),
.progress li:nth-child(3) {
  display: flex;
  justify-content: center;
}

.progress li:nth-child(4) {
  display: flex;
  justify-content: flex-end;
  width: 30%;
}

.progress li:nth-child(1) {
  width: 30%;
}

/* .select2-container--default {
  padding-bottom: 0.75rem;
} */
#accordionToggle:focus-visible {
  outline: none;
}

.btn-square.disable {
  background: #ededed;
  color: #a9a9a9;
  cursor: no-drop;
}

/* .bg-primary-900 {
  background-color: #672419;
}
.bg-primary-800 {
  background-color: #AC3B2A;
}
.bg-primary-700 {
  background-color: #ce4732;
}
.bg-primary-600 {
  background-color: #1E88E5;
}
.bg-primary-500 {
  background-color: #F7C8C1;
}
.bg-primary-400 {
  background-color: #FBE5E1;
}
.bg-primary-300 {
  background-color: #FCEDEB;
}
.bg-primary-200 {
  background-color: #FEF6F5;
}
.bg-primary-100 {
  background-color: #FFF5F1;
}
.bg-primary-50 {
  background-color: #f6f6f6;
}
.text-primary-600 {
  color: #1E88E5;
} */
.dropdown-wrapper:focus-within .dropdown-content {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.sha {
  position: relative;
}

.sha::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: linear-gradient(360deg, #ffffff, transparent);
}

/* 2. Sidebar Collapse & Accordion Styles */
#sidebar-container {
  width: 72px;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

body.sidebar-expanded-layout #sidebar-container {
  width: 240px;
}

/* Header logo and toggle caret */
.sidebar-header {
  transition: padding 0.3s ease;
  justify-content: center !important;
  padding: 0 !important;
}

body.sidebar-expanded-layout .sidebar-header {
  justify-content: flex-start !important;
  padding: 0 4px !important;
}

#sidebar-container .brand-name {
  opacity: 0;
  width: 0;
  overflow: hidden;
  transition: opacity 0.2s ease, width 0.2s ease;
  white-space: nowrap;
}
body.sidebar-expanded-layout #sidebar-container .brand-name {
  opacity: 1;
  width: auto;
}

#sidebar-toggle-btn {
  position: absolute !important;
  right: -12px !important;
  top: 24px !important;
  background-color: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
  border-radius: 50% !important;
  width: 24px !important;
  height: 24px !important;
  z-index: 100 !important;
  cursor: pointer !important;
  outline: none !important;
}

/* Menu links and states */
.sideboxmain {
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  gap: 0 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0.25rem auto !important;
  text-decoration: none !important;
  overflow: hidden !important;
}

.oh-sidebar__menu-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

body.sidebar-expanded-layout .oh-sidebar__menu-item {
  align-items: stretch !important;
}

body.sidebar-expanded-layout .sideboxmain {
  width: 100% !important;
  justify-content: flex-start !important;
  padding: 10px 14px !important;
  gap: 12px !important;
  border-radius: 12px !important;
  margin: 0.25rem 0 !important;
}

.sideboxmain span.menu-text {
  font-size: 14px !important;
  opacity: 0;
  width: 0;
  display: none;
  white-space: nowrap;
}

body.sidebar-expanded-layout .sideboxmain span.menu-text {
  opacity: 1;
  width: auto;
  display: inline-block;
}

.sideboxmain .caret-icon {
  opacity: 0;
  display: none;
}

body.sidebar-expanded-layout .sideboxmain .caret-icon {
  opacity: 1;
  display: inline-block;
}

/* Submenu Accordion Layout */
.oh-sidebar__submenu {
  transition: max-height 0.3s ease;
}

/* Retracted state submenu drawer overrides */
body:not(.sidebar-expanded-layout) .oh-sidebar__submenu {
  display: none !important;
}

body:not(.sidebar-expanded-layout) .sideboxmain:hover .sidebox {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Hide hover popover drawer in expanded state */
body.sidebar-expanded-layout .sidebox {
  display: none !important;
}

/* Main Content wrapper transition */
.main-content-wrapper {
  margin-left: 72px !important;
  transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
html.sidebar-expanded-layout .main-content-wrapper,
body.sidebar-expanded-layout .main-content-wrapper {
  margin-left: 240px !important;
}

/* Header transition and layout offset */
#header-nav {
  left: 72px !important;
  width: calc(100% - 72px) !important;
  transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
html.sidebar-expanded-layout #header-nav,
body.sidebar-expanded-layout #header-nav {
  left: 240px !important;
  width: calc(100% - 240px) !important;
}

/* Lucide Icons support */
.sideboxmain i.lucide,
.sideboxmain [data-lucide] {
  width: 18px !important;
  height: 18px !important;
  color: #475569 !important;
  transition: all 0.25s ease !important;
}

.sideboxmain:hover i.lucide,
.sideboxmain:hover [data-lucide],
.sideboxmain.active i.lucide,
.sideboxmain.active [data-lucide] {
  color: #FFFFFF !important;
}

.sideboxmain.active span.menu-text,
.sideboxmain.active .caret-icon {
  color: #FFFFFF !important;
}

.oh-sidebar__submenu a.active-submenu {
  color: #1E88E5 !important;
  background-color: #EFF6FF !important;
  font-weight: 600 !important;
}

/* Main content background override */
.main-content-wrapper > div {
  background-color: #F5F6FA !important;
}

/* 3. Modern Card Design Overhaul */
.shadow-card {
  border-radius: 20px !important;
  box-shadow: 0px 8px 24px rgba(149, 157, 165, 0.04) !important;
  border: 1px solid #E2E8F0 !important;
  background-color: #FFFFFF !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.shadow-card:hover {
  box-shadow: 0px 12px 32px rgba(149, 157, 165, 0.08) !important;
}

/* Metric card layout (top-row flex layout) */
.shadow-card .flex.items-center.gap-4 {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
}

/* Icon container custom rounded box */
.shadow-card .flex.items-center.gap-4 > div:first-child {
  border-radius: 16px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  flex-shrink: 0 !important;
}

/* Typography styles matching the departments template */
.shadow-card p.text-sm {
  color: #64748B !important; /* Slate-500 */
  font-weight: 500 !important;
  font-size: 14px !important;
  margin-bottom: 2px !important;
  line-height: 1.25 !important;
}

.shadow-card p.text-xl {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #0F172A !important; /* Dark Slate-900 */
  line-height: 1.2 !important;
  margin-top: 4px !important;
}

/* 4. Global Cards & Page Layouts Overhaul */
.oh-card,
.oh-card-dashboard {
  border-radius: 20px !important;
  box-shadow: 0px 8px 24px rgba(149, 157, 165, 0.04) !important;
  border: 1px solid #E2E8F0 !important;
  background-color: #FFFFFF !important;
  padding: 1.5rem !important;
  margin-bottom: 1rem !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.oh-card:hover,
.oh-card-dashboard:hover {
  box-shadow: 0px 12px 32px rgba(149, 157, 165, 0.08) !important;
}

/* Status variants left-border styling */
.oh-card-dashboard--success {
  border-left: 4px solid #10B981 !important; /* Green */
}
.oh-card-dashboard--danger {
  border-left: 4px solid #EF4444 !important; /* Red */
}
.oh-card-dashboard--warning {
  border-left: 4px solid #F59E0B !important; /* Amber */
}
.oh-card-dashboard--neutral {
  border-left: 4px solid #64748B !important; /* Slate */
}

/* Strip square white backgrounds from layout wrappers */
div[style*="background-color: white"],
div[style*="background-color:white"],
.oh-dashboard__movable-cards > div {
  background-color: transparent !important;
}

/* 5. Global Form Fields & Controls Overrides */
.oh-input,
.oh-select,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
select,
textarea {
  width: 100% !important;
  font-size: 13px !important;
  font-family: 'Roboto', sans-serif !important;
  padding: 10px 14px !important;
  color: #1E293B !important;
  background-color: #FFFFFF !important;
  border-radius: 8px !important;
  border: 1px solid #CBD5E1 !important; /* Slate-300 */
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.oh-input::placeholder,
.oh-select::placeholder,
input::placeholder,
textarea::placeholder {
  font-size: 13px !important;
  color: #94A3B8 !important; /* Slate-400 */
}

.oh-input:focus,
.oh-input:focus-visible,
.oh-select:focus,
input:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: #1E88E5 !important;
  box-shadow: 0 0 0 3px rgba(30, 136, 229, 0.12) !important;
}

/* Select2 drop-downs overrides */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border: 1px solid #CBD5E1 !important;
  border-radius: 8px !important;
  height: 40px !important;
  padding: 5px 8px !important;
  background-color: #FFFFFF !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #1E293B !important;
  line-height: 28px !important;
  font-size: 13px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 38px !important;
}

.select2-dropdown {
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  box-shadow: 0px 8px 24px rgba(149, 157, 165, 0.08) !important;
  z-index: 1050 !important;
}

/* Custom Checked Radios */
input[type="radio"] {
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  border: 2px solid #CBD5E1 !important;
  border-radius: 50% !important;
  outline: none !important;
  background-color: #FFFFFF !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
  vertical-align: middle !important;
}

input[type="radio"]:checked {
  border-color: #1E88E5 !important;
  background-color: #FFFFFF !important;
}

input[type="radio"]:checked::after {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  background-color: #1E88E5 !important;
  border-radius: 50% !important;
  display: block !important;
}

/* Custom Checked Checkboxes */
input[type="checkbox"]:not(.oh-switch__checkbox) {
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  border: 2px solid #CBD5E1 !important;
  border-radius: 4px !important;
  outline: none !important;
  background-color: #FFFFFF !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
  vertical-align: middle !important;
}

input[type="checkbox"]:not(.oh-switch__checkbox):checked {
  border-color: #1E88E5 !important;
  background-color: #1E88E5 !important;
}

input[type="checkbox"]:not(.oh-switch__checkbox):checked::after {
  content: "✓" !important;
  color: #FFFFFF !important;
  font-size: 11px !important;
  font-weight: bold !important;
}

/* Toggle switches overrides */
.oh-switch .oh-switch__checkbox {
  background-color: #CBD5E1 !important; /* Soft Slate-300 */
}

.oh-switch .oh-switch__checkbox:checked {
  background-color: #1E88E5 !important; /* Theme blue */
}

/* Universal Modal System Bridge */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1055;
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
  background-color: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.modal.show, .modal.oh-modal--show {
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.modal-dialog {
  position: relative;
  width: 100%;
  margin: 1.75rem auto;
  pointer-events: auto;
  max-width: 600px;
  z-index: 1056;
}
.modal-dialog.modal-lg {
  max-width: 820px;
}
.modal-dialog.modal-xl {
  max-width: 1050px;
}
.modal-dialog.modal-sm {
  max-width: 420px;
}
.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 3.5rem);
}
.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  outline: 0;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.btn-close {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: .25em .25em;
  color: #64748b;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2364748b'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  border: 0;
  border-radius: .375rem;
  opacity: .5;
  cursor: pointer;
}
.btn-close:hover {
  opacity: .9;
}
body.modal-open {
  overflow: hidden;
}