.search-select { position: relative; display: block; min-width: 0; }
.search-select-native { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important; clip-path: inset(50%); opacity: 0; pointer-events: none; }
.search-select-trigger { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #b8ccd5; border-radius: 7px; background: #fff; color: #153f50; font: inherit; text-align: left; cursor: pointer; }
.search-select-trigger::after { content: '▾'; color: #007f9e; }
.search-select-trigger:disabled { background: #f1f5f7; color: #637682; cursor: not-allowed; }
.search-select-trigger:focus-visible { outline: 3px solid #a7cc31; outline-offset: 2px; }
.search-select-trigger[aria-invalid=true] { border-color: #b52e3b; }
.search-select-popup { position: fixed; z-index: 10600; box-sizing: border-box; padding: 8px; border: 1px solid #b8ccd5; border-radius: 9px; background: #fff; color: #153f50; box-shadow: 0 8px 28px rgba(16,59,76,.18); font: 14px/1.5 Arial,sans-serif; }
.search-select-popup[hidden] { display: none; }
.search-select-search { box-sizing: border-box; width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid #b8ccd5; border-radius: 6px; background: #fff; color: #153f50; font: inherit; }
.search-select-search:focus { outline: 2px solid #008eab; outline-offset: 1px; }
.search-select-list { max-height: 240px; overflow-y: auto; margin-top: 8px; }
.search-select-option { display: block; box-sizing: border-box; width: 100%; min-height: 38px; padding: 8px 10px; border: 0; border-radius: 5px; background: #fff; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.search-select-option:hover,.search-select-option:focus { background: #eaf8fb; outline: 2px solid #008eab; outline-offset: -2px; }
.search-select-option[aria-selected=true] { background: #eff7df; font-weight: 700; }
.search-select-option:disabled { color: #82929b; cursor: not-allowed; }
.search-select-group { padding: 8px 10px 4px; color: #526a76; font-weight: 700; }
.search-select-empty { margin: 10px; color: #526a76; }
.input-group > .search-select { flex: 1 1 0; width: 1%; }
