/* ===== 亿灵匠OA 皮肤层（gen_theme_layer.py 自动生成，勿手改）=====
   A 段：默认蓝 + MerMer 五套皮肤的变量表（配色照抄运营看板，派生色由脚本混色算出）
   B 段：中性色覆盖层，仅在 body 带 theme-* 类时生效，默认外观走的还是 index.html 原有规则
   C 段：theme_extra.css 手写补丁（侧栏浅肤修正 / 按钮动效 / 皮肤选择器）
   改 index.html 的样式或调色板后重跑脚本即可，不要直接编辑本文件。 */

/* ───── A. 变量表 ───── */
/* 默认蓝（= 换肤前的样子），只为让全局按钮动效取得到变量 */
body {
  --ylj-primary: #2F6BFF;
  --ylj-primary-hover: #165DFF;
  --ylj-primary-active: #0E42D2;
  --ylj-primary-light: #EAF1FF;
  --ylj-primary-border: #BEDAFF;
  --ylj-primary-ring: rgba(47,107,255,.35);
  --ylj-bg: #F6F8FB;
  --ylj-surface: #FFFFFF;
  --ylj-fill: #F2F3F5;
  --ylj-text-primary: #1D2129;
  --ylj-text-secondary: #4E5969;
  --ylj-text-muted: #86909C;
  --ylj-text-disabled: #C9CDD4;
  --ylj-border: #E6EAF2;
  --ylj-border-light: #EEF1F6;
  --ylj-border-strong: #C9CDD4;
  --ylj-sidebar-bg: #101B33;
  --ylj-sidebar-text: #8FA0C4;
  --ylj-sidebar-text-active: #DCE5F7;
  --ylj-sidebar-hover: rgba(255,255,255,.06);
  --ylj-sidebar-line: rgba(255,255,255,.07);
  --ylj-shadow: 0 2px 12px rgba(0,0,0,.06);
}

/* 炭黑+甜酷粉 */
body.theme-charcoal-pink {
  --ylj-primary: #FF6B9D;
  --ylj-primary-hover: #E85A8A;
  --ylj-primary-active: #FF8FB3;
  --ylj-primary-light: #35242A;
  --ylj-primary-border: #813E55;
  --ylj-primary-ring: rgba(255,107,157,0.2);
  --ylj-bg: #0f0f0f;
  --ylj-surface: #1a1a1a;
  --ylj-fill: #2A2A2A;
  --ylj-text-primary: #ffffff;
  --ylj-text-secondary: #b0b0b0;
  --ylj-text-muted: #8A8A8A;
  --ylj-text-disabled: #656565;
  --ylj-border: #3a3a3a;
  --ylj-border-light: #2e2e2e;
  --ylj-border-strong: #696969;
  --ylj-sidebar-bg: #242424;
  --ylj-sidebar-text: #B8A2AA;
  --ylj-sidebar-text-active: #E9D3DA;
  --ylj-sidebar-hover: rgba(255,255,255,.08);
  --ylj-sidebar-line: rgba(255,255,255,.08);
  --ylj-shadow: 0 2px 12px rgba(0,0,0,.5);
  --el-color-primary: #FF6B9D;
  --el-color-primary-light-3: #E85A8A;
  --el-color-primary-light-5: #8C425C;
  --el-color-primary-light-7: #5F3241;
  --el-color-primary-light-8: #482A34;
  --el-color-primary-light-9: #312227;
  --el-color-primary-dark-2: #FF8FB3;
  --el-bg-color: #1a1a1a;
  --el-bg-color-page: #0f0f0f;
  --el-bg-color-overlay: #1a1a1a;
  --el-text-color-primary: #ffffff;
  --el-text-color-regular: #b0b0b0;
  --el-text-color-secondary: #8A8A8A;
  --el-text-color-placeholder: #656565;
  --el-text-color-disabled: #656565;
  --el-border-color: #3a3a3a;
  --el-border-color-light: #2e2e2e;
  --el-border-color-lighter: #2e2e2e;
  --el-border-color-extra-light: #2e2e2e;
  --el-border-color-dark: #696969;
  --el-border-color-darker: #696969;
  --el-border-color-hover: #696969;
  --el-fill-color: #2A2A2A;
  --el-fill-color-light: #2A2A2A;
  --el-fill-color-lighter: #222222;
  --el-fill-color-extra-light: #1E1E1E;
  --el-fill-color-dark: #3E3E3E;
  --el-fill-color-darker: #525252;
  --el-fill-color-blank: #1a1a1a;
  --el-disabled-bg-color: #2A2A2A;
  --el-disabled-text-color: #656565;
  --el-disabled-border-color: #2e2e2e;
  --el-mask-color: rgba(26,26,26,.9);
  --el-mask-color-extra-light: rgba(26,26,26,.9);
  --el-box-shadow-light: 0 2px 12px rgba(0,0,0,.5);
}

/* 深海蓝+柔奶白 */
body.theme-deepblue-cream {
  --ylj-primary: #1e3a8a;
  --ylj-primary-hover: #1e40af;
  --ylj-primary-active: #172554;
  --ylj-primary-light: #EFF6FF;
  --ylj-primary-border: #C6CCD0;
  --ylj-primary-ring: rgba(30,58,138,0.2);
  --ylj-bg: #fefce8;
  --ylj-surface: #fefce8;
  --ylj-fill: #EEEDDC;
  --ylj-text-primary: #1f2937;
  --ylj-text-secondary: #6b7280;
  --ylj-text-muted: #90949A;
  --ylj-text-disabled: #B4B7B4;
  --ylj-border: #e5e7eb;
  --ylj-border-light: #f3f4f6;
  --ylj-border-strong: #B4B8C0;
  --ylj-sidebar-bg: #fffbeb;
  --ylj-sidebar-text: #67707D;
  --ylj-sidebar-text-active: #364156;
  --ylj-sidebar-hover: rgba(0,0,0,.05);
  --ylj-sidebar-line: rgba(0,0,0,.08);
  --ylj-shadow: 0 2px 12px rgba(0,0,0,.06);
  --el-color-primary: #1e3a8a;
  --el-color-primary-light-3: #1e40af;
  --el-color-primary-light-5: #8E9BB9;
  --el-color-primary-light-7: #BBC2CC;
  --el-color-primary-light-8: #D1D5D5;
  --el-color-primary-light-9: #E8E9DF;
  --el-color-primary-dark-2: #172554;
  --el-bg-color: #fefce8;
  --el-bg-color-page: #fefce8;
  --el-bg-color-overlay: #fefce8;
  --el-text-color-primary: #1f2937;
  --el-text-color-regular: #6b7280;
  --el-text-color-secondary: #90949A;
  --el-text-color-placeholder: #B4B7B4;
  --el-text-color-disabled: #B4B7B4;
  --el-border-color: #e5e7eb;
  --el-border-color-light: #f3f4f6;
  --el-border-color-lighter: #f3f4f6;
  --el-border-color-extra-light: #f3f4f6;
  --el-border-color-dark: #B4B8C0;
  --el-border-color-darker: #B4B8C0;
  --el-border-color-hover: #B4B8C0;
  --el-fill-color: #EEEDDC;
  --el-fill-color-light: #EEEDDC;
  --el-fill-color-lighter: #F6F4E2;
  --el-fill-color-extra-light: #FAF8E5;
  --el-fill-color-dark: #DADBCE;
  --el-fill-color-darker: #C7C8C0;
  --el-fill-color-blank: #fefce8;
  --el-disabled-bg-color: #EEEDDC;
  --el-disabled-text-color: #B4B7B4;
  --el-disabled-border-color: #f3f4f6;
  --el-mask-color: rgba(255,255,255,.9);
  --el-mask-color-extra-light: rgba(255,255,255,.9);
  --el-box-shadow-light: 0 2px 12px rgba(0,0,0,.06);
}

/* 藤紫+钛啡绿 */
body.theme-violet-coffee {
  --ylj-primary: #8B5CF6;
  --ylj-primary-hover: #7C3aed;
  --ylj-primary-active: #6D28D9;
  --ylj-primary-light: #F5F3FF;
  --ylj-primary-border: #DED2F8;
  --ylj-primary-ring: rgba(139,92,246,0.2);
  --ylj-bg: #fafaf9;
  --ylj-surface: #FAFAF9;
  --ylj-fill: #EBEBEA;
  --ylj-text-primary: #292524;
  --ylj-text-secondary: #78716c;
  --ylj-text-muted: #98938F;
  --ylj-text-disabled: #B9B6B2;
  --ylj-border: #e7e5e4;
  --ylj-border-light: #f5f5f4;
  --ylj-border-strong: #BBB7B4;
  --ylj-sidebar-bg: #F5F5F4;
  --ylj-sidebar-text: #7A7087;
  --ylj-sidebar-text-active: #4C4259;
  --ylj-sidebar-hover: rgba(0,0,0,.05);
  --ylj-sidebar-line: rgba(0,0,0,.08);
  --ylj-shadow: 0 2px 12px rgba(0,0,0,.06);
  --el-color-primary: #8B5CF6;
  --el-color-primary-light-3: #7C3aed;
  --el-color-primary-light-5: #C2ABF8;
  --el-color-primary-light-7: #D9CBF8;
  --el-color-primary-light-8: #E4DAF8;
  --el-color-primary-light-9: #EFEAF9;
  --el-color-primary-dark-2: #6D28D9;
  --el-bg-color: #FAFAF9;
  --el-bg-color-page: #fafaf9;
  --el-bg-color-overlay: #FAFAF9;
  --el-text-color-primary: #292524;
  --el-text-color-regular: #78716c;
  --el-text-color-secondary: #98938F;
  --el-text-color-placeholder: #B9B6B2;
  --el-text-color-disabled: #B9B6B2;
  --el-border-color: #e7e5e4;
  --el-border-color-light: #f5f5f4;
  --el-border-color-lighter: #f5f5f4;
  --el-border-color-extra-light: #f5f5f4;
  --el-border-color-dark: #BBB7B4;
  --el-border-color-darker: #BBB7B4;
  --el-border-color-hover: #BBB7B4;
  --el-fill-color: #EBEBEA;
  --el-fill-color-light: #EBEBEA;
  --el-fill-color-lighter: #F2F2F2;
  --el-fill-color-extra-light: #F6F6F5;
  --el-fill-color-dark: #DAD9D7;
  --el-fill-color-darker: #C8C6C4;
  --el-fill-color-blank: #FAFAF9;
  --el-disabled-bg-color: #EBEBEA;
  --el-disabled-text-color: #B9B6B2;
  --el-disabled-border-color: #f5f5f4;
  --el-mask-color: rgba(255,255,255,.9);
  --el-mask-color-extra-light: rgba(255,255,255,.9);
  --el-box-shadow-light: 0 2px 12px rgba(0,0,0,.06);
}

/* 无白+茶花红 */
body.theme-white-camellia {
  --ylj-primary: #DC2626;
  --ylj-primary-hover: #B91C1C;
  --ylj-primary-active: #991B1B;
  --ylj-primary-light: #FEF2F2;
  --ylj-primary-border: #F6C9C9;
  --ylj-primary-ring: rgba(220,38,38,0.2);
  --ylj-bg: #fafafa;
  --ylj-surface: #ffffff;
  --ylj-fill: #EFEFEF;
  --ylj-text-primary: #171717;
  --ylj-text-secondary: #525252;
  --ylj-text-muted: #7D7D7D;
  --ylj-text-disabled: #A8A8A8;
  --ylj-border: #e5e5e5;
  --ylj-border-light: #f5f5f5;
  --ylj-border-strong: #AAAAAA;
  --ylj-sidebar-bg: #fafafa;
  --ylj-sidebar-text: #7E6262;
  --ylj-sidebar-text-active: #4C3030;
  --ylj-sidebar-hover: rgba(0,0,0,.05);
  --ylj-sidebar-line: rgba(0,0,0,.08);
  --ylj-shadow: 0 2px 12px rgba(0,0,0,.06);
  --el-color-primary: #DC2626;
  --el-color-primary-light-3: #B91C1C;
  --el-color-primary-light-5: #EE9292;
  --el-color-primary-light-7: #F4BEBE;
  --el-color-primary-light-8: #F8D4D4;
  --el-color-primary-light-9: #FCE9E9;
  --el-color-primary-dark-2: #991B1B;
  --el-bg-color: #ffffff;
  --el-bg-color-page: #fafafa;
  --el-bg-color-overlay: #ffffff;
  --el-text-color-primary: #171717;
  --el-text-color-regular: #525252;
  --el-text-color-secondary: #7D7D7D;
  --el-text-color-placeholder: #A8A8A8;
  --el-text-color-disabled: #A8A8A8;
  --el-border-color: #e5e5e5;
  --el-border-color-light: #f5f5f5;
  --el-border-color-lighter: #f5f5f5;
  --el-border-color-extra-light: #f5f5f5;
  --el-border-color-dark: #AAAAAA;
  --el-border-color-darker: #AAAAAA;
  --el-border-color-hover: #AAAAAA;
  --el-fill-color: #EFEFEF;
  --el-fill-color-light: #EFEFEF;
  --el-fill-color-lighter: #F7F7F7;
  --el-fill-color-extra-light: #FBFBFB;
  --el-fill-color-dark: #D7D7D7;
  --el-fill-color-darker: #C0C0C0;
  --el-fill-color-blank: #ffffff;
  --el-disabled-bg-color: #EFEFEF;
  --el-disabled-text-color: #A8A8A8;
  --el-disabled-border-color: #f5f5f5;
  --el-mask-color: rgba(255,255,255,.9);
  --el-mask-color-extra-light: rgba(255,255,255,.9);
  --el-box-shadow-light: 0 2px 12px rgba(0,0,0,.06);
}

/* 捣蓝+清水蓝 */
body.theme-indigo-water {
  --ylj-primary: #6366F1;
  --ylj-primary-hover: #4F46E5;
  --ylj-primary-active: #4338CA;
  --ylj-primary-light: #EEF2FF;
  --ylj-primary-border: #D3D5F9;
  --ylj-primary-ring: rgba(99,102,241,0.2);
  --ylj-bg: #f8fafc;
  --ylj-surface: #F8FAFC;
  --ylj-fill: #E8EAED;
  --ylj-text-primary: #0F172A;
  --ylj-text-secondary: #475569;
  --ylj-text-muted: #737E8E;
  --ylj-text-disabled: #A0A8B2;
  --ylj-border: #CBD5E1;
  --ylj-border-light: #E2E8F0;
  --ylj-border-strong: #96A2B1;
  --ylj-sidebar-bg: #F1F5F9;
  --ylj-sidebar-text: #656A8B;
  --ylj-sidebar-text-active: #333A5D;
  --ylj-sidebar-hover: rgba(0,0,0,.05);
  --ylj-sidebar-line: rgba(0,0,0,.08);
  --ylj-shadow: 0 2px 12px rgba(0,0,0,.06);
  --el-color-primary: #6366F1;
  --el-color-primary-light-3: #4F46E5;
  --el-color-primary-light-5: #AEB0F6;
  --el-color-primary-light-7: #CBCEF9;
  --el-color-primary-light-8: #DADCFA;
  --el-color-primary-light-9: #E9EBFB;
  --el-color-primary-dark-2: #4338CA;
  --el-bg-color: #F8FAFC;
  --el-bg-color-page: #f8fafc;
  --el-bg-color-overlay: #F8FAFC;
  --el-text-color-primary: #0F172A;
  --el-text-color-regular: #475569;
  --el-text-color-secondary: #737E8E;
  --el-text-color-placeholder: #A0A8B2;
  --el-text-color-disabled: #A0A8B2;
  --el-border-color: #CBD5E1;
  --el-border-color-light: #E2E8F0;
  --el-border-color-lighter: #E2E8F0;
  --el-border-color-extra-light: #E2E8F0;
  --el-border-color-dark: #96A2B1;
  --el-border-color-darker: #96A2B1;
  --el-border-color-hover: #96A2B1;
  --el-fill-color: #E8EAED;
  --el-fill-color-light: #E8EAED;
  --el-fill-color-lighter: #F0F2F4;
  --el-fill-color-extra-light: #F4F6F8;
  --el-fill-color-dark: #D0D4D9;
  --el-fill-color-darker: #B8BDC5;
  --el-fill-color-blank: #F8FAFC;
  --el-disabled-bg-color: #E8EAED;
  --el-disabled-text-color: #A0A8B2;
  --el-disabled-border-color: #E2E8F0;
  --el-mask-color: rgba(255,255,255,.9);
  --el-mask-color-extra-light: rgba(255,255,255,.9);
  --el-box-shadow-light: 0 2px 12px rgba(0,0,0,.06);
}

/* ───── B. 中性色覆盖层 ─────
   只覆盖中性色（底/边框/文字）与品牌蓝；成功/警告/危险等状态色各皮肤保持一致，
   彩色底上的 color:#fff 一律保留。 */
body[class*="theme-"] {
  color: var(--ylj-text-primary) !important;
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .login-wrapper {
  background: linear-gradient(135deg, var(--ylj-primary-light) 0%, var(--ylj-bg) 100%) !important;
}
body[class*="theme-"] .login-card {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .login-brand {
  background: linear-gradient(135deg, var(--ylj-primary-hover) 0%, var(--ylj-primary-active) 100%) !important;
}
body[class*="theme-"] .login-brand .logo-full-card {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .login-form-area h2 {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .login-form-area .subtitle {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .login-btn {
  background: var(--ylj-primary-hover) !important;
  border-color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .login-btn:hover {
  background: var(--ylj-primary) !important;
}
body[class*="theme-"] .login-hint {
  color: var(--ylj-text-disabled) !important;
}
body[class*="theme-"] .sidebar-logo .logo-dot {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .sidebar-menu .el-menu-item.is-active {
  background: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .sidebar-menu .el-sub-menu .el-menu-item.is-active {
  background: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .topbar {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .collapse-btn {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .collapse-btn:hover {
  background: var(--ylj-fill) !important;
}
body[class*="theme-"] .breadcrumb .el-breadcrumb__inner {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .breadcrumb .el-breadcrumb__inner.is-link:hover {
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .notif-bell {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .notif-bell:hover {
  background: var(--ylj-fill) !important;
}
body[class*="theme-"] .notif-popover-header {
  border-bottom: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .notif-item {
  border-bottom: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .notif-item:hover {
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .notif-item.unread {
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .notif-item.unread:hover {
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .notif-dot {
  background: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .notif-title {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .notif-time {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .notif-empty {
  color: var(--ylj-text-disabled) !important;
}
body[class*="theme-"] .user-info:hover {
  background: var(--ylj-fill) !important;
}
body[class*="theme-"] .user-avatar {
  background: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .user-name {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .page-card {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .card-header {
  border-bottom: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .card-header-title {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .card-header-title::before {
  background: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .toolbar-icon {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .toolbar-icon:hover {
  background: var(--ylj-fill) !important;
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .stat-card {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .stat-info .stat-label {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .stat-info .stat-value {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .stat-icon.blue {
  background: var(--ylj-primary-light) !important;
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .wb-todo-card {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .wb-todo-card .todo-label {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .wb-todo-card .todo-count {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .wb-today-card {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .wb-today-card .today-info .today-label {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .wb-today-card .today-info .today-value {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .wb-order-card {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .wb-order-card:hover {
  border-color: var(--ylj-primary-border) !important;
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .wb-order-no {
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .wb-order-meta {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .filter-bar {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .el-table th.el-table__cell {
  background: var(--ylj-bg) !important;
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .el-table .el-table__row:hover > td {
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .page-form .el-form-item__label {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .section-title {
  color: var(--ylj-text-primary) !important;
  border-left: 3px solid var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .ai-parse-btn {
  background: linear-gradient(135deg, #722ed1, var(--ylj-primary-hover)) !important;
}
body[class*="theme-"] .parse-result-tip {
  background: var(--ylj-primary-light) !important;
  border: 1px solid var(--ylj-primary-border) !important;
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .role-list-panel {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .role-list-header {
  border-bottom: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .role-card:hover {
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .role-card.active {
  background: var(--ylj-primary-light) !important;
  border-color: var(--ylj-primary-border) !important;
}
body[class*="theme-"] .role-card .role-name {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .role-card .role-desc {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .role-perm-panel {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .perm-footer {
  border-top: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .perm-count {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .detail-section h4 {
  color: var(--ylj-text-primary) !important;
  border-bottom: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .detail-item .label {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .detail-item .value {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .detail-actions {
  border-top: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .text-muted {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .text-primary {
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .empty-state {
  color: var(--ylj-text-disabled) !important;
}
body[class*="theme-"] .perm-stats-bar {
  background: linear-gradient(135deg, var(--ylj-primary-light) 0%, var(--ylj-primary-light) 100%) !important;
}
body[class*="theme-"] .perm-stats-bar .stat-pill {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-primary-border) !important;
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .perm-card {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .perm-card:hover {
  border-color: var(--ylj-primary-border) !important;
}
body[class*="theme-"] .perm-card.has-checked {
  border-color: var(--ylj-primary-border) !important;
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .perm-card-head {
  background: var(--ylj-bg) !important;
  border-bottom: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .perm-card.has-checked .perm-card-head {
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .perm-card-title {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .perm-card-title .g-dot {
  background: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .perm-card-count {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .perm-card-body .el-checkbox__label {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .sg-card {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .sg-card:hover {
  border-color: var(--ylj-primary-border) !important;
}
body[class*="theme-"] .sg-name {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .sg-remark {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .sg-scope-row .scope-label {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .scope-chip {
  background: var(--ylj-fill) !important;
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .scope-chip.pick {
  background: var(--ylj-primary-light) !important;
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .sg-card-foot {
  border-top: 1px dashed var(--ylj-border-light) !important;
}
body[class*="theme-"] .sg-members {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .chip-picker {
  border: 1px solid var(--ylj-border-strong) !important;
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .chip-picker .pick-chip {
  background: var(--ylj-bg) !important;
  color: var(--ylj-text-secondary) !important;
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .chip-picker .pick-chip:hover {
  border-color: var(--ylj-primary-border) !important;
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .chip-picker .pick-chip.active {
  background: var(--ylj-primary-hover) !important;
  border-color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .chip-hint {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .transfer-panel {
  border: 1px solid var(--ylj-border-strong) !important;
}
body[class*="theme-"] .transfer-panel-head {
  background: var(--ylj-bg) !important;
  border-bottom: 1px solid var(--ylj-border-light) !important;
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .transfer-item:hover {
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .transfer-item.selected {
  background: var(--ylj-primary-light) !important;
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .transfer-item .t-sub {
  color: var(--ylj-text-disabled) !important;
}
body[class*="theme-"] .wx-hint {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .zone-tab {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-border) !important;
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .zone-tab:hover {
  border-color: var(--ylj-primary-hover) !important;
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .zone-tab.on {
  background: var(--ylj-primary-hover) !important;
  border-color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .zt-badge {
  background: var(--ylj-bg) !important;
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .node-bar {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .node-tab {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .node-tab:hover {
  background: var(--ylj-bg) !important;
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .node-tab.on {
  background: var(--ylj-primary-light) !important;
  color: var(--ylj-primary-active) !important;
}
body[class*="theme-"] .node-tab .arr {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .node-tab.on .arr {
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .node-tab .badge {
  background: var(--ylj-bg) !important;
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .node-tab.on .badge {
  background: var(--ylj-surface) !important;
  color: var(--ylj-primary-active) !important;
}
body[class*="theme-"] .node-tab .arr:hover {
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .as-card {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .as-card:hover {
  border-color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .as-title {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .as-num {
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .as-desc {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .page-card {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .text-muted {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .dt-timeline-title {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .dt-timeline-title::before {
  background: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .manual-follow {
  background: var(--ylj-bg) !important;
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .mf-title {
  color: var(--ylj-primary-active) !important;
}
body[class*="theme-"] .mf-label {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .upload-tip {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .esc-node {
  background: var(--ylj-fill) !important;
  color: var(--ylj-text-muted) !important;
  border: 1px dashed var(--ylj-border-strong) !important;
}
body[class*="theme-"] .esc-node.active {
  background: var(--ylj-primary-light) !important;
  color: var(--ylj-primary-active) !important;
  border: 1px solid var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .esc-arrow {
  color: var(--ylj-text-disabled) !important;
}
body[class*="theme-"] .esc-tip {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .sidebar {
  background: var(--ylj-sidebar-bg) !important;
}
body[class*="theme-"] .sidebar-menu .el-menu-item, body[class*="theme-"] .sidebar-menu .el-sub-menu__title {
  color: var(--ylj-sidebar-text) !important;
}
body[class*="theme-"] .sidebar-menu .el-sub-menu .el-menu-item {
  color: var(--ylj-sidebar-text) !important;
}
body[class*="theme-"] .sidebar-menu .el-menu-item:hover, body[class*="theme-"] .sidebar-menu .el-sub-menu__title:hover {
  color: var(--ylj-sidebar-text-active) !important;
}
body[class*="theme-"] .sidebar-menu .el-menu-item.is-active {
  background: var(--ylj-primary) !important;
}
body[class*="theme-"] .sidebar-menu .el-sub-menu.is-active > .el-sub-menu__title {
  color: var(--ylj-sidebar-text-active) !important;
}
body[class*="theme-"] .main-area {
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .content-area {
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .ops-area {
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .ops-loading {
  color: var(--ylj-text-secondary) !important;
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .topbar {
  background: var(--ylj-surface) !important;
  border-bottom: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .dl-client-btn {
  background: var(--ylj-primary-light) !important;
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .dl-client-btn:hover {
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .login-dl a {
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .breadcrumb .el-breadcrumb__inner {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .breadcrumb .el-breadcrumb__item:last-child .el-breadcrumb__inner {
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .zone-head h2 {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .zone-head p {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .zone-head .zh-total {
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .page-card .el-table th.el-table__cell {
  background: var(--ylj-bg) !important;
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .modal {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .m-head {
  border-bottom: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .m-head h3 {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .m-head .m-close {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .m-head .m-close:hover {
  background: var(--ylj-bg) !important;
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .m-foot {
  border-top: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .info-grid .item label {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .info-grid .item div {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .sec-title {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .sec-title::before {
  background: var(--ylj-primary) !important;
}
body[class*="theme-"] .timeline li {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .timeline li::before {
  background: var(--ylj-primary) !important;
}
body[class*="theme-"] .timeline li b {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .timeline li .t {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .btn-primary {
  background: var(--ylj-primary) !important;
}
body[class*="theme-"] .btn-primary:hover {
  background: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .btn-ghost {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-border) !important;
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .btn-ghost:hover {
  border-color: var(--ylj-primary) !important;
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .t-blue {
  background: var(--ylj-primary-light) !important;
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .t-gray {
  background: var(--ylj-bg) !important;
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] a.ono {
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .opt-card {
  border: 1.5px solid var(--ylj-border) !important;
}
body[class*="theme-"] .opt-card:hover {
  border-color: var(--ylj-primary-border) !important;
}
body[class*="theme-"] .opt-card.sel {
  border-color: var(--ylj-primary) !important;
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .opt-card.sel::after {
  background: var(--ylj-primary) !important;
}
body[class*="theme-"] .opt-card h4 {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .opt-card p {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .master-pick {
  border: 1px solid var(--ylj-border) !important;
  color: var(--ylj-text-primary) !important;
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .master-pick:focus {
  border-color: var(--ylj-primary) !important;
}
body[class*="theme-"] .ylj-ta {
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .ylj-ta:focus {
  border-color: var(--ylj-primary) !important;
}
body[class*="theme-"] .as-alert-body {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .flow-note.blue {
  background: var(--ylj-primary-light) !important;
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .upload-zone {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .upload-zone:hover {
  border-color: var(--ylj-primary) !important;
  color: var(--ylj-primary) !important;
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .src-tag.s-manual {
  background: var(--ylj-primary-light) !important;
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .src-tag.s-system {
  background: var(--ylj-bg) !important;
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .track-thumb {
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .track-thumb:hover {
  border-color: var(--ylj-primary) !important;
}
body[class*="theme-"] .proof-cell img {
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .proof-cell img:hover {
  border-color: var(--ylj-primary) !important;
}
body[class*="theme-"] .proof-cell span {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .revisit-bar {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-primary-border) !important;
}
body[class*="theme-"] .revisit-bar b {
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .revisit-hint {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .cfg-item label {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .cfg-ro {
  background: var(--ylj-bg) !important;
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .cfg-inp {
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .cfg-inp:focus {
  border-color: var(--ylj-primary) !important;
}
body[class*="theme-"] .cfg-inp:disabled {
  background: var(--ylj-bg) !important;
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .cfg-radio label {
  border: 1.5px solid var(--ylj-border) !important;
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .cfg-radio label.on {
  border-color: var(--ylj-primary) !important;
  background: var(--ylj-primary-light) !important;
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .cfg-calc {
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .cfg-calc .cc-label {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .cfg-calc .cc-sub {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .rv-info label {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .rv-info b {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .rv-customer {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .rv-phone {
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .ta {
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .ta:focus {
  border-color: var(--ylj-primary) !important;
}
body[class*="theme-"] .lk {
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .assign-list {
  border: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .assign-item:hover {
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .assign-item.on {
  background: var(--ylj-primary-light) !important;
  border-color: var(--ylj-primary-border) !important;
}
body[class*="theme-"] .assign-item .ai-name {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .ar-line {
  border: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .ar-url {
  color: var(--ylj-primary) !important;
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .mf-box {
  background: var(--ylj-bg) !important;
  border: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .mf-label {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .board-search {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .board-hint {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .as-card {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .as-card:hover {
  border-color: var(--ylj-primary-border) !important;
}
body[class*="theme-"] .as-card h3 {
  color: var(--ylj-text-primary) !important;
  border-bottom: 1px solid var(--ylj-border-light) !important;
}
body[class*="theme-"] .as-card h3 .cnt {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .as-card .as-num {
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .as-card .as-desc {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .sidebar-menu .el-sub-menu .el-menu-item.is-active {
  background: var(--ylj-primary) !important;
}
body[class*="theme-"] .sidebar-menu .el-sub-menu .el-menu-item.is-active::before {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .ai-entry-input {
  border: 1px solid var(--ylj-border) !important;
  background: var(--ylj-bg) !important;
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .ai-entry:hover .ai-entry-input {
  border-color: var(--ylj-primary) !important;
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .duty-btn {
  border: 1px solid var(--ylj-border) !important;
  background: var(--ylj-surface) !important;
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .ai-panel {
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .ai-head {
  background: linear-gradient(135deg,var(--ylj-primary),#7A5AF8) !important;
}
body[class*="theme-"] .ai-body {
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .ai-ava {
  background: var(--ylj-bg) center/cover no-repeat !important;
}
body[class*="theme-"] .ai-logo {
  background: var(--ylj-surface) center/cover no-repeat !important;
}
body[class*="theme-"] .ai-bubble {
  background: var(--ylj-surface) !important;
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .ai-bubble.user {
  background: var(--ylj-primary) !important;
}
body[class*="theme-"] .ai-tip {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .ai-quick {
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .ai-quick span {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-border) !important;
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .ai-quick span:hover {
  border-color: var(--ylj-primary) !important;
  color: var(--ylj-primary) !important;
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .ai-foot {
  border-top: 1px solid var(--ylj-border-light) !important;
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .ai-input {
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .ai-input:focus {
  border-color: var(--ylj-primary) !important;
}
body[class*="theme-"] .ai-send {
  background: var(--ylj-primary) !important;
}
body[class*="theme-"] .ai-send:not(:disabled):hover {
  background: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .filter-panel {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .fp-item label {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .fp-sel {
  border: 1px solid var(--ylj-border) !important;
  color: var(--ylj-text-primary) !important;
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .fp-sel:focus {
  border-color: var(--ylj-primary) !important;
}
body[class*="theme-"] .fp-time input {
  border: 1px solid var(--ylj-border) !important;
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .fp-time input:focus {
  border-color: var(--ylj-primary) !important;
}
body[class*="theme-"] .fp-time span {
  color: var(--ylj-text-disabled) !important;
}
body[class*="theme-"] .fp-quick span {
  background: var(--ylj-fill) !important;
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .fp-quick span:hover, body[class*="theme-"] .fp-quick span.act {
  background: var(--ylj-primary-light) !important;
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .fp-acts {
  border-top: 1px dashed var(--ylj-border-light) !important;
}
body[class*="theme-"] .col-setting {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .cs-title {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .cs-item {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .table-scroll {
  border: 1px solid var(--ylj-border) !important;
  background: var(--ylj-surface) !important;
}
body[class*="theme-"] .table-scroll thead th {
  background: var(--ylj-bg) !important;
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .breadcrumb .crumb-link:hover {
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .breadcrumb .crumb-link .el-breadcrumb__inner {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .batch-bar {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-primary-border) !important;
}
body[class*="theme-"] .batch-bar b {
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .batch-bar .bb-hint {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .batch-bar .bb-clear {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .node-cell, body[class*="theme-"] .master-cell {
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .master-cell {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .tip-dot {
  color: var(--ylj-text-disabled) !important;
}
body[class*="theme-"] .node-cell:hover .tip-dot, body[class*="theme-"] .master-cell:hover .tip-dot {
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .upload-zone.paste-zone:focus {
  border-color: var(--ylj-primary) !important;
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .pick-link {
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .pick-link:hover {
  color: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .cs-tip {
  color: var(--ylj-text-muted) !important;
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .cs-tip b {
  color: var(--ylj-primary) !important;
}
body[class*="theme-"] .cs-row {
  background: var(--ylj-surface) !important;
  border: 1px solid var(--ylj-border) !important;
}
body[class*="theme-"] .cs-row:hover {
  border-color: var(--ylj-primary-border) !important;
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .cs-row.off {
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .cs-row.drag {
  border-color: var(--ylj-primary) !important;
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .cs-drag {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .cs-check {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .cs-arrow {
  border: 1px solid var(--ylj-border) !important;
  background: var(--ylj-surface) !important;
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .cs-arrow:hover:not(:disabled) {
  border-color: var(--ylj-primary) !important;
  color: var(--ylj-primary) !important;
  background: var(--ylj-primary-light) !important;
}
body[class*="theme-"] .aa-line {
  color: var(--ylj-text-primary) !important;
}
body[class*="theme-"] .aa-no {
  color: var(--ylj-text-muted) !important;
  background: var(--ylj-fill) !important;
}
body[class*="theme-"] .aa-sub {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .aa-btn.ok {
  background: var(--ylj-primary) !important;
}
body[class*="theme-"] .aa-btn.ok:hover {
  background: var(--ylj-primary-hover) !important;
}
body[class*="theme-"] .aa-item {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .aa-item .aa-sub-inline {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .aa-hint {
  color: var(--ylj-text-muted) !important;
}
body[class*="theme-"] .comp-toggle {
  background: var(--ylj-bg) !important;
}
body[class*="theme-"] .comp-row label {
  color: var(--ylj-text-secondary) !important;
}
body[class*="theme-"] .comp-row input {
  border: 1px solid var(--ylj-border-strong) !important;
}

/* ───── C. 手写补丁（源自 theme_extra.css） ───── */
/* ===== 手写补丁层（theme_extra.css，会被 gen_theme_layer.py 拼到 theme.css 末尾）=====
   只放三类自动覆盖层处理不了的东西：
   1) 侧栏在浅色皮肤下会翻白，白字/白色半透明底必须换成变量；
   2) 按钮点击动效（移植自运营看板），全局生效，默认蓝主题也吃；
   3) 顶栏皮肤选择器自身的样式。 */

/* ── 1. 侧栏：浅色皮肤下的白字/白底修正 ── */
body[class*="theme-"] .sidebar-logo .logo-text { color: var(--ylj-sidebar-text-active) !important; }
body[class*="theme-"] .sidebar-logo { border-bottom-color: var(--ylj-sidebar-line) !important; }
body[class*="theme-"] .sidebar-logo .logo-dot { background: var(--ylj-primary) !important; }
body[class*="theme-"] .sidebar-menu .el-menu-item:hover,
body[class*="theme-"] .sidebar-menu .el-sub-menu__title:hover { background: var(--ylj-sidebar-hover) !important; }
body[class*="theme-"] .el-menu.sidebar-menu::-webkit-scrollbar-thumb { background: var(--ylj-sidebar-hover) !important; }
/* 深色皮肤下卡片阴影要压重一点，否则浮不起来 */
body[class*="theme-"] .el-card, body[class*="theme-"] .el-dialog,
body[class*="theme-"] .el-popper, body[class*="theme-"] .el-message-box {
  box-shadow: var(--ylj-shadow) !important;
}

/* ── 2. 按钮动效（MerMer：hover 抬升 + 主按钮微放大，按下回弹） ── */
.el-button, .login-btn, .dl-client-btn, .duty-btn, .notif-bell, .collapse-btn, .theme-btn,
.node-tab, .zone-tab, .btn-primary, .btn-success, .aa-btn, .ai-send, .pick-chip, .esc-node {
  transition: background-color .3s cubic-bezier(.4, 0, .2, 1), color .3s cubic-bezier(.4, 0, .2, 1),
              border-color .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s cubic-bezier(.4, 0, .2, 1),
              transform .3s cubic-bezier(.4, 0, .2, 1);
}
.el-button:not(.is-disabled):not(.is-loading):not(.is-text):not(.is-link):hover {
  transform: translateY(-1px);
}
.el-button--primary:not(.is-disabled):not(.is-loading):not(.is-text):not(.is-link):hover {
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 4px 16px var(--ylj-primary-ring);
}
.el-button:not(.is-disabled):not(.is-loading):not(.is-text):not(.is-link):active {
  transform: translateY(0) scale(.97);
  box-shadow: none;
}
.el-button--small:not(.is-disabled):not(.is-loading):not(.is-text):not(.is-link):hover {
  transform: translateY(-1px);
}
.login-btn:hover, .btn-primary:hover, .btn-success:hover, .ai-send:hover {
  transform: translateY(-1px) scale(1.02);
}
.login-btn:active, .btn-primary:active, .btn-success:active, .ai-send:active { transform: translateY(0) scale(.97); }
.duty-btn:active, .notif-bell:active, .collapse-btn:active, .theme-btn:active { transform: scale(.94); }
.node-tab:active, .zone-tab:active, .pick-chip:active, .esc-node:active { transform: scale(.96); }

@media (prefers-reduced-motion: reduce) {
  .el-button, .login-btn, .dl-client-btn, .duty-btn, .notif-bell, .collapse-btn, .theme-btn,
  .node-tab, .zone-tab, .btn-primary, .btn-success, .aa-btn, .ai-send, .pick-chip, .esc-node {
    transition: background-color .2s linear, color .2s linear, border-color .2s linear !important;
  }
  .el-button:hover, .el-button:active, .login-btn:hover, .btn-primary:hover, .btn-success:hover,
  .ai-send:hover, .duty-btn:active, .notif-bell:active, .collapse-btn:active, .theme-btn:active,
  .node-tab:active, .zone-tab:active, .pick-chip:active, .esc-node:active,
  .login-btn:active, .btn-primary:active, .btn-success:active, .ai-send:active {
    transform: none !important;
  }
}

/* ── 3. 顶栏皮肤选择器 ── */
.theme-btn {
  width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center;
  justify-content: center; cursor: pointer; color: var(--ylj-text-secondary); outline: none;
}
.theme-btn:hover { background: var(--ylj-fill); color: var(--ylj-primary); }
.theme-swatch {
  display: inline-block; width: 14px; height: 14px; border-radius: 4px; margin-right: 8px;
  flex: none; border: 1px solid rgba(0, 0, 0, .1);
}
.theme-item { display: flex; align-items: center; width: 100%; }
.theme-check { margin-left: auto; color: var(--ylj-primary); }
