.cmt_switch_toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  min-width: 0;
  border: 0;
  padding: 0;
  background: transparent;
  color: #475569;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}

.cmt_switch_toggle:hover {
  color: #172033;
}

.cmt_switch_toggle input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.cmt_switch_toggle_track {
  position: relative;
  flex: 0 0 auto;
  width: 32px;
  height: 18px;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #e2e8f0;
  transition: background-color .16s ease, border-color .16s ease;
}

.cmt_switch_toggle_track::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .2);
  transition: transform .16s ease;
}

.cmt_switch_toggle input:checked + .cmt_switch_toggle_track,
.cmt_switch_toggle.is-active .cmt_switch_toggle_track,
.cmt_switch_toggle[aria-pressed="true"] .cmt_switch_toggle_track {
  border-color: #2563eb;
  background: #2563eb;
}

.cmt_switch_toggle input:checked + .cmt_switch_toggle_track::after,
.cmt_switch_toggle.is-active .cmt_switch_toggle_track::after,
.cmt_switch_toggle[aria-pressed="true"] .cmt_switch_toggle_track::after {
  transform: translateX(14px);
}

.cmt_switch_toggle:disabled,
.cmt_switch_toggle.is-disabled {
  cursor: not-allowed;
  opacity: .58;
}

/* 系统审核开关：审核类业务统一复用此结构与状态语义。 */
.cmt_review_switch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 2px 0;
  border: 0;
  background: transparent;
  color: #1d4ed8;
  font: inherit;
  cursor: pointer;
}

.cmt_review_switch:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
  border-radius: 4px;
}

.cmt_review_switch:disabled {
  opacity: 1;
  cursor: default;
}

.cmt_review_switch_track {
  position: relative;
  display: block;
  width: 34px;
  height: 20px;
  flex: 0 0 auto;
  border: 1px solid #93c5fd;
  border-radius: 999px;
  background: #dbeafe;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.cmt_review_switch_track i {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.24);
  transition: transform 160ms ease;
}

.cmt_review_switch[aria-checked="true"] .cmt_review_switch_track {
  border-color: #16a34a;
  background: #22c55e;
}

.cmt_review_switch[aria-checked="true"] .cmt_review_switch_track i {
  transform: translateX(14px);
}

.cmt_review_switch strong {
  color: #1d4ed8;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}

.cmt_review_switch.is-reviewed strong {
  color: #15803d;
}

.cmt_review_switch.is-re-review .cmt_review_switch_track {
  border-color: #fb923c;
  background: #ffedd5;
}

.cmt_review_switch.is-re-review strong {
  color: #c2410c;
}

.cmt_review_switch.is-busy .cmt_review_switch_track i {
  animation: cmt-review-switch-pulse 800ms ease-in-out infinite alternate;
}

@keyframes cmt-review-switch-pulse {
  from { opacity: .45; }
  to { opacity: 1; }
}
