/* Visual-only ON/OFF settings. Row selections, consents, radios and tabs stay native. */
.themeToggleControl { display:inline-flex; align-items:center; gap:7px; vertical-align:middle; }
.themeStateIcon { display:inline-grid; width:20px; height:20px; flex:0 0 20px; color:var(--text,#17263b); pointer-events:none; }
.themeToggleControl .themeStateIcon svg { grid-area:1/1; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transition:opacity .24s ease,transform .24s cubic-bezier(.22,1,.36,1); }
.themeStateSun { opacity:1; transform:rotate(0) scale(1); }
.themeStateMoon { opacity:0; transform:rotate(-35deg) scale(.65); }
body.theme-dark .themeStateSun { opacity:0; transform:rotate(35deg) scale(.65); }
body.theme-dark .themeStateMoon { opacity:1; transform:rotate(0) scale(1); }
:is(input.splitToggle, .quickPlacementSwitch,
  #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
  #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle) {
  appearance:none;
  -webkit-appearance:none;
  box-sizing:border-box;
  display:inline-block;
  position:relative;
  flex:0 0 var(--track-w,40px);
  width:var(--track-w,40px);
  min-width:var(--track-w,40px);
  max-width:var(--track-w,40px);
  height:var(--track-h,24px);
  min-height:var(--track-h,24px);
  max-height:var(--track-h,24px);
  padding:0;
  margin:0;
  border:1px solid var(--line,#cbd5e4);
  border-radius:3px!important; /* Override the industrial skin's generic input radius. */
  background:var(--surface2,var(--panel2,#f3f6fc));
  box-shadow:none;
  color:var(--text,#17263b);
  font-size:0;
  vertical-align:middle;
  cursor:pointer;
  overflow:hidden;
  transition:background .16s ease,border-color .16s ease;
}
:is(input.splitToggle, .quickPlacementSwitch,
  #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
  #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle)::before {
  content:"";
  box-sizing:border-box;
  position:absolute;
  inset:auto;
  inset-inline-start:3px;
  top:3px;
  width:calc(var(--track-h,24px) - 8px);
  height:calc(var(--track-h,24px) - 8px);
  border:0;
  border-radius:1px;
  background:var(--muted,#52647b);
  box-shadow:none;
  transform:translateX(0);
  pointer-events:none;
  transition:transform .16s ease,background .16s ease;
}
:is(input.splitToggle, .quickPlacementSwitch,
  #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
  #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle)::after { content:none; }
/* The spatial workbench intentionally keeps its outer shell LTR in Arabic.
   Match this control's logical inset to its semantic direction before sliding. */
:is(input.splitToggle, .quickPlacementSwitch,
  #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
  #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle):dir(rtl) { direction:rtl; }
:is(input.splitToggle, .quickPlacementSwitch,
  #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
  #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle):is(:checked,[aria-checked="true"]) {
  background:var(--pri,#3157c9);
  border-color:var(--pri,#3157c9);
}
:is(input.splitToggle, .quickPlacementSwitch,
  #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
  #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle):is(:checked,[aria-checked="true"])::before {
  transform:translateX(calc(var(--track-w,40px) - var(--track-h,24px)));
  background:#fff;
}
:is(input.splitToggle, .quickPlacementSwitch,
  #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
  #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle):dir(rtl):is(:checked,[aria-checked="true"])::before {
  transform:translateX(calc(var(--track-h,24px) - var(--track-w,40px)));
}
:is(input.splitToggle,#afDeepOptimizeYawAll):indeterminate::before { transform:translateX(calc((var(--track-w,40px) - var(--track-h,24px)) / 2)); }
:is(input.splitToggle,#afDeepOptimizeYawAll):dir(rtl):indeterminate::before { transform:translateX(calc((var(--track-h,24px) - var(--track-w,40px)) / 2)); }
:is(input.splitToggle, .quickPlacementSwitch,
  #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
  #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle):focus-visible { outline:2px solid var(--focus,var(--pri,#3157c9)); outline-offset:3px; }
:is(input.splitToggle, .quickPlacementSwitch,
  #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
  #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle):disabled { opacity:.5; cursor:not-allowed; }
@media(prefers-reduced-motion:reduce) {
  .themeToggleControl .themeStateIcon svg { transition:none; }
  :is(input.splitToggle, .quickPlacementSwitch,
    #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
    #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle),
  :is(input.splitToggle, .quickPlacementSwitch,
    #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
    #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle)::before { transition:none; }
}
@media(forced-colors:active) {
  .themeStateIcon { color:ButtonText; }
  :is(input.splitToggle, .quickPlacementSwitch,
    #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
    #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle) { forced-color-adjust:none; border-color:ButtonText; background:Canvas; }
  :is(input.splitToggle, .quickPlacementSwitch,
    #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
    #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle)::before { background:ButtonText; }
  :is(input.splitToggle, .quickPlacementSwitch,
    #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
    #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle):is(:checked,[aria-checked="true"]) { background:Highlight; }
  :is(input.splitToggle, .quickPlacementSwitch,
    #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
    #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle):is(:checked,[aria-checked="true"])::before { background:HighlightText; }
  :is(input.splitToggle, .quickPlacementSwitch,
    #afRandomColorToggle, #afOrientationFallback, #ratioAfOrientationFallback, #afDenseTheBoxes,
    #rackAutoLevelAdvanceToggle, #rackAutoLevelAdvanceEntry, #autofillAutoPageAdvanceToggle, #autofillEqualPageDistributionToggle):focus-visible { outline-color:Highlight; }
}
