/* Native fields remain the closed control, including their labels, sizing and
   validation. Multiple/list selects and the transparent locale hit area stay native. */
:is(.studio select, .studio-select-surface select, select.studio-select):where(:not([multiple], [data-native-select], [name="locale"])):is(:not([size]), [size="0"], [size="1"]) {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--field-border, #dfe1e5);
  border-radius: var(--field-radius, 6px);
  background-color: var(--input, #fafafa);
  background-image: linear-gradient(45deg, transparent 50%, var(--muted, #566477) 50%), linear-gradient(135deg, var(--muted, #566477) 50%, transparent 50%);
  background-position: calc(100% - 15px) center, calc(100% - 11px) center;
  background-size: 4px 4px;
  background-repeat: no-repeat;
  padding-inline-end: 32px;
  color: var(--text, #182230);
  font-family: var(--font-ui, system-ui, sans-serif);
  font-weight: 400;
  cursor: pointer;
  text-overflow: ellipsis;
  transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}
:is(.studio select, .studio-select-surface select, select.studio-select):where(:not([multiple], [data-native-select], [name="locale"])):is(:not([size]), [size="0"], [size="1"]):is(:hover, [data-studio-select-open="true"]):not(:disabled) { border-color: var(--field-hover, #b8bec7); background-color: var(--panel, #fff); }
:is(.studio select, .studio-select-surface select, select.studio-select)[data-studio-select-open="true"] { border-color: var(--field-focus, #737f8e); box-shadow: 0 0 0 2px var(--field-ring, #737f8e22); outline: none; }
:is(.studio select, .studio-select-surface select, select.studio-select):disabled { cursor: not-allowed; }
:is(.studio select, .studio-select-surface select, select.studio-select):dir(rtl):not([multiple], [name="locale"]) { background-position: 15px center, 11px center; }
.studio-select-popover {
  position: fixed;
  inset: auto;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  margin: 0;
  padding: 5px;
  border: 1px solid var(--border-strong, #cbd2dc);
  border-radius: 8px;
  background: var(--panel, #fff);
  color: var(--text, #182230);
  font: 400 13px/1.4 var(--font-ui, system-ui, sans-serif);
  box-shadow: 0 4px 10px var(--shadow, #18223018), 0 16px 40px var(--shadow, #18223018);
  overflow: hidden;
  overscroll-behavior: contain;
  text-align: start;
  isolation: isolate;
}
.studio-select-popover[popover]:not(:popover-open) { display: none; }
.studio-select-popover::backdrop { background: transparent; pointer-events: none; }
.studio-select-popover .studio-select-list { min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--border-strong, #cbd2dc) transparent; outline: none; }
.studio .studio-select-popover .studio-select-search, .studio-select-popover .studio-select-search {
  display: block;
  flex: none;
  box-sizing: border-box;
  width: calc(100% - 6px);
  min-height: 32px;
  height: 32px;
  margin: 3px 3px 7px;
  padding: 6px 9px;
  border: 1px solid var(--field-border, #dfe1e5);
  border-radius: 5px;
  outline: none;
  box-shadow: none;
  background: var(--input, #fafafa);
  color: inherit;
  font: inherit;
  font-size: 12px;
}
.studio .studio-select-popover .studio-select-search:focus, .studio-select-popover .studio-select-search:focus { border-color: var(--field-focus, #737f8e); box-shadow: 0 0 0 2px var(--field-ring, #737f8e22); }
.studio-select-option { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 7px; align-items: center; box-sizing: border-box; min-height: 32px; padding: 7px 8px; border-radius: 4px; cursor: pointer; user-select: none; }
.studio-select-option-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.studio-select-option-check { display: block; width: 12px; height: 12px; color: var(--accent, #c43a20); }
.studio-select-option[aria-selected="true"] .studio-select-option-check::after { content: ""; display: block; width: 8px; height: 4px; margin: 2px 0 0 1px; border-inline-start: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); }
.studio-select-option[aria-selected="true"] { font-weight: 500; }
.studio-select-option[data-active="true"]:not([aria-disabled="true"]) { background: var(--hover, #edf0f4); }
.studio-select-option[aria-disabled="true"] { color: var(--muted, #566477); opacity: .5; cursor: not-allowed; }
.studio-select-group + .studio-select-group { border-top: 1px solid var(--border, #e1e5eb); margin-top: 5px; padding-top: 5px; }
.studio-select-group-label { padding: 8px 9px 5px; color: var(--muted, #566477); font-size: 11px; font-weight: 600; }
.studio-select-empty { margin: 0; padding: 18px 10px; color: var(--muted, #566477); text-align: center; font-size: 12px; }
.studio-select-popover [hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { :is(.studio select, .studio-select-surface select, select.studio-select) { transition: none; } }
@media (forced-colors: active) { .studio-select-option[data-active="true"]:not([aria-disabled="true"]) { outline: 1px solid Highlight; } .studio-select-option-check { color: Highlight; } }

/* Existing authored action menus share surface tokens only. Their own owners
   retain positioning, focus behavior and destructive-action colors. */
.studio :is(.studio-workspace-menu, .studio-server-menu) {
  border-radius: 8px;
  border-color: var(--border-strong);
  box-shadow: 0 4px 10px var(--shadow), 0 16px 40px var(--shadow);
}
.studio .studio-server-menu [role="menuitem"] { min-height: 34px; padding: 7px 9px; font-size: 13px; }
