/* jstree adaptions */
.jstree-node {
  font-size: 1rem;
}

.inventory-level-select-button {
  border: 1px solid var(--bs-gray-400);
}

.inventory-level-select-button:hover {
  border: 1px solid var(--bs-gray-400);
}

/* Inventory group modal: let the levels panel fill remaining height */
.modal:has(.inventory-group-form) .modal-dialog {
  height: calc(100vh - 3.5rem);
  max-height: calc(100vh - 3.5rem);
}

.modal:has(.inventory-group-form) .modal-content {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.modal:has(.inventory-group-form) [id$="Content"] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.inventory-group-form > .modal-body > .mb-3:last-child {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  margin-bottom: 0 !important;
}

.inventory-group-form > .modal-body > .mb-3:last-child > label,
.inventory-group-form > .modal-body > .mb-3:last-child > .form-text {
  flex-shrink: 0;
}

.inventory-level-multiselect-panel {
  box-shadow: inset 0 0 0 1px var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
}

.inventory-level-multiselect-tree {
  max-height: 22rem;
  overflow-y: auto;
  padding: 0.5rem 0.75rem;
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 0.5rem;
}

/* Modern checkbox styling for the multi-select tree picker */
.inventory-level-multiselect-tree .jstree-default .jstree-anchor {
  line-height: 1.75rem;
  height: auto;
  min-height: 2rem;
  padding: 0.125rem 0.5rem;
  border-radius: 0.375rem;
}

.inventory-level-multiselect-tree .jstree-default .jstree-hovered > .jstree-anchor,
.inventory-level-multiselect-tree .jstree-default .jstree-wholerow-hovered {
  background: var(--bs-tertiary-bg, #f8f9fa);
  box-shadow: none;
}

.inventory-level-multiselect-tree .jstree-default .jstree-clicked > .jstree-anchor {
  background: transparent;
  box-shadow: none;
}

.inventory-level-multiselect-tree .jstree-default .jstree-checked > .jstree-anchor {
  font-weight: 500;
}

.inventory-level-multiselect-tree .jstree-default .jstree-checkbox {
  background-image: none !important;
  background-color: var(--bs-body-bg, #fff);
  border: 1.5px solid var(--bs-border-color, #ced4da);
  border-radius: 0.3rem;
  width: 1.125rem !important;
  height: 1.125rem !important;
  margin: 0 0.5rem 0 0;
  position: relative;
  top: 0.15rem;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.inventory-level-multiselect-tree .jstree-default .jstree-hovered > .jstree-anchor > .jstree-checkbox {
  border-color: var(--bs-primary, #0d6efd);
}

.inventory-level-multiselect-tree .jstree-default .jstree-checked > .jstree-anchor > .jstree-checkbox {
  background-color: var(--bs-primary, #0d6efd) !important;
  border-color: var(--bs-primary, #0d6efd);
}

.inventory-level-multiselect-tree .jstree-default .jstree-checked > .jstree-anchor > .jstree-checkbox::after {
  content: "";
  position: absolute;
  left: 0.34rem;
  top: 0.1rem;
  width: 0.35rem;
  height: 0.65rem;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.inventory-level-multiselect-tree .jstree-default .jstree-themeicon {
  margin-right: 0.35rem;
}

.inventory-level-selected-list {
  overflow-y: auto;
  scrollbar-gutter: stable;
  padding-inline-end: 0.55rem;
}

.inventory-group-form .inventory-level-selected-list {
  max-height: none;
}

.inventory-level-selected-list .selected-level-item {
  padding-inline-end: 0.5rem;
}

.inventory-level-selected-list .remove-selected-level {
  flex-shrink: 0;
  align-self: flex-start;
  margin-top: 0.125rem;
}

.inventory-level-selected-list .selected-level-item:last-child {
  border-bottom: none !important;
}

.inventory-hierarchy-collapsible .hierarchy-toggle {
  line-height: 1.4;
  text-decoration: none;
}

.inventory-hierarchy-collapsible .hierarchy-toggle:hover {
  color: var(--bs-primary) !important;
}

.inventory-hierarchy-collapsible .hierarchy-toggle-icon {
  font-size: 0.75rem;
  transition: transform 0.15s ease;
}

.inventory-hierarchy-collapsible .hierarchy-ancestor,
.inventory-hierarchy-collapsible .hierarchy-current {
  transition: margin-left 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

.inventory-hierarchy-collapsible .hierarchy-current-row {
  width: 100%;
}

.inventory-hierarchy-inline .nodes-container > div:last-child,
.inventory-hierarchy-collapsible .hierarchy-current-row {
  margin-bottom: 0 !important;
}
