.rtos-config {
  padding: 18px clamp(12px, 2vw, 26px) 24px;
  color: var(--ui-ink);
  font: 14px/1.45 "DM Sans", system-ui, sans-serif;
}
.rc-heading, .rc-field-head, .rc-footer, .rc-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.rc-heading { flex-wrap: wrap; margin-bottom: 20px; }
.rc-heading h3 { font-size: 20px; letter-spacing: -.035em; margin: 0 0 4px; }
.rc-heading p, .rc-status { margin: 0; color: var(--ui-muted); }
.rc-file { font: 12px/1.3 var(--mono); color: var(--ui-accent); overflow-wrap: anywhere; }
.rc-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 16px; }
.rc-group { min-width: 0; overflow: hidden; border: 1px solid var(--ui-line); border-radius: 9px; background: #fff; }
.rc-group h4 { margin: 0; padding: 12px 16px; border-bottom: 1px solid var(--ui-line); background: var(--ui-wash); font-size: 14px; color: var(--ui-navy); }
.rc-field { padding: 14px 16px; }
.rc-field + .rc-field { border-top: 1px solid var(--ui-line); }
.rc-field-body { display: grid; min-width: 0; gap: 2px; }
.rc-label { font-weight: 650; font-size: 14px; }
.rc-macro, .rc-custom { overflow-wrap: anywhere; color: var(--ui-muted); font: 11px/1.4 var(--mono); }
.rc-custom { max-width: 45%; }
.rc-policy, .rc-number, .rc-unit { font: 600 13px/1.3 var(--mono); color: var(--ui-ink); }
.rc-policy, .rc-number { padding: 6px 8px; background: var(--ui-wash); border: 1px solid var(--ui-line); border-radius: 5px; min-height: 32px; }
.rc-number { width: 82px; text-align: right; }
.rc-unit { display: inline-flex; align-items: center; gap: 6px; }
.rtos-config input.rc-toggle {
  appearance: none; flex: 0 0 auto; box-sizing: border-box;
  position: relative; width: 36px; height: 21px; margin: 0; padding: 0; border-radius: 20px;
  border: 1px solid #86968a; background: #d1d9d3; cursor: pointer;
}
.rc-toggle::after {
  content: ""; position: absolute; left: 2px; top: 2px; width: 15px; height: 15px;
  border-radius: 50%; background: white; box-shadow: 0 1px 2px #13271833;
}
.rtos-config .rc-toggle:checked { background: var(--ui-accent); border-color: var(--ui-accent); }
.rc-toggle:checked::after { left: 17px; }
.rc-toggle:disabled { opacity: .55; cursor: default; }
.rc-help, .rc-note { margin: 7px 0 0; font-size: 12px; line-height: 1.5; color: var(--ui-muted); }
.rc-note { color: var(--ui-accent); font-weight: 550; }
.rc-footer { flex-wrap: wrap; margin-top: 16px; }
.rc-actions { flex-wrap: wrap; justify-content: start; gap: 7px; }
.rc-status { font-size: 13px; }
.rc-problem, .rc-issue { color: #7f451f; }
.rc-actions button { min-height: 34px; }
.rc-actions .rc-apply { background: var(--ui-navy); color: #fff; border-color: var(--ui-navy); }
.rc-actions .rc-apply:enabled:hover { background: var(--ui-accent); color: white; }
.rc-actions button:disabled { cursor: default; opacity: .48; }
@media (max-width: 520px) {
  .rc-field { padding: 12px; }
  .rc-field-head { gap: 5px; flex-wrap: wrap; }
  .rc-field-body { flex: 1 1 145px; }
  .rc-policy { max-width: 100%; }
}

.rc-policy-summary { margin: 0; padding: 9px 16px; border-bottom: 1px solid var(--ui-line); background: var(--ui-wash); color: var(--ui-navy); font-size: 12px; }
.rc-field .rc-number:disabled { color: #65726a; opacity: .7; }
.rc-field input[aria-invalid="true"] { border-color: #9b5928; }
