.d3-user-category > header .workflow-manual-switch { margin-left:auto; flex:none; display:inline-flex; align-items:center; gap:6px; padding:4px; border:0; background:transparent; color:inherit; box-shadow:none; font:inherit; font-size:12px; cursor:pointer; }
.workflow-manual-track { display:block; width:34px; height:20px; padding:3px; border-radius:999px; background:#8b929d; box-sizing:border-box; }
.workflow-manual-track > span { display:block; width:14px; height:14px; border-radius:50%; background:#fff; transition:transform .15s; }
.workflow-manual-switch[aria-checked="true"] .workflow-manual-track { background:linear-gradient(110deg,#004f4b,#302762); }
.workflow-manual-switch[aria-checked="true"] .workflow-manual-track > span { transform:translateX(14px); }
.workflow-manual-switch > span:last-child { color:var(--pxds-text-subtle); font-weight:400; }
.workflow-manual-switch[aria-checked="true"] > span:last-child { color:#08775d; font-weight:600; }
html[data-theme="dark"] .workflow-manual-switch[aria-checked="true"] > span:last-child { color:#71daba; }
.node-system-page :is(#user-view, #debug-view) .workflow-manual-switch:not(:focus-visible) {
  outline:none !important; box-shadow:none !important;
}
.node-system-page :is(#user-view, #debug-view) .workflow-manual-switch:focus-visible {
  outline:2px solid var(--pxds-text-subtle) !important; outline-offset:2px;
  border-radius:999px; box-shadow:none !important;
}
.workflow-manual-switch:disabled { cursor:default; }
/* A brief readiness lock must not inherit the global grey disabled button fill. */
html[data-theme] .node-system-page :is(#user-view, #debug-view) .d3-user-category > header .workflow-manual-switch:disabled {
  background:transparent; color:inherit; opacity:1; border:0; box-shadow:none;
}
.d3-user-category > header .workflow-manual-switch { min-height:32px; }
/* Native label margins must not change category height when menus become divs. */
.node-system-page #debug-view .d3-user-category .d3-user-field { margin-bottom:0; }
/* Suppress the transient mobile browser tap fill, not keyboard focus styling. */
.workflow-manual-switch { -webkit-tap-highlight-color:transparent; }
@media (prefers-reduced-motion:reduce) { .workflow-manual-track > span { transition:none; } }
.node-system-page :is(#user-view, #debug-view) .workflow-manual-text {
  box-sizing:border-box; width:100%; min-width:0; height:35px; min-height:35px !important;
  padding:7px 9px; border:1px solid var(--pxds-border-strong); border-radius:7px;
  background:var(--pxds-surface-1); color:var(--pxds-text); box-shadow:none;
  font:inherit; font-size:12px; font-weight:500; line-height:1.4;
}
.workflow-manual-text::placeholder { color:var(--pxds-text-subtle); opacity:1; }
.workflow-manual-text:focus-visible { outline:2px solid #7378ff; outline-offset:2px; }
/* Validation must win over the shared hover/focus border rules too. */
.node-system-page :is(#user-view, #debug-view) input.workflow-manual-text[aria-invalid="true"],
.node-system-page :is(#user-view, #debug-view) input.workflow-manual-text[aria-invalid="true"]:is(:hover, :focus-visible, :focus-within) { border-color:#d65b64; }
/* Keep empty-field hints aligned with menu captions, without overriding the
   shared 16px editable-text rule for touch devices. */
@media (max-width: 900px), (pointer: coarse) {
  .node-system-page :is(#user-view, #debug-view) :is(.workflow-manual-text, textarea[data-user-textarea], textarea[data-d3-user-text])::placeholder {
    font-size:12px; font-weight:400;
  }
}
