/* Solid, readable defaults also cover native multiple-choice controls. */
select, select option, select optgroup {
  color: #f2f6ed !important;
  background-color: #182229 !important;
  -webkit-text-fill-color: #f2f6ed !important;
  opacity: 1 !important;
  color-scheme: dark;
}
select.opaque-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  pointer-events: none !important;
}
.opaque-select {
  display: block;
  position: relative;
  width: 100%;
  min-height: 50px;
  padding: 14px 38px 14px 14px;
  text-align: left;
  font: inherit;
  line-height: 1.4;
  color: #f2f6ed !important;
  -webkit-text-fill-color: #f2f6ed !important;
  background: #182229 !important;
  border: 1px solid #54616a;
  border-radius: 11px;
  cursor: pointer;
  opacity: 1;
}
.opaque-select::after { content: '▾'; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); }
.opaque-select:focus-visible, .opaque-select[aria-expanded=true] { outline: 2px solid #c7f95b; outline-offset: 2px; }
.opaque-select[aria-invalid=true] { border-color: #ffb5a1; }
.opaque-select:disabled { color: #b7c3b1 !important; -webkit-text-fill-color: #b7c3b1 !important; opacity: 1; cursor: not-allowed; }
.opaque-options {
  position: fixed;
  z-index: 10000;
  box-sizing: border-box;
  overflow-y: auto;
  padding: 6px;
  color: #f2f6ed !important;
  background: #182229 !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  border: 1px solid #9cb35c;
  border-radius: 10px;
  box-shadow: 0 10px 28px #0009;
  isolation: isolate;
}
.opaque-options button[role=option] {
  display: block;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 12px;
  border: 0;
  border-radius: 6px;
  text-align: left;
  white-space: normal;
  font: inherit;
  line-height: 1.4;
  color: #f2f6ed !important;
  -webkit-text-fill-color: #f2f6ed !important;
  background: #182229 !important;
  opacity: 1 !important;
  cursor: pointer;
}
.opaque-options button[role=option]:hover,
.opaque-options button[role=option]:focus,
.opaque-options button[aria-selected=true] {
  background: #c7f95b !important;
  color: #111a0c !important;
  -webkit-text-fill-color: #111a0c !important;
  outline: none;
}
.opaque-options button[role=option]:disabled { color: #b7c3b1 !important; -webkit-text-fill-color: #b7c3b1 !important; cursor: not-allowed; }
