/* Shared single-choice controls. Native selects still submit and validate. */
.single-select { position: relative; display: inline-block; width: 100%; min-width: 0; max-width: 100%; vertical-align: middle; }
.single-select[hidden] { display: none !important; }
select.single-select-native {
  position: absolute !important; top: 0 !important; left: 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;
  clip-path: inset(50%) !important; opacity: 0 !important; pointer-events: none !important;
}
.single-select .single-select-button {
  appearance: none; display: flex; align-items: center; gap: 12px;
  box-sizing: border-box; width: 100%; min-height: 44px; height: auto;
  margin: 0; padding: 10px 12px; border: 1px solid var(--line, var(--border-color, #d7e1da));
  border-radius: 10px; background: var(--white, var(--body-bg, #fff));
  color: var(--ink, var(--body-fg, #23352c)); font: inherit; font-size: 15px;
  font-weight: 400; line-height: 1.5; text-align: left; text-transform: none;
  cursor: pointer; box-shadow: none; transform: none;
}
.single-select-value { flex: 1; min-width: 0; overflow-wrap: anywhere; white-space: normal; }
.single-select-button::after { content: ''; flex: 0 0 6px; width: 6px; height: 6px; margin: 0 3px 3px 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.single-select-button[aria-expanded="true"]::after { transform: translateY(3px) rotate(225deg); }
.single-select .single-select-button:hover:not(:disabled), .single-select .single-select-button[aria-expanded="true"] { border-color: var(--green, #1f6a58); }
.single-select .single-select-button:focus-visible { outline: 3px solid rgba(31,106,88,.25); outline-offset: 2px; border-color: var(--green, #1f6a58); }
.single-select .single-select-button:disabled { opacity: .55; cursor: not-allowed; }
.single-select .single-select-button[aria-invalid="true"] { border-color: #b13737; }
.single-select-error { display: block; margin-top: 6px; color: var(--error-fg, #b13737); font-size: 13px; line-height: 1.5; }
.single-select-error[hidden] { display: none; }
.single-select-menu {
  position: fixed; z-index: 2200; box-sizing: border-box; max-height: min(300px, 45vh);
  padding: 5px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin;
  border: 1px solid var(--line, var(--border-color, #d7e1da)); border-radius: 10px;
  background: var(--white, var(--body-bg, #fff)); color: var(--ink, var(--body-fg, #23352c));
  box-shadow: 0 8px 24px rgba(22,48,41,.12); font-family: inherit; font-size: 14px; line-height: 1.5;
}
.single-select-option { position: relative; margin: 0; padding: 10px 30px 10px 12px; border-radius: 7px; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.single-select-option:hover:not([aria-disabled="true"]), .single-select-option.is-active { background: var(--green-soft, var(--darkened-bg, #f2f7f4)); }
.single-select-option[aria-selected="true"] { color: var(--green-dark, var(--body-fg, #18513e)); background: var(--green-soft, var(--selected-bg, #eaf5ef)); }
.single-select-option[aria-selected="true"]::after { content: '✓'; position: absolute; right: 10px; top: 10px; }
.single-select-option[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.single-select-group, .single-select-empty { padding: 10px 12px 6px; color: var(--ink-soft, var(--body-quiet-color, #607167)); font-size: 12px; }
.single-select-group { font-weight: 700; }
.legal-filter > .single-select { flex: 1 1 220px; width: auto; }
.legal-status-field .single-select { min-width: 0; }
@media (max-width: 600px) {
  .single-select .single-select-button { font-size: 16px; }
}
