/* ============================================================
   字节蓝主题（2026-10-11 颜色统一第二步）
   色板来源：Semi Design（https://semi.design/start/customize-theme）
   加载顺序：bootstrap 5.3.3 → theme.css → 页面内联 <style>
   原则：只统一颜色/圆角/阴影，不改结构布局、不动业务 class 命名；
        组件一律通过 Bootstrap 5.3 的 CSS 变量接管全状态
        （default/hover/active/focus/disabled），不用 !important；
        disabled 沿用 BS 原生机制（.disabled/pe-none + opacity），
        不另造置灰类。
   ============================================================ */

:root,
[data-bs-theme="light"] {
  /* ---- 品牌主色 ---- */
  --primary: #1664FF;         /* Semi primary-6：品牌主色 */
  --primary-h: #0B46C8;       /* Semi primary-7：hover */
  --primary-a: #0E42D2;       /* Semi primary-active：按下 */
  --primary-soft: #E8F3FF;    /* Semi primary-light：浅蓝底（选中/提示/hover 底） */
  --primary-border: #B3D3FF;  /* 浅蓝描边 */
  --primary-ring: rgba(22, 100, 255, .12);  /* 输入框聚焦光晕 */

  /* ---- 功能色 ---- */
  --success: #00A870;         /* Semi success-5 */
  --warning: #FF7D00;         /* Semi warning-6（预警：晚到/缺货） */
  --warning-soft: #FFF7E8;    /* 浅橙底 */
  --danger: #F53F3F;          /* Semi danger-6 */
  --danger-h: #CB272D;        /* Semi danger-7：hover */
  --danger-a: #A92026;        /* 按下 */
  --danger-soft: #FEECEC;     /* 浅红底（红描边 hover） */

  /* ---- 中性色 ---- */
  --bg: #F5F7FA;              /* 页面底色 */
  --surface: #FFFFFF;         /* 卡片/面板底 */
  --border: #E5E6EB;
  --border-strong: #C9CDD4;
  --text: #1D2129;
  --text-2: #4E5969;
  --text-3: #86909C;

  /* ---- Bootstrap 5.3 变量接管（分页/链接/焦点环/徽章等自动跟随） ---- */
  --bs-primary: #1664FF;
  --bs-primary-rgb: 22, 100, 255;
  --bs-link-color: #1664FF;
  --bs-link-color-rgb: 22, 100, 255;
  --bs-link-hover-color: #0B46C8;
  --bs-link-hover-color-rgb: 11, 70, 200;

  --bs-body-bg: #F5F7FA;
  --bs-body-color: #1D2129;
  --bs-border-color: #E5E6EB;
  --bs-border-radius: 6px;
  --bs-border-radius-sm: 4px;
  --bs-border-radius-lg: 8px;

  /* 状态色板对齐 Semi：text-bg-*/bg-*-subtle 徽章与 alert 零模板改动跟随 */
  --bs-success: #00A870;
  --bs-success-rgb: 0, 168, 112;
  --bs-warning: #FF7D00;
  --bs-warning-rgb: 255, 125, 0;
  --bs-danger: #F53F3F;
  --bs-danger-rgb: 245, 63, 63;
  --bs-secondary: #86909C;
  --bs-secondary-rgb: 134, 144, 156;
}

/* ============ 基础 ============ */
body {
  background: var(--bg);
  color: var(--text);
}

/* 输入框/下拉：聚焦蓝边 + 浅蓝光晕（Semi 口径） */
.form-control:focus,
.form-select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--primary-ring);
}

/* ============ 按钮体系（一个区域只留一个实心蓝） ============ */

/* 实心主按钮：保存/确认/提交/生成/过账/页头主操作 */
.btn-primary {
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--primary-h);
  --bs-btn-hover-border-color: var(--primary-h);
  --bs-btn-active-bg: var(--primary-a);
  --bs-btn-active-border-color: var(--primary-a);
  --bs-btn-disabled-bg: var(--primary);
  --bs-btn-disabled-border-color: var(--primary);
  --bs-btn-focus-shadow-rgb: 22, 100, 255;
  box-shadow: 0 2px 4px rgba(22, 100, 255, .12);
  transition: background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.btn-primary:hover {
  box-shadow: 0 3px 8px rgba(22, 100, 255, .20);
}

/* 灰描边次要按钮：工具栏/行内操作/查看/导出/取消（hover 变蓝描边蓝字，不填蓝底） */
.btn-outline-secondary {
  --bs-btn-color: var(--text-2);
  --bs-btn-bg: #fff;
  --bs-btn-border-color: var(--border-strong);
  --bs-btn-hover-color: var(--primary);
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: var(--primary);
  --bs-btn-active-color: var(--primary);
  --bs-btn-active-bg: var(--primary-soft);
  --bs-btn-active-border-color: var(--primary);
  --bs-btn-disabled-color: var(--text-3);
  --bs-btn-disabled-bg: #fff;
  --bs-btn-disabled-border-color: var(--border-strong);
  --bs-btn-focus-shadow-rgb: 22, 100, 255;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
  transition: background-color .12s ease, border-color .12s ease, color .12s ease, box-shadow .12s ease;
}
.btn-outline-secondary:hover {
  box-shadow: 0 2px 6px rgba(22, 100, 255, .12);
}

/* 实心灰按钮：仅用于"有权限但当前不可用"的置灰位（BS disabled 机制继续生效） */
.btn-secondary {
  --bs-btn-color: var(--text-2);
  --bs-btn-bg: #E5E6EB;
  --bs-btn-border-color: #E5E6EB;
  --bs-btn-hover-color: var(--text);
  --bs-btn-hover-bg: #D8DADC;
  --bs-btn-hover-border-color: #D8DADC;
  --bs-btn-active-color: var(--text);
  --bs-btn-active-bg: var(--border-strong);
  --bs-btn-active-border-color: var(--border-strong);
  --bs-btn-disabled-color: var(--text-3);
  --bs-btn-disabled-bg: #F2F3F5;
  --bs-btn-disabled-border-color: #E5E6EB;
}

/* 实心危险（红）：仅终态确认——确认红冲并过账/删除任务/删除租户 */
.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--danger);
  --bs-btn-border-color: var(--danger);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--danger-h);
  --bs-btn-hover-border-color: var(--danger-h);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--danger-a);
  --bs-btn-active-border-color: var(--danger-a);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--danger);
  --bs-btn-disabled-border-color: var(--danger);
  --bs-btn-focus-shadow-rgb: 245, 63, 63;
  box-shadow: 0 2px 4px rgba(245, 63, 63, .10);
  transition: background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.btn-danger:hover {
  box-shadow: 0 3px 8px rgba(245, 63, 63, .18);
}

/* 红描边（常规危险）：行内删除/停用/撤回/作废/红冲视图筛选——默认白底红字红边，hover 浅红底 */
.btn-outline-danger {
  --bs-btn-color: var(--danger);
  --bs-btn-bg: #fff;
  --bs-btn-border-color: var(--danger);
  --bs-btn-hover-color: var(--danger);
  --bs-btn-hover-bg: var(--danger-soft);
  --bs-btn-hover-border-color: var(--danger);
  --bs-btn-active-color: var(--danger);
  --bs-btn-active-bg: var(--danger-soft);
  --bs-btn-active-border-color: var(--danger);
  --bs-btn-disabled-color: var(--danger);
  --bs-btn-disabled-bg: #fff;
  --bs-btn-disabled-border-color: var(--danger);
  --bs-btn-focus-shadow-rgb: 245, 63, 63;
  transition: background-color .12s ease, border-color .12s ease;
}

/* 预警橙（全站仅剩：晚到预警/只看缺货/不可合并提示） */
.btn-warning {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--warning);
  --bs-btn-border-color: var(--warning);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #D25F00;
  --bs-btn-hover-border-color: #D25F00;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #B25600;
  --bs-btn-active-border-color: #B25600;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--warning);
  --bs-btn-disabled-border-color: var(--warning);
  --bs-btn-focus-shadow-rgb: 255, 125, 0;
  box-shadow: 0 2px 4px rgba(255, 125, 0, .12);
}
.btn-outline-warning {
  --bs-btn-color: var(--warning);
  --bs-btn-bg: #fff;
  --bs-btn-border-color: var(--warning);
  --bs-btn-hover-color: var(--warning);
  --bs-btn-hover-bg: var(--warning-soft);
  --bs-btn-hover-border-color: var(--warning);
  --bs-btn-active-color: var(--warning);
  --bs-btn-active-bg: var(--warning-soft);
  --bs-btn-active-border-color: var(--warning);
  --bs-btn-disabled-color: var(--warning);
  --bs-btn-disabled-bg: #fff;
  --bs-btn-disabled-border-color: var(--warning);
  --bs-btn-focus-shadow-rgb: 255, 125, 0;
  transition: background-color .12s ease, border-color .12s ease;
}

/* ============ 分页：激活页字节蓝 ============ */
.pagination {
  --bs-pagination-color: var(--primary);
  --bs-pagination-hover-color: var(--primary-h);
  --bs-pagination-active-bg: var(--primary);
  --bs-pagination-active-border-color: var(--primary);
  --bs-pagination-focus-color: var(--primary-h);
  --bs-pagination-focus-box-shadow: 0 0 0 2px var(--primary-ring);
}

/* list-group 选中态（如有）跟随主色 */
.list-group-item {
  --bs-list-group-active-bg: var(--primary);
  --bs-list-group-active-border-color: var(--primary);
}

/* 复选框/单选 accent 跟随主色 */
.form-check-input:checked,
input[type="checkbox"]:checked,
input[type="radio"]:checked {
  accent-color: var(--primary);
}
.form-check-input:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--primary-ring);
}

/* ============ 输入框提示词（placeholder）统一浅灰（2026-10-12 查询区优化批次）============
   原 Bootstrap 默认灰偏深、与正文混淆；统一浅中性灰，桌面/手机全局生效 */
.form-control::placeholder,
.form-select::placeholder {
  color: #9ca3af;
  opacity: 1;   /* 覆盖 Bootstrap 默认透明度，确保颜色生效 */
}
