.client-search { position: relative; display: block; min-width: 0; width: 100%; font-weight: 400; }
.client-search .client-search-native { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; margin: 0; border: 0; opacity: 0; pointer-events: none; }
.client-search-input { padding-right: 30px; text-overflow: ellipsis; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23627780' stroke-width='1.6'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E"); background-position: right 10px center; background-repeat: no-repeat; }
.client-search-input[aria-expanded="true"] { border-color: var(--primary); box-shadow: 0 0 0 3px var(--ring); }
.client-search-input[aria-invalid="true"] { border-color: #b42318; }
.client-search-input:disabled { opacity: .6; cursor: not-allowed; }
.client-search-popup { position: absolute; left: 0; right: 0; top: 47px; z-index: 25; display: block; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow-md); overflow: hidden; }
.client-search-popup[hidden], .client-search-error[hidden] { display: none; }
.client-search-list { display: block; max-height: 240px; overflow-y: auto; overscroll-behavior: contain; }
.client-search-option { display: flex; align-items: center; min-height: 44px; padding: 10px 12px; color: var(--ink); font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; cursor: pointer; }
.client-search-option:hover, .client-search-option.is-active { background: var(--primary-soft); color: var(--primary-strong); }
.client-search-status { display: block; padding: 10px 12px; border-top: 1px solid var(--border); color: var(--muted); font-size: 12px; line-height: 1.5; font-weight: 400; }
.client-search-hint, .client-search-error { display: block; margin-top: 6px; font-size: 12px; line-height: 1.5; font-weight: 400; color: var(--muted); }
.client-search-error { color: #b42318; }
@media (max-width: 720px) {
  .client-search-input { font-size: 16px; }
  .client-search-list { max-height: 200px; }
}
