/* Step 606 — scoped field/select interaction ownership.
   Only the explicitly audited field, select and combobox surfaces participate.
   Existing action buttons, Registry Pack/PNG filters and disclosure controls
   deliberately remain outside this layer. */

html[data-visionx-theme] body.visionx-shell {
  --visionx-step606-hover-border: var(--visionx-tab-surface-hover-border);
  --visionx-step606-active-border: var(--visionx-tab-surface-hover-border);
  --visionx-step606-rest-border: var(--visionx-card-surface-border);
}

/* Main-workspace text/search fields and combobox inputs. */
html[data-visionx-theme] body.visionx-shell main#main-content :is(
  #thread-id,
  #thread-title,
  #server-token-input,
  #server-guild-input,
  #server-oauth-client-input,
  #server-oauth-secret-input,
  #server-new-route-name,
  #server-new-route-channel,
  #server-routes-body input[data-server-route],
  #pack-id,
  #pack-display,
  #pack-maintenance-display,
  #registry-search,
  #pack-asset-search,
  #renderer-asset-search,
  #renderer-timeframe-search
) {
  border-color: var(--visionx-step606-rest-border) !important;
  transition:
    border-color .14s ease-out,
    box-shadow .14s ease-out,
    background .14s ease-out !important;
}

html[data-visionx-theme] body.visionx-shell main#main-content :is(
  #thread-id,
  #thread-title,
  #server-token-input,
  #server-guild-input,
  #server-oauth-client-input,
  #server-oauth-secret-input,
  #server-new-route-name,
  #server-new-route-channel,
  #server-routes-body input[data-server-route],
  #pack-id,
  #pack-display,
  #pack-maintenance-display,
  #registry-search,
  #pack-asset-search,
  #renderer-asset-search,
  #renderer-timeframe-search
):hover:not(:disabled) {
  border-color: var(--visionx-step606-hover-border) !important;
  background: var(--visionx-field-surface-background) !important;
  background-clip: var(--visionx-field-surface-background-clip) !important;
  box-shadow:
    0 .58rem 1.55rem rgba(0, 0, 0, .18),
    inset 0 1px .25rem rgba(0, 0, 0, .28),
    inset 0 1px rgba(255, 255, 255, .024) !important;
}

html[data-visionx-theme] body.visionx-shell main#main-content :is(
  #thread-id,
  #thread-title,
  #server-token-input,
  #server-guild-input,
  #server-oauth-client-input,
  #server-oauth-secret-input,
  #server-new-route-name,
  #server-new-route-channel,
  #server-routes-body input[data-server-route],
  #pack-id,
  #pack-display,
  #pack-maintenance-display,
  #registry-search,
  #pack-asset-search,
  #renderer-asset-search,
  #renderer-timeframe-search
):is(:focus, [aria-expanded="true"]) {
  border-color: var(--visionx-step606-active-border) !important;
  outline: 0 !important;
  background: var(--visionx-field-surface-background) !important;
  background-clip: var(--visionx-field-surface-background-clip) !important;
  box-shadow:
    0 .72rem 1.85rem rgba(0, 0, 0, .22),
    inset 0 1px .25rem rgba(0, 0, 0, .26),
    inset 0 1px rgba(255, 255, 255, .030) !important;
}

html[data-visionx-theme] body.visionx-shell main#main-content :is(
  #thread-id,
  #thread-title,
  #server-token-input,
  #server-guild-input,
  #server-oauth-client-input,
  #server-oauth-secret-input,
  #server-new-route-name,
  #server-new-route-channel,
  #server-routes-body input[data-server-route],
  #pack-id,
  #pack-display,
  #pack-maintenance-display,
  #registry-search,
  #pack-asset-search,
  #renderer-asset-search,
  #renderer-timeframe-search
):focus-visible {
  outline: 0 !important;
  outline-offset: 0 !important;
}

/* Registry editor lives beside <main>, so its three text fields need explicit
   ownership rather than the main-workspace selector above. */
html[data-visionx-theme] body.visionx-shell #registry-editor :is(
  #registry-field-display,
  #registry-field-tradingview,
  #registry-field-currency
) {
  border-color: var(--visionx-step606-rest-border) !important;
  transition:
    border-color .14s ease-out,
    box-shadow .14s ease-out,
    background .14s ease-out !important;
}

html[data-visionx-theme] body.visionx-shell #registry-editor :is(
  #registry-field-display,
  #registry-field-tradingview,
  #registry-field-currency
):hover:not(:disabled) {
  border-color: var(--visionx-step606-hover-border) !important;
  background: var(--visionx-field-surface-background) !important;
  background-clip: var(--visionx-field-surface-background-clip) !important;
  box-shadow:
    0 .58rem 1.55rem rgba(0, 0, 0, .18),
    inset 0 1px .25rem rgba(0, 0, 0, .28),
    inset 0 1px rgba(255, 255, 255, .024) !important;
}

html[data-visionx-theme] body.visionx-shell #registry-editor :is(
  #registry-field-display,
  #registry-field-tradingview,
  #registry-field-currency
):focus {
  border-color: var(--visionx-step606-active-border) !important;
  outline: 0 !important;
  background: var(--visionx-field-surface-background) !important;
  background-clip: var(--visionx-field-surface-background-clip) !important;
  box-shadow:
    0 .72rem 1.85rem rgba(0, 0, 0, .22),
    inset 0 1px .25rem rgba(0, 0, 0, .26),
    inset 0 1px rgba(255, 255, 255, .030) !important;
}

html[data-visionx-theme] body.visionx-shell #registry-editor :is(
  #registry-field-display,
  #registry-field-tradingview,
  #registry-field-currency
):focus-visible {
  outline: 0 !important;
  outline-offset: 0 !important;
}

/* Generated VisionX select triggers. */
html[data-visionx-theme] body.visionx-shell main#main-content :is(
  .visionx-select[data-select-id="workspace-pack"],
  .visionx-select[data-select-id="workspace-asset"],
  .visionx-select[data-select-id="thread-pack"],
  .visionx-select[data-select-id="thread-asset"],
  .visionx-select[data-select-id="pack-channel"],
  .visionx-select[data-select-id="pack-maintenance-pack"],
  .visionx-select[data-select-id="pack-maintenance-channel"],
  .visionx-select[data-select-id="pack-maintenance-held-asset"],
  .visionx-select[data-select-id="archive-pack-filter"],
  .visionx-select[data-select-id="registry-membership-filter"]
) > .visionx-select-button {
  border-color: var(--visionx-step606-rest-border) !important;
  transition:
    border-color .14s ease-out,
    box-shadow .14s ease-out,
    background .14s ease-out !important;
  transform: none !important;
}

html[data-visionx-theme] body.visionx-shell main#main-content :is(
  .visionx-select[data-select-id="workspace-pack"],
  .visionx-select[data-select-id="workspace-asset"],
  .visionx-select[data-select-id="thread-pack"],
  .visionx-select[data-select-id="thread-asset"],
  .visionx-select[data-select-id="pack-channel"],
  .visionx-select[data-select-id="pack-maintenance-pack"],
  .visionx-select[data-select-id="pack-maintenance-channel"],
  .visionx-select[data-select-id="pack-maintenance-held-asset"],
  .visionx-select[data-select-id="archive-pack-filter"],
  .visionx-select[data-select-id="registry-membership-filter"]
) > .visionx-select-button:hover:not(:disabled) {
  border-color: var(--visionx-step606-hover-border) !important;
  background: var(--visionx-field-surface-background) !important;
  background-clip: var(--visionx-field-surface-background-clip) !important;
  box-shadow:
    0 .58rem 1.55rem rgba(0, 0, 0, .18),
    inset 0 1px .25rem rgba(0, 0, 0, .28),
    inset 0 1px rgba(255, 255, 255, .024) !important;
  transform: none !important;
}

html[data-visionx-theme] body.visionx-shell main#main-content :is(
  .visionx-select[data-select-id="workspace-pack"],
  .visionx-select[data-select-id="workspace-asset"],
  .visionx-select[data-select-id="thread-pack"],
  .visionx-select[data-select-id="thread-asset"],
  .visionx-select[data-select-id="pack-channel"],
  .visionx-select[data-select-id="pack-maintenance-pack"],
  .visionx-select[data-select-id="pack-maintenance-channel"],
  .visionx-select[data-select-id="pack-maintenance-held-asset"],
  .visionx-select[data-select-id="archive-pack-filter"],
  .visionx-select[data-select-id="registry-membership-filter"]
):is(.open, :has(> .visionx-select-button[aria-expanded="true"]))
> .visionx-select-button {
  border-color: var(--visionx-step606-active-border) !important;
  outline: 0 !important;
  background: var(--visionx-field-surface-background) !important;
  background-clip: var(--visionx-field-surface-background-clip) !important;
  box-shadow:
    0 .72rem 1.85rem rgba(0, 0, 0, .22),
    inset 0 1px .25rem rgba(0, 0, 0, .26),
    inset 0 1px rgba(255, 255, 255, .030) !important;
  transform: none !important;
}

html[data-visionx-theme] body.visionx-shell main#main-content :is(
  .visionx-select[data-select-id="workspace-pack"],
  .visionx-select[data-select-id="workspace-asset"],
  .visionx-select[data-select-id="thread-pack"],
  .visionx-select[data-select-id="thread-asset"],
  .visionx-select[data-select-id="pack-channel"],
  .visionx-select[data-select-id="pack-maintenance-pack"],
  .visionx-select[data-select-id="pack-maintenance-channel"],
  .visionx-select[data-select-id="pack-maintenance-held-asset"],
  .visionx-select[data-select-id="archive-pack-filter"],
  .visionx-select[data-select-id="registry-membership-filter"]
) > .visionx-select-button:focus-visible {
  border-color: var(--visionx-step606-active-border) !important;
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow:
    inset 0 1px .25rem rgba(0, 0, 0, .26),
    inset 0 1px rgba(255, 255, 255, .060) !important;
}

/* Registry Assigned Channel is generated outside <main>. */
html[data-visionx-theme] body.visionx-shell #registry-editor
.visionx-select[data-select-id="registry-field-channel"]
> .visionx-select-button {
  border-color: var(--visionx-step606-rest-border) !important;
}

html[data-visionx-theme] body.visionx-shell #registry-editor
.visionx-select[data-select-id="registry-field-channel"]
> .visionx-select-button:hover:not(:disabled) {
  border-color: var(--visionx-step606-hover-border) !important;
  background: var(--visionx-field-surface-background) !important;
  background-clip: var(--visionx-field-surface-background-clip) !important;
  box-shadow:
    0 .58rem 1.55rem rgba(0, 0, 0, .18),
    inset 0 1px .25rem rgba(0, 0, 0, .28),
    inset 0 1px rgba(255, 255, 255, .024) !important;
  transform: none !important;
}

html[data-visionx-theme] body.visionx-shell #registry-editor
.visionx-select[data-select-id="registry-field-channel"]:is(
  .open,
  :has(> .visionx-select-button[aria-expanded="true"])
)
> .visionx-select-button {
  border-color: var(--visionx-step606-active-border) !important;
  outline: 0 !important;
  background: var(--visionx-field-surface-background) !important;
  background-clip: var(--visionx-field-surface-background-clip) !important;
  box-shadow:
    0 .72rem 1.85rem rgba(0, 0, 0, .22),
    inset 0 1px .25rem rgba(0, 0, 0, .26),
    inset 0 1px rgba(255, 255, 255, .030) !important;
  transform: none !important;
}

html[data-visionx-theme] body.visionx-shell #registry-editor
.visionx-select[data-select-id="registry-field-channel"]
> .visionx-select-button:focus-visible {
  border-color: var(--visionx-step606-active-border) !important;
  outline: 0 !important;
  outline-offset: 0 !important;
}

/* Step 609 — Workspace Pack depth stays inside its rounded trigger.
   The generic Step 606 external depth shadow can project beyond a rounded
   select edge in Chromium compositing. Preserve the same interaction depth
   here using inset paint only; colour and border ownership remain unchanged. */
html[data-visionx-theme] body.visionx-shell main#main-content
.visionx-select[data-select-id="workspace-pack"]
> .visionx-select-button:hover:not(:disabled) {
  box-shadow:
    inset 0 -.5rem 1.15rem rgba(0, 0, 0, .15),
    inset 0 1px .25rem rgba(0, 0, 0, .28),
    inset 0 1px rgba(255, 255, 255, .024) !important;
}

html[data-visionx-theme] body.visionx-shell main#main-content
.visionx-select[data-select-id="workspace-pack"]:is(
  .open,
  :has(> .visionx-select-button[aria-expanded="true"])
)
> .visionx-select-button {
  box-shadow:
    inset 0 -.65rem 1.35rem rgba(0, 0, 0, .18),
    inset 0 1px .25rem rgba(0, 0, 0, .26),
    inset 0 1px rgba(255, 255, 255, .030) !important;
}

/* Step 617 — Workspace manual-import Render Preview geometry only. */
html[data-visionx-theme] body.visionx-shell main#main-content
#workspace-preview-button {
  height: var(--visionx-inline-control-height);
  min-height: var(--visionx-inline-control-height);
}
