/* ==========================================================================
   YELANG V6 · 皮肤层 v1   [presentation only]
   原则：不改任何逻辑、不改任何节点、不动任何字段。
        只做两件事 —— 加语义类名(skin.js)、覆写视觉(本文件)。
        整层删除 = 恢复原样。删 site/skin/ 目录 + index.html 里两行引用即可。
   作用域：所有规则带 #root 前缀或 !important，压 cssinjs 运行时注入。
   ========================================================================== */

/* ---------- 1. 设计令牌 ---------------------------------------------- */
:root {
  --yl-accent: #A87A24;
  --yl-accent-hover: #BC8B2C;
  --yl-accent-active: #8C6418;
  --yl-accent-soft: #f6efe0;
  --yl-accent-line: #e2cfa6;
  --yl-canvas: #f2f4f7;
  --yl-surface: #ffffff;
  --yl-surface-2: #f7f9fb;
  --yl-surface-3: #eef1f5;
  --yl-hairline: #e4e8ee;
  --yl-hairline-soft: #eef1f5;
  --yl-text: #16202c;
  --yl-text-2: #55637a;
  --yl-muted: #8b98ab;
  --yl-ok: #2f9e75;
  --yl-ok-soft: #e8f6f0;
  --yl-danger: #c9414a;
  --yl-danger-soft: #fdeef0;
  --yl-warn: #b8791a;
  --yl-warn-soft: #fdf3e2;
  --yl-radius: 10px;
  --yl-radius-sm: 6px;
  --yl-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px -12px rgba(16, 24, 40, .12);
  --yl-shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);
  --yl-sider-bg: #131b26;
  --yl-sider-hairline: #22303f;
  --yl-sider-text: #a9b6c6;
  --yl-sider-text-2: #6d7d90;
  --yl-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;
}

[data-theme="dark"] {
  --yl-accent: #C79A3E;
  --yl-accent-hover: #D8AC56;
  --yl-accent-active: #A67D2C;
  --yl-accent-soft: #211a0c;
  --yl-accent-line: #463611;
  --yl-canvas: #0a0e14;
  --yl-surface: #111823;
  --yl-surface-2: #0e141d;
  --yl-surface-3: #18202c;
  --yl-hairline: #202b3a;
  --yl-hairline-soft: #18212d;
  --yl-text: #e6edf6;
  --yl-text-2: #a3b0c2;
  --yl-muted: #6f7f93;
  --yl-ok: #3fbd8e;
  --yl-ok-soft: #10231c;
  --yl-danger: #e5646c;
  --yl-danger-soft: #241417;
  --yl-warn: #d99a2b;
  --yl-warn-soft: #1f1808;
  --yl-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px -16px rgba(0, 0, 0, .8);
  --yl-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);
  --yl-sider-bg: #0d121a;
  --yl-sider-hairline: #1b2633;
  --yl-sider-text: #9aa9bb;
  --yl-sider-text-2: #5f6f82;
}

/* ---------- 2. 画布与字体 -------------------------------------------- */
/* 面板自带一套 --accent-* 变量（tabs、链接、分页回退色都在用），
   它们还停在 antd 蓝 #1890ff。在这里统一接到品牌色，避免半金半蓝。
   双写 :root 是为了压过面板自己的 :root 定义（同权重按书写顺序，压不住）。 */
:root:root {
  --accent-primary: #A87A24;
  --accent-success: #2f9e75;
  --accent-warning: #b8791a;
  --accent-danger: #c9414a;
}

:root:root[data-theme="dark"] {
  --accent-primary: #C79A3E;
  --accent-success: #3fbd8e;
  --accent-warning: #d99a2b;
  --accent-danger: #e5646c;
}

html body,
#root {
  background: var(--yl-canvas) !important;
  color: var(--yl-text) !important;
  font-family: "Inter", -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-feature-settings: "tnum" 1, "cv05" 1;
  -webkit-font-smoothing: antialiased;
}

#root .ant-layout,
#root .ant-layout-content {
  background: var(--yl-canvas) !important;
}

/* ---------- 3. 侧栏 -------------------------------------------------- */
#root .ant-layout-sider,
#root .ant-layout-sider-children {
  background: var(--yl-sider-bg) !important;
  border-right: 1px solid var(--yl-sider-hairline) !important;
}

#root .ant-layout-sider-children > div:first-child {
  padding: 22px 20px 14px !important;
  border-bottom: 1px solid var(--yl-sider-hairline) !important;
  margin-bottom: 10px !important;
}

#root .ant-layout-sider-children > div:first-child > div {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  color: #f0f4f9 !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
}

#root .ant-layout-sider-children > div:first-child > div::before {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 2px !important;
  background: var(--yl-accent) !important;
  box-shadow: 0 0 0 3px rgba(199, 154, 62, .16) !important;
  flex-shrink: 0 !important;
}

#root .ant-menu.ant-menu-root {
  padding: 4px 10px !important;
  background: transparent !important;
}

#root .ant-menu-item {
  height: 38px !important;
  line-height: 38px !important;
  margin: 2px 0 !important;
  width: auto !important;
  border-radius: var(--yl-radius-sm) !important;
  color: var(--yl-sider-text) !important;
  font-size: 13.5px !important;
  transition: background .16s ease, color .16s ease !important;
  position: relative !important;
}

#root .ant-menu-item:hover {
  background: rgba(255, 255, 255, .045) !important;
  color: #e8eef6 !important;
}

#root .ant-menu-item-selected {
  background: rgba(199, 154, 62, .13) !important;
  color: #f2d79a !important;
  font-weight: 600 !important;
}

#root .ant-menu-item-selected::after {
  display: none !important;
}

#root .ant-menu-item .anticon {
  font-size: 15px !important;
  color: inherit !important;
  opacity: .85 !important;
}

#root .ant-menu-item-selected .anticon {
  opacity: 1 !important;
}

/* 设备分组 —— 侧栏底部折叠块 */
#root .ant-layout-sider-children > div:last-child {
  border-top: 1px solid var(--yl-sider-hairline) !important;
  padding: 8px 6px 12px !important;
}

#root .ant-layout-sider-children > div:last-child > div {
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border-radius: var(--yl-radius-sm) !important;
  color: var(--yl-sider-text) !important;
  font-size: 13px !important;
  white-space: nowrap !important;
  transition: background .16s ease !important;
}

#root .ant-layout-sider-children > div:last-child > div:hover {
  background: rgba(255, 255, 255, .045) !important;
}

#root .ant-layout-sider-children > div:last-child > div > span.anticon:first-child {
  font-size: 13px !important;
  opacity: .8 !important;
  flex-shrink: 0 !important;
}

#root .ant-layout-sider-children > div:last-child > div > span.anticon:last-child {
  margin-left: auto !important;
  font-size: 11px !important;
  opacity: .45 !important;
  flex-shrink: 0 !important;
}

#root .ant-layout-sider-children > div:last-child > div > div:hover {
  background: rgba(255, 255, 255, .045) !important;
}

/* ---------- 4. 顶栏 -------------------------------------------------- */
#root .ant-layout-header {
  height: 58px !important;
  line-height: normal !important;
  padding: 0 18px !important;
  background: var(--yl-surface) !important;
  border-bottom: 1px solid var(--yl-hairline) !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

#root .ant-layout-header > div:first-child > div {
  font-size: 14.5px !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  color: var(--yl-text) !important;
}

#root .ant-layout-header .ant-btn-text {
  background: transparent !important;
  border-radius: var(--yl-radius-sm) !important;
  color: var(--yl-text-2) !important;
}

#root .ant-layout-header .ant-btn-text:hover {
  background: var(--yl-surface-3) !important;
  color: var(--yl-text) !important;
}

#root .ant-layout-header span[style*="tabular-nums"],
#root .ant-layout-header span[style*="letter-spacing"] {
  font-family: var(--yl-mono) !important;
  font-size: 12px !important;
  color: var(--yl-muted) !important;
  letter-spacing: 0 !important;
}

#root .ant-avatar {
  border: 1px solid var(--yl-hairline) !important;
  background: var(--yl-surface-3) !important;
}

/* ---------- 5. 工具栏 / 筛选条 --------------------------------------- */
#root main.ant-layout-content > div > div:first-child {
  background: var(--yl-surface) !important;
  border: 1px solid var(--yl-hairline) !important;
  border-radius: var(--yl-radius) !important;
  box-shadow: var(--yl-shadow-sm) !important;
  padding: 10px 12px !important;
  margin-bottom: 14px !important;
}

#root main.ant-layout-content .ant-form-inline .ant-form-item {
  margin-inline-end: 8px !important;
  margin-bottom: 0 !important;
}

/* 工具栏按钮：只统一尺寸，颜色语义交回全局规则
   （原版对表：全选/显示离线/查询 = 品牌实心；全选离线/日期/批量删除/重置 = 红实心） */
#root main.ant-layout-content > div > div:first-child .ant-btn {
  font-size: 12.5px !important;
  height: 28px !important;
  box-shadow: none !important;
}

/* ---------- 6. 设备卡 ------------------------------------------------ */
#root .yl-cardwrap {
  width: auto !important;
  flex: 1 1 400px !important;
  max-width: 480px !important;
  min-width: 360px !important;
}

#root .yl-card.ant-card {
  background: var(--yl-surface) !important;
  border: 1px solid var(--yl-hairline) !important;
  border-radius: var(--yl-radius) !important;
  box-shadow: var(--yl-shadow-sm) !important;
  transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease !important;
  overflow: hidden !important;
  width: 100% !important;
}

#root .yl-card.ant-card:hover {
  border-color: var(--yl-accent-line) !important;
  box-shadow: var(--yl-shadow) !important;
}

#root .yl-card .ant-card-body {
  padding: 0 !important;
  background: transparent !important;
}

/* 6.1 卡头 —— 状态条（左侧光条标状态，底色保持中性） */
#root .yl-statusbar {
  position: relative !important;
  background: var(--yl-surface-2) !important;
  border-bottom: 1px solid var(--yl-hairline) !important;
  padding: 7px 10px 7px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

#root .yl-statusbar::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: var(--yl-muted) !important;
}

#root .yl-card[data-yl-online="0"] .yl-statusbar {
  background: linear-gradient(90deg, rgba(201, 65, 74, .07), var(--yl-surface-2) 42%) !important;
  border-bottom-color: rgba(201, 65, 74, .2) !important;
}

#root .yl-card[data-yl-online="0"] .yl-statusbar::before {
  background: var(--yl-danger) !important;
}

#root .yl-card[data-yl-online="1"] .yl-statusbar {
  background: linear-gradient(90deg, rgba(47, 158, 117, .07), var(--yl-surface-2) 42%) !important;
  border-bottom-color: rgba(47, 158, 117, .2) !important;
}

#root .yl-card[data-yl-online="1"] .yl-statusbar::before {
  background: var(--yl-ok) !important;
}

/* 设备名行 */
#root .yl-statusbar .ant-space-item > span[style*="font-weight: 500"] {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  background: var(--yl-surface) !important;
  border: 1px solid var(--yl-hairline) !important;
}

#root .yl-card[data-yl-online="0"] .yl-statusbar .ant-space-item > span[style*="font-weight: 500"] {
  color: var(--yl-danger) !important;
  border-color: rgba(201, 65, 74, .3) !important;
}

#root .yl-card[data-yl-online="1"] .yl-statusbar .ant-space-item > span[style*="font-weight: 500"] {
  color: var(--yl-ok) !important;
  border-color: rgba(47, 158, 117, .3) !important;
}

#root .yl-statusbar .anticon-android {
  font-size: 13px !important;
  opacity: .9 !important;
}

/* 6.2 卡头按钮 —— 只压尺寸，保留原版的颜色语义
   原版对表：控制/下发/文件夹/置顶 = 品牌色实心；停止/删除 = 红字按钮。
   这里不重新定义语义，只把体积收小，配色交给全局主按钮/危险按钮规则。 */
#root .yl-statusbar .ant-btn {
  border-radius: var(--yl-radius-sm) !important;
  height: 24px !important;
  font-size: 11.5px !important;
  padding: 0 8px !important;
  box-shadow: none !important;
  font-weight: 500 !important;
  transition: background .14s ease, color .14s ease, border-color .14s ease !important;
}

#root .yl-statusbar .ant-btn.ant-btn-icon-only,
#root .yl-statusbar .ant-btn-sm.ant-btn-icon-only {
  width: 24px !important;
  padding: 0 !important;
}

#root .yl-statusbar .ant-btn:active {
  transform: translateY(.5px) !important;
}

/* 卡头里的危险按钮：原版是实心红底白字（停止/删除）。
   它们挂着 text 变体的类名但被面板自己涂成实心，
   通用红字规则会造成红底红字，这里显式给白字。 */
#root .yl-statusbar .ant-btn.ant-btn-dangerous:not(:disabled),
#root .yl-statusbar .ant-btn.ant-btn-color-dangerous:not(:disabled) {
  background: var(--yl-danger) !important;
  border-color: var(--yl-danger) !important;
  color: #fff !important;
}

#root .yl-statusbar .ant-btn.ant-btn-dangerous:not(:disabled):hover,
#root .yl-statusbar .ant-btn.ant-btn-color-dangerous:not(:disabled):hover {
  background: var(--yl-danger) !important;
  border-color: var(--yl-danger) !important;
  color: #fff !important;
  filter: brightness(1.12) !important;
}

/* 6.3 卡身 */
#root .yl-body {
  background: var(--yl-surface) !important;
  padding: 10px 12px 12px !important;
  gap: 12px !important;
}

/* 手机模型 */
#root .yl-phone > div:first-child {
  width: 58px !important;
  height: 102px !important;
  border: 2px solid var(--yl-hairline) !important;
  border-radius: 9px !important;
  background: var(--yl-surface-2) !important;
  box-shadow: none !important;
}

#root .yl-phone > div:first-child > div {
  background: var(--yl-surface) !important;
  border-radius: 7px !important;
}

#root .yl-phone .anticon-android {
  font-size: 22px !important;
  color: var(--yl-muted) !important;
}

#root .yl-phone > div:first-child > div > div:last-child {
  width: 13px !important;
  height: 13px !important;
  bottom: 3px !important;
  border: 1px solid var(--yl-hairline) !important;
  background: var(--yl-surface-3) !important;
}

/* 6.4 键值区 —— 双列，左标签右值，去掉 11 条横线 */
#root .yl-kvlist {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 12px !important;
  row-gap: 1px !important;
  font-size: 12px !important;
}

#root .yl-kv {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 8px !important;
  border-bottom: none !important;
  padding: 2.5px 6px !important;
  margin: 0 -6px !important;
  min-width: 0 !important;
  border-radius: 4px !important;
}

#root .yl-kv:hover {
  background: var(--yl-surface-2) !important;
}

#root .yl-kv--full {
  grid-column: 1 / -1 !important;
  background: transparent !important;
  border-top: 1px solid var(--yl-hairline-soft) !important;
  margin-top: 6px !important;
  padding-top: 8px !important;
  align-items: center !important;
}

/* 标签 */
#root .yl-k {
  width: auto !important;
  flex: 0 0 auto !important;
  color: var(--yl-muted) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  padding-right: 0 !important;
  white-space: nowrap !important;
}

/* 值 —— 右对齐，等宽数字 */
#root .yl-v {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  color: var(--yl-text) !important;
  font-size: 11.5px !important;
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* 值里的子 span 继承，去掉硬编码的红 */
#root .yl-v span {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* 首行设备名 + SIM/电量 —— 独占整行 */
#root .yl-kv:first-child {
  grid-column: 1 / -1 !important;
  border-bottom: 1px solid var(--yl-hairline-soft) !important;
  padding-bottom: 6px !important;
  margin-bottom: 5px !important;
  align-items: center !important;
}

#root .yl-kv:first-child .yl-v {
  color: var(--yl-text) !important;
  font-weight: 600 !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  letter-spacing: 0 !important;
}

#root .yl-kv:first-child .yl-v > span:first-child {
  /* SIM 徽标 */
  background: var(--yl-accent-soft) !important;
  border: 1px solid var(--yl-accent-line) !important;
  color: var(--yl-accent) !important;
  font-size: 9px !important;
  padding: 1px 4px !important;
  border-radius: 3px !important;
  font-family: inherit !important;
  letter-spacing: .03em !important;
  vertical-align: middle !important;
}

#root .yl-kv:first-child .yl-v > span:last-child {
  /* 电量 */
  font-size: 10.5px !important;
  font-variant-numeric: tabular-nums !important;
  opacity: .9 !important;
}

/* 状态值：命中失败/获取中 → 弱化，不再满屏红 */
#root .yl-kv .yl-v[data-yl-state="bad"] {
  color: var(--yl-danger) !important;
  font-weight: 500 !important;
}

#root .yl-kv .yl-v[data-yl-state="pending"] {
  color: var(--yl-muted) !important;
}

#root .yl-kv .yl-v[data-yl-state="good"] {
  color: var(--yl-ok) !important;
}

/* 备注输入框 */
#root .yl-kv--full .ant-input {
  height: 26px !important;
  font-size: 12px !important;
  border-radius: var(--yl-radius-sm) !important;
  background: var(--yl-surface-2) !important;
  border: 1px solid var(--yl-hairline) !important;
  color: var(--yl-text) !important;
}

#root .yl-kv--full .ant-input:focus {
  border-color: var(--yl-accent) !important;
  box-shadow: 0 0 0 2px var(--yl-accent-soft) !important;
}

#root .yl-kv--full .ant-input::placeholder {
  color: var(--yl-muted) !important;
}

/* 6.5 底部图标行 —— 收成一条安静的工具栏 */
#root .yl-actions {
  border-top: 1px solid var(--yl-hairline) !important;
  padding: 4px 8px !important;
  background: var(--yl-surface-2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 2px !important;
  min-height: 34px !important;
}

#root .yl-actions .anticon {
  font-size: 13px !important;
  color: var(--yl-muted) !important;
  transition: color .14s ease !important;
}

#root .yl-actions > * {
  padding: 4px 5px !important;
  border-radius: 5px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
}

#root .yl-actions > *:hover {
  background: var(--yl-surface-3) !important;
}

#root .yl-actions > *:hover .anticon {
  color: var(--yl-text) !important;
}

/* ---------- 7. 表格 / 分页 ------------------------------------------- */
#root .ant-pagination {
  margin: 16px 0 4px !important;
  align-items: center !important;
  gap: 4px !important;
}

#root .ant-pagination .ant-pagination-total-text {
  color: var(--yl-muted) !important;
  font-size: 12px !important;
  margin-right: auto !important;
}

#root .ant-pagination-item,
#root .ant-pagination-prev,
#root .ant-pagination-next,
#root .ant-pagination-jump-prev,
#root .ant-pagination-jump-next {
  border-radius: var(--yl-radius-sm) !important;
  border: 1px solid var(--yl-hairline) !important;
  background: var(--yl-surface) !important;
  min-width: 30px !important;
  height: 30px !important;
  line-height: 28px !important;
}

#root .ant-pagination-item a {
  color: var(--yl-text-2) !important;
  font-size: 12px !important;
}

#root .ant-pagination-item-active {
  border-color: var(--yl-accent) !important;
  background: var(--yl-accent) !important;
}

#root .ant-pagination-item-active a {
  color: #fff !important;
  font-weight: 600 !important;
}

#root .ant-pagination-prev .ant-pagination-item-link,
#root .ant-pagination-next .ant-pagination-item-link {
  background: transparent !important;
  border: none !important;
  color: var(--yl-text-2) !important;
}

/* ---------- 8. 通用控件 ---------------------------------------------- */
#root .ant-btn {
  border-radius: var(--yl-radius-sm) !important;
  box-shadow: none !important;
  font-weight: 500 !important;
  transition: background-color .13s ease, border-color .13s ease, color .13s ease !important;
}

/* 主按钮：常态 / 悬停 / 按下 / 禁用 —— 四态都要给，否则反馈被 !important 压死 */
#root .ant-btn-primary {
  background: var(--yl-accent) !important;
  border-color: var(--yl-accent) !important;
  color: #fff !important;
}

#root .ant-btn-primary:not(:disabled):hover {
  background: var(--yl-accent-hover) !important;
  border-color: var(--yl-accent-hover) !important;
  color: #fff !important;
}

#root .ant-btn-primary:not(:disabled):active,
#root .ant-btn-primary:not(:disabled):focus:active {
  background: var(--yl-accent-active) !important;
  border-color: var(--yl-accent-active) !important;
  color: #fff !important;
}

#root .ant-btn-primary:disabled,
#root .ant-btn-primary.ant-btn-disabled {
  background: var(--yl-surface-3) !important;
  border-color: var(--yl-hairline) !important;
  color: var(--yl-muted) !important;
  opacity: 1 !important;
}

/* 默认按钮 */
#root .ant-btn-default,
#root .ant-btn-color-default.ant-btn-variant-outlined {
  background: var(--yl-surface) !important;
  border-color: var(--yl-hairline) !important;
  color: var(--yl-text-2) !important;
}

#root .ant-btn-default:not(:disabled):hover,
#root .ant-btn-color-default.ant-btn-variant-outlined:not(:disabled):hover {
  background: var(--yl-accent-soft) !important;
  border-color: var(--yl-accent-line) !important;
  color: var(--yl-accent) !important;
}

#root .ant-btn-default:not(:disabled):active,
#root .ant-btn-color-default.ant-btn-variant-outlined:not(:disabled):active {
  background: var(--yl-accent-line) !important;
  border-color: var(--yl-accent) !important;
  color: var(--yl-accent) !important;
}

/* 危险按钮：primary + dangerous 必须回到红色，不能被金色盖掉 */
#root .ant-btn-primary.ant-btn-dangerous,
#root .ant-btn-primary.ant-btn-color-dangerous {
  background: var(--yl-danger) !important;
  border-color: var(--yl-danger) !important;
  color: #fff !important;
}

#root .ant-btn-primary.ant-btn-dangerous:not(:disabled):hover,
#root .ant-btn-primary.ant-btn-color-dangerous:not(:disabled):hover {
  background: var(--yl-danger) !important;
  border-color: var(--yl-danger) !important;
  color: #fff !important;
  filter: brightness(1.12) !important;
}

#root .ant-btn-primary.ant-btn-dangerous:not(:disabled):active,
#root .ant-btn-primary.ant-btn-color-dangerous:not(:disabled):active {
  filter: brightness(.86) !important;
}

/* 危险按钮：只给文字/描边变体上红字，实心变体保持白字（否则红底红字） */
#root .ant-btn-dangerous.ant-btn-variant-text:not(:disabled),
#root .ant-btn-dangerous.ant-btn-variant-outlined:not(:disabled),
#root .ant-btn-dangerous.ant-btn-variant-link:not(:disabled) {
  color: var(--yl-danger) !important;
}

#root .ant-btn-dangerous.ant-btn-text:not(:disabled):hover {
  background: var(--yl-danger-soft) !important;
  color: var(--yl-danger) !important;
}

/* 键盘聚焦可见 */
#root .ant-btn:focus-visible {
  outline: 2px solid var(--yl-accent) !important;
  outline-offset: 1px !important;
}

/* 禁用态优先级最高：必须压过一切变体色。
   原版对表里「批量删除」「关闭投屏」「数字解锁」这类是灰的（禁用），
   复合规则会把它染成红/金，必须在这里收回来。 */
#root .ant-btn.ant-btn:disabled,
#root .ant-btn.ant-btn[disabled],
#root .ant-btn.ant-btn.ant-btn-disabled {
  background: var(--yl-surface-3) !important;
  border-color: var(--yl-hairline) !important;
  color: var(--yl-muted) !important;
  opacity: .75 !important;
  cursor: not-allowed !important;
  filter: none !important;
  transform: none !important;
  box-shadow: none !important;
}

#root .ant-input,
#root .ant-select-selector,
#root .ant-input-affix-wrapper {
  border-radius: var(--yl-radius-sm) !important;
  border-color: var(--yl-hairline) !important;
  background: var(--yl-surface) !important;
  color: var(--yl-text) !important;
  font-size: 12.5px !important;
}

#root .ant-input:focus,
#root .ant-input-affix-wrapper-focused,
#root .ant-select-focused .ant-select-selector {
  border-color: var(--yl-accent) !important;
  box-shadow: 0 0 0 2px var(--yl-accent-soft) !important;
}

#root .ant-input::placeholder {
  color: var(--yl-muted) !important;
}

#root .ant-checkbox-inner {
  border-radius: 4px !important;
  border-color: var(--yl-hairline) !important;
  background: var(--yl-surface) !important;
}

#root .ant-checkbox-checked .ant-checkbox-inner {
  background: var(--yl-accent) !important;
  border-color: var(--yl-accent) !important;
}

#root .ant-divider {
  border-color: var(--yl-hairline) !important;
}

#root .ant-badge-status-dot {
  width: 7px !important;
  height: 7px !important;
}

/* 弹层在 body 下，单独提权 */
body .ant-select-dropdown,
body .ant-dropdown-menu,
body .ant-popover-inner,
body .ant-modal-content {
  background: var(--yl-surface) !important;
  border: 1px solid var(--yl-hairline) !important;
  border-radius: var(--yl-radius) !important;
  box-shadow: var(--yl-shadow) !important;
  color: var(--yl-text) !important;
}

body .ant-select-item {
  border-radius: var(--yl-radius-sm) !important;
  color: var(--yl-text-2) !important;
  font-size: 12.5px !important;
}

body .ant-select-item-option-selected,
body .ant-select-item-option-active {
  background: var(--yl-accent-soft) !important;
  color: var(--yl-accent) !important;
}

body .ant-dropdown-menu-item {
  font-size: 12.5px !important;
  color: var(--yl-text-2) !important;
}

body .ant-dropdown-menu-item:hover {
  background: var(--yl-surface-3) !important;
}

/* ---------- 9. 滚动条 ------------------------------------------------ */
#root ::-webkit-scrollbar {
  width: 8px !important;
  height: 8px !important;
}

#root ::-webkit-scrollbar-track {
  background: transparent !important;
}

#root ::-webkit-scrollbar-thumb {
  background: var(--yl-hairline) !important;
  border-radius: 4px !important;
  border: 2px solid transparent !important;
  background-clip: padding-box !important;
}

#root ::-webkit-scrollbar-thumb:hover {
  background: var(--yl-muted) !important;
  background-clip: padding-box !important;
}
