.mode-switch { padding: 3px; margin-bottom: 9px; border: 1px solid #d7e2ea; border-radius: 8px; background: #f0f5f8; }
.mode-switch .shiny-input-container { width: 100%; margin-bottom: 0; }
.mode-switch .control-label,
.mode-switch input[type="radio"] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.mode-switch .shiny-options-group { display: flex; gap: 3px; }
.mode-switch label.radio-inline { flex: 1 1 0; min-width: 0; padding: 0; margin: 0; }
.mode-switch label.radio-inline span { display: block; padding: 6px 3px; border-radius: 5px; text-align: center; font-size: .8rem; line-height: 1.4; cursor: pointer; color: #315570; }
.mode-switch input:checked + span { background: #004388; color: white; }
.mode-switch input:focus-visible + span { outline: 2px solid #b66d00; outline-offset: 2px; }
html { scrollbar-gutter: stable; }
.control-panel { scrollbar-gutter: stable; overflow-anchor: none; }
.control-group-secondary { border-left: 3px solid var(--control-accent, #7991a3); }
.control-group-secondary > summary { background: var(--control-tint, #f5f8fa); }
.control-accent-comparison { --control-accent: #337da4; --control-tint: #f0f7fa; }
.control-accent-features { --control-accent: #0b9fcb; --control-tint: #eff9fc; }
.control-accent-workspace { --control-accent: #476e91; --control-tint: #f2f5f9; }
.control-accent-target { --control-accent: #ac833d; --control-tint: #fbf8f1; }
.control-accent-chart { --control-accent: #7991a3; --control-tint: #f4f7f9; }
.mode-simple .advanced-control,
.mode-simple .base-selection-model,
.mode-simple .reference-subsection,
.mode-simple .outcome-comparison-subsection,
.mode-simple #scenario_path_controls,
.mode-simple #scenario_path_status { display: none !important; }
@media (forced-colors: active) {
  .mode-switch input:checked + span { outline: 2px solid Highlight; }
}
