/* In-field prefix icons sit in the vertical center of the textbox — not the label. */

.um-control-with-icon {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
}

.um-control-with-icon > i,
.um-toolbar-field:has(> i.bi-search) > i.bi-search,
.csc-search:has(> i.bi-search) > i.bi-search,
.ced-search > i,
.ccs-search > i,
.cpr-search > i,
.um-role-search > i,
.um-priv-search > i,
.hld-pick__search > i,
.anot-search > i,
.aa-transfer__filter > i,
.portal-table-search-wrap > i,
.input-icon-wrap > i:first-child,
.account-input-wrap > i:first-child,
.cs-pwd-wrap > i:first-child {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  height: auto !important;
  width: auto;
  min-width: 1rem;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center;
  line-height: 1 !important;
  pointer-events: none;
  z-index: 2;
}

.um-control-with-icon > i::before,
.um-toolbar-field:has(> i.bi-search) > i.bi-search::before,
.csc-search:has(> i.bi-search) > i.bi-search::before,
.ced-search > i::before,
.ccs-search > i::before,
.cpr-search > i::before,
.um-role-search > i::before,
.um-priv-search > i::before,
.hld-pick__search > i::before,
.anot-search > i::before,
.aa-transfer__filter > i::before,
.portal-table-search-wrap > i::before,
.input-icon-wrap > i:first-child::before,
.account-input-wrap > i:first-child::before,
.cs-pwd-wrap > i:first-child::before {
  display: block;
  line-height: 1;
  vertical-align: 0;
}

/* Labeled fields: pin the icon to the input row, not the SEARCH label. */
.um-toolbar-field:has(> i.bi-search),
.csc-search:has(> i.bi-search) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
}

.um-toolbar-field:has(> i.bi-search) > .um-toolbar-label,
.csc-search:has(> i.bi-search) > .csc-search-label {
  grid-area: 1 / 1;
}

.um-toolbar-field:has(> i.bi-search) > :not(i):not(.um-toolbar-label),
.csc-search:has(> i.bi-search) > :not(i):not(.csc-search-label) {
  grid-area: 2 / 1;
  min-width: 0;
}

.um-toolbar-field:has(> i.bi-search) > i.bi-search,
.csc-search:has(> i.bi-search) > i.bi-search {
  grid-area: 2 / 1;
  justify-self: start;
  left: 0.8rem !important;
}

.um-control-with-icon > i {
  left: 0.8rem;
}

.um-control-with-icon .form-control,
.um-control-with-icon input:not([type="hidden"]) {
  padding-left: 2.15rem;
}
