.setup-grid-switch {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  width: auto;
  min-width: 104px;
  min-height: 36px;
  padding: .35rem .5rem;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #344563;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}
.setup-grid-switch-track {
  display: inline-block;
  position: relative;
  flex-shrink: 0;
  width: 32px;
  height: 18px;
  border-radius: 10px;
  background: #64748b;
}
.setup-grid-switch-track::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: white;
  transition: transform .15s;
}
.setup-grid-switch[aria-checked="true"] .setup-grid-switch-track { background: #5930ed; }
.setup-grid-switch[aria-checked="true"] .setup-grid-switch-track::after { transform: translateX(14px); }
.setup-grid-switch:hover:not(:disabled) { background: #f2efff; border-color: #ddd6fe; }
.setup-grid-switch:focus-visible { outline: 2px solid #5930ed; outline-offset: 2px; }
.setup-grid-switch:disabled { cursor: not-allowed; opacity: .65; }
.setup-access-notice { padding: 20px; border: 1px solid #cbd5e1; border-radius: 12px; background: #f8fafc; color: #334155; }
.setup-access-notice p { margin: .6rem 0 0; line-height: 1.6; }
.setup-security-unavailable > :not(.setup-access-notice) { display: none; }
@media (prefers-reduced-motion: reduce) { .setup-grid-switch-track::after { transition: none; } }
