/* Shared control geometry. Keep browser-native select interaction and keyboard use. */
select:not([multiple]):not([size]) {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  min-width: 0;
  min-height: var(--ui-control-height, 44px);
  padding: 10px var(--ui-control-trailing, 40px) 10px var(--ui-control-inset, 12px);
  border: 1px solid #dce3de;
  border-radius: var(--ui-radius-control);
  background-color: var(--ui-paper);
  background-image: url('/assets/icons/select-down.svg');
  background-repeat: no-repeat;
  background-position: right var(--ui-control-inset, 12px) center;
  background-size: var(--ui-control-arrow, 16px) var(--ui-control-arrow, 16px);
  color: var(--ui-ink);
  font-size: 13px;
  line-height: 1.5;
  text-overflow: ellipsis;
}
select:not([multiple]):not([size]):hover { border-color: #b8c5bd; }
select:not([multiple]):not([size]):focus-visible {
  outline: 3px solid #8bb9a3;
  outline-offset: 2px;
}
select:disabled, .field input:disabled, .field textarea:disabled {
  background-color: var(--ui-canvas);
  color: var(--ui-muted);
  cursor: not-allowed;
}
.field input:not([type=checkbox]):not([type=radio]), input.control {
  min-height: var(--ui-control-height, 44px);
  line-height: 1.5;
}
.member-filters > .button, .catalog-filter-controls > .button,
.pause-controls .button, .location-tools > .button { min-height: var(--ui-control-height, 44px); }
.form-grid { align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.checkbox, .content-toggle, .option-check { min-height: var(--ui-control-height, 44px); }
.checkbox input, .content-toggle input, .option-check input { flex-shrink: 0; margin: 0; accent-color: var(--ui-green); }
.actions > *, .option-heading > *, .section-heading > * { min-width: 0; }
.option-heading { gap: 12px; flex-wrap: wrap; }
.option-editor-tools select { flex: 1 1 150px; width: 0; }
.option-editor-tools { margin: 0 0 16px; }
.option-choice-row { align-items: flex-end; }
.option-choice-row > .field { margin: 0; }
.option-title > .field { min-width: 0; }
.option-choice-row input, .option-title input { min-height: var(--ui-control-height, 44px); }
.dialog-header .button { min-height: var(--ui-control-height, 44px); }
.form-stack > .button[type=submit], .option-fieldset > .button[type=submit] { min-height: var(--ui-control-height, 44px); }
@media (max-width: 600px) {
  .page-heading { flex-wrap: wrap; gap: 12px; }
  .page-heading > div:first-child { flex: 1; min-width: 0; }
  .page-heading > .actions { flex-basis: 100%; justify-content: flex-start; gap: 8px; }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .option-editor-tools select { flex-basis: 100%; width: 100%; }
  .option-title { flex-wrap: wrap; }
  .option-title > .field { flex: 1 1 160px; }
  .option-choice-row > .field { flex: 1 1 90px; min-width: 0; }
  .dialog-body .button, .page-heading .button, .catalog-table .button,
  .tabs button, .catalog-filter-controls .button { min-height: var(--ui-control-height, 44px); white-space: normal; }
  .section-heading, .split { flex-wrap: wrap; gap: 12px; }
}
@media (forced-colors: active) {
  select:not([multiple]):not([size]) { appearance: auto; background-image: none; }
}
