.ac-wrap { position: relative; flex: 1; min-width: 0; }
.ac-wrap input { width: 100%; }
.ac-list {
  position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px);
  margin: 0; padding: 4px; list-style: none; max-height: 280px; overflow-y: auto;
  background: #fff; border: 1px solid #e6e2f3; border-radius: var(--rx-sm, 14px); box-shadow: 0 10px 30px rgba(23, 18, 43, 0.18);
}
.ac-list[hidden] { display: none; }
.ac-list li { padding: 10px 12px; border-radius: var(--rx-sm, 10px); cursor: pointer; font: 500 16px var(--font-body); color: #17122b; }
.ac-list li:hover, .ac-list li.ac-active { background: #f1ecff; }
