/* Shared control primitive. Generated by form-field-quality/scripts/sync-controls.py.
 * Change the shared source, then refresh consumers; do not hand-edit this copy.
 * Only arrow geometry, text clearance and minimum hit area are owned here.
 */
:where(.ui-controls), [data-ui-select] {
  --ui-chevron: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2352616b%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E");
  --ui-chevron-light: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23cbd5e1%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E");
  --ui-chevron-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E");
  --ui-control-icon: 16px;
  --ui-control-inset: 16px;
  --ui-control-start: 12px;
  --ui-control-end: 44px;
  --ui-control-height: 44px;
  --ui-control-gap: 8px;
}
:where(.dark .ui-controls, .ui-controls.dark, .dark [data-ui-select]) {
  --ui-chevron: var(--ui-chevron-light);
}
/* Important declarations form the small shared geometry contract. They prevent
 * route-level padding/background shorthands from silently removing the arrow.
 * Multiple/listbox controls and enhanced widgets retain their native owners.
 */
/* Layered important geometry also survives ID-scoped important shorthands. */
@layer ui-controls {
:is(.ui-controls select, select[data-ui-select]):not([multiple]):not([size]:not([size="1"])):not([hidden]):not([aria-hidden="true"]):not(.select2-hidden-accessible):not([data-ui-select-overlay]) {
  box-sizing: border-box;
  -webkit-appearance: var(--ui-select-appearance, none) !important;
  appearance: var(--ui-select-appearance, none) !important;
  min-block-size: var(--ui-control-height) !important;
  min-inline-size: calc(var(--ui-control-start) + var(--ui-control-end) + 2ch);
  max-inline-size: 100%;
  padding-inline-start: var(--ui-control-start) !important;
  padding-inline-end: var(--ui-control-end) !important;
  background-image: var(--ui-chevron) !important;
  background-repeat: no-repeat !important;
  background-position: right var(--ui-control-inset) center !important;
  background-size: var(--ui-control-icon) var(--ui-control-icon) !important;
}
:is(.ui-controls select, select[data-ui-select]):not([multiple]):not([size]:not([size="1"])):not([hidden]):not([aria-hidden="true"]):not(.select2-hidden-accessible):not([data-ui-select-overlay]):dir(rtl) {
  background-position: left var(--ui-control-inset) center !important;
}
}
.ui-controls .ui-chevron {
  display: inline-block;
  inline-size: var(--ui-control-icon) !important;
  block-size: var(--ui-control-icon) !important;
  flex: 0 0 var(--ui-control-icon);
  margin: 0;
  border: 0;
  pointer-events: none;
  vertical-align: middle;
}
.ui-controls :not(svg).ui-chevron {
  background-color: currentColor !important;
  background-image: none !important;
  -webkit-mask: var(--ui-chevron-mask) center / contain no-repeat !important;
  mask: var(--ui-chevron-mask) center / contain no-repeat !important;
}
.ui-controls .ui-chevron-overlay {
  position: absolute;
  inset-inline-end: var(--ui-control-inset) !important;
  inset-inline-start: auto !important;
  inset-block-start: 50%;
  transform: translateY(-50%);
}
.ui-controls .is-open > .ui-chevron-overlay { transform: translateY(-50%) rotate(180deg); }
.ui-controls .ui-dropdown-trigger { display: inline-flex; }
.ui-controls .ui-dropdown-trigger,
.ui-controls button:has(> .ui-chevron) {
  align-items: center;
  gap: var(--ui-control-gap);
  min-block-size: var(--ui-control-height) !important;
  padding-inline: var(--ui-control-start) var(--ui-control-inset) !important;
}
.ui-controls .ui-dropdown-trigger:has(~ .ui-chevron-overlay) {
  padding-inline-start: 0 !important;
  padding-inline-end: var(--ui-control-end) !important;
}
.ui-controls .ui-chevron::before,
.ui-controls .ui-chevron::after { content: none !important; }
/* Details keep native disclosure semantics; their shared indicator is decorative. */
.ui-controls :is(summary:not([data-ui-disclosure="icon"]), [data-ui-chevron]) {
  position: relative;
  list-style: none;
  min-block-size: var(--ui-control-height) !important;
  padding-inline-end: var(--ui-control-end) !important;
  cursor: pointer;
}
.ui-controls :is(summary:not([data-ui-disclosure="icon"]), [data-ui-chevron])::-webkit-details-marker { display: none; }
.ui-controls :is(summary:not([data-ui-disclosure="icon"]), [data-ui-chevron])::marker { content: ""; }
.ui-controls summary:not([data-ui-disclosure="icon"])::before { content: none !important; }
.ui-controls :is(summary:not([data-ui-disclosure="icon"]), [data-ui-chevron]):not(:has(.ui-chevron))::after {
  content: "" !important;
  position: absolute !important;
  inset-inline-end: var(--ui-control-inset) !important;
  inset-inline-start: auto !important;
  inset-block-start: 50% !important;
  inline-size: var(--ui-control-icon) !important;
  block-size: var(--ui-control-icon) !important;
  margin: 0 !important;
  border: 0 !important;
  background: currentColor !important;
  -webkit-mask: var(--ui-chevron-mask) center / contain no-repeat !important;
  mask: var(--ui-chevron-mask) center / contain no-repeat !important;
  transform: translateY(-50%) !important;
  pointer-events: none;
}
.ui-controls :is(summary:not([data-ui-disclosure="icon"]), [data-ui-chevron]):has(.ui-chevron) {
  padding-inline-end: var(--ui-control-inset) !important;
  gap: var(--ui-control-gap);
}
.ui-controls :is(summary:not([data-ui-disclosure="icon"]), [data-ui-chevron]):has(.ui-chevron)::after { content: none !important; }
.ui-controls :is(details[open] > summary, [data-ui-chevron][aria-expanded="true"]):not(:has(.ui-chevron))::after { transform: translateY(-50%) rotate(180deg) !important; }
.ui-controls :is([aria-expanded="true"], details[open] > summary) > .ui-chevron { transform: rotate(180deg); }
@media (forced-colors: active) {
  @layer ui-controls {
  :is(.ui-controls select, select[data-ui-select]):not([multiple]):not([size]:not([size="1"])):not([hidden]):not([aria-hidden="true"]):not(.select2-hidden-accessible):not([data-ui-select-overlay]) {
    -webkit-appearance: auto !important;
    appearance: auto !important;
    background-image: none !important;
  }
  }
  .ui-controls :not(svg).ui-chevron,
  .ui-controls :is(summary:not([data-ui-disclosure="icon"]), [data-ui-chevron]):not(:has(.ui-chevron))::after { background-color: CanvasText !important; }
}

@supports (appearance: base-select) {
  select[data-ui-select-picker] { --ui-select-appearance: base-select; }
  select[data-ui-select-picker]::picker-icon { display: none; }
}
/* Select2 has a visible trigger of its own; its hidden native select is excluded. */
.ui-controls .select2-container--default .select2-selection--single {
  min-block-size: var(--ui-control-height);
  padding-inline-end: var(--ui-control-end);
  background-image: none;
}
.ui-controls .select2-container--default .select2-selection--single .select2-selection__arrow {
  inset-inline-end: var(--ui-control-inset);
  inset-inline-start: auto;
  inset-block-start: 0;
  inline-size: var(--ui-control-icon) !important;
  block-size: 100%;
}
.ui-controls .select2-container--default .select2-selection--single .select2-selection__arrow b {
  display: block;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 50%;
  inline-size: var(--ui-control-icon) !important;
  block-size: var(--ui-control-icon) !important;
  border: 0;
  margin: 0;
  background: currentColor;
  -webkit-mask: var(--ui-chevron-mask) center / contain no-repeat;
  mask: var(--ui-chevron-mask) center / contain no-repeat;
  transform: translateY(-50%);
}
.ui-controls .select2-container--open .select2-selection--single .select2-selection__arrow b {
  transform: translateY(-50%) rotate(180deg);
}
