/* Form dropdowns and multi-player filters share the same field, list and interaction. */
.select-picker { display: inline-grid; vertical-align: middle; min-width: 0; max-width: 100%; }
/* Keep native sizing and form semantics, but expose only the custom field to pointers and assistive tech. */
.select-picker > select { grid-area: 1 / 1; width: 100%; min-width: 0; margin: 0; opacity: 0; pointer-events: none; }
.select-picker > .picker-field { grid-area: 1 / 1; width: 100%; min-width: 0; justify-content: flex-start; color: var(--ink); text-align: left; }
.picker .picker-field { padding: 7px 30px 7px 10px; background-color: var(--panel); font-weight: 400; white-space: nowrap; }
.picker-value { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.picker-field[aria-invalid=true] { border-color: var(--red); }
.picker-panel[popover] { position: fixed; inset: auto; z-index: 40; margin: 0; max-width: calc(100vw - 24px); overscroll-behavior: contain; color: var(--ink); font: inherit; text-align: left; white-space: normal; }
.picker-panel[popover]:not(:popover-open):not([hidden]) { display: block; }
.picker .picker-search { position: sticky; top: 0; z-index: 1; min-height: var(--control-height); margin: 0 0 4px; padding: 7px 10px; background: var(--panel); font-size: 13px; }
.picker .picker-group-title { padding: 10px 10px 4px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.picker li:has(> [role=group][hidden]) { display: none; }
.picker [role=option] { min-height: 34px; overflow-wrap: anywhere; }
.picker [role=option][aria-disabled=true] { opacity: .45; cursor: not-allowed; }
.picker [role=option][aria-disabled=true]:hover { background: none; }
.picker [role=option][hidden], .picker [role=group][hidden] { display: none; }
/* Match each existing form's footprint. The popup itself escapes narrow tables and scrolling panels. */
.case-inventory-filters .select-picker, table.seasons .select-picker, .curves-controls .select-picker, .admin-users-table .user-access .select-picker { width: 100%; }
.badge-picker .select-picker { flex: 1 1 180px; }
.country-choice .select-picker { flex: 1; width: 100%; }
.country-choice .picker-field { padding: 8px 24px 8px 0; border: 0; background-color: var(--bg); background-position: right center; font: inherit; min-height: calc(var(--control-height) - 2px); }
.country-choice .picker-field:focus-visible, .country-choice .picker.open .picker-field { outline: none; }
.look-form .select-picker { max-width: 280px; }
.curves-controls .select-picker { margin-top: 3px; }
.curves-controls .select-picker > select { margin-top: 0; }
.curves-controls .picker-field { min-height: 30px; padding: 4px 26px 4px 7px; border-radius: 5px; background-color: var(--bg); font-size: 12px; }
.rw-inline-review .rw-quick-form .select-picker { max-width: 145px; }
.rw-picker-sort .select-picker { flex-shrink: 1; }
@media (max-width: 760px) {
  .admin-users-table .user-access .select-picker { max-width: 300px; }
  .admin-users-bulk .select-picker { flex: 1 1 180px; width: 100%; }
}
@media (max-width: 640px) {
  .picker [role=option] { min-height: 44px; }
  .picker .picker-search { font-size: 16px; }
}
.select-picker[hidden] { display: none; }
