/* em-select — searchable select (offline, pengganti Select2). Selaras token app-shell. */
.em-select-wrap { position: relative; }
/* Sembunyikan select asli TAPI tetap fokusabel agar validasi `required` browser jalan
   (display:none → "invalid form control not focusable"). */
select.em-select-native {
    position: absolute; left: 0; bottom: 0; width: 100%; height: 1px;
    opacity: 0; pointer-events: none; z-index: -1; margin: 0; padding: 0; border: 0;
}

.em-select-input {
    cursor: text;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23667085' stroke-width='1.6'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    padding-right: 28px;
}

.em-select-panel {
    position: fixed;
    z-index: 1085;
    max-height: 260px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid var(--app-border, #d0d5dd);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(16, 24, 40, .14);
    padding: 4px;
}
.em-select-opt {
    padding: 6px 10px;
    border-radius: 6px;
    cursor: pointer;
    font-size: .875rem;
    /* Nama item panjang turun baris, bukan dipotong "…" — user harus bisa membaca nama lengkap
       (mis. "DODO BABY FINGER TOOTH BRUSH WITH CASE — PCS") sebelum memilih. */
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.3;
}
/* garis tipis antar opsi agar opsi dua baris tak tampak menyatu dengan opsi berikutnya */
.em-select-opt + .em-select-opt { border-top: 1px solid var(--app-border-weak, #f2f4f7); }
.em-select-opt:hover,
.em-select-opt.is-active { background: var(--app-accent-weak, #e7f5ee); }
.em-select-opt.is-sel { font-weight: 600; color: var(--app-accent, #1e9e6a); }
.em-select-empty { padding: 8px 10px; color: #98a2b3; font-size: .85rem; }
