.sidebar { overflow-x: hidden; overflow-y: auto; }
.search-box { position: relative; z-index: 31; }
.search-suggestions {
  position: fixed;
  z-index: 30;
  left: auto;
  right: auto;
  top: auto;
  margin: 0;
  padding: 4px;
  overflow: hidden;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}
.search-suggestions[hidden] { display: none; }
.search-suggestion {
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 0;
  border-radius: 4px;
  color: #333;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.search-suggestion:hover,
.search-suggestion.active { background: rgba(0,0,0,.04); }
.search-suggestion span { min-width: 0; display: grid; gap: 1px; }
.search-suggestion strong { overflow: hidden; font-size: 13px; line-height: 20px; text-overflow: ellipsis; white-space: nowrap; }
.search-suggestion small { overflow: hidden; color: #999; font-size: 10px; line-height: 16px; text-overflow: ellipsis; white-space: nowrap; }
.search-suggestion i { flex: 0 0 auto; color: #2990ff; font-size: 11px; font-style: normal; }
.search-empty-result { padding: 18px 8px; color: #999; font-size: 12px; text-align: center; }
.cc-section.search-located { animation: search-located 1.6s ease; }
@keyframes search-located {
  0%, 45% { border-color: #2990ff; box-shadow: 0 0 0 3px rgba(41,144,255,.12); }
  100% { border-color: #e8e8e8; box-shadow: none; }
}
