/*
 * Browser-critical layout corrections.
 * This deliberately loads after style.css so cached legacy rules cannot move
 * field icons over text or distribute sidebar items across the full height.
 */

.sidebar-nav > ul {
  display: flex !important;
  flex-flow: column nowrap !important;
  align-content: flex-start !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  row-gap: 0.625rem !important;
  column-gap: 0 !important;
}

.sidebar-nav > ul > li {
  flex: 0 0 auto !important;
  margin-block: 0 !important;
}

.input-with-icon {
  position: relative !important;
}

.input-with-icon > i:first-child {
  position: absolute !important;
  z-index: 2 !important;
  top: 50% !important;
  left: 1rem !important;
  display: grid !important;
  width: 1rem !important;
  height: 1rem !important;
  place-items: center !important;
  transform: translateY(-50%) !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

.field .input-with-icon > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
  box-sizing: border-box !important;
  padding-inline-start: 3rem !important;
  padding-inline-end: 3.25rem !important;
  text-indent: 0 !important;
}

.field.search-field.has-search-icon > input.search-input[type="search"],
.global-search input,
.search-box input {
  box-sizing: border-box !important;
  padding-inline-start: 3rem !important;
  text-indent: 0 !important;
}

.search-field > .search-field-icon,
.global-search > i:first-child,
.search-box > i:first-child {
  left: 0.875rem !important;
  width: 1.125rem !important;
  pointer-events: none !important;
}

.password-toggle {
  right: 0.4rem !important;
}
