/*
 * ContactAutocomplete popover — Address Book typeahead.
 * Classes match crates/ui-app/src/components/contact_autocomplete.rs.
 * Tokens only; the legacy monolith still names hyphenated
 * .contact-autocomplete-* and is not the source of truth.
 */

.contact-autocomplete {
    position: relative;
    width: 100%;
}

.contact-autocomplete__anchor {
    position: relative;
}

.contact-autocomplete__popover {
    position: absolute;
    inset-inline: 0;
    top: var(--spacing-xs);
    z-index: 20;
    display: flex;
    flex-direction: column;
    max-height: 20rem;
    overflow-y: auto;
    padding: var(--spacing-xs);
    background: var(--card-bg);
    border: 1px solid color-mix(in srgb, var(--anviz-accent-secondary) 45%, transparent);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-glow-blue);
}

.contact-autocomplete__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.contact-autocomplete__item {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    text-align: left;
    cursor: pointer;
}

.contact-autocomplete__item:hover,
.contact-autocomplete__item:focus-visible {
    background: var(--interactive-hover-bg);
    border-color: color-mix(in srgb, var(--anviz-accent-primary) 45%, transparent);
    outline: none;
}

.contact-autocomplete__item-name {
    color: var(--text-primary);
    font-weight: 600;
}

.contact-autocomplete__item-preview,
.contact-autocomplete__empty {
    margin: 0;
    padding: var(--spacing-xs) var(--spacing-sm);
    color: var(--text-muted);
    line-height: 1.4;
}

.contact-autocomplete__error {
    margin: 0;
    padding: var(--spacing-xs) var(--spacing-sm);
    color: var(--text-error);
    line-height: 1.4;
}
