.hidden {
  display: none;
}

.tenant-name {
  white-space: nowrap;
  font-weight: bold;
  color: white;
}

.tenant-name:hover {
  color: rgb(213, 212, 212);
}

/* Password visibility */
#toggle-password,
#toggle-password_confirmation,
#toggle-current_password {
  height: 0px;
  position: relative;
  float: right;
}

.bottom_42 {
  bottom: 42px !important;
}
.bottom_38 {
  bottom: 38px !important;
}
.bottom_54 {
  bottom: 41px !important;
}

#toggle-password:active, #toggle-password:first-child:active, #toggle-password.active, #toggle-password.show,
#toggle-password_confirmation:active, #toggle-password_confirmation:first-child:active, #toggle-password_confirmation.active, #toggle-password_confirmation.show,
#toggle-current_password:active, #toggle-current_password:first-child:active, #toggle-current_password.active, #toggle-current_password.show {
  background-color: transparent;
  border-color: transparent;
}

/* ERROR TEXT */
.error_text {
  color: red;
}

/* YOUR WORK TAB */
.scrollable_cards {
  padding: 10px 0;
}
.your_work_dropdown_menu {
  padding: 10px;
  min-width: 30rem !important;
  inset: -10px auto auto 14px !important;
  border: 0px !important;
  border-radius: 0px !important;
}

.your_work_dropdown_menu.reports_dropdown {
  min-width: 8rem !important;
}

.your_work_dropdown_menu .nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
  font-weight: normal !important;
}
.your_work_dropdown_menu .nav-link-subtext {
  color: rgb(113, 113, 113 / 0.75) !important;
}
.your_work_nav_pills {
  padding: 5px 10px;
}
.your_work_dropdown_header {
  padding-left: var(--bs-navbar-nav-link-padding-x);
  font-weight: bold;
}

.text-grey {
  color: rgb(199, 199, 199 / 75%) !important;
}

.user-form-card {
  width: 28pc;
  margin: 0 auto;
}

.tt_signup_link {
  display: inline-flex;
  text-decoration: none;
}

.tt_forgot_link {
  display: inline-flex;
  text-decoration: none;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Inter", sans-serif;
  background-color: var(--dk-darker-bg);
}

/* ------------------------------------------------------------- */
/* TRIAL BANNER PERSISTENCE & POSITIONING                        */
/* ------------------------------------------------------------- */
.trial-div ~ .wrapper .main-panel .main-header,
.trial-div ~ * .main-header {
  top: 40px !important;
}

.trial-div ~ .wrapper .sidebar,
.trial-div ~ * .sidebar {
  top: 40px !important;
  height: calc(100vh - 40px) !important;
}

.trial-div ~ .wrapper .main-panel,
.trial-div ~ * .main-panel {
  padding-top: 40px !important;
}

#wrapper {
  margin-left: var(--sidebar-width);
  transition: all 0.3s ease-in-out;
  position: relative;
  height: 100vh;
}

#wrapper.fullwidth {
  margin-left: 0;
}

/* ------------------------------------------------------------- */
/* SIDEBAR                                                       */
/* ------------------------------------------------------------- */
.settings_dropdown {
  left: -44px !important;
}

.sidebar {
  background-color: var(--sidebar-bg-color);
  width: var(--sidebar-width);
  transition: width 0.3s ease-in-out, opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
  transform: translateX(0);
  z-index: 9999999;
  border-right: 0px;
}

.minimized-sidebar .tt_custom_sidebar {
  width: 0;
  transform: translateX(-100%);
  opacity: 0;
  z-index: -1;
}

.tt_custom_sidebar {
  opacity: 1;
  transform: translateX(0);
}

.minimized-sidebar #wrapper {
  margin-left: 0;
}

.show-sidebar {
  transform: translateX(100%);
  transform: translateX(-270px);
}

#toggle-sidebar {
  position: fixed;
  left: 15.3pc;
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  top: 50%;
  transform: translateY(-50%);
  transition: left 0.3s ease;
}

.sidebar .close-aside {
  position: relative;
  top: 7px;
  right: 7px;
  cursor: pointer;
  color: #eee;
}

.sidebar .sidebar-header {
  border-bottom: 1px solid rgb(243, 245, 248) !important;
}

.sidebar .sidebar-header h5 a {
  color: var(--dk-gray-300);
}

.sidebar .sidebar-header p {
  color: var(--dk-gray-400);
}

.sidebar > ul > li {
  padding: 0.7rem 1.75rem;
}

.sidebar ul > li > a {
  color: var(--dk-gray-400);
  text-decoration: none;
}

.sidebar ul > li > a > .num {
  line-height: 0;
  border-radius: 3px;
  padding: 0px 5px;
}

.sidebar ul > li > i {
  margin-right: 0.7rem;
  color: var(--dk-gray-500);
}

.sidebar ul > li.has-dropdown > a:after {
  content: "\eb3a";
  font-family: unicons-line;
  line-height: 1.8;
  float: right;
  color: var(--dk-gray-500);
  transition: all 0.3s ease-in-out;
}

.sidebar ul .opened > a:after {
  transform: rotate(-90deg);
}

.sidebar ul .sidebar-dropdown {
  padding-top: 10px;
  padding-left: 30px;
  display: none;
}
.sidebar ul .sidebar-dropdown.active {
  display: block;
}

.sidebar ul .sidebar-dropdown > li > a {
  padding: 0.5rem 0;
  display: block;
}

@media (max-width: 767px) {
  .sidebar ul > li {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .sidebar .search {
    padding: 10px 0 10px 30px;
  }

  aside {
    margin-top: 71px;
    overflow-y: auto;
    max-height: calc(100vh - 71px);
  }

  .main_nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    z-index: 1030;
  }

  .sidebar-header, .search {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .scrollable-y {
    max-height: 69vh;
    overflow-y: auto;
  }

  .notification_ul {
    width: 485px !important;
  }

  .notification_dropdown_small[data-bs-popper] {
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80vw;
    min-width: 200px;
  }

  #settingsCollapse ul li, #projectsDropdownSm li, #reportsCollapse ul li {
    padding-top: 4px;
    padding-bottom: 4px;
  }

  #settingsCollapse ul, #reportsCollapse ul, #projectsDropdownSm {
    padding-top: 7px;
  }

  .your_work_li {
    padding-bottom: 4px !important;
  }
}

.time_counter_sm, .notif_sm svg, #small_sidebar_toggler, .landing_toggler {
  color: white;
}

.admins .box .admin {
  background-color: var(--dk-dark-bg);
}

.admins .box h3 {
  color: var(--dk-gray-300);
}

.admins .box p {
  color: var(--dk-gray-400);
}

.statis {
  color: var(--dk-gray-100);
}

.statis .box {
  position: relative;
  overflow: hidden;
  border-radius: 3px;
}

.statis .box h3:after {
  content: "";
  height: 2px;
  width: 70%;
  margin: auto;
  background-color: rgba(255, 255, 255, 0.12);
  display: block;
  margin-top: 10px;
}

.statis .box i {
  position: absolute;
  height: 70px;
  width: 70px;
  padding: 15px;
  top: -25px;
  left: -25px;
  background-color: rgba(255, 255, 255, 0.15);
  line-height: 60px;
  text-align: right;
  border-radius: 50%;
}

.main-color {
  color: #ffc107;
}

.navbar .dropdown-menu {
  right: auto;
}

.navbar .navbar-nav > li > a:focus,
.navbar .navbar-nav > li > a:hover {
  color: #eee !important;
}

.navbar .navbar-nav > .open > a,
.navbar .navbar-nav > .open > a:focus,
.navbar .navbar-nav > .open > a:hover {
  background-color: transparent !important;
  color: #fff !important;
}

@media (max-width: 767px) {
  .navbar > .container-fluid .navbar-brand {
    margin-left: 15px !important;
  }
  .navbar .navbar-nav > li > a {
    padding-left: 0 !important;
  }
  .navbar-nav {
    margin: 0 !important;
  }
  .navbar .navbar-collapse,
  .navbar .navbar-form {
    border: none !important;
  }
}

.navbar .navbar-nav > li > a {
  float: left !important;
}

.notif_i, .tenant_notif_i {
  min-height: 15px !important;
  min-width: 15px !important;
}

@media (max-width: 767px) {
  #wrapper {
    margin: 0 !important;
  }
  .statistics .box {
    margin-bottom: 25px !important;
  }
  .navbar .navbar-nav .open .dropdown-menu > li > a {
    color: #ccc !important;
  }
  .navbar .navbar-nav .open .dropdown-menu > li > a:hover {
    color: #fff !important;
  }
  .navbar .navbar-toggle {
    border: none !important;
    color: #eee !important;
  }
  .navbar .navbar-toggle:focus,
  .navbar .navbar-toggle:hover {
    background-color: transparent !important;
  }
}

::-webkit-scrollbar {
  background: transparent;
  width: 5px;
  height: 5px;
}

::-webkit-scrollbar-thumb {
  background-color: #3c3f58;
}

::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.3);
}

.settings_dropdown.dropdown-menu {
  left: -145px !important;
  border: 0px !important;
  border-radius: 3px;
  margin-top: 25px !important;
}

.tt_custom_sidebar {
  z-index: 1;
  overflow: visible !important;
}

.no_caret.dropdown-toggle::after {
  display: none;
}
.no_caret:focus, .dropdown:focus-within {
  outline: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.nav-pills .nav-link {
  border-radius: 30px !important;
  color: grey;
}

.nav-link svg {
  float: right;
  padding-top: 4px;
}

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

.select2-container .select2-selection--single {
  height: 41px !important;
  padding: 9px 4px !important;
  border: 2px solid rgb(235, 237, 243) !important;
  border-radius: 6px !important;
  width: 100% !important;
  bottom: 1.5px;
  cursor: auto !important;
  position: relative;
}

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

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 20px !important;
}

.br-0 {
  border-radius: 0px !important;
}

.sidebar li .submenu { 
  list-style: none; 
  margin: 0; 
  padding: 0; 
  padding-left: 1rem; 
  padding-right: 1rem;
}

.sidebar .nav-link {
  font-weight: 500;
  color: var(--bs-dark);
}
.sidebar .nav-link:hover {
  color: var(--bs-primary);
}

.page_main_title {
  color: #202020;
}

.btn_close_custom {
  --bs-btn_close_custom-bg: inherit !important;
}

.w-inherit {
  width: inherit !important;
}

.time_ago_text {
  font-size: 12px;
  color: #bbbbbb;
}

.mark_as_read {
  margin-left: auto;
  cursor: pointer;
}

.notif_icon_unread, .tenant_notif_icon_unread {
  background: #58539838;
}

.notif_icon_unread:hover, .tenant_notif_icon_unread:hover {
  background: #5853985c !important;
}

/* ------------------------------------------------------------- */
/* FOR DATATABLE RESIZING                                        */
/* ------------------------------------------------------------- */
th.resizeable {
  position: relative;
}

th.resizeable .resize-handle-right {
  position: absolute;
  right: 0;
  top: 0;
  width: 5px;
  height: 100%;
  cursor: col-resize;
  z-index: 10;
  background-color: transparent;
}

th.resizeable .resize-handle-left {
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 100%;
  cursor: col-resize;
  z-index: 10;
  background-color: transparent;
}

.mobile-link {
  display: block;
}

@media (min-width: 992px) {
  .logo-container {
    padding-right: 13px;
  }
}

#main_pdf {
  margin: auto;
  overflow-y: hidden;
}

@media (max-width: 575px) {
  .attachment-link {
    width: auto !important;
    height: auto !important;
  }

  .fine-input-label {
    width: 100% !important;
    height: 100% !important;
  }

  .file-info {
    width: 100% !important;
  }
}

.notification_dropdown {
  position: relative;
}

.notification-list {
  max-height: 70vh;
  overflow-y: auto;
  scrollbar-width: none;
}

.notification-list::-webkit-scrollbar {
  display: none;
}

.notification-item {
  display: none;
}

.notification-item:nth-child(-n+6) {
  display: block;
}

.notification-item.hidden {
  display: none !important;
}

.nav-link:focus, 
.dropdown-toggle:focus, 
.btn:focus {
  outline: none;
  box-shadow: none;
}

.nav-link:focus-visible, 
.dropdown-toggle:focus-visible, 
.btn:focus-visible {
  outline: 2px solid #007bff;
  outline-offset: 2px;
}

@media not all and (-webkit-min-device-pixel-ratio: 0), not all and (min-resolution: 0.001dpcm) {
  @supports (-webkit-appearance: none) {
    .nav-link:focus, 
    .dropdown-toggle:focus, 
    .btn:focus {
      outline: none;
      box-shadow: none;
    }
  }
}

.nav-link:focus-visible, .dropdown-toggle:focus-visible, .btn:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0);
  outline-offset: 2px;
}

#generate_pdf_div, #generate_pdf_late_div, #generate_pdf_absent_div {
  font-size: 12px;
  margin: 0 auto;
  padding: 0;
  width: 100%; 
  max-width: 850px; 
}

#generate_pdf_div h3,
#generate_pdf_div p,
#generate_pdf_div table,
#generate_pdf_late_div h3,
#generate_pdf_late_div p,
#generate_pdf_late_div table,
#generate_pdf_absent_div h3,
#generate_pdf_absent_div p,
#generate_pdf_absent_div table {
  margin: 0;
  padding: 0;
}

#generate_pdf_div .reports_theme, #generate_pdf_div .period_hours_txt {
  color: black !important;
}

#generate_pdf_div canvas, #generate_pdf_div .card {
  background-color: white;
}

#generate_pdf_div, #generate_pdf_late_div, #generate_pdf_absent_div {
  overflow: visible !important;
  height: auto !important;
}

#generate_pdf_div table, #generate_pdf_late_div table, #generate_pdf_absent_div table {
  margin-bottom: 10px !important;
}

.custom-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid black;
}
.custom-table > tbody > tr > td, .custom-table > thead > tr > th {
  padding: 5px;
  border-bottom: 1px solid black;
  text-align: left;
}
.custom-table > thead > tr > th {
  background-color: #ddd !important;
}

.custom-table > tbody > tr > td {
  background-color: white !important;
}

.form-select {
  padding-right: 32px !important;
}

.select2-custom-icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  color: #555;
  pointer-events: none;
}

.textarea {
  resize: vertical !important;
  max-height: none !important;
  overflow: auto !important;
}

.accept-invite, .schema-accept-invite {
  background-color: #1f96f2;
  color: white;
}

.accept-invite:hover, .schema-accept-invite:hover {
  background-color: #1a8adf;
  color: white;
}

.decline-invite, .schema-decline-invite {
  background-color: gray;
  color: white;
}

.decline-invite:hover, .schema-decline-invite:hover {
  background-color: rgb(113, 113, 113);
  color: white;
}

.checkered-bg {
  background-color: white;
  background-image: 
    linear-gradient(45deg, #ccc 25%, transparent 25%),
    linear-gradient(-45deg, #ccc 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #ccc 75%),
    linear-gradient(-45deg, transparent 75%, #ccc 75%);
  background-size: 20px 20px;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
}

.btn-gray {
  background-color: #5d5d5d;
  color: white;
}

.btn-gray:hover, .btn-outline-gray:hover {
  background-color: #4b4b4b;
  color: white;
}

.btn-outline-gray {
  color: #5d5d5d;
  border: solid 1px #5d5d5d;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  position: relative !important;
}

.task_description img, .attachment-image, .comment-attachment-image {
  max-width: 100%;
  height: auto;
  display: block;
}

.custom-dropdown {
  position: absolute;
  transform: none !important;
}

.custom-dropdown.show {
  display: block !important;
}

.user-feed img,
.user-feed video {
  max-width: 100%;
  height: auto;
  display: block;
}

.ck-editor__editable_inline {
  border: 1px solid #ced4da !important;
  border-radius: 4px !important;
  padding: 10px;
  min-height: 120px;
  background-color: #fff;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.ck-editor__editable_inline:focus {
  border-color: #86b7fe !important;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

.ck-editor__editable_inline:hover {
  border-color: #adb5bd;
}

.sidebar.trial-sidebar-offset {
  top: 33.5px !important;
}

.task_description table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: 0.95rem;
  text-align: left;
}

.task_description th, 
.task_description td {
  padding: 10px 14px;
  border: 1px solid #e2e8f0;
}

.task_description th {
  background-color: #f8fafc;
  font-weight: 600;
  color: #1e293b;
}

.task_description tr:nth-child(even) {
  background-color: #fdfdfd;
}

.task_description td {
  word-break: break-word;
  vertical-align: top;
}

/* ------------------------------------------------------------- */
/* MODERN WORKSPACE DATATABLE STYLING & GHOST ROW SUPPRESSION    */
/* ------------------------------------------------------------- */

/* 🔥 CRITICAL FIX: Hide the duplicate measurement thead generated by DataTables */
.dataTables_scrollBody thead,
.dataTables_scrollBody thead tr,
.dataTables_scrollBody thead th {
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  line-height: 0 !important;
  font-size: 0 !important;
  visibility: hidden !important;
  background: transparent !important;
}

.dataTables_scrollBody thead th .dataTables_sizing {
  height: 0 !important;
  overflow: hidden !important;
}

.dataTables_scrollBody thead th:before,
.dataTables_scrollBody thead th:after {
  display: none !important;
}

/* Soft Modern Badges */
.bg-success-subtle {
  background-color: #ecfdf5 !important;
  color: #059669 !important;
  border: 1px solid #a7f3d0 !important;
}

.bg-info-subtle {
  background-color: #eff6ff !important;
  color: #2563eb !important;
  border: 1px solid #bfdbfe !important;
}

.bg-danger-subtle {
  background-color: #fef2f2 !important;
  color: #dc2626 !important;
  border: 1px solid #fecaca !important;
}

.bg-secondary-subtle {
  background-color: #f8fafc !important;
  color: #64748b !important;
  border: 1px solid #e2e8f0 !important;
}

/* Compact Micro-Action Buttons */
.btn-xs {
  font-size: 0.75rem !important;
  padding: 3px 8px !important;
  border-radius: 5px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  transition: all 0.15s ease-in-out;
}

.btn-xs:hover {
  transform: translateY(-1px);
}

/* Capacity Mini Progress Bar */
.tenant-slot-bar {
  height: 5px !important;
  width: 70px !important;
  background-color: #e2e8f0 !important;
  border-radius: 10px !important;
  overflow: hidden;
  margin: 3px auto 0 auto;
}

/* Fix Table Action Dropdown Width and Alignment */
.action-dropdown-menu {
  min-width: 10rem !important;
  max-width: 13rem !important;
  width: auto !important;
  right: 0 !important;
  left: auto !important;
  padding: 0.4rem 0 !important;
  font-size: 0.85rem !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
}

.action-dropdown-menu .dropdown-item {
  padding: 0.5rem 1rem !important;
  font-size: 0.825rem !important;
  font-weight: 500 !important;
}

.action-dropdown-menu .dropdown-item:hover {
  background-color: #f1f5f9 !important;
  color: #0f172a !important;
}

  /* DataTables Pagination & Footer Alignment fixes */
  .dataTables_wrapper .row {
    --bs-gutter-x: 1rem;
  }
  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_info,
  .dataTables_wrapper .dataTables_paginate {
    display: flex;
    align-items: center;
    margin: 0;
  }
  .dataTables_wrapper .dataTables_length select {
    display: inline-block;
    width: auto;
    margin: 0 0.5rem;
  }
  .dataTables_wrapper .dataTables_paginate ul.pagination {
    margin: 0;
  }

  #tenant_tbl_info {
    padding: 0;
  }

  .tenant_tbl_role {
    margin: 0 !important;
  }
