body {
  background-color: white !important;
}

.page-title{
  font-weight: bolder;
  font-size: 18px !important
}

.root-layout {
  overflow-y: hidden !important;
  overflow-x: hidden !important;
  max-height: 100vh !important;
}

@media (max-width: 1200px) {
  .root-layout {
    overflow-y: auto !important;
  }
}

.text-regular {
    color: #212529;
}

.text-regular:hover {
    color: #212529;
}

/* App Layout Styles Start */
.sidebar-header p {
  color: #ffffff !important;
}

.sidebar-header,
.sidebar-body,
.sidebar-footer {
  font-size: 13px !important;
}

.sidebar-body {
  background-color: #2B333E;
}

.sidebar-body .nav-item .active-tab {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  background-color: #1caa5f;
}

.sidebar-body .nav-item .active-tab:hover {
  background-color: #137742;
}

.nav-link {
  font-size: 13px;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.sidebar-body .nav-link * {
  color: #ffffff !important;
  font-size: 12px;
  letter-spacing: 0.5px;
}

.sidebar-body .nav-link .badge {
  color: #ffffff !important;
}

.app-sidebar-toggle {
  font-size: 23px;
}

.app-header-fixed-margin {
  margin-bottom: 65px;
}

.app-footer-fixed-margin {
  margin-top: 65px;
}

@media (max-width: 1200px) {
  .app-header-fixed-margin {
    margin-bottom: 55px;
  }

  .app-footer-fixed-margin {
    margin-top: 55px;
  }
}

@media (max-width: 600px) {
  .app-sidebar-mobile {
    max-width: 65%;
  }
}

@media (min-width: 600px) and (max-width: 1200px) {
  .app-sidebar-mobile {
    max-width: 35%;
  }
}

.sidebar-header,
.sidebar-footer {
  padding: 1rem !important;
  border-width: 0 !important;
}

@media (max-width: 1200px) {

  .sidebar-header,
  .sidebar-footer {
    padding: 0.9rem !important;
  }
}

@media (min-width: 1200px) {
  .app-header {
    margin-left: 15.95rem;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }

  .app-footer {
    margin-left: 15.95rem;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
}

.app-search {
  width: 57%;
}

.app-search input {
  border-width: 0 !important;
  box-shadow: none !important;
  min-height: 40px;
  padding: 0.5rem 1rem 0.5rem 2.75rem !important;
}

.app-search input:focus {
  background-color: #f6f7fa !important;
}

.text-cap {
  font-size: 10px !important;
  font-weight: bolder !important;
  padding: 1.5rem 1.5rem 0.25rem 1.5rem !important;
}

.offcanvas-body::-webkit-scrollbar {
  width: 0 !important;
}

/* App Layout Styles End */

/* App Card Icons Styles Start */

.app-card-icons i {
  font-size: 30px !important;
}

/* App Card Icons Styles End */

.responsive-app {
  width: 86%;
}

@media (min-width: 300px) and (max-width: 1200px) {
  .responsive-app {
    width: 100%;
  }
}

.dropstart .dropdown-menu[data-bs-popper]{
  top: 90% !important;
  right: 10% !important;
}

@media (min-width: 1200px) {
  .dashboard-footer {
    margin-left: 13.7rem !important;
  }
}

.dropdown-menu {
  border: 0px!important;
  border-top-left-radius: 0.375rem !important;
  border-top-right-radius: 0.375rem !important;
  box-shadow: 0 0 45px 0 rgba(189, 189, 189, 0.68) !important;
}

.dropdown-item{
  padding-left: 10px;
  padding-right: 10px;
}

/* Table Styles Start */

table {
  max-height: 90vh !important;
  border: 0px solid #dee2e6 !important;
  color: rgb(0, 23, 55) !important;
}

table:has(td, tr, td, th) {
  font-size: 13px !important;
  color: rgb(0, 23, 55) !important;
  text-align: center !important;
}

table:has(tr) {
  line-height: normal !important;
}

table thead {
  border-bottom: 2.5px solid #0c98cd !important;
}

table thead th:first-child {
  border-top-left-radius: 0.35rem !important;
}

table thead th:last-child {
  border-top-right-radius: 0.35rem !important;
}

table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 0.35rem !important;
}

table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 0.35rem !important;
}

.table-striped>tbody>tr:nth-of-type(even)>* {
  background-color: rgb(247 247 247) !important;
}

.table-striped>tbody>tr:nth-of-type(odd)>* {
  background-color: white !important;
}

.table>.bs-table-striped-bg {
  background-color: rgb(247 247 247) !important;
}

.table> :not(caption)>*>* {
  box-shadow: none !important;
  border-bottom-width: inherit;
  color: rgb(0, 23, 55) !important;
}

table.table-head-non-border thead th:first-child {
  border-top-left-radius: 0px !important;
}

table.table-head-non-border thead th:last-child {
  border-top-right-radius: 0px !important;
}

table.table-head-non-border tbody tr:last-child td:first-child {
  border-bottom-left-radius: 0px !important;
}

table.table-head-non-border tbody tr:last-child td:last-child {
  border-bottom-right-radius: 0px !important;
}

table.table-head-non-border thead {
  border-bottom-width: 0 !important;
}


.table-bg-remove {
  width: 100%;
}

.table-striped>tbody>tr:nth-of-type(odd)>.bg-red, .table-striped>tbody>tr:nth-of-type(even)>.bg-red{
  background-color: rgb(250, 127, 127) !important;
  border: 1px solid rgb(255, 99, 99) !important;
}

.table thead tr.second-header th {
  background-color: rgb(243, 243, 243) !important;
}

.table thead tr.second-header th:first-child {
  border-top-left-radius: 0px !important;
}

.table thead tr.second-header th:last-child {
  border-top-right-radius: 0px !important;
}

.sticky-header th {
  position: sticky;
  top: 0;
  background: white;   /* Important */
  z-index: 10;         /* Important */
}

/* Table Styles End */


/* React pagination css starts here */
.pagination_container {
  display: flex;
  width: 100%;
  box-sizing: border-box;
  align-items: center;
  justify-content: end;
}

.react-pagination {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: end;
  gap: 3px !important;
  list-style-type: none;
}

.react-pagination>li>a {
  padding: 2px;
  border-radius: 5px;
  cursor: pointer;
  user-select: none;
  color: white;
  text-decoration: none !important;
}

.react-pagination>li {
  border: 1px solid gray;
  padding: 4px 8px !important;
  border: 1px solid #e3dada !important;
  background-color: #f7f7f7;
  font-size: 13px !important;
  color: #7f7676 !important;
}

.react-pagination>li:hover {
  color: #377DFF !important;
}

ul.react-pagination {
  margin-top: auto !important;
  margin-bottom: 0 !important;
}

.selected {
  background-color: #377DFF !important;
}

.disabled_btn {
  cursor: not-allowed !important;
}

.previous.disabled_btn {
  cursor: not-allowed !important;
}

.prev_link .disabled_link {
  cursor: not-allowed !important;
}

.activePage {
  background-color: #377DFF;
  color: white;
}

.prev_link {
  color: #7f7676 !important;
}

.prev_link:hover {
  color: #377DFF !important;
}

.next_link {
  color: #7f7676 !important;
}

.next_link:hover {
  color: #377DFF !important;
}

/* React pagination css End here */


.btn-sm-top{
  font-size: 12px !important;
  padding: 5px 8px !important;
}

.content-center{
  display: flex;
  align-items: center;
  justify-content: center;
}

.form-control-sm, .form-select-sm, .input-group-text {
  min-height: 36px !important;
  max-height: 36px !important;
}

.modal-header{
  background-color: #1caa5f;
  padding: 10px;
}

.modal-title{
  font-size: 14px;
  margin-left: 10px;
}

.btn{
  font-size: 13px !important;
}

.btn-green {
  background-color: #1caa5f !important;
  color: #fff !important;
  border: none;
}

.btn-green:hover {
  background-color: #169e56 !important;
}

.text-green {
  color: #1caa5f !important;
}

.bg-green {
  background: #1caa5f !important;
}

.btn-red {
  background-color: #ba0000 !important;
  color: #fff !important;
  border: none;
}

.btn-red:hover {
  background-color: #920000 !important;
}

.text-red {
  color: #ba0000 !important;
}

.bg-red {
  background: #ba0000 !important;
}

.dashboard-number-panel{
  cursor: pointer;
  padding: 15px;
}

.dashboard-number-panel:hover{
  background: linear-gradient(135deg, #1caa5f, #00c9a7);
  color: #fff !important
}

.dashboard-number-title {
  font-size: 15px;
  margin-bottom: 0.5rem !important;
}

.dashboard-daily-graph{
  min-height: 232px;
}

.dashboard-top-graph{
  height: 200px;
}

.dashboard-card-title {
  font-size: 13px !important;
  font-weight: bolder !important;
}

.top-scanner-list {
  max-height: 140px;
  overflow-y: auto;
  padding: 0px 10px 0px 0px;
}

.sticky-header {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 10;
  padding-bottom: 5px;
}

.bar-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.bar {
  width: 40px;
  border-radius: 999px;
  background: linear-gradient(180deg, #6ee7b7, #10b981);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: 0.3s ease;
}

/* VALUE INSIDE BAR */
.bar-value {
  /* writing-mode: vertical-rl; */
  /* transform: rotate(180deg); */
  font-size: 11px;
  color: white;
  font-weight: 600;
  text-align: center;
}

/* Highest bar */
.bar.active {
  background: linear-gradient(180deg, #065f46, #022c22);
}

/* Empty bar */
.bar.empty {
  background: repeating-linear-gradient(
    45deg,
    #d1d5db,
    #d1d5db 6px,
    #f3f4f6 6px,
    #f3f4f6 12px
  );
}

/* LABEL */
.bar-label {
  margin-top: 8px;
  font-size: 12px;
  text-align: center;
  color: #374151;
  line-height: 1.2;
}

/* ================= SVG GAUGE ================= */
.gauge-svg-container {
  position: relative;
  width: 100%;
  max-width: 260px;
  margin: auto;
}

.gauge-svg {
  width: 100%;
  height: auto;
}

/* CENTER TEXT */
.gauge-center {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

.gauge-center h2 {
  margin: 0;
  font-size: 32px;
  font-weight: 600;
}

/* ================= FOOTER ================= */
.gauge-footer {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
  font-size: 14px;
}

/* DOTS */
.dot {
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 50%;
  margin-right: 6px;
}

.dot.total {
  background: #9ca3af;
}

.dot.leaved {
  background: #22c55e;
}

.dot.remaining {
  background: repeating-linear-gradient(
    45deg,
    #d1d5db,
    #d1d5db 4px,
    #f3f4f6 4px,
    #f3f4f6 8px
  );
}

/* ================= LOADING ================= */
.loading-arc {
  stroke-dasharray: 283;
  stroke-dashoffset: 80;
  animation: dash 1.5s infinite ease-in-out;
}

@keyframes dash {
  0% { stroke-dashoffset: 280; }
  50% { stroke-dashoffset: 100; }
  100% { stroke-dashoffset: 280; }
}

/* TEXT LOADING */
.loading-text {
  width: 80px;
  height: 28px;
  border-radius: 6px;
  margin: 0 auto 8px;

  background: linear-gradient(
    90deg,
    #e5e7eb 25%,
    #f3f4f6 37%,
    #e5e7eb 63%
  );

  background-size: 400% 100%;
  animation: shimmer 1.4s infinite;
}

.loading-subtext {
  width: 140px;
  height: 14px;
  border-radius: 4px;
  margin: auto;

  background: linear-gradient(
    90deg,
    #e5e7eb 25%,
    #f3f4f6 37%,
    #e5e7eb 63%
  );

  background-size: 400% 100%;
  animation: shimmer 1.4s infinite;
}

.loading-footer {
  width: 90px;
  height: 14px;
  border-radius: 4px;

  background: linear-gradient(
    90deg,
    #e5e7eb 25%,
    #f3f4f6 37%,
    #e5e7eb 63%
  );

  background-size: 400% 100%;
  animation: shimmer 1.4s infinite;
}

@keyframes shimmer {
  0% { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}

.dashboard-layout {
  font-size: 13px;
}

.dashboard-layout .pie-chart {
  padding: 10px;
  min-height: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.dashboard-layout .tab {
  padding: 20px;
  min-height: 126px;
  display: flex;
  align-items: center;
}

.dashboard-layout .tab .tab-title {
  font-size: 15px;
  margin-bottom: 0.5rem !important;
}

.dashboard-layout .tab .tab-number {
  font-size: 35px;
}

.dashboard-layout .performer-table {
  padding: 10px;
  min-height: 320px;
}

.dashboard-layout .graph {
  padding: 10px;
  min-height: 156px;
}

.applications-per-course-graph{
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: thin;
}

.applications-per-course-graph::-webkit-scrollbar {
  height: 6px;
}

.applications-per-course-graph::-webkit-scrollbar-track {
  background: transparent;
}


.applications-per-course-monthly-graph{
  overflow-x: auto;
  scrollbar-width: thin;
}

.applications-per-course-monthly-graph::-webkit-scrollbar {
  height: 6px;
}

.applications-per-course-monthly-graph::-webkit-scrollbar-track {
  background: transparent;
}