/* ===================================================================
 *  FLYING Skin Overlay - H+ to FLYING Visual Mapping Layer
 *  路径A方案：不修改任何HTML/JS，纯CSS视觉覆盖
 *  加载顺序：bootstrap → font-awesome → style.css(H+) → 07fly.css → 本文件
 * =================================================================== */

/* ===================================================================
   0. CSS 变量系统 - 继承 FLYING 设计令牌
   =================================================================== */
:root {
  /* === FLYING 核心色彩 (RGB) === */
  --fly-primary-rgb: 132, 90, 223;
  --fly-secondary-rgb: 35, 183, 229;
  --fly-warning-rgb: 245, 184, 73;
  --fly-info-rgb: 73, 182, 245;
  --fly-success-rgb: 38, 191, 148;
  --fly-danger-rgb: 230, 83, 60;
  --fly-light-rgb: 243, 246, 248;
  --fly-dark-rgb: 35, 35, 35;

  /* === FLYING 派生色 === */
  --fly-primary: rgb(var(--fly-primary-rgb));
  --fly-secondary: rgb(var(--fly-secondary-rgb));
  --fly-success: rgb(var(--fly-success-rgb));
  --fly-warning: rgb(var(--fly-warning-rgb));
  --fly-info: rgb(var(--fly-info-rgb));
  --fly-danger: rgb(var(--fly-danger-rgb));

  /* === 透明度阶梯 === */
  --fly-primary01: rgba(var(--fly-primary-rgb), 0.1);
  --fly-primary02: rgba(var(--fly-primary-rgb), 0.2);
  --fly-primary03: rgba(var(--fly-primary-rgb), 0.3);
  --fly-primary05: rgba(var(--fly-primary-rgb), 0.05);

  /* === 布局/边框 === */
  --fly-border: #f3f3f3;
  --fly-bg: #f7f8f9;
  --fly-body-bg: #f0f1f7;
  --fly-text: #333335;
  --fly-muted: #8c9097;
  --fly-white: #fff;

  /* === 输入框 === */
  --fly-input-border: #e9edf6;
}

/* ===================================================================
   1. 全局背景 & Body - FLYING 浅色调
   =================================================================== */
body.gray-bg,
body {
  background-color: var(--fly-body-bg) !important;
  color: var(--fly-text) !important;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.gray-bg,
#page-wrapper.gray-bg {
  background-color: var(--fly-body-bg) !important;
}

/* ===================================================================
   2. IBOX → FLYING Card 风格映射 (最关键！影响92+个模板)
   =================================================================== */

/* --- 2.1 ibox 容器 = custom-card --- */
.ibox {
  border-radius: 0.5rem !important;              /* 8px 圆角 */
  border: none !important;                        /* 无边框，靠阴影分隔 */
  background-color: var(--fly-white) !important;
  box-shadow: 0 0.125rem 0 rgba(10, 10, 10, 0.04) !important; /* 极轻阴影 */
  margin-bottom: 1rem !important;                  /* 16px 底部间距 */
  /*overflow: hidden;*/
  transition: box-shadow 0.2s ease, transform 0.15s ease;
}

.ibox:hover {
  box-shadow: 0 0.25rem 0.5rem rgba(10, 10, 10, 0.08) !important;
}

/* --- 2.2 ibox-title = card-header --- */
.ibox-title {
  height: auto !important;
  padding: 1rem 1.25rem !important;               /* 16px × 20px 内距 */
  background-color: transparent !important;       /* 透明底，去掉H+的灰色 */
  border-bottom: 1px solid var(--fly-border) !important; /* 底部细分割线 */
  border-radius: 0.625rem 0.625rem 0 0 !important; /* 顶部圆角略大 10px */
  color: var(--fly-text) !important;
  font-size: 1.2rem !important;                 /* ★ 17px：加大标题字号 */
  font-weight: 700 !important;                     /* 粗体标题 */
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* FLYING 特征：标题左侧渐变装饰条（通过伪元素实现） */
.ibox-title h5,
.ibox-title > :first-child {
  position: relative;
  padding-left: 0.75rem;
}
.ibox-title h5::before,
.ibox-title > :first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 1rem;
  background: linear-gradient(to bottom, rgba(132, 90, 223, 0.5) 50%, rgba(35, 183, 229, 0.5) 50%);
  border-radius: 2px;
}

/* ibox-title 内文字颜色 */
.ibox-title,
.ibox-title h3,
.ibox-title h4,
.ibox-title h5 {
  color: var(--fly-text) !important;
}

/* --- 2.3 ibox-content = card-body --- */
.ibox-content {
  border: none !important;                         /* 移除H+边框 */
  padding: 1.25rem !important;                     /* 20px 内距 */
  background-color: var(--fly-white) !important;
  color: var(--fly-text) !important;
  font-size: 1.2rem !important;                      /* ★ 16px：对齐菜单二级字号 */
  line-height: 1.6 !important;
}

.ibox-content.nopadding {
  padding: 0 !important;
}

/* --- 2.4 ibox-head (搜索栏区域) --- */
.ibox-head {
  background-color: transparent !important;        /* 去掉H+的 #efefef 灰底 */
  line-height: inherit !important;
  padding: 0.75rem 1.25rem !important;
  border-bottom: 1px solid var(--fly-border) !important;
}

/* --- 2.5 ibox-tools 工具栏 --- */
.ibox-tools {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.ibox-tools a {
  color: var(--fly-muted) !important;
  transition: color 0.15s ease;
  font-size: 15px;                                     /* ★ 加大工具栏字号 */
}
.ibox-tools a:hover {
  color: var(--fly-primary) !important;
}
.ibox-tools select {
  width: 150px !important;
  color: var(--fly-text) !important;
  border: 1px solid var(--fly-input-border) !important;
  border-radius: 0.35rem !important;                /* FLYING 圆角 ~5.6px */
  padding: 4px 8px !important;
  font-size: 14px !important;                        /* ★ 加大 */
}

/* --- 2.6 ibox-tab 标签页 --- */
.ibox-tab a {
  margin-right: 1.5rem !important;
  cursor: pointer;
  color: var(--fly-muted) !important;
  font-weight: 500 !important;
  font-size: 1.2rem !important;                      /* ★ 16px：对齐菜单二级字号 */
  padding-bottom: 4px !important;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
}
.ibox-tab a:hover {
  color: var(--fly-primary) !important;
}
.ibox-tab a.on,
.ibox-tab a.active {
  color: var(--fly-primary) !important;
  border-bottom-color: var(--fly-primary) !important;
}

/* ===================================================================
   3. 侧边栏 navbar-static-side → FLYING Sidebar 风格
   =================================================================== */

/* --- 3.0 核心容器：清除所有 H+ 深色背景 --- */
.navbar-static-side,
.navbar-static-side .sidebar-collapse,
.sidebar-collapse,
#side-menu,
#side-menu .nav,
.navbar-default .nav,
.navbar-static-side .nav {
  background: var(--fly-white) !important;         /* 全链路白色！ */
  border: none !important;
}

/* --- 3.1 侧边栏主容器 --- */
.navbar-static-side {
  border-right: 1px solid var(--fly-border) !important;
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.02) !important;
  width: 240px !important;                            /* ★ 不超过240px */
  min-width: 240px !important;
}

/* --- 3.2 Logo 区域 nav-header --- */
.nav-header,
.navbar-static-side .nav-header {
  background: var(--fly-white) !important;
  padding: 1rem 1.15rem !important;                   /* ★ 加大 padding */
  border-bottom: 1px solid var(--fly-border) !important;
  color: #1c2128 !important;                          /* ★ 更深色 */
}

/* nav-header 内所有文字和链接强制深色 */
.nav-header .profile-element,
.nav-header .profile-element a,
.nav-header .profile-element strong,
.nav-header a.dropdown-toggle,
.nav-header span.block,
.nav-header span.block strong {
  color: #1c2128 !important;                         /* ★ 更深色 */
  font-weight: 700 !important;
}
.nav-header .profile-element a:hover {
  opacity: 0.75;
  color: var(--fly-primary) !important;
}
.nav-header img { filter: none !important; }

.logo-element,
.navbar-static-side .logo-element {
  background: var(--fly-white) !important;
  color: #1c2128 !important;                          /* ★ 深色 */
}
.logo-element img { opacity: 1 !important; }

/* --- 3.3 侧边栏菜单基础样式 (★ 参照 FLYING 原版大字体/宽松布局) --- */
#side-menu {
  background: var(--fly-white) !important;
  padding: 0.4rem 0 !important;                       /* ★ 上下留白 */
}

/* 一级菜单项 - 容器 */
#side-menu > li,
#side-menu .nav > li {
  background: transparent !important;
  border: none !important;
}

/* 一级菜单项 - 链接 (★ 核心：加大字号+行高，匹配 FLYING 原版) */
#side-menu > li > a,
#side-menu .nav > li > a {
  color: #2b3346 !important;                          /* ★ 深色文字：接近黑色 */
  font-family: "Montserrat", "Inter", sans-serif !important;
  font-size: 1.2rem !important;                     /* ★ 17px：放大2号 */
  font-weight: 500 !important;
  transition: all 0.18s ease !important;
  border-radius: 8px !important;
  margin: 2px 8px !important;
  padding: 0.72rem 0.85rem !important;                 /* ★ padding微调适配240px宽 */
  background: transparent !important;
  line-height: 1.45 !important;
  letter-spacing: 0.01em !important;
}

/* 一级 hover (★ 明显的浅灰背景 + 文字变主色) */
#side-menu > li > a:hover,
#side-menu .nav > li > a:hover {
  background-color: #eaeff7 !important;              /* ★ 浅蓝灰底：更明显 */
  color: var(--fly-primary) !important;             /* ★ hover 变紫 */
}

/* 一级激活态 (★ 参照 "Dashboards" 紫色高亮效果) */
#side-menu > li.active > a,
#side-menu .nav > li.active > a,
.J_menuItem.active {
  background-color: rgba(var(--fly-primary-rgb), 0.09) !important;
  color: var(--fly-primary) !important;
  font-weight: 600 !important;
}

/* ★ 一级图标：更大更深色 */
#side-menu > li > a i.fa,
#side-menu .nav > li > a i.fa {
  color: #555d73 !important;                         /* ★ 图标深灰 */
  font-size: 1.125rem !important;                       /* ★ 图标 18px：跟随文字放大 */
  width: 24px !important;                              /* ★ 图标区加宽 */
  text-align: center !important;
  margin-right: 10px !important;                     /* ★ 图标与文字间距 */
  transition: color 0.18s ease !important;
}
#side-menu > li.active > a i.fa,
#side-menu .nav > li.active > a i.fa,
.J_menuItem.active i.fa {
  color: var(--fly-primary) !important;
}
#side-menu > li > a:hover i.fa,
#side-menu .nav > li > a:hover i.fa {
  color: var(--fly-primary) !important;
}

/* 展开箭头 (右侧 > 符号) */
#side-menu > li > a .arrow,
#side-menu .nav > li > a .arrow {
  color: #8890a0 !important;                          /* ★ 箭头颜色 */
  font-size: 0.7rem !important;
}
#side-menu > li > a:hover .arrow,
#side-menu .nav > li > a:hover .arrow {
  color: var(--fly-primary) !important;
}

/* --- 3.4 二级/三级子菜单 (★ 字号加大、对比度加强) --- */
.nav-second-level,
.nav-second-level .nav-second-level,
#side-menu ul,
#side-menu .collapse.in,
#side-menu .collapsing {
  background: var(--fly-white) !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0.2rem 0 !important;                      /* ★ 子菜单区域上下留白 */
}

/* 二级菜单链接 (★ 缩进优化：减小左缩进，为三级留空间) */
.nav-second-level li,
.nav-second-level li a,
#side-menu .nav-second-level li,
#side-menu .nav-second-level li a,
#side-menu ul li a {
  color: #3a4055 !important;                         /* ★ 深灰：清晰可辨 */
  background: transparent !important;
  font-size: 1.2rem !important;                          /* ★ 16px：放大2号 (原14px) */
  font-weight: 400 !important;
  font-family: "Montserrat", "Inter", sans-serif !important;
  padding: 0.52rem 0.7rem 0.52rem 1.45rem !important;    /* ★ 微调padding适配大字号 */
  border-radius: 6px !important;
  margin: 1px 7px !important;                            /* ★ margin微调 */
  display: block !important;
  line-height: 1.5 !important;
  transition: all 0.18s ease !important;
  letter-spacing: 0.01em !important;
}

/* 二级 hover (★ 更明显的视觉反馈) */
.nav-second-level li a:hover,
#side-menu .nav-second-level li a:hover,
#side-menu ul li a:hover {
  background-color: #eaeff7 !important;              /* ★ 与一级统一浅蓝灰 */
  color: var(--fly-primary) !important;             /* ★ hover 变紫 */
}

/* 二级激活态 */
.nav-second-level li a.active,
#side-menu .nav-second-level li a.active,
#side-menu ul li a.active,
#side-menu .nav-second-level li.active > a {
  background-color: rgba(var(--fly-primary-rgb), 0.08) !important;
  color: var(--fly-primary) !important;
  font-weight: 500 !important;
}

/* 二级菜单图标 (★ 颜色加深) */
.nav-second-level li a i.fa,
#side-menu .nav-second-level li a i.fa {
  color: #666d82 !important;                         /* ★ 二级图标稍深 */
  margin-right: 8px !important;
  width: 16px !important;
  text-align: center !important;
  font-size: 0.95rem !important;                        /* ★ 二级图标 15px：跟随文字放大 */
}

/* 三级菜单（★ 缩进优化：为三级留出足够空间） */
.nav-second-level .nav-second-level li a,
#side-menu .nav-second-level .nav-second-level li a {
  padding-left: 2.2rem !important;                     /* ★ 从3.2rem减至2.2rem */
  font-size: 1.2rem !important;                           /* ★ 16px：对齐菜单二级 */
}

/* --- 3.5 折叠/展开状态 --- */
/* 有子菜单的父级 li 展开 */
#side-menu > li.active,
#side-menu .nav > li.active {
  background: transparent !important;                  /* 展开时无深色背景 */
}

/* --- 3.6 分隔线 --- */
#side-menu > li.line,
#side-menu > li.line.dk {
  background: transparent !important;
  border-bottom: 1px solid #e4e7ed !important;       /* ★ 分隔线稍深 */
  margin: 0.5rem 1.1rem !important;
  height: 1px !important;
  padding: 0 !important;
}

/* --- 3.7 关闭按钮 --- */
.nav-close {
  color: #8890a0 !important;
  transition: color 0.18s ease;
  background: transparent !important;
  right: 8px !important;
  top: 8px !important;
}
.nav-close:hover { color: var(--fly-danger) !important; }
.nav-close i.fa { color: inherit !important; }

/* ===================================================================
   4. 顶部导航 navbar-static-top → FLYING Header 风格
   =================================================================== */
.navbar-static-top {
  background: var(--fly-white) !important;         /* 白色顶栏 */
  border-bottom: 1px solid var(--fly-border) !important; /* 底部分割线 */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important; /* 极轻阴影 */
  margin-bottom: 0 !important;
  height: 60px !important;                           /* FLYING 标准 header 高度 */
  min-height: 60px !important;
}

/* 收起按钮 */
.minimalize-styl-2,
.navbar-minimalize {
  color: var(--fly-muted) !important;
  background: transparent !important;
  font-size: 18px !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50% !important;                    /* 圆形按钮 - FLYING 风格 */
  transition: all 0.2s ease !important;
  margin-right: 0.5rem !important;
}
.minimalize-styl-2:hover,
.navbar-minimalize:hover {
  background-color: var(--fly-primary01) !important;
  color: var(--fly-primary) !important;
}

/* 顶部右侧链接 */
.navbar-top-links > li > a {
  color: #536485 !important;                        /* FLYING header-prime-color */
  font-size: 1.2rem !important;                      /* ★ 16px */
  transition: color 0.15s ease !important;
  padding-left: 0.65rem !important;
  padding-right: 0.65rem !important;
}
.navbar-top-links > li > a:hover {
  color: var(--fly-primary) !important;
}
.navbar-top-links > li > a i {
  font-size: 1.1rem !important;
}

/* 消息图标数字 badge */
.label-danger,
.navbar-top-links .label-danger {
  background-color: var(--fly-danger) !important;
  border-radius: 0.25rem !important;                /* 4px 小圆角 */
  font-size: 11px !important;
  padding: 2px 6px !important;
  font-weight: 600 !important;
}

/* 黑色条 row.black-bg */
.black-bg {
  background: var(--fly-white) !important;          /* 改为白色 */
}

/* ===================================================================
   5. 页面容器 #wrapper / #page-wrapper
   =================================================================== */
#wrapper {
  background: transparent !important;
}

#page-wrapper {
  background: var(--fly-body-bg) !important;
  border-left: none !important;
  margin-left: 240px !important;                     /* ★ 匹配 sidebar 宽度 240px */
  min-height: 100vh;
}

/* ===================================================================
   6. 按钮 → FLYING 渐变色系映射
   =================================================================== */

/* Primary: 蓝→紫渐变 (FLYING 主色) */
.btn-primary {
  background: linear-gradient(135deg, rgb(132, 90, 223), rgb(150, 110, 235)) !important;
  border: none !important;
  border-radius: 0.375rem !important;                /* 6px 圆角 */
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 1.2rem !important;                       /* ★ 16px：对齐菜单二级 */
  padding: 0.45rem 1rem !important;
  box-shadow: 0 2px 6px rgba(132, 90, 223, 0.25) !important;
  transition: all 0.2s ease !important;
}
.btn-primary:hover,
.btn-primary:focus {
  background: linear-gradient(135deg, rgb(120, 80, 210), rgb(140, 100, 225)) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(132, 90, 223, 0.35) !important;
  transform: translateY(-1px);
}
.btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(132, 90, 223, 0.25) !important;
}

/* Info: 天蓝色 */
.btn-info {
  background: linear-gradient(135deg, rgb(73, 182, 245), rgb(100, 198, 255)) !important;
  border: none !important;
  border-radius: 0.375rem !important;
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 1.2rem !important;                       /* ★ 16px */
  padding: 0.45rem 1rem !important;
  box-shadow: 0 2px 6px rgba(73, 182, 245, 0.25) !important;
  transition: all 0.2s ease !important;
}
.btn-info:hover,
.btn-info:focus {
  background: linear-gradient(135deg, rgb(60, 172, 235), rgb(85, 188, 245)) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(73, 182, 245, 0.35) !important;
  transform: translateY(-1px);
}

/* Success: 绿色 */
.btn-success {
  background: linear-gradient(135deg, rgb(38, 191, 148), rgb(60, 210, 170)) !important;
  border: none !important;
  border-radius: 0.375rem !important;
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 1.2rem !important;                       /* ★ 16px */
  padding: 0.45rem 1rem !important;
  box-shadow: 0 2px 6px rgba(38, 191, 148, 0.25) !important;
  transition: all 0.2s ease !important;
}
.btn-success:hover,
.btn-success:focus {
  background: linear-gradient(135deg, rgb(30, 175, 134), rgb(50, 195, 155)) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(38, 191, 148, 0.35) !important;
  transform: translateY(-1px);
}

/* Warning: 橙黄色 */
.btn-warning {
  background: linear-gradient(135deg, rgb(245, 184, 73), rgb(250, 198, 95)) !important;
  border: none !important;
  border-radius: 0.375rem !important;
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 1.2rem !important;                       /* ★ 16px */
  padding: 0.45rem 1rem !important;
  box-shadow: 0 2px 6px rgba(245, 184, 73, 0.25) !important;
  transition: all 0.2s ease !important;
}
.btn-warning:hover,
.btn-warning:focus {
  background: linear-gradient(135deg, rgb(235, 174, 63), rgb(245, 188, 85)) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(245, 184, 73, 0.35) !important;
  transform: translateY(-1px);
}

/* Danger: 红色 */
.btn-danger {
  background: linear-gradient(135deg, rgb(230, 83, 60), rgb(240, 100, 80)) !important;
  border: none !important;
  border-radius: 0.375rem !important;
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 1.2rem !important;                       /* ★ 16px */
  padding: 0.45rem 1rem !important;
  box-shadow: 0 2px 6px rgba(230, 83, 60, 0.25) !important;
  transition: all 0.2s ease !important;
}
.btn-danger:hover,
.btn-danger:focus {
  background: linear-gradient(135deg, rgb(220, 73, 50), rgb(230, 90, 70)) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(230, 83, 60, 0.35) !important;
  transform: translateY(-1px);
}

/* Default/White 按钮 */
.btn-default,
.btn-white,
.btn-light {
  border: 1px solid var(--fly-border) !important;
  border-radius: 0.375rem !important;
  background: var(--fly-white) !important;
  color: var(--fly-text) !important;
  font-weight: 500 !important;
  font-size: 1.2rem !important;                       /* ★ 16px */
  padding: 0.45rem 1rem !important;
  transition: all 0.2s ease !important;
}
.btn-default:hover,
.btn-white:hover,
.btn-light:hover {
  border-color: var(--fly-primary) !important;
  color: var(--fly-primary) !important;
  box-shadow: 0 2px 6px rgba(132, 90, 223, 0.1) !important;
}

/* Outline 变体 */
.btn-outline-primary {
  color: var(--fly-primary) !important;
  border: 1px solid var(--fly-primary) !important;
  border-radius: 0.375rem !important;
  background: transparent !important;
}
.btn-outline-primary:hover {
  background: var(--fly-primary) !important;
  color: #fff !important;
}

/* --- 新增：btn-primary + btn-outline 组合（模板中最常用） --- */
.btn-primary.btn-outline {
  color: var(--fly-primary) !important;
  border: 1px solid var(--fly-primary) !important;
  border-radius: 0.375rem !important;
  background: transparent !important;
  box-shadow: none !important;
}
.btn-primary.btn-outline:hover {
  background: linear-gradient(135deg, rgb(var(--fly-primary-rgb)), rgb(var(--fly-primary-rgb))) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 2px 8px rgba(var(--fly-primary-rgb), 0.3) !important;
  transform: translateY(-1px);
}

/* --- 新增：btn-success + btn-outline 组合 --- */
.btn-success.btn-outline {
  color: var(--fly-success) !important;
  border: 1px solid var(--fly-success) !important;
  border-radius: 0.375rem !important;
  background: transparent !important;
  box-shadow: none !important;
}
.btn-success.btn-outline:hover {
  background: linear-gradient(135deg, rgb(var(--fly-success-rgb)), rgb(var(--fly-success-rgb))) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 2px 8px rgba(var(--fly-success-rgb), 0.3) !important;
  transform: translateY(-1px);
}

/* --- 新增：btn-warning + btn-outline 组合 --- */
.btn-warning.btn-outline {
  color: var(--fly-warning) !important;
  border: 1px solid var(--fly-warning) !important;
  border-radius: 0.375rem !important;
  background: transparent !important;
  box-shadow: none !important;
}
.btn-warning.btn-outline:hover {
  background: linear-gradient(135deg, rgb(var(--fly-warning-rgb)), rgb(var(--fly-warning-rgb))) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 2px 8px rgba(var(--fly-warning-rgb), 0.3) !important;
  transform: translateY(-1px);
}

/* 小按钮 */
.btn-xs,
.btn-group-xs > .btn {
  border-radius: 0.25rem !important;                 /* 4px 更小圆角 */
  font-size: 0.875rem !important;                    /* ★ 14px 小按钮保持 */
  padding: 2px 8px !important;
}

/* 按钮组 */
.btn-group .btn {
  border-radius: 0 !important;
}
.btn-group .btn:first-child {
  border-radius: 0.375rem 0 0 0.375rem !important;
}
.btn-group .btn:last-child {
  border-radius: 0 0.375rem 0.375rem 0 !important;
}

/* ===================================================================
   7. 表单组件 → FLYING Form 风格
   =================================================================== */

/* 输入框 */
.form-control {
  border: 1px solid var(--fly-input-border) !important; /* #e9edf6 淡蓝灰 */
  border-radius: 0.35rem !important;                   /* ~5.6px FLYING圆角 */
  color: var(--fly-text) !important;
  background-color: var(--fly-white) !important;
  font-size: 1.2rem !important;                       /* ★ 16px：对齐菜单二级 */
  font-weight: 400 !important;
  line-height: 1.6 !important;
  padding: 0.5rem 0.85rem !important;                  /* 8px × 13.6px */
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.form-control:focus {
  border-color: var(--fly-primary-focus-border, var(--fly-primary)) !important;
  box-shadow: 0 0 0 3px var(--fly-primary05) !important;
  outline: none !important;
}

.form-control::-webkit-input-placeholder {
  color: var(--fly-muted) !important;
  opacity: 0.6;
}

/* 选择框 select */
select.form-control,
.form-control select,
.fly-form-select select {
  border: 1px solid var(--fly-input-border) !important;
  border-radius: 0.35rem !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  background-size: 10px !important;
  padding-right: 2rem !important;
  background-color: var(--fly-white) !important;
}

/* Textarea */
textarea.form-control {
  resize: vertical;
  min-height: 80px;
}


/* 标签 label */
.control-label,
.form-group label {
  color: var(--fly-text) !important;
  font-weight: 600 !important;
  font-size: 1.2rem !important;                      /* ★ 16px：对齐菜单二级 */
  margin-bottom: 0.375rem !important;
}

.help-block,
.form-group .help-block {
  color: var(--fly-muted) !important;
  font-size: 0.875rem !important;                    /* ★ 14px：加大 */
  margin-top: 0.25rem !important;
}

/* has-feedback (带图标的输入框) */
.has-feedback .form-control {
  padding-right: 2.5rem !important;
}
.has-feedback .form-control-feedback {
  color: var(--fly-muted) !important;
  right: 10px !important;
}

/* ===================================================================
   8. 表格 → FLYING Table 风格
   =================================================================== */
.table {
  color: var(--fly-text) !important;
  font-size: 1.2rem !important;                      /* ★ 16px：对齐菜单二级字号 */
  border-color: var(--fly-border) !important;
}

.table > thead > tr > th {
  font-weight: 600 !important;                          /* 表头加粗 */
  color: var(--fly-text) !important;
  background-color: #fafbfc !important;                 /* 极浅灰表头 */
  padding: 0.8rem !important;                           /* ★ 内距微调 */
  border-bottom: 2px solid var(--fly-border) !important;
  font-size: 1.2rem !important;                       /* ★ 16px：表头加大 */
  white-space: nowrap;
}

.table > tbody > tr > td {
  padding: 0.75rem 0.8rem !important;                  /* ★ 单元格内距微调 */
  vertical-align: middle !important;
  color: var(--fly-text) !important;
  font-weight: 400 !important;
  border-bottom: 1px solid #f5f6f7 !important;
  font-size: 1.2rem !important;                       /* ★ 16px：单元格加大 */
}

/* 斑马纹 */
.table-striped > tbody > tr:nth-of-type(odd) > td,
.table-striped > tbody > tr:nth-of-type(odd) > th {
  background-color: var(--fly-primary05) !important;
}

/* Hover 效果 */
.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
  background-color: var(--fly-primary02) !important;
}

/* 边框表格 */
.table-bordered {
  border: 1px solid var(--fly-border) !important;
  border-radius: 0.375rem !important;
  overflow: hidden;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > td {
  border: 1px solid var(--fly-border) !important;
}

/* 紧凑型 */
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > td,
.table-sm > thead > tr > th,
.table-sm > tbody > tr > td {
  padding: 0.4rem 0.5rem !important;
}

/* 响应式包裹 */
.table-responsive {
  border-radius: 0.5rem !important;                       /* 卡片化圆角 */
  overflow: hidden;
}

/* 自定义列表表格 */
.ajax-list-table {
  font-size: 1.2rem !important;                   /* ★ 16px：对齐菜单二级 */
}
.ajax-list-table th,
.ajax-list-table td {
  font-size: 1.2rem !important;                   /* ★ 16px */
  word-break: break-word;
}

/* 排序字段 */
.sort-filed {
  cursor: pointer;
  color: var(--fly-text) !important;
}
.sort-filed:hover {
  color: var(--fly-primary) !important;
}

/* ===================================================================
   9. 下拉菜单 Dropdown → FLYING 风格
   =================================================================== */
.dropdown-menu {
  border: 1px solid var(--fly-border) !important;
  border-radius: 0.5rem !important;                      /* 8px 大圆角 */
  box-shadow: 0 1rem 1.125rem rgba(169, 169, 169, 0.15) !important; /* FLYING大柔阴影 */
  padding: 0.5rem 0 !important;
  background-color: var(--fly-white) !important;
  margin-top: 0.5rem !important;
  font-size: 1.2rem !important;                        /* ★ 16px：对齐菜单二级 */
}

.dropdown-menu > li > a {
  color: var(--fly-text) !important;
  padding: 0.5rem 1rem !important;
  font-size: 1.2rem !important;                        /* ★ 16px */
  font-weight: 500 !important;
  border-radius: 0.375rem !important;                    /* 6px 圆角项 */
  margin: 2px 0.5rem !important;
  transition: all 0.15s ease !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  background-color: var(--fly-primary05) !important;    /* 5%主色悬停底 */
  color: var(--fly-primary) !important;
}

.dropdown-menu > li > a.active,
.dropdown-menu > .active > a {
  background-color: var(--fly-primary) !important;
  color: #fff !important;
}

.dropdown-menu > .divider {
  margin: 0.3rem 0 !important;
  border-color: var(--fly-border) !important;
}

.dropdown-menu > .dropdown-header {
  color: var(--fly-muted) !important;
  font-size: 0.875rem !important;                      /* ★ 14px：加大 */
  font-weight: 600 !important;
  padding: 0.4rem 1rem !important;
}

/* 顶部下拉 alert */
.dropdown-alerts {
  left: auto !important;
  right: 0 !important;
  min-width: 280px !important;
}

/* ===================================================================
   10. Badge / Label → FLYING 徽标风格
   =================================================================== */
.badge,
.label {
  border-radius: 0.25rem !important;                    /* 4px 小圆角 */
  font-weight: 600 !important;
  font-size: 0.875rem !important;                    /* ★ 14px：加大 */
  padding: 0.2rem 0.5rem !important;
}

.label-primary { background: var(--fly-primary) !important; color: #fff !important; }
.label-success { background: var(--fly-success) !important; color: #fff !important; }
.label-info { background: var(--fly-info) !important; color: #fff !important; }
.label-warning { background: var(--fly-warning) !important; color: #fff !important; }
.label-danger { background: var(--fly-danger) !important; color: #fff !important; }
.label-default { background: #eaeaea !important; color: var(--fly-text) !important; }

.badge-primary,
.badge-primary[href]:focus,
.badge-primary[href]:hover {
  background: var(--fly-primary) !important;
  color: #fff !important;
}

.msg-icon-nums {
  min-width: 18px;
  text-align: center;
}

/* ===================================================================
   11. 分页 Pagination → FLYING 风格
   =================================================================== */
.pagination {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.pagination > li {
  display: flex;
  align-items: center;
}

.pagination > li > a,
.pagination > li > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--fly-border) !important;
  color: var(--fly-text) !important;
  border-radius: 0.375rem !important;
  margin: 0 2px !important;
  font-size: 1.2rem !important;                        /* ★ 16px：对齐菜单二级 */
  font-weight: 500 !important;
  min-width: 2.5rem;
  height: 38px !important;                            /* ★ 统一高度 */
  padding: 0 0.75rem !important;
  line-height: 1 !important;
  transition: all 0.15s ease !important;
  white-space: nowrap;
  box-sizing: border-box !important;
}

.pagination > li > a:hover,
.pagination > li > span:hover {
  background-color: var(--fly-primary01) !important;
  border-color: var(--fly-primary) !important;
  color: var(--fly-primary) !important;
}

.pagination > .active > a,
.pagination > .active > span {
  background: var(--fly-primary) !important;
  border-color: var(--fly-primary) !important;
  color: #fff !important;
  min-width: 2.5rem;
  height: 38px !important;
}

.pagination > .disabled > a,
.pagination > .disabled > span {
  background: transparent !important;
  color: var(--fly-muted) !important;
  border-color: var(--fly-border) !important;
  min-width: 2.5rem;
  height: 38px !important;
}

/* ===================================================================
   12. Tabs 标签页 → FLYING 风格
   =================================================================== */
.nav-tabs {
  border-bottom: 2px solid var(--fly-border) !important;
}

.nav-tabs > li > a {
  color: var(--fly-muted) !important;
  font-weight: 500 !important;
  font-size: 1.2rem !important;                       /* ★ 16px：对齐菜单二级 */
  border: none !important;
  border-radius: 0 !important;
  margin-right: 0.25rem !important;
  padding: 0.65rem 1rem !important;
  transition: all 0.2s ease !important;
  position: relative;
}

.nav-tabs > li > a:hover {
  color: var(--fly-primary) !important;
  background-color: transparent !important;
  border-color: transparent !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: var(--fly-primary) !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 2px solid var(--fly-primary) !important;
  font-weight: 600 !important;
}

.tab-content {
  padding: 1rem 0 !important;
}

/* ibox-content 内嵌 tabs */
.ibox-content .nav-tabs {
  border-bottom: 1px solid var(--fly-border) !important;
  margin-bottom: 0 !important;
}
.ibox-content .nav-tabs > li > a {
  padding: 0.5rem 0.85rem !important;
  font-size: 1.2rem !important;                      /* ★ 16px：对齐菜单二级字号 */
}

/* Detail tabs */
.detail-tabs .nav-tabs {
  background: transparent !important;
  border-bottom: 2px solid var(--fly-border) !important;
}
.detail-tabs .tab-content {
  border: none !important;
  border-radius: 0 0 0.5rem 0.5rem !important;
}

/* ===================================================================
   13. 面板 Panel → FLYING 风格
   =================================================================== */
.panel {
  border-radius: 0.5rem !important;
  border: 1px solid var(--fly-border) !important;
  box-shadow: 0 0.125rem 0 rgba(10, 10, 10, 0.04) !important;
  margin-bottom: 1rem !important;
  overflow: hidden;
}

.panel-heading {
  background-color: transparent !important;
  border-bottom: 1px solid var(--fly-border) !important;
  padding: 1rem 1.25rem !important;
  font-weight: 700 !important;
  font-size: 1.2rem !important;                            /* ★ 16px：加大面板标题 */
  color: var(--fly-text) !important;
}

.panel-body {
  padding: 1.25rem !important;
  color: var(--fly-text) !important;
}

.panel-default > .panel-heading {
  background-color: transparent !important;
  border-color: var(--fly-border) !important;
}

/* ===================================================================
   14. 进度条 Progress → FLYING 风格
   =================================================================== */
.progress {
  border-radius: 0.5rem !important;
  height: 8px !important;
  background-color: #f0f0f0 !important;
  overflow: hidden;
  box-shadow: none !important;
}

.progress-bar {
  border-radius: 0.5rem !important;
  transition: width 0.4s ease;
}

.progress-bar-primary { background: var(--fly-primary) !important; }
.progress-bar-success { background: var(--fly-success) !important; }
.progress-bar-info { background: var(--fly-info) !important; }
.progress-bar-warning { background: var(--fly-warning) !important; }
.progress-bar-danger { background: var(--fly-danger) !important; }

/* ===================================================================
   15. Alert 提示框 → FLYING 风格
   =================================================================== */
.alert {
  border-radius: 0.5rem !important;
  border: none !important;
  padding: 0.85rem 1.25rem !important;
  font-size: 1.2rem !important;                        /* ★ 16px */
  font-weight: 500 !important;
}
.alert-success {
  background-color: rgba(38, 191, 148, 0.1) !important;
  color: #1a8a66 !important;
}
.alert-info {
  background-color: rgba(73, 182, 245, 0.1) !important;
  color: #1a7fb8 !important;
}
.alert-warning {
  background-color: rgba(245, 184, 73, 0.1) !important;
  color: #a0751e !important;
}
.alert-danger {
  background-color: rgba(230, 83, 60, 0.1) !important;
  color: #c43d28 !important;
}

/* ===================================================================
   16. Modal 弹窗 → FLYING 风格
   =================================================================== */
.modal-content {
  border: none !important;
  border-radius: 0.75rem !important;                    /* 12px 大圆角 */
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.15) !important;
  overflow: hidden;
}

.modal-header {
  background-color: transparent !important;
  border-bottom: 1px solid var(--fly-border) !important;
  padding: 1rem 1.5rem !important;
}

.modal-title {
  font-weight: 700 !important;
  font-size: 1.2rem !important;                       /* ★ 17px：加大弹窗标题 */
  color: var(--fly-text) !important;
}

.modal-body {
  padding: 1.5rem !important;
  color: var(--fly-text) !important;
  font-size: 1.2rem !important;                        /* ★ 16px */
}

.modal-footer {
  border-top: 1px solid var(--fly-border) !important;
  padding: 1rem 1.5rem !important;
}

.close {
  color: var(--fly-muted) !important;
  font-size: 1.75rem !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.close:hover {
  color: var(--fly-text) !important;
}

/* ===================================================================
   17. Tooltip → FLYING 风格
   =================================================================== */
.tooltip-inner {
  background: var(--fly-dark-rgb) !important;
  border-radius: 0.375rem !important;
  font-size: 0.75rem !important;
  padding: 0.4rem 0.75rem !important;
}

.tooltip.top .tooltip-arrow {
  border-top-color: #232323 !important;
}
.tooltip.bottom .tooltip-arrow {
  border-bottom-color: #232323 !important;
}

/* ===================================================================
   18. 列表组 List Group → FLYING 风格
   =================================================================== */
.list-group-item {
  border: 1px solid var(--fly-border) !important;
  border-radius: 0.375rem !important;
  margin-bottom: 0.375rem !important;
  color: var(--fly-text) !important;
  font-size: 1.2rem !important;                        /* ★ 16px */
  padding: 0.75rem 1.25rem !important;
}

.list-group-item:first-child {
  border-radius: 0.375rem !important;
}

.list-group-item:last-child {
  border-radius: 0.375rem !important;
  margin-bottom: 0 !important;
}

.list-group-item:hover {
  background-color: var(--fly-primary05) !important;
}

.list-group-item.active,
.list-group-item.active:hover {
  background: var(--fly-primary) !important;
  border-color: var(--fly-primary) !important;
  color: #fff !important;
}

.list-group-item .badge {
  border-radius: 0.25rem !important;
}

/* ===================================================================
   19. Well / Jumbotron / Breadcrumb 杂项组件
   =================================================================== */
.well {
  border-radius: 0.5rem !important;
  border: 1px solid var(--fly-border) !important;
  box-shadow: none !important;
  background-color: rgba(132, 90, 223, 0.02) !important;
}

.jumbotron {
  border-radius: 0.75rem !important;
  background: linear-gradient(135deg, rgba(132, 90, 223, 0.03), rgba(35, 183, 229, 0.03)) !important;
  border: 1px solid var(--fly-border) !important;
}

.breadcrumb {
  border-radius: 0.5rem !important;
  font-size: 1.2rem !important;                        /* ★ 16px */
}
.breadcrumb > li + li:before {
  color: var(--fly-muted) !important;
}

.breadcrumb > .active {
  color: var(--fly-primary) !important;
  font-weight: 600 !important;
}

/* ===================================================================
   20. 授权框 Auth Box (07fly专用)
   =================================================================== */
.auth-box {
  border: none !important;
  border-radius: 0.75rem !important;
  box-shadow: 0 0.5rem 1.5rem rgba(132, 90, 223, 0.1) !important;
  background: var(--fly-white) !important;
}
.auth-box .ibox-head {
  border-bottom: 2px solid var(--fly-primary) !important;
  background: transparent !important;
}
.auth-box .ibox-head-child {
  border-bottom: 2px solid var(--fly-primary) !important;
}

/* ===================================================================
   21. 响应式适配
   =================================================================== */

/* 平板及以下 */
@media (max-width: 768px) {
  .ibox-title {
    padding: 0.85rem 1rem !important;
    font-size: 0.875rem !important;
  }

  .ibox-content {
    padding: 1rem !important;
  }

  .navbar-static-side {
    /* 移动端保持原有行为 */
  }

  #page-wrapper {
    margin-left: 0 !important;
  }

  .ibx-tab {
    float: none !important;
    line-height: 2 !important;
  }
  .ibox-tab a {
    margin-right: 1rem !important;
  }
  .ibox-tools {
    display: none !important;
  }

  .form-control {
    font-size: 16px !important;                        /* iOS zoom fix */
  }
}

/* 小屏幕手机 */
@media (max-width: 480px) {
  .ibox-title {
    flex-direction: column;
    align-items: flex-start;
  }

  .dropdown-menu {
    border-radius: 0.375rem !important;
    min-width: auto !important;
  }
}

/* ===================================================================
   22. 动画过渡增强
   =================================================================== */
.ibox,
.navbar-static-side,
.navbar-static-top,
.card,
.panel,
.modal.content,
.dropdown-menu,
.btn,
.form-control,
.pagination > li > a,
.nav-tabs > li > a,
.list-group-item {
  transition: all 0.2s ease;
}

/* 页面加载动画优化 */
.animated {
  animation-duration: 0.4s !important;
}

/* ===================================================================
   23. 滚动条美化 (Webkit)
   =================================================================== */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: var(--fly-primary02);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--fly-primary03);
}

/* ===================================================================
   24. 右侧内容区专项优化 (★ 基于模板分析补充)
   =================================================================== */

/* --- 24.1 wrapper 外层容器 (所有子页面入口) --- */
.wrapper-content,
body.gray-bg > .wrapper.wrapper-content {
  padding: 1.25rem !important;                          /* ★ 统一内边距 */
}
.wrapper {
  padding: 0 !important;
}

/* --- 24.2 ibox 卡片增强 (列表页核心容器) --- */
.ibox.float-e-margins {
  margin-bottom: 1.25rem !important;                     /* ★ 统一卡片间距 */
}

/* ibox-title 标题栏：加大加粗，匹配侧边栏字体层级 */
.ibox-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.9rem 1.25rem !important;                    /* ★ padding微调适配大字号 */
  border-bottom: 1px solid var(--fly-border) !important;
  background: transparent !important;
  min-height: 50px !important;
}
.ibox-title > h5 {
  color: #1c2128 !important;                            /* ★ 深色标题，与菜单同级 */
  font-size: 1.2rem !important;                       /* ★ 17px：加大标题字号 */
  font-weight: 700 !important;                          /* ★ 加粗 */
  margin: 0 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.4 !important;
}

/* --- 24.3 ibox-content 内容区增强 --- */
.ibox-content {
  background-color: var(--fly-white) !important;
  border: none !important;
  font-size: 1.2rem !important;                       /* ★ 16px：对齐菜单二级 */
  line-height: 1.65 !important;                         /* ★ 行高微调适配大字号 */
  color: #3a4055 !important;                            /* ★ 深灰正文，与菜单一致 */
}

/* 表格响应式包裹的 ibox-content */
.ibox-content.table-responsive {
  /*padding: 0 !important;*/
  overflow-x: auto;
}

/* 无内边距变体 */
.ibox-content.no-padding {
  padding: 0 !important;
}

/* tfoot 作为分页行时的样式 */
tfoot.ibox-content {
  background-color: #fafbfc !important;                  /* ★ 浅灰底区分分页区 */
  border-top: 1px solid var(--fly-border) !important;
  padding: 0.75rem 1rem !important;
}

/* --- 24.4 搜索栏区域 (form-inline.searchForm) --- */
.searchForm.form-inline,
.ibox-content > .row > .form-inline {
  padding: 0.75rem 1rem !important;                      /* ★ 搜索区内边距 */
}
.searchForm .form-control {
  font-size: 1.2rem !important;                       /* ★ 16px：对齐菜单二级 */
  height: 36px !important;                              /* ★ 高度微调适配大字号 */
}

/* --- 24.5 input-group 搜索框组 (搜索按钮+输入框) --- */
.input-group {
  border: none !important;
}
.input-group .form-control {
  height: 34px !important;
  border-radius: 6px 0 0 6px !important;
  font-size: 1.2rem !important;
}
.input-group-btn .btn {
  height: 34px !important;
  border-radius: 0 6px 6px 0 !important;
  padding: 0.35rem 1rem !important;
  font-size: 1.2rem !important;
}

/* --- 24.6 按钮 outline 变体 (批量操作等广泛使用) --- */
.btn-info.btn-outline {
  background: transparent !important;
  border: 1px solid var(--fly-info) !important;
  color: var(--fly-info) !important;
  box-shadow: none !important;
}
.btn-info.btn-outline:hover {
  background: linear-gradient(135deg, rgb(var(--fly-info-rgb)), rgb(var(--fly-info-rgb))) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 2px 8px rgba(var(--fly-info-rgb), 0.3) !important;
  transform: translateY(-1px);
}

.btn-danger.btn-outline {
  background: transparent !important;
  border: 1px solid var(--fly-danger) !important;
  color: var(--fly-danger) !important;
  box-shadow: none !important;
}
.btn-danger.btn-outline:hover {
  background: linear-gradient(135deg, rgb(var(--fly-danger-rgb)), rgb(var(--fly-danger-rgb))) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 2px 8px rgba(var(--fly-danger-rgb), 0.3) !important;
  transform: translateY(-1px);
}

/* 通用 .btn-outline 回退样式（如果没有指定颜色类） */
.btn-outline,
.btn.btn-outline:not(.btn-primary):not(.btn-info):not(.btn-success):not(.btn-warning):not(.btn-danger) {
  background: transparent !important;
  border: 1px solid var(--fly-primary) !important;
  color: var(--fly-primary) !important;
  box-shadow: none !important;
}
.btn-outline:hover,
.btn.btn-outline:not(.btn-primary):not(.btn-info):not(.btn-success):not(.btn-warning):not(.btn-danger):hover {
  background: linear-gradient(135deg, rgb(var(--fly-primary-rgb)), rgb(var(--fly-primary-rgb))) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 2px 8px rgba(var(--fly-primary-rgb), 0.3) !important;
  transform: translateY(-1px);
}

/* --- 24.7 表格操作链接 (行内编辑/删除等) --- */
a.ajax-open,
a.ajax-get,
a.ajax-del,
a.ajax-post,
a[onclick*="ajax"] {
  color: var(--fly-primary) !important;               /* ★ 操作链接主色紫 */
  font-size: 1.2rem !important;                       /* ★ 16px：对齐菜单二级 */
  font-weight: 500 !important;
  transition: all 0.15s ease !important;
  cursor: pointer !important;
}
a.ajax-open:hover { color: var(--fly-primary) !important; opacity: 0.75; }
a.ajax-del:hover,
a[onclick*="del"]:hover { color: var(--fly-danger) !important; }

/* 表格内的 get-son-list 链接 */
.get-son-list {
  color: var(--fly-primary) !important;
  font-weight: 500 !important;
}
.get-son-list:hover {
  color: var(--fly-primary) !important;
  opacity: 0.75;
}

/* --- 24.8 空数据提示行 --- */
tr.odd td {
  text-align: center !important;
  color: var(--fly-muted) !important;
  padding: 2rem !important;
  font-size: 1.2rem !important;                    /* ★ 16px */
}

/* --- 24.9 分页条表格 (table-page-bar) --- */
.table-page-bar {
  border-top: 1px solid var(--fly-border) !important;
  background: #fafbfc !important;
}
.table-page-bar td {
  padding: 0.65rem 1rem !important;
  vertical-align: middle !important;
}

/* 分页信息文字 */
.pagination-info,
.page-skip,
.total-count {
  color: var(--fly-muted) !important;
  font-size: 1.2rem !important;                        /* ★ 16px */
}

/* --- 24.10 Tabs 容器增强 (store/config 页面) --- */
.tabs-container {
  background: var(--fly-white) !important;
  border-radius: 8px !important;
  border: 1px solid var(--fly-border) !important;
  overflow: hidden;
}
.tabs-container .nav-tabs {
  background: #fafbfc !important;
  border-bottom: 1px solid var(--fly-border) !important;
  padding: 0 1rem !important;
  margin: 0 !important;
}
.tabs-container .tab-pane {
  padding: 1.25rem !important;
}
.tabs-container .panel-body {
  padding: 1rem !important;
}

/* AdminLTE 风格 Tab (config/setting.html) */
.nav-tabs-custom {
  background: transparent !important;
  border: 1px solid var(--fly-border) !important;
  border-radius: 8px !important;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}
.nav-tabs-custom > .nav-tabs {
  background: #fafbfc !important;
  border-bottom: 1px solid var(--fly-border) !important;
  padding: 0 0.75rem !important;
}
.nav-tabs-custom > .nav-tabs > li > a {
  color: #555d73 !important;
  border-radius: 6px 6px 0 0 !important;
  font-weight: 500 !important;
  padding: 0.65rem 1rem !important;
  font-size: 1.2rem !important;                     /* ★ 16px */
}
.nav-tabs-custom > .nav-tabs > li.active > a {
  color: var(--fly-primary) !important;
  border-bottom: 2px solid var(--fly-primary) !important;
  font-weight: 600 !important;
}
.nav-tabs-custom > .tab-content {
  padding: 1.25rem !important;
  background: var(--fly-white) !important;
}
.nav-tabs-custom > .tab-content .box-body {
  padding: 0 !important;
}

/* --- 24.11 树形控件区域 (左侧树形导航) --- */
#left-tree {
  border: 1px solid var(--fly-border) !important;
  border-radius: 6px !important;
  min-height: 300px !important;
  padding: 0.5rem !important;
  background: #fafbfc !important;
}
.right_centent {
  padding: 0.5rem !important;
}
.refresh-tree {
  color: var(--fly-muted) !important;
  transition: color 0.15s ease !important;
}
.refresh-tree:hover {
  color: var(--fly-primary) !important;
}

/* --- 24.12 批量操作按钮组 --- */
.lockscreen-footer,
.batch_btn_group {
  background: var(--fly-white) !important;
  border-top: 1px solid var(--fly-border) !important;
  padding: 0.75rem 1.25rem !important;
  border-radius: 0 0 8px 8px !important;
}
.batch_btn {
  margin-right: 0.5rem !important;
}

/* --- 24.13 lqf_link 权限链接包裹器 --- */
lqf_link {
  display: inline-block !important;
}
lqf_link + lqf_link {
  margin-left: 0.35rem !important;
}

/* --- 24.14 表单页面专用 (add/edit 表单) --- */
/* 表单页直接在 ibox-content 内的 form-horizontal */
.ibox-content > .form-horizontal {
  padding: 1rem 0.5rem !important;
}
.ibox-content > .form-horizontal .form-group {
  margin-bottom: 1.125rem !important;
}
.ibox-content > .form-horizontal .control-label {
  padding-top: 0.55rem !important;                        /* ★ 标签垂直居中 */
  font-weight: 600 !important;
  color: #1c2128 !important;                            /* ★ 深色标签 */
}
.ibox-content > .form-horizontal .col-sm-8,
.ibox-content > .form-horizontal .col-sm-9 {
  padding-left: 0.5rem !important;
}

/* 只读静态文本 */
.form-control-static {
  color: var(--fly-text) !important;
  padding-top: 0.55rem !important;
  font-size: 1.2rem !important;                    /* ★ 16px */
}

/* --- 24.15 iCheck 复选框/单选框美化覆盖 --- */
.iradio_square-blue.checked,
.icheckbox_square-blue.checked {
  /* 保持 iCheck 功能，仅微调间距 */
}
div.radio.i-checks label,
div.ichecks label {
  color: #3a4055 !important;
  font-weight: 400 !important;
  font-size: 1.2rem !important;                    /* ★ 16px */
}

/* 全选复选框 */
.checkboxCtrl,
input[type=checkbox].checkboxCtrlId {
  accent-color: var(--fly-primary) !important;          /* ★ 主色复选框 */
}

/* --- 24.16 Chosen 下拉选择器适配 --- */
/* Chosen 容器层级提升（防止被下方元素遮挡） */
.chosen-container {
  position: relative !important;
  z-index: 100 !important;
}
.chosen-container.chosen-with-drop,
.chosen-container-active.chosen-with-drop {
  z-index: 1050 !important;                              /* ★ 展开时置于最顶层 */
}

.chosen-container-single .chosen-single {
  border: 1px solid var(--fly-input-border) !important;
  border-radius: 6px !important;
  background: var(--fly-white) !important;
  color: var(--fly-text) !important;
  height: 34px !important;                            /* ★ 高度微调适配大字号 */
  line-height: 30px !important;
  font-size: 1.2rem !important;                     /* ★ 16px */
  box-shadow: none !important;
  padding-left: 0.85rem !important;
}
.chosen-container-active.chosen-with-drop .chosen-single {
  border-color: rgba(132, 90, 223, 0.4) !important;
  box-shadow: 0 0 0 3px rgba(132, 90, 223, 0.08) !important;
}

/* Chosen 下拉列表层级 */
.chosen-drop {
  z-index: 1060 !important;                              /* ★ 下拉列表最高层 */
  border-radius: 6px !important;
  box-shadow: 0 0.5rem 1.5rem rgba(0,0,0,0.12) !important;
}
.chosen-container .chosen-results li {
  padding: 0.5rem 0.85rem !important;
  font-size: 1.2rem !important;                     /* ★ 16px */
}
.chosen-container .chosen-results li.highlighted {
  background: rgba(132, 90, 223, 0.08) !important;
  color: var(--fly-primary) !important;
}

/* --- 24.17 日期选择器 Datepicker 适配 --- */
.datepicker {
  /*border: 1px solid var(--fly-border) !important;*/
  border-radius: 8px !important;
  /*box-shadow: 0 0.5rem 1.5rem rgba(0,0,0,0.12) !important;*/
}
.datepicker table tr td.active.active,
.datepicker table tr td.selected {
  background: var(--fly-primary) !important;
  border-radius: 50% !important;
}
.datepicker table tr td.day:hover {
  background: var(--fly-primary01) !important;
  border-radius: 50% !important;
}
.datepicker table tr th.dow {
  color: var(--fly-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
}

/* --- 24.18 行内可编辑字段 (表格内) --- */
td .ajax-field,
td .ajax-sort {
  border: 1px solid transparent !important;
  border-radius: 4px !important;
  padding: 0.2rem 0.4rem !important;
  font-size: 1.2rem !important;                    /* ★ 16px */
  color: var(--fly-text) !important;
  transition: all 0.15s ease !important;
  background: transparent !important;
}
td .ajax-field:focus,
td .ajax-sort:focus {
  border-color: var(--fly-primary) !important;
  box-shadow: 0 0 0 2px rgba(132, 90, 223, 0.1) !important;
  outline: none !important;
}

/* --- 24.19 Ajax 复选框开关 (表格内启用/禁用) --- */
.ajax-checkbox {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--fly-primary) !important;
  cursor: pointer !important;
}

/* --- 24.20 首页仪表板特殊处理 --- */
.page-list-container {
  padding: 0.5rem !important;
}
.page-list-container .table > tbody > tr:last-child td {
  border-bottom: none !important;
}

/* --- 24.21 iframe 内容区过渡动画 --- */
#J_iframe,
.J_mainContent {
  background: var(--fly-body-bg) !important;
}

/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(132, 90, 223, 0.2) transparent;
}

/* ===================================================================
   25. 主题设置面板 (Theme Switcher) - 右侧滑出式
   =================================================================== */

/* --- 25.1 设置按钮（顶部导航栏齿轮图标） --- */
#theme-settings-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  transition: all 0.2s ease !important;
  color: var(--fly-muted) !important;
}
#theme-settings-btn:hover {
  background-color: var(--fly-primary01) !important;
  color: var(--fly-primary) !important;
  transform: rotate(90deg);
}

/* --- 25.2 面板容器 --- */
.theme-switcher-panel {
  position: fixed;
  top: 0; right: -380px;
  width: 380px;
  height: 100vh;
  z-index: 9999;
  transition: right 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.theme-switcher-panel.open { right: 0; }

/* 遮罩层 */
.theme-switcher-panel .theme-switcher-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: -1;
}
.theme-switcher-panel.open .theme-switcher-overlay {
  opacity: 1;
  visibility: visible;
}

/* 面板主体 */
.theme-switcher-body {
  position: absolute;
  top: 0; right: 0;
  width: 380px;
  height: 100vh;
  background: #fff;
  box-shadow: -8px 0 30px rgba(0,0,0,0.12);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* 头部 */
.theme-switcher-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #eee;
  background: #fafbfc;
}
.theme-switcher-header h4 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: #1c2128;
}
.theme-switcher-close {
  width: 32px; height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #8890a0;
  font-size: 14px;
  transition: all 0.15s ease;
}
.theme-switcher-close:hover {
  background: #f0f1f7;
  color: #ef4444;
}

/* Tab 导航 */
.theme-switcher-tabs {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #eee;
  background: #fff;
}
.theme-switcher-tabs li {
  flex: 1;
  text-align: center;
}
.theme-switcher-tabs li a {
  display: block;
  padding: 0.75rem 0.5rem;
  color: #8890a0;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
}
.theme-switcher-tabs li.active a,
.theme-switcher-tabs li a:hover {
  color: var(--fly-primary);
  border-bottom-color: var(--fly-primary);
}

/* 内容区域 */
.theme-switcher-content {
  flex: 1;
  overflow-y: auto;
  padding: 0;
}
.theme-switcher-content .tab-pane { display: none; }
.theme-switcher-content .tab-pane.active { display: block; }

/* 分区标题 + 选项 */
.ts-section {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #f5f6f7;
}
.ts-label {
  font-size: 0.85rem;
  font-weight: 700;
  color: #555d73;
  margin-bottom: 0.65rem;
}

/* Radio 选项组 */
.ts-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.ts-radio {
  cursor: pointer;
  font-size: 0.85rem;
  color: #3a4055;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0.35rem 0.75rem;
  border-radius: 20px;
  border: 1px solid #e9edf6;
  background: #fff;
  transition: all 0.15s ease;
  user-select: none;
}
.ts-radio:hover {
  border-color: var(--fly-primary);
  color: var(--fly-primary);
}
.ts-radio input[type="radio"] {
  accent-color: var(--fly-primary);
  cursor: pointer;
  width: 14px; height: 14px;
}

/* 颜色选择器 */
.ts-colors {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ts-colors > span {
  width: 32px; height: 32px;
  border-radius: 50%;
  cursor: pointer;
  border: 3px solid transparent;
  transition: all 0.2s ease;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.ts-colors > span:hover {
  transform: scale(1.15);
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
.ts-colors > span[data-active="true"],
.ts-colors > span.active {
  border-color: #1c2128;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #845adf;
}
.ts-colors > span i {
  color: #fff;
  font-size: 13px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

/* 底部操作栏 */
.theme-switcher-footer {
  padding: 1rem 1.25rem;
  border-top: 1px solid #eee;
  background: #fafbfc;
}
.theme-reset-btn {
  border-radius: 8px !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  height: 42px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

/* --- 25.3 暗色模式变量覆盖 --- */
body.dark-mode,
.dark-mode .gray-bg,
.dark-mode #page-wrapper.gray-bg {
  --fly-bg: #1a1b23;
  --fly-body-bg: #13141c;
  --fly-border: #2a2b37;
  --fly-text: #e4e5eb;
  --fly-muted: #6c7086;
  --fly-white: #1e2029;
  --fly-input-border: #2a2b37;
}
.dark-mode body,
.dark-mode.gray-bg {
  background-color: #13141c !important;
  color: #e4e5eb !important;
}
.dark-mode .ibox { background: #1e2029 !important; }
.dark-mode .ibox-title { color: #e4e5eb !important; border-bottom-color: #2a2b37 !important; }
.dark-mode .ibox-content { background: #1e2029 !important; color: #c8cad3 !important; }
.dark-mode .navbar-static-side { background: #1e2029 !important; border-right-color: #2a2b37 !important; }
.dark-mode #side-menu > li > a { color: #c8cad3 !important; }
.dark-mode #side-menu > li > a:hover { background-color: #2a2b37 !important; }
.dark-mode .nav-second-level li a { color: #a8abb8 !important; }
.dark-mode .nav-second-level li a:hover { background-color: #2a2b37 !important; }
.dark-mode .table { color: #e4e5eb !important; border-color: #2a2b37 !important; }
.dark-mode .table > thead > tr > th { background: #222330 !important; color: #e4e5eb !important; border-bottom-color: #2a2b37 !important; }
.dark-mode .table > tbody > tr > td { border-bottom-color: #2a2b37 !important; color: #c8cad3 !important; }
.dark-mode .form-control { background: #1e2029 !important; color: #e4e5eb !important; border-color: #2a2b37 !important; }
.dark-mode .btn-default, .dark-mode .btn-white, .dark-mode .btn-light { background: #2a2b37 !important; border-color: #3a3b47 !important; color: #e4e5eb !important; }
.dark-mode .dropdown-menu { background: #1e2029 !important; border-color: #2a2b37 !important; }
.dark-mode .dropdown-menu > li > a { color: #c8cad3 !important; }
.dark-mode .dropdown-menu > li > a:hover { background: #2a2b37 !important; }
.dark-mode .panel { border-color: #2a2b37 !important; background: #1e2029 !important; }
.dark-mode .panel-heading { border-bottom-color: #2a2b37 !important; color: #e4e5eb !important; }
.dark-mode .breadcrumb { background: #1e2029 !important; border-color: #2a2b37 !important; color: #c8cad3 !important; }
.dark-mode .pagination > li > a, .dark-mode .pagination > li > span { background: #1e2029 !important; border-color: #2a2b37 !important; color: #c8cad3 !important; }
.dark-mode .alert { color: #e4e5eb !important; }
.dark-mode .chosen-container-single .chosen-single { background: #1e2029 !important; color: #e4e5eb !important; border-color: #2a2b37 !important; }
.dark-mode .chosen-drop { background: #1e2029 !important; border-color: #2a2b37 !important; }
.dark-mode .chosen-container .chosen-results li { color: #c8cad3 !important; }
.dark-mode .modal-content { background: #1e2029 !important; }
.dark-mode .modal-header { border-bottom-color: #2a2b37 !important; }
.dark-mode .modal-footer { border-top-color: #2a2b37 !important; }
.dark-mode .modal-body { color: #c8cad3 !important; }
.dark-mode .list-group-item { background: #1e2029 !important; border-color: #2a2b37 !important; color: #c8cad3 !important; }
.dark-mode .nav-header { background: #1e2029 !important; border-bottom-color: #2a2b37 !important; }
.dark-mode .nav-header .profile-element,
.dark-mode .nav-header .profile-element a,
.dark-mode .nav-header .profile-element strong,
.dark-mode .nav-header a.dropdown-toggle,
.dark-mode .nav-header span.block,
.dark-mode .nav-header span.block strong {
  color: #ffffff !important;
}
.dark-mode .logo-element {
  background: #1e2029 !important;
  color: #ffffff !important;
}
.dark-mode #side-menu > li > a {
  color: #d1d5db !important;
}
.dark-mode #side-menu > li > a i.fa {
  color: #9ca3af !important;
}
.dark-mode .nav-second-level li a {
  color: #b0b7c3 !important;
}
.dark-mode .nav-second-level li a i.fa {
  color: #9ca3af !important;
}
.dark-mode .nav-label {
  color: #b0b7c3 !important;
}
.dark-mode .navbar-static-top { background: #1e2029 !important; border-bottom-color: #2a2b37 !important; }
.dark-mode .navbar-top-links > li > a { color: #c8cad3 !important; }
.dark-mode .ibox-head { border-bottom-color: #2a2b37 !important; }
.dark-mode tfoot.ibox-content { background: #181921 !important; border-top-color: #2a2b37 !important; }
.dark-mode .table-page-bar { background: #181921 !important; border-top-color: #2a2b37 !important; }
.dark-mode .tabs-container { background: #1e2029 !important; border-color: #2a2b37 !important; }
.dark-mode .tabs-container .nav-tabs { background: #222330 !important; border-bottom-color: #2a2b37 !important; }
.dark-mode .nav-tabs-custom { background: transparent !important; border-color: #2a2b37 !important; }
.dark-mode .nav-tabs-custom > .nav-tabs { background: #222330 !important; border-bottom-color: #2a2b37 !important; }
.dark-mode .nav-tabs-custom > .tab-content { background: #1e2029 !important; }

/* 盒状布局 */
body.boxed-layout {
  max-width: 1400px !important;
  margin: 0 auto !important;
  box-shadow: 0 0 40px rgba(0,0,0,0.08) !important;
  background: #eef1f5 !important;
}
body.boxed-layout #wrapper {
  max-width: 1400px !important;
  margin: 0 auto !important;
}

/* 侧边栏布局 - 仅图标+文字模式（紧凑侧栏） */
body.sidebar-icontext .navbar-static-side {
  width: 160px !important;
}
body.sidebar-icontext #page-wrapper {
  margin: 0 0 0 160px !important;
}
body.sidebar-icontext .navbar-static-side .profile-element .block span strong,
body.sidebar-icontext .nav-header .profile-element > a > span > .font-bold,
body.sidebar-icontext .nav-label,
body.sidebar-icontext .nav li a span {
  /* 文字保留但可适当缩小 */
}
/* 固定侧边栏时兼容 */
body.fixed-sidebar.sidebar-icontext .navbar-static-side {
  width: 160px !important;
}
body.fixed-sidebar.sidebar-icontext #page-wrapper {
  margin: 0 0 0 160px !important;
}

/* 圆角大小控制 */
.radius-small .ibox { border-radius: 0.25rem !important; }
.radius-small .btn { border-radius: 0.175rem !important; }
.radius-small .form-control { border-radius: 0.175rem !important; }
.radius-large .ibox { border-radius: 1rem !important; }
.radius-large .btn { border-radius: 0.625rem !important; }
.radius-large .form-control { border-radius: 0.5rem !important; }
.radius-large .dropdown-menu { border-radius: 0.75rem !important; }
.radius-large .modal-content { border-radius: 1rem !important; }

/* 响应式适配 */
@media (max-width: 768px) {
  .theme-switcher-panel { width: 320px; right: -320px; }
  .theme-switcher-body { width: 320px; }
}

/* ===================================================================
   END of FLYING Skin Overlay
   总计覆盖: 26 个模块 | 影响范围: 92+ HTML模板零改动
   =================================================================== */
