/* =================================================================== */
/* 5. 交互组件架构 (浅灰边框修复区)                                       */
/* =================================================================== */
[data-theme] .form-control,
[data-theme] .form-select,
[data-theme] .input-group-checklist-container,
[data-theme] .form-control-slider-container {
  background-color: var(--global-panel-bg) !important;
  color: var(--global-text-color) !important;
  border: 1px solid var(--input-border-color) !important; 
  transition: border 0.2s ease, background-color 0.2s ease;
}

[data-theme] .input-group-text {
  background-color: transparent !important; 
  color: var(--global-text-color) !important;
  border: 1px solid var(--input-border-color) !important; 
  transition: border 0.2s ease, background-color 0.2s ease;
}

.upload-area {
  border-width: 2px;
  border-style: dashed;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  text-shadow: none !important; 
  -webkit-font-smoothing: antialiased;
  font-weight: 600 !important;
  border-color: color-mix(in srgb, var(--menu-bg), black 20%) !important; 
  color: color-mix(in srgb, var(--menu-bg), black 40%) !important; 
  background-color: var(--global-panel-bg, #f3f4f6); 
}

.upload-area:hover {
  background-color: rgba(0, 0, 0, 0.05);
  border-color: color-mix(in srgb, var(--menu-bg), black 40%) !important;
  color: color-mix(in srgb, var(--menu-bg), black 60%) !important;
}

.icon-button-toolbar {
  width: 29px !important;
  height: 29px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: var(--global-panel-bg, #f3f4f6) !important; 
  border: 1px solid var(--input-border-color) !important; 
  color: var(--global-text-color) !important;
  box-shadow: none !important;
}

.icon-button-toolbar:hover {
  background-color: rgba(0,0,0,0.05) !important;
}

.icon-button-toolbar-borderless {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  transition: background-color 0.2s ease-in-out;
  color: var(--global-text-color) !important;
}

.icon-button:hover,
.icon-button-toolbar-borderless:hover {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

.icon-button-toolbar-borderless:disabled {
  opacity: 0.35;
}

.icon-button {
  width: 29px !important;
  height: 29px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* =================================================================== */
/* 7. 终端控制台 (Console)                                              */
/* =================================================================== */
.console-header {
  color: var(--menu-text-color);
  background-color: var(--menu-bg) !important;
  padding: 0.4rem 1rem;
  font-size: 0.9rem;
  font-weight: 500;
  border-top: 1px solid var(--menu-border-color);
}

.terminal-console {
    background-color: var(--global-bg-color) !important;
    color: var(--global-text-color) !important;
    border: 1px solid var(--global-border-color) !important;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace !important;
    font-size: 13px;
    line-height: 1.45;
    padding: 15px;
    margin: 0;
    height: 250px; 
    white-space: pre !important; 
    overflow-x: auto; 
    overflow-y: auto;
    scroll-behavior: smooth; 
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* =================================================================== */
/* 11. 滑块组件加强体系 (RC Slider Enhancement)                          */
/* =================================================================== */
.form-control-slider-container {
  height: 31px !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
  position: relative;
  overflow: visible !important;
}

.form-control-slider-container .rc-slider {
  padding-top: 13px !important;
  padding-bottom: 0 !important;
  margin-left: 0px !important;
  margin-right: 0px !important;
  height: 100% !important;
}

/* 核心修复 1：全面覆盖单滑块与范围滑块 (RangeSlider) 的轨道，并加入默认回退色 */
.rc-slider-track,
.rc-slider-track-1,
.rc-slider-track-2 {
  background-color: var(--theme-accent-color, #3b5a9d) !important;
  transition: background-color 0.3s ease;
}

/* 核心修复 2：全面覆盖所有手柄 */
.rc-slider-handle,
.rc-slider-handle-1,
.rc-slider-handle-2 {
  border-radius: 3px !important;
  width: 14px !important;
  height: 14px !important;
  margin-top: -6px !important;
  background: linear-gradient(180deg, #ffffff 0%, #e8e8e9 20%, #d1d3d6 80%, #babbc0 100%) !important;
  border: 1px solid var(--input-border-color) !important; 
  border-bottom-color: var(--input-border-color) !important;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.9),
              inset 0 -1px 1px rgba(0, 0, 0, 0.05),
              0 2px 4px rgba(0, 0, 0, 0.15) !important;
  transition: transform 0.15s cubic-bezier(0.2, 0, 0.2, 1),
              box-shadow 0.15s ease,
              border-color 0.15s ease,
              background 0.15s ease !important;
  cursor: grab !important;
}

/* 悬停状态同步强调色 */
.rc-slider-handle:hover,
.rc-slider-handle-1:hover,
.rc-slider-handle-2:hover {
  background: linear-gradient(180deg, #ffffff 0%, #f2f2f3 20%, #dedfe2 80%, #cacbcc 100%) !important;
  border-color: var(--theme-accent-color, #3b5a9d) !important;
  box-shadow: 0 0 5px var(--theme-accent-color, #3b5a9d) !important;
  transform: scale(1.05);
}

/* 拖拽状态同步强调色 */
.rc-slider-handle:active,
.rc-slider-handle-1:active,
.rc-slider-handle-2:active,
.rc-slider-handle-dragging {
  background: linear-gradient(180deg, #c4c5c9 0%, #d1d3d6 20%, #e8e8e9 100%) !important;
  border-color: var(--theme-accent-color, #3b5a9d) !important;
  box-shadow: 0 0 8px var(--theme-accent-color, #3b5a9d) !important;
  transform: scale(0.95);
  cursor: grabbing !important;
}

/* ================== Geek Dark 专属覆盖 ================== */
[data-theme='geek-dark'] .rc-slider-handle,
[data-theme='geek-dark'] .rc-slider-handle-1,
[data-theme='geek-dark'] .rc-slider-handle-2 {
  background: #e3e3e3 !important;
  border: 1px solid #ffffff !important;
  box-shadow: 0 0 6px rgba(138, 180, 248, 0.5) !important;
  opacity: 1 !important;
}

[data-theme='geek-dark'] .rc-slider-handle:hover,
[data-theme='geek-dark'] .rc-slider-handle-1:hover,
[data-theme='geek-dark'] .rc-slider-handle-2:hover,
[data-theme='geek-dark'] .rc-slider-handle:active,
[data-theme='geek-dark'] .rc-slider-handle-1:active,
[data-theme='geek-dark'] .rc-slider-handle-2:active,
[data-theme='geek-dark'] .rc-slider-handle-dragging {
  background: #ffffff !important;
  transform: scale(1.15);
  box-shadow: 0 0 10px var(--theme-accent-color, #8ab4f8) !important;
}

[data-theme='geek-dark'] .rc-slider-track,
[data-theme='geek-dark'] .rc-slider-track-1,
[data-theme='geek-dark'] .rc-slider-track-2 {
  background-color: var(--theme-accent-color, #8ab4f8) !important;
}

[data-theme='geek-dark'] .rc-slider-rail {
  background-color: #3c4043 !important;
}

[data-theme='geek-dark'] .rc-slider-step {
  background: transparent;
}
/* =================================================================== */
/* 13. 色块选择器精准修整 (Selection Indicator Fix)                     */
/* =================================================================== */
.color-swatch-sm,
button[id*="background-color-swatch"] {
    width: 28px !important;
    height: 28px !important;
    display: block !important;
    border: 1px solid var(--input-border-color) !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
}

.color-swatch-selected {
    outline: 2px solid #333333 !important; 
    outline-offset: 2px;
    transform: scale(0.85) !important; 
    z-index: 100 !important;
    position: relative !important;
    border: none !important; 
}

[data-theme='geek-dark'] .color-swatch-selected {
    outline-color: var(--theme-accent-color) !important; /* 暗黑模式色块选中框同步变色 */
}

.popover-body, .popover-menu {
    overflow: visible !important;
}


/* =================================================================== */
/* 14. 拨动开关与复选框主题化同步 (Toggle Switches Enhancement)            */
/* =================================================================== */

/* 1. 强制覆盖 Bootstrap 默认的亮蓝色背景和边框，同步为主题点缀色 */
.form-switch .form-check-input:checked,
.form-check-input:checked {
    background-color: var(--theme-accent-color) !important;
    border-color: var(--theme-accent-color) !important;
}

/* 2. 修复点击/聚焦时外围产生的那一圈蓝色光晕 (Box Shadow) */
.form-switch .form-check-input:focus,
.form-check-input:focus {
    border-color: var(--theme-accent-color) !important;
    outline: 0 !important;
    /* 使用 color-mix 制作同色系的 25% 透明度光晕 */
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--theme-accent-color) 25%, transparent) !important;
}

/* 3. 修复暗黑模式下，开关未选中时背景太亮或看不清的问题 */
[data-theme='geek-dark'] .form-switch .form-check-input:not(:checked),
[data-theme='geek-dark'] .form-check-input:not(:checked) {
    background-color: #333537 !important;
    border-color: var(--input-border-color) !important;
}