@charset "UTF-8";
/**
 * YH-UI Sass Variables
 * 原具体的 CSS 变量输出规则 (:root, html.dark 等) 已移至 root.scss，以防止各组件样式编译时产生重复的全局变量 CSS 冗余。
 */
.yh-autocomplete {
  position: relative;
  display: inline-flex;
  width: 100%;
  font-size: 14px;
  vertical-align: middle;
}
.yh-autocomplete__wrapper {
  display: inline-flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 1px 11px;
  background-color: var(--yh-fill-color-blank, #fff);
  border-radius: var(--yh-border-radius-base, 4px);
  border: 1px solid var(--yh-border-color, #dcdfe6);
  box-sizing: border-box;
  transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  cursor: text;
}
.yh-autocomplete__wrapper:hover {
  border-color: var(--yh-border-color-hover, #c0c4cc);
}

.yh-autocomplete__inner {
  flex-grow: 1;
  width: 100%;
  height: 30px;
  padding: 0;
  color: var(--yh-text-color-regular, #606266);
  font-size: inherit;
  line-height: 30px;
  background: none;
  border: none;
  outline: none;
  appearance: none;
  box-shadow: none;
}
.yh-autocomplete__inner::placeholder {
  color: var(--yh-text-color-placeholder, #a8abb2);
}
.yh-autocomplete__inner:disabled {
  cursor: not-allowed;
  color: var(--yh-text-color-placeholder, #a8abb2);
}

.yh-autocomplete__prefix {
  display: inline-flex;
  align-items: center;
  margin-right: 8px;
  color: var(--yh-text-color-placeholder, #a8abb2);
  flex-shrink: 0;
}

.yh-autocomplete__suffix {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  color: var(--yh-text-color-placeholder, #a8abb2);
  flex-shrink: 0;
}

.yh-autocomplete__icon {
  width: 1em;
  height: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.yh-autocomplete__clear {
  cursor: pointer;
  transition: color 0.2s;
  font-size: 14px;
}
.yh-autocomplete__clear:hover {
  color: var(--yh-text-color-secondary, #909399);
}

.yh-autocomplete__prepend {
  display: inline-flex;
  align-items: center;
  padding: 0 20px;
  background-color: var(--yh-fill-color-light, #f5f7fa);
  border: 1px solid var(--yh-border-color, #dcdfe6);
  border-right: 0;
  border-radius: var(--yh-border-radius-base, 4px) 0 0 var(--yh-border-radius-base, 4px);
  white-space: nowrap;
  color: var(--yh-text-color-secondary, #909399);
}

.yh-autocomplete__append {
  display: inline-flex;
  align-items: center;
  padding: 0 20px;
  background-color: var(--yh-fill-color-light, #f5f7fa);
  border: 1px solid var(--yh-border-color, #dcdfe6);
  border-left: 0;
  border-radius: 0 var(--yh-border-radius-base, 4px) var(--yh-border-radius-base, 4px) 0;
  white-space: nowrap;
  color: var(--yh-text-color-secondary, #909399);
}

.yh-autocomplete__dropdown {
  position: absolute;
  margin-top: 4px;
  background-color: var(--yh-bg-color-overlay, #fff);
  border: 1px solid var(--yh-border-color-light, #e4e7ed);
  border-radius: var(--yh-border-radius-base, 4px);
  box-shadow: var(--yh-box-shadow-light, 0 2px 12px 0 rgba(0, 0, 0, 0.1));
  box-sizing: border-box;
  overflow: hidden;
}

.yh-autocomplete__suggestions {
  margin: 0;
  padding: 6px 0;
  list-style: none;
  max-height: 280px;
  overflow-y: auto;
  box-sizing: border-box;
}

.yh-autocomplete__suggestion {
  padding: 8px 16px;
  min-height: 34px;
  font-size: 14px;
  color: var(--yh-text-color-regular, #606266);
  cursor: pointer;
  transition: background-color 0.2s;
  box-sizing: border-box;
}
.yh-autocomplete__suggestion:hover {
  background-color: var(--yh-fill-color-light, #f5f7fa);
}
.yh-autocomplete__suggestion.is-highlighted {
  color: var(--yh-color-white, #ffffff);
  background-color: var(--yh-color-primary, #409eff);
  /* 确保自定义内容中的所有文字都显示为白色 */
}
.yh-autocomplete__suggestion.is-highlighted *,
.yh-autocomplete__suggestion.is-highlighted span,
.yh-autocomplete__suggestion.is-highlighted div,
.yh-autocomplete__suggestion.is-highlighted p,
.yh-autocomplete__suggestion.is-highlighted a {
  color: #ffffff !important;
}

.yh-autocomplete__loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  color: var(--yh-text-color-secondary, #909399);
  font-size: 14px;
}

.yh-autocomplete__empty {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  color: var(--yh-text-color-placeholder, #a8abb2);
  font-size: 14px;
}

.yh-autocomplete__loading-icon {
  width: 16px;
  height: 16px;
  margin-right: 8px;
  animation: yh-autocomplete-loading 1s linear infinite;
}

.yh-autocomplete.is-focused .yh-autocomplete__wrapper {
  border-color: var(--yh-color-primary, #409eff);
  box-shadow: 0 0 0 2px rgba(64, 158, 255, 0.2);
}

.yh-autocomplete.is-disabled {
  cursor: not-allowed;
}
.yh-autocomplete.is-disabled .yh-autocomplete__wrapper {
  background-color: var(--yh-fill-color-light, #f5f7fa);
  border-color: var(--yh-border-color-light, #e4e7ed);
  cursor: not-allowed;
}
.yh-autocomplete.is-disabled .yh-autocomplete__wrapper:hover {
  border-color: var(--yh-border-color-light, #e4e7ed);
}

.yh-autocomplete.is-disabled .yh-autocomplete__inner {
  color: var(--yh-text-color-placeholder, #a8abb2);
  -webkit-text-fill-color: var(--yh-text-color-placeholder, #a8abb2);
}

.yh-autocomplete--large {
  font-size: 14px;
}
.yh-autocomplete--large .yh-autocomplete__wrapper {
  padding: 1px 15px;
}

.yh-autocomplete--large .yh-autocomplete__inner {
  height: 38px;
  line-height: 38px;
}

.yh-autocomplete--small {
  font-size: 12px;
}
.yh-autocomplete--small .yh-autocomplete__wrapper {
  padding: 1px 7px;
}

.yh-autocomplete--small .yh-autocomplete__inner {
  height: 22px;
  line-height: 22px;
}

.yh-group__wrapper {
  border-radius: 0;
  z-index: 1;
}
.yh-group__wrapper:focus-within {
  z-index: 2;
}

.yh-autocomplete .yh-group--prepend .yh-group__wrapper {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.yh-autocomplete .yh-group--append .yh-group__wrapper {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.yh-autocomplete-dropdown-enter-active,
.yh-autocomplete-dropdown-leave-active {
  transition: opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

.yh-autocomplete-dropdown-enter-from,
.yh-autocomplete-dropdown-leave-to {
  opacity: 0;
  transform: translateY(-10px) scaleY(0);
}

@keyframes yh-autocomplete-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}