/* 可搜索下拉组件（通用） */
.ss-select { position: relative; }
.ss-display {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: .25rem;
    font-size: 12px;
    padding: 3px 24px 3px 6px;
    height: 28px;
    line-height: 22px;
    background: #fff;
    cursor: pointer;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
}
.ss-display:hover { border-color: var(--ombox-primary, #0087F7); }
.ss-arrow {
    position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
    font-size: 10px; color: #999; pointer-events: none;
}
.ss-placeholder { color: var(--bs-secondary-color, #6c757d); }
.ss-dropdown {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    background: #fff;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: .25rem;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    z-index: 1050;
    margin-top: 2px;
    min-width: 220px;
}
.ss-search {
    width: 100%;
    border: none !important;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6) !important;
    border-radius: .25rem .25rem 0 0 !important;
    padding: 6px 8px !important;
    font-size: 12px !important;
    height: auto !important;
    box-shadow: none !important;
    outline: none !important;
}
.ss-options { max-height: 200px; overflow-y: auto; }
.ss-option {
    padding: 5px 8px; font-size: 12px; cursor: pointer;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ss-option:hover { background: var(--bs-primary-bg-subtle, #e6f7ff); }
.ss-option.ss-active { background: var(--ombox-primary, #0087F7); color: #fff; }
.ss-option.ss-active .ss-tag { color: rgba(255,255,255,.8); }
.ss-option.ss-hidden { display: none; }
.ss-tag { font-size: 10px; color: var(--bs-secondary-color, #6c757d); margin-left: 4px; }
.ss-no-match { padding: 8px; text-align: center; color: var(--bs-secondary-color, #6c757d); font-size: 12px; }
.ss-warning .ss-display { border-color: var(--ombox-danger, #ed4014); background: #fff6f6; }
