/* Searchable Select combobox (pairs with static/js/searchable-select.js) */
.searchable-wrapper { position: relative; width: 100%; }
.searchable-wrapper > select.searchable-select { display: none !important; }
.searchable-wrapper .searchable-input { width: 100%; }
.searchable-dropdown {
    position: absolute; top: 100%; left: 0; right: 0; margin-top: 1px;
    background: #fff; border: 1px solid #ced4da; max-height: 320px; overflow-y: auto;
    z-index: 1055; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12); display: none;
}
.searchable-wrapper.open .searchable-dropdown { display: block; }
.searchable-dropdown .sd-item {
    padding: 8px 12px; cursor: pointer; font-size: 0.9rem;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    border-bottom: 1px solid #f1f1f1;
}
.searchable-dropdown .sd-item:last-child { border-bottom: 0; }
.searchable-dropdown .sd-item:hover,
.searchable-dropdown .sd-item.active { background: #e7f1ff; }
.searchable-dropdown .sd-empty {
    padding: 10px 12px; color: #6c757d; font-style: italic; font-size: 0.85rem;
}
