/* Right-side content scrolling and active colour alignment.
   This file intentionally does not target the left sidebar. */

:root {
  --kanisa-primary: #5d87ff;
  --kanisa-primary-hover: #4a6ccc;
  --kanisa-primary-soft: #ecf2ff;
  --kanisa-primary-border: #becfff;
  --kl-action-primary: #5d87ff;
  --rc-primary: #5d87ff;
  --rc-primary-soft: #ecf2ff;
  --expense-primary: #5d87ff;
}

html {
  min-height: 100%;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: #a7b4c4 transparent !important;
  -webkit-text-size-adjust: 100%;
  touch-action: pan-y pinch-zoom !important;
}

body {
  min-height: 100%;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: visible;
  overscroll-behavior-y: auto !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y pinch-zoom !important;
}

body.modal-open {
  overflow: hidden !important;
}

@supports selector(html:has(body.modal-open)) {
  html:has(body.modal-open) {
    overflow-y: hidden !important;
  }
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: block !important;
  width: 8px !important;
  height: 8px !important;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
  background: transparent;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
  border: 2px solid #fff;
  border-radius: 999px;
  background: #a7b4c4;
}

/* Undo the former global scrollbar suppression only inside the content area. */
.body-wrapper,
.body-wrapper * {
  -ms-overflow-style: auto !important;
  scrollbar-width: thin !important;
}

.body-wrapper::-webkit-scrollbar,
.body-wrapper *::-webkit-scrollbar {
  display: block !important;
  width: 8px !important;
  height: 8px !important;
}

.body-wrapper::-webkit-scrollbar-track,
.body-wrapper *::-webkit-scrollbar-track {
  background: transparent;
}

.body-wrapper::-webkit-scrollbar-thumb,
.body-wrapper *::-webkit-scrollbar-thumb {
  border: 2px solid #fff;
  border-radius: 999px;
  background: #a7b4c4;
}

#main-wrapper.page-wrapper,
.body-wrapper {
  min-height: 100vh !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.body-wrapper {
  overscroll-behavior-y: auto !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y pinch-zoom !important;
}

.body-wrapper > .container,
.body-wrapper > .container-fluid,
.body-wrapper > .container-lg,
.body-wrapper > .container-md,
.body-wrapper > .container-sm,
.body-wrapper > .container-xl,
.body-wrapper > .container-xxl {
  min-height: calc(100vh - 70px);
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  overscroll-behavior-y: auto !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y pinch-zoom !important;
}

.body-wrapper .table-responsive,
.body-wrapper .kanisa-table-wrap,
.body-wrapper .table-wrap,
.body-wrapper .structure-table-wrap,
.body-wrapper .modal-body,
.body-wrapper .offcanvas-body,
.body-wrapper .dropdown-menu,
.body-wrapper .select2-results__options {
  overscroll-behavior: auto !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y !important;
}

/* Match the active sidebar blue instead of purple or teal. */
body.kanisa-ui-ready {
  --bs-primary: #5d87ff;
  --bs-primary-rgb: 93, 135, 255;
  --bs-link-color: #5d87ff;
  --bs-link-color-rgb: 93, 135, 255;
  --bs-link-hover-color: #4a6ccc;
  --bs-link-hover-color-rgb: 74, 108, 204;
}

body.kanisa-ui-ready .form-control:focus,
body.kanisa-ui-ready .form-select:focus,
body.kanisa-ui-ready .select2-container--default.select2-container--focus .select2-selection--single,
body.kanisa-ui-ready .select2-container--default.select2-container--focus .select2-selection--multiple,
body.kanisa-ui-ready .select2-container--default.select2-container--open .select2-selection--single,
body.kanisa-ui-ready .select2-container--default.select2-container--open .select2-selection--multiple,
body.kanisa-ui-ready .select2-container--default .select2-search--dropdown .select2-search__field:focus,
.search-panel .form-control:focus,
.search-panel .form-select:focus,
.expense-form-card .form-control:focus,
.expense-form-card .form-select:focus,
#containerModal .form-control:focus,
#harambeeMergeModal .form-control:focus,
#harambeeMergeModal .form-select:focus {
  border-color: #9fb6ff !important;
  box-shadow: 0 0 0 .2rem rgba(93, 135, 255, .13) !important;
}

body.kanisa-ui-ready .btn-primary,
body.kanisa-ui-ready .nav-tabs .nav-link.active,
body.kanisa-ui-ready .nav-pills .nav-link.active,
body.kanisa-ui-ready .badge.bg-primary,
body.kanisa-ui-ready .badge.text-bg-primary,
.resource-chip.active,
.page-item.active .page-link,
.expense-tabs .nav-link.active {
  border-color: #5d87ff !important;
  background: #5d87ff !important;
  background-image: none !important;
  color: #fff !important;
}

body.kanisa-ui-ready .btn-primary:hover,
body.kanisa-ui-ready .btn-primary:focus,
body.kanisa-ui-ready .btn-primary:active {
  border-color: #4a6ccc !important;
  background: #4a6ccc !important;
}

body.kanisa-ui-ready .btn-outline-primary,
.records-eyebrow,
.structure-eyebrow,
.structure-state-symbol,
.expense-eyebrow,
.category-tab.active,
.category-tab:hover,
.resource-chip:hover {
  color: #5d87ff !important;
}

body.kanisa-ui-ready .btn-outline-primary {
  border-color: #adc0f5 !important;
  background: #fff !important;
}

body.kanisa-ui-ready .btn-outline-primary:hover,
body.kanisa-ui-ready .btn-outline-primary:focus {
  border-color: #5d87ff !important;
  background: #ecf2ff !important;
  color: #4a6ccc !important;
}

body.kanisa-ui-ready .text-indigo,
body.kanisa-ui-ready .link-indigo {
  color: #5d87ff !important;
}

body.kanisa-ui-ready .bg-indigo,
body.kanisa-ui-ready .text-bg-indigo,
body.kanisa-ui-ready .btn-indigo,
body.kanisa-ui-ready .list-group-item.active {
  border-color: #5d87ff !important;
  background: #5d87ff !important;
  background-image: none !important;
  color: #fff !important;
}

body.kanisa-ui-ready .btn-light-indigo,
body.kanisa-ui-ready .bg-light-indigo,
body.kanisa-ui-ready .text-bg-light-indigo {
  border-color: #becfff !important;
  background: #ecf2ff !important;
  color: #4a6ccc !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.flatpickr-day:hover,
.flatpickr-day:focus,
.kl-action-toast.is-info::before {
  background: #ecf2ff !important;
  color: #4a6ccc !important;
}

.select2-container--default .select2-results__option[aria-selected="true"],
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  border-color: #5d87ff !important;
  background: #5d87ff !important;
  color: #fff !important;
}

.security-note,
.structure-state-symbol {
  border-color: #becfff !important;
}

.records-table tbody tr:hover td,
body.kanisa-ui-ready .table tbody tr:hover {
  background: #f7f9ff !important;
}

@media (max-width: 1199.98px) {
  html,
  body,
  #main-wrapper.page-wrapper,
  .body-wrapper,
  .body-wrapper > .container,
  .body-wrapper > .container-fluid,
  .body-wrapper > .container-lg,
  .body-wrapper > .container-md,
  .body-wrapper > .container-sm,
  .body-wrapper > .container-xl,
  .body-wrapper > .container-xxl {
    touch-action: pan-y pinch-zoom !important;
    overscroll-behavior-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}
