/* Native controls remain the form/validation source; only the UI is enhanced. */
.pvp-select{position:relative;display:inline-flex;vertical-align:middle;width:100%;min-width:0;max-width:100%;color-scheme:dark}
.pvp-select[hidden]{display:none!important}.admin-compact-form>.pvp-select{width:auto;min-width:125px;flex:1}
select option,select optgroup{background:var(--bg-panel);color:var(--text)}
select.pvp-native-select{position:absolute!important;inset:0 auto auto 0!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;opacity:0!important;clip-path:inset(50%)!important;overflow:hidden!important;pointer-events:none!important}
.pvp-select>button.pvp-select-trigger{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-width:0;min-height:46px;margin:0;padding:11px 14px;border:1px solid var(--line-input,var(--line));border-radius:0;background:var(--bg-panel);color:var(--text);font:400 14px/1.45 var(--body,Arial,sans-serif);text-align:left;cursor:pointer;box-shadow:none;transition:border-color .16s,background .16s,box-shadow .16s}
.pvp-select-trigger>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pvp-select-trigger::after{content:'';flex:none;width:7px;height:7px;border-right:1.5px solid var(--brand);border-bottom:1.5px solid var(--brand);transform:rotate(45deg) translateY(-2px);transition:transform .16s}
.pvp-select>button.pvp-select-trigger:hover{border-color:color-mix(in srgb,var(--brand) 62%,var(--line-input,var(--line)));background:var(--bg-panel)}
.pvp-select>button.pvp-select-trigger:focus-visible,.pvp-select>button.pvp-select-trigger[aria-expanded=true]{outline:none;border-color:color-mix(in srgb,var(--brand) 62%,var(--line-input,var(--line)));background:var(--bg-panel);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 10%,transparent)}
.pvp-select-trigger[aria-expanded=true]::after{transform:rotate(225deg) translate(-2px,-2px)}
.pvp-select>button.pvp-select-trigger:disabled{opacity:.48;cursor:not-allowed}
.pvp-select>button.pvp-select-trigger[aria-invalid=true]{border-color:#ec746f}
.pvp-select-panel{position:fixed;inset:auto;margin:0;padding:12px;border:1px solid var(--line-strong,var(--text-muted));border-radius:0;background:var(--bg-sunken);color:var(--text);box-shadow:0 22px 60px #000b;z-index:30000;box-sizing:border-box;overflow:hidden;font:400 14px/1.5 var(--body,Arial,sans-serif);color-scheme:dark;animation:pvp-select-in .14s ease-out}
.pvp-select-panel[hidden]{display:none!important}
.pvp-select-panel::backdrop{background:transparent;pointer-events:none}
.pvp-select-panel input.pvp-select-search{box-sizing:border-box;width:100%;min-width:0;height:40px;margin:0 0 10px;padding:8px 11px;border:1px solid var(--line-input,var(--line));border-radius:0;background:var(--bg-panel);color:var(--text);outline:none;font:inherit}
.pvp-select-panel input.pvp-select-search:focus{border-color:var(--brand);box-shadow:none}
.pvp-select-options{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--text-muted) var(--bg-panel);max-height:310px}
.pvp-select-option{display:flex;gap:10px;align-items:center;min-height:39px;padding:9px 10px;box-sizing:border-box;border:1px solid transparent;border-radius:0;cursor:pointer;white-space:normal;overflow-wrap:anywhere;color:var(--text-muted,var(--text))}
.pvp-select-option>span{flex:1}.pvp-select-option::after{content:'';width:14px;flex:none}
.pvp-select-option[aria-selected=true]{border-color:color-mix(in srgb,var(--brand) 38%,transparent);color:var(--text);background:color-mix(in srgb,var(--brand) 8%,var(--bg-panel));font-weight:600}
.pvp-select-option[aria-selected=true]::after{content:'✓';color:var(--brand)}
.pvp-select-option.is-active{border-color:color-mix(in srgb,var(--brand) 26%,var(--line-input,var(--line)));background:var(--bg-panel);outline:0;color:var(--text)}
.pvp-select-option[aria-disabled=true]{opacity:.4;cursor:not-allowed}
.pvp-select-group{padding:10px 10px 5px;color:var(--text-dim,var(--text-muted));font:600 9px var(--mono,monospace);letter-spacing:.08em;text-transform:uppercase}
.pvp-select-empty{padding:16px 10px;color:var(--text-muted,var(--text-soft))}
@keyframes pvp-select-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.pvp-select-panel{animation:none}.pvp-select>button.pvp-select-trigger,.pvp-select-trigger::after{transition:none}}
