/* ============================================
 * RuoYi Admin 现代化主题覆盖
 * 作者: VT SEO团队
 * 日期: 2026-02-22
 *
 * 设计原则:
 * 1. 使用 CSS 变量定义主题色，方便后续换肤
 * 2. 所有规则通过更高特异度覆盖现有样式
 * 3. 不使用 !important (除非现有代码已使用)
 * 4. 保持所有现有 class 名和 DOM 结构不变
 * 5. 不影响任何 JS 逻辑和功能
 * ============================================ */

/* === 1. CSS 变量定义 (Material Blue 配色) === */
:root {
  /* 主色调 — Material Blue */
  --mt-primary: #1976d2;
  --mt-primary-light: #42a5f5;
  --mt-primary-dark: #1565c0;
  --mt-primary-active: #0d47a1;
  --mt-primary-bg: rgba(25, 118, 210, 0.08);

  /* 语义色 — Material Design */
  --mt-success: #2e7d32;
  --mt-success-dark: #1b5e20;
  --mt-warning: #f57c00;
  --mt-warning-dark: #e65100;
  --mt-danger: #d32f2f;
  --mt-danger-dark: #b71c1c;
  --mt-info: #0288d1;

  /* 背景色 */
  --mt-bg-body: #f0f2f5;
  --mt-bg-card: #ffffff;
  --mt-bg-sidebar: #0d1b2a;
  --mt-bg-sidebar-hover: #1b2838;
  --mt-bg-sidebar-active: #0a1628;
  --mt-bg-input: #f8fafc;

  /* 文字色 */
  --mt-text-primary: #1e293b;
  --mt-text-secondary: #64748b;
  --mt-text-muted: #94a3b8;
  --mt-text-light: #cbd5e1;
  --mt-text-sidebar: #94a3b8;
  --mt-text-sidebar-hover: #e2e8f0;

  /* 边框 */
  --mt-border-color: #e2e8f0;
  --mt-border-light: #f1f5f9;

  /* 圆角 */
  --mt-radius: 8px;
  --mt-radius-sm: 6px;
  --mt-radius-lg: 12px;

  /* 阴影 */
  --mt-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --mt-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --mt-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --mt-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);

  /* 过渡 */
  --mt-transition-fast: 0.15s ease;
  --mt-transition: 0.3s ease;

  /* 字体 */
  --mt-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC',
             'Microsoft YaHei', 'Helvetica Neue', sans-serif;
}


/* === 2. 全局基础 === */

body {
  font-family: var(--mt-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.gray-bg {
  background-color: var(--mt-bg-body);
}


/* === 3. 左侧边栏现代化 === */

/* 侧边栏容器 */
body.fixed-sidebar .navbar-static-side,
.navbar-default.navbar-static-side {
  background: var(--mt-bg-sidebar);
  box-shadow: var(--mt-shadow-lg);
  border-right: none;
}

/* Logo 区域 */
.nav > li.logo,
.nav > a > li.logo {
  background: linear-gradient(135deg, var(--mt-primary) 0%, var(--mt-primary-dark) 100%);
  font-weight: 600;
  letter-spacing: 1px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.nav > a > li.logo .logo-lg {
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* 侧边栏 Logo 图片 (VT SEO团队 2026-02-22) */
.sidebar-logo-img {
  height: 28px;
  width: auto;
  margin-right: 6px;
  vertical-align: middle;
  border-radius: 4px;
}

/* mini-navbar 折叠时: 缩小 logo 图标 */
body.mini-navbar .sidebar-logo-img {
  height: 24px;
  margin-right: 0;
}

/* 一级菜单项 */
.navbar-default #side-menu > li > a {
  color: var(--mt-text-sidebar);
  transition: all var(--mt-transition-fast);
  border-left: 3px solid transparent;
  padding: 14px 20px 14px 17px;
}

.navbar-default #side-menu > li > a:hover,
.navbar-default #side-menu > li > a:focus {
  background: var(--mt-bg-sidebar-hover);
  color: var(--mt-text-sidebar-hover);
  border-left-color: var(--mt-primary-light);
}

/* 菜单图标 */
.navbar-default #side-menu > li > a > i {
  margin-right: 8px;
  width: 20px;
  text-align: center;
  font-size: 15px;
  transition: color var(--mt-transition-fast);
}

.navbar-default #side-menu > li > a:hover > i {
  color: var(--mt-primary-light);
}

/* 活跃菜单项 - 覆盖所有皮肤 (含无皮肤class的情况) */
#side-menu > li.active > a,
.skin-blue #side-menu > li.active > a,
.skin-green #side-menu > li.active > a,
.skin-red #side-menu > li.active > a,
.skin-yellow #side-menu > li.active > a,
.skin-purple #side-menu > li.active > a {
  background: var(--mt-bg-sidebar-active);
  color: #fff;
  border-left-color: var(--mt-primary);
}

/* 二级菜单 */
.nav-second-level > li > a,
.nav-second-level > li > a.menuItem {
  color: var(--mt-text-sidebar);
  padding: 10px 20px 10px 40px;
  transition: all var(--mt-transition-fast);
  font-size: 13px;
}

.nav-second-level > li > a:hover,
.nav-second-level > li > a.menuItem:hover {
  color: #fff;
  background: var(--mt-bg-sidebar-hover);
  padding-left: 44px;
}

/* 三级菜单 */
.nav-third-level > li > a {
  color: var(--mt-text-sidebar);
  padding-left: 56px;
  font-size: 13px;
  transition: all var(--mt-transition-fast);
}

.nav-third-level > li > a:hover {
  color: #fff;
  background: var(--mt-bg-sidebar-hover);
  padding-left: 60px;
}

/* 菜单展开箭头 */
.nav .fa.arrow {
  transition: transform var(--mt-transition);
}

/* 已选中的二级/三级菜单 */
.nav-second-level > li.selected > a,
.nav-third-level > li.selected > a {
  color: #fff;
  background: var(--mt-bg-sidebar-active);
}

/* mini 模式侧边栏 */
body.mini-navbar .navbar-default.navbar-static-side {
  background: var(--mt-bg-sidebar);
}


/* === 4. 顶部导航栏现代化 === */

/* 覆盖所有皮肤的顶部栏 (含无皮肤class) */
.navbar-static-top,
.skin-blue .navbar-static-top,
.skin-green .navbar-static-top,
.skin-red .navbar-static-top,
.skin-yellow .navbar-static-top,
.skin-purple .navbar-static-top {
  background: var(--mt-bg-card);
  box-shadow: var(--mt-shadow-sm);
  border-bottom: 1px solid var(--mt-border-color);
}

/* 汉堡菜单按钮 */
.navbar-minimalize {
  color: var(--mt-text-primary) !important;
  font-size: 18px;
  padding: 14px 16px;
  transition: color var(--mt-transition-fast);
}

.navbar-minimalize:hover {
  color: var(--mt-primary) !important;
}

/* 时间显示 */
.navbar-top-links.navbar-left.welcome-message > li > a {
  color: var(--mt-text-secondary);
  font-size: 13px !important;
}

/* 通知预警 */
.navbar-top-links.navbar-right.welcome-message > li > a {
  color: var(--mt-text-primary);
  font-size: 12px !important;
  border-radius: var(--mt-radius-sm);
  margin: 6px 2px;
  padding: 8px 10px !important;
  transition: all var(--mt-transition-fast);
  background: var(--mt-bg-input);
  border: 1px solid var(--mt-border-color);
}

.navbar-top-links.navbar-right.welcome-message > li > a:hover {
  background: var(--mt-primary-bg);
  border-color: var(--mt-primary-light);
  color: var(--mt-primary);
}

/* 通知数字高亮 */
.navbar-top-links.navbar-right.welcome-message > li > a > span {
  font-weight: 600;
  color: var(--mt-danger);
}

/* 用户下拉菜单 */
.navbar-right > li.dropdown > a.dropdown-toggle {
  color: var(--mt-text-primary);
  font-size: 13px !important;
  padding: 15px 12px;
  transition: color var(--mt-transition-fast);
}

.navbar-right > li.dropdown > a.dropdown-toggle:hover {
  color: var(--mt-primary);
}


/* === 5. 多页签栏现代化 === */

.content-tabs {
  background: var(--mt-bg-card);
  border-bottom: 1px solid var(--mt-border-color);
  box-shadow: none;
}

/* 页签左右滚动按钮 */
.roll-nav {
  background: var(--mt-bg-card);
  border: 1px solid var(--mt-border-color);
  color: var(--mt-text-secondary);
  transition: all var(--mt-transition-fast);
}

.roll-nav:hover {
  background: var(--mt-primary-bg);
  color: var(--mt-primary);
  border-color: var(--mt-primary-light);
}

/* 页签项 */
.page-tabs-content > a.menuTab {
  border-right: none;
  border-radius: var(--mt-radius-sm) var(--mt-radius-sm) 0 0;
  margin: 4px 2px 0;
  padding: 0 16px;
  line-height: 32px;
  font-size: 13px;
  color: var(--mt-text-secondary);
  transition: all var(--mt-transition-fast);
  border-bottom: 2px solid transparent;
}

.page-tabs-content > a.menuTab:hover {
  color: var(--mt-primary);
  background: var(--mt-primary-bg);
}

.page-tabs-content > a.menuTab.active {
  color: var(--mt-primary);
  background: var(--mt-bg-card);
  border-bottom-color: var(--mt-primary);
  font-weight: 500;
}


/* === 6. 搜索表单区域现代化 === */

.search-collapse {
  background: var(--mt-bg-card);
  border-radius: var(--mt-radius);
  box-shadow: var(--mt-shadow-sm);
  border: 1px solid var(--mt-border-color);
  padding: 12px 8px 8px;
  margin-top: 12px;
}

.select-table {
  background: var(--mt-bg-card);
  border-radius: var(--mt-radius);
  box-shadow: var(--mt-shadow-sm);
  border: 1px solid var(--mt-border-color);
  margin-top: 12px;
  overflow: hidden;
}

/* 搜索字段标签 */
.select-list li p {
  color: var(--mt-text-secondary);
  font-size: 13px;
  font-weight: 500;
}

/* 搜索输入框 */
.select-list li input[type="text"],
.select-list li input[type="number"],
.select-list li select {
  border: 1px solid var(--mt-border-color);
  border-radius: var(--mt-radius-sm);
  background: var(--mt-bg-input);
  color: var(--mt-text-primary);
  transition: border-color var(--mt-transition-fast), box-shadow var(--mt-transition-fast);
  padding: 6px 10px;
  font-size: 13px;
}

.select-list li input[type="text"]:focus,
.select-list li input[type="number"]:focus,
.select-list li select:focus {
  border-color: var(--mt-primary);
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.12);
  background: #fff;
  outline: none;
}

/* 日期选择器 */
.select-list .select-time input {
  border: 1px solid var(--mt-border-color);
  border-radius: var(--mt-radius-sm);
  background: var(--mt-bg-input);
  transition: border-color var(--mt-transition-fast), box-shadow var(--mt-transition-fast);
}

.select-list .select-time input:focus {
  border-color: var(--mt-primary);
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.12);
}


/* === 7. 按钮现代化 === */

.btn {
  border-radius: var(--mt-radius-sm);
  font-weight: 500;
  transition: all var(--mt-transition-fast);
  font-size: 13px;
  letter-spacing: 0.3px;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: var(--mt-shadow-md);
}

.btn:active {
  transform: translateY(0);
}

/* 主色按钮 */
.btn-primary {
  background: linear-gradient(135deg, var(--mt-primary) 0%, var(--mt-primary-dark) 100%);
  border-color: var(--mt-primary);
  box-shadow: 0 2px 4px rgba(25, 118, 210, 0.3);
}

.btn-primary:hover,
.btn-primary:focus {
  background: linear-gradient(135deg, var(--mt-primary-dark) 0%, var(--mt-primary) 100%);
  border-color: var(--mt-primary-dark);
  box-shadow: 0 4px 8px rgba(25, 118, 210, 0.4);
}

/* 成功按钮 */
.btn-success {
  background: linear-gradient(135deg, var(--mt-success) 0%, var(--mt-success-dark) 100%);
  border-color: var(--mt-success);
  box-shadow: 0 2px 4px rgba(46, 125, 50, 0.3);
}

.btn-success:hover,
.btn-success:focus {
  background: linear-gradient(135deg, var(--mt-success-dark) 0%, var(--mt-success) 100%);
  border-color: var(--mt-success-dark);
}

/* 警告按钮 */
.btn-warning {
  background: linear-gradient(135deg, var(--mt-warning) 0%, var(--mt-warning-dark) 100%);
  border-color: var(--mt-warning);
  box-shadow: 0 2px 4px rgba(245, 124, 0, 0.3);
}

.btn-warning:hover,
.btn-warning:focus {
  background: linear-gradient(135deg, var(--mt-warning-dark) 0%, var(--mt-warning) 100%);
  border-color: var(--mt-warning-dark);
}

/* 危险按钮 */
.btn-danger {
  background: linear-gradient(135deg, var(--mt-danger) 0%, var(--mt-danger-dark) 100%);
  border-color: var(--mt-danger);
  box-shadow: 0 2px 4px rgba(211, 47, 47, 0.3);
}

.btn-danger:hover,
.btn-danger:focus {
  background: linear-gradient(135deg, var(--mt-danger-dark) 0%, var(--mt-danger) 100%);
  border-color: var(--mt-danger-dark);
}

/* 默认按钮 */
.btn-default {
  background: var(--mt-bg-card);
  border-color: var(--mt-border-color);
  color: var(--mt-text-primary);
}

.btn-default:hover,
.btn-default:focus {
  background: var(--mt-bg-input);
  border-color: var(--mt-primary-light);
  color: var(--mt-primary);
}

/* 工具栏按钮组 */
.btn-group-sm .btn {
  border-radius: var(--mt-radius-sm);
  padding: 5px 12px;
}

/* 搜索按钮 */
.select-list .btn-primary.btn-rounded {
  border-radius: var(--mt-radius-sm);
  padding: 5px 16px;
}

.select-list .btn-warning.btn-rounded {
  border-radius: var(--mt-radius-sm);
  padding: 5px 16px;
}


/* === 8. 表格现代化 === */

/* 表头 */
.bootstrap-table .fixed-table-container .table thead th,
.table-striped .table > thead > tr > th {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  font-weight: 600;
  color: var(--mt-text-primary);
  font-size: 13px;
  padding: 10px 8px;
  border-bottom: 2px solid var(--mt-border-color);
}

/* 表格行 */
.table-striped .table > tbody > tr > td {
  padding: 8px;
  vertical-align: middle;
  color: var(--mt-text-primary);
  font-size: 13px;
  border-bottom: 1px solid var(--mt-border-light);
}

/* 行悬停 */
.table-striped .table > tbody > tr:hover > td,
.table > tbody > tr:hover > td {
  background-color: var(--mt-primary-bg);
}

/* 选中行 */
.fixed-table-container .table tbody tr.selected td {
  background-color: rgba(25, 118, 210, 0.12);
}

/* 斑马纹 */
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: var(--mt-bg-input);
}

/* 分页器 */
.fixed-table-pagination .pagination > li > a,
.pagination > li > a {
  border-radius: var(--mt-radius-sm);
  margin: 0 2px;
  border: 1px solid var(--mt-border-color);
  color: var(--mt-text-secondary);
  transition: all var(--mt-transition-fast);
  font-size: 13px;
}

.pagination > li > a:hover {
  background: var(--mt-primary-bg);
  border-color: var(--mt-primary-light);
  color: var(--mt-primary);
}

.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > a:focus {
  background-color: var(--mt-primary);
  border-color: var(--mt-primary);
  color: #fff;
}

/* 表格工具栏 */
.fixed-table-toolbar .columns-right .btn-group > .btn {
  border-radius: var(--mt-radius-sm);
}

/* 每页条数选择 */
.fixed-table-pagination .page-list .btn-group .btn {
  border-radius: var(--mt-radius-sm);
}

/* 表格无数据提示 */
.fixed-table-container .no-records-found td {
  color: var(--mt-text-muted);
  padding: 30px;
}


/* === 9. 表单页现代化 === */

.form-control {
  border-radius: var(--mt-radius-sm);
  border: 1px solid var(--mt-border-color);
  background: var(--mt-bg-input);
  color: var(--mt-text-primary);
  transition: border-color var(--mt-transition-fast), box-shadow var(--mt-transition-fast);
  font-size: 13px;
}

.form-control:focus {
  border-color: var(--mt-primary);
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.12);
  background: #fff;
}

/* 表单标签 */
.form-horizontal .control-label {
  color: var(--mt-text-secondary);
  font-weight: 500;
  font-size: 13px;
}

/* 表单容器 (弹窗内) */
.wrapper.wrapper-content.ibox-content {
  border-radius: var(--mt-radius);
  border: none;
  box-shadow: none;
}

/* 表单分组标题 */
.form-header,
.form-group h4 {
  color: var(--mt-primary);
  border-bottom: 2px solid var(--mt-primary);
  padding-bottom: 8px;
  margin-bottom: 16px;
  font-weight: 600;
}

/* 帮助文本 */
.help-block {
  color: var(--mt-text-muted);
  font-size: 12px;
}

/* 必填星号 */
.form-group .is-required {
  color: var(--mt-danger);
}


/* === 10. Layer 弹窗现代化 === */

.layui-layer {
  border-radius: var(--mt-radius) !important;
  box-shadow: var(--mt-shadow-xl) !important;
  border: none !important;
}

.layui-layer-title {
  border-radius: var(--mt-radius) var(--mt-radius) 0 0 !important;
  background: linear-gradient(135deg, var(--mt-primary) 0%, var(--mt-primary-dark) 100%) !important;
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  padding: 0 16px !important;
  line-height: 46px !important;
  height: 46px !important;
  border-bottom: none !important;
}

/* 弹窗关闭按钮 */
.layui-layer-setwin a {
  color: rgba(255, 255, 255, 0.8) !important;
  transition: color var(--mt-transition-fast);
}

.layui-layer-setwin a:hover {
  color: #fff !important;
}

/* 弹窗按钮区 */
.layui-layer-btn {
  border-top: 1px solid var(--mt-border-color) !important;
  padding: 10px 16px !important;
  background: var(--mt-bg-input) !important;
  border-radius: 0 0 var(--mt-radius) var(--mt-radius) !important;
}

.layui-layer-btn a {
  border-radius: var(--mt-radius-sm) !important;
  font-size: 13px !important;
  padding: 6px 20px !important;
  transition: all var(--mt-transition-fast) !important;
}

.layui-layer-btn .layui-layer-btn0 {
  background: linear-gradient(135deg, var(--mt-primary) 0%, var(--mt-primary-dark) 100%) !important;
  border-color: var(--mt-primary) !important;
}


/* === 11. 卡片 / Panel / ibox 现代化 === */

.ibox {
  border-radius: var(--mt-radius);
  border: 1px solid var(--mt-border-color);
  box-shadow: var(--mt-shadow-sm);
  background: var(--mt-bg-card);
  margin-bottom: 20px;
}

.ibox-title {
  border-bottom: 1px solid var(--mt-border-color);
  background: var(--mt-bg-input);
  border-radius: var(--mt-radius) var(--mt-radius) 0 0;
  padding: 12px 16px;
}

.ibox-title h5 {
  color: var(--mt-text-primary);
  font-weight: 600;
  font-size: 14px;
}

.ibox-content {
  padding: 16px;
}

/* Panel */
.panel {
  border-radius: var(--mt-radius);
  box-shadow: var(--mt-shadow-sm);
  border: 1px solid var(--mt-border-color);
}

.panel-heading {
  border-radius: var(--mt-radius) var(--mt-radius) 0 0;
  background: var(--mt-bg-input);
  border-bottom: 1px solid var(--mt-border-color);
}


/* === 12. 下拉菜单现代化 === */

.dropdown-menu {
  border-radius: var(--mt-radius);
  box-shadow: var(--mt-shadow-lg);
  border: 1px solid var(--mt-border-color);
  padding: 6px;
  min-width: 140px;
}

.dropdown-menu > li > a {
  border-radius: var(--mt-radius-sm);
  padding: 8px 12px;
  color: var(--mt-text-primary);
  font-size: 13px;
  transition: all var(--mt-transition-fast);
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  background-color: var(--mt-primary-bg);
  color: var(--mt-primary);
}

.dropdown-menu .divider {
  margin: 4px 0;
  background-color: var(--mt-border-light);
}


/* === 13. 登录页现代化 === */

body > .container .main_body {
  border-radius: var(--mt-radius-lg);
  box-shadow: var(--mt-shadow-xl);
  border: none;
  overflow: hidden;
}

body > .container .main_body_right h2 {
  color: var(--mt-text-primary);
  font-size: 24px;
}

body > .container .input_column {
  border-radius: var(--mt-radius-sm);
  border: 1px solid var(--mt-border-color);
  background: var(--mt-bg-input);
  transition: border-color var(--mt-transition-fast), box-shadow var(--mt-transition-fast);
}

body > .container .input_column:focus-within {
  border-color: var(--mt-primary);
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.12);
}

body > .container .btn-primary.btn-block {
  background: linear-gradient(135deg, var(--mt-primary) 0%, var(--mt-primary-dark) 100%);
  border-color: var(--mt-primary);
  border-radius: var(--mt-radius-sm);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 2px;
  box-shadow: 0 4px 12px rgba(25, 118, 210, 0.35);
  transition: all var(--mt-transition-fast);
}

body > .container .btn-primary.btn-block:hover {
  box-shadow: 0 6px 16px rgba(25, 118, 210, 0.5);
  transform: translateY(-2px);
}


/* === 14. 滚动条现代化 === */

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: var(--mt-text-muted);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--mt-text-secondary);
}


/* === 15. 标签/徽章现代化 === */

.label {
  border-radius: var(--mt-radius-sm);
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
}

.label-primary {
  background-color: var(--mt-primary);
}

.label-success {
  background-color: var(--mt-success);
}

.label-warning {
  background-color: var(--mt-warning);
}

.label-danger {
  background-color: var(--mt-danger);
}

.label-info {
  background-color: var(--mt-info);
}


/* === 16. 模态对话框 (Bootstrap Modal) 现代化 === */

.modal-content {
  border-radius: var(--mt-radius);
  box-shadow: var(--mt-shadow-xl);
  border: none;
}

.modal-header {
  border-bottom: 1px solid var(--mt-border-color);
  padding: 14px 16px;
  background: var(--mt-bg-input);
  border-radius: var(--mt-radius) var(--mt-radius) 0 0;
}

.modal-header .modal-title {
  font-weight: 600;
  color: var(--mt-text-primary);
}

.modal-footer {
  border-top: 1px solid var(--mt-border-color);
  padding: 12px 16px;
}


/* === 17. 进度条现代化 === */

.progress {
  border-radius: var(--mt-radius);
  background-color: var(--mt-bg-body);
  height: 8px;
  overflow: hidden;
}

.progress-bar {
  border-radius: var(--mt-radius);
  background: linear-gradient(135deg, var(--mt-primary) 0%, var(--mt-primary-dark) 100%);
}


/* === 18. 选择框 (iCheck) 兼容 === */

.icheckbox_square-green.checked,
.iradio_square-green.checked {
  /* iCheck 使用图片精灵，不需要覆盖 */
}


/* === 19. Select2 下拉框颜色协调 === */

.select2-container--default .select2-selection--single {
  border-radius: var(--mt-radius-sm);
  border-color: var(--mt-border-color);
  height: 34px;
  transition: border-color var(--mt-transition-fast);
}

.select2-container--default .select2-selection--single:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--mt-primary);
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.12);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: var(--mt-primary);
}

.select2-dropdown {
  border-radius: var(--mt-radius-sm);
  box-shadow: var(--mt-shadow-md);
  border-color: var(--mt-border-color);
}


/* === 20. 页脚 === */

.footer {
  color: var(--mt-text-muted);
  font-size: 12px;
  border-top: 1px solid var(--mt-border-color);
  padding: 10px 20px;
}


/* === 21. 面包屑 === */

.breadcrumb {
  background: transparent;
  padding: 8px 0;
}

.breadcrumb > li > a {
  color: var(--mt-primary);
}


/* === 22. 动画增强 === */

.animated.fadeInRight {
  animation-duration: 0.3s;
}

/* 页面内容加载动画 */
.container-div {
  animation: modernFadeIn 0.3s ease;
}

@keyframes modernFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* =============================================
 * === 23. 绿色残留覆盖补丁 (style.css #1ab394) ===
 *
 * style.css 中有 60+ 处硬编码 #1ab394 (绿色)，
 * 以下用 html body 前缀提升优先级，确保蓝色主题彻底覆盖
 * ============================================= */

/* 补丁 #1-4: 主色按钮 — 全状态覆盖 */
html body .btn-primary,
html body a.btn-primary {
  background: linear-gradient(135deg, var(--mt-primary) 0%, var(--mt-primary-dark) 100%) !important;
  border-color: var(--mt-primary) !important;
  color: #fff !important;
}

html body .btn-primary:hover,
html body .btn-primary:focus,
html body a.btn-primary:hover,
html body a.btn-primary:focus {
  background: linear-gradient(135deg, var(--mt-primary-dark) 0%, var(--mt-primary) 100%) !important;
  border-color: var(--mt-primary-dark) !important;
}

html body .btn-primary:active,
html body .btn-primary.active,
html body a.btn-primary:active {
  background: var(--mt-primary-active) !important;
  border-color: var(--mt-primary-active) !important;
}

html body .btn-primary.disabled,
html body .btn-primary[disabled],
html body .btn-primary.disabled:hover {
  background: var(--mt-primary) !important;
  border-color: var(--mt-primary) !important;
  opacity: 0.65;
}

/* 补丁 #5: 特殊链接 */
html body .special_link a,
html body .landing_link a {
  color: var(--mt-primary) !important;
}

html body .special_link a:hover,
html body .landing_link a:hover {
  color: var(--mt-primary-dark) !important;
}

/* 补丁 #6: 导航链接悬停 */
html body .nav > li > a:hover,
html body .nav > li > a:focus {
  color: var(--mt-primary);
}

/* 补丁 #7-8: 分页组件 */
html body .pagination > li > a,
html body .pagination > li > span {
  border-color: var(--mt-border-color);
  color: var(--mt-text-secondary);
}

html body .pagination > li > a:hover {
  background: var(--mt-primary-bg);
  border-color: var(--mt-primary-light);
  color: var(--mt-primary);
}

html body .pagination > .active > a,
html body .pagination > .active > a:hover,
html body .pagination > .active > a:focus,
html body .pagination > .active > span {
  background-color: var(--mt-primary) !important;
  border-color: var(--mt-primary) !important;
  color: #fff !important;
}

/* 补丁 #9: Select2 单选和旧版 */
html body .select2-container .select2-choice {
  border-bottom-color: var(--mt-primary) !important;
}

/* 补丁 #10: 标签 */
html body .label-primary {
  background-color: var(--mt-primary) !important;
}

/* 补丁 #11: 进度条 */
html body .progress-bar {
  background: linear-gradient(135deg, var(--mt-primary) 0%, var(--mt-primary-dark) 100%);
}

html body .progress-bar-success {
  background: var(--mt-success);
}

/* 补丁 #12: 输入框聚焦 */
html body .form-control:focus,
html body input[type="text"]:focus,
html body input[type="password"]:focus,
html body select:focus,
html body textarea:focus {
  border-color: var(--mt-primary) !important;
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.12) !important;
}

/* 补丁 #13: Tab 选中 */
html body .nav-tabs > li.active > a,
html body .nav-tabs > li.active > a:hover,
html body .nav-tabs > li.active > a:focus {
  color: var(--mt-primary);
  border-bottom-color: var(--mt-primary);
}

/* 补丁 #14: ibox 顶部蓝色条 */
html body .ibox-title {
  border-top: 3px solid var(--mt-primary);
}

/* 额外: 开关/checkbox 蓝色 */
html body .onoffswitch-inner:before {
  background-color: var(--mt-primary) !important;
}

/* 额外: 侧边栏底色 (无 skin 前缀) */
html body .navbar-default.navbar-static-side {
  background: var(--mt-bg-sidebar) !important;
}

html body .navbar-default {
  border-color: var(--mt-bg-sidebar);
}

/* 额外: a 链接蓝色 */
html body a {
  color: var(--mt-primary);
}

html body a:hover {
  color: var(--mt-primary-dark);
}


/* === 24. Select2 多选补全 === */

/* 多选容器 */
html body .select2-container--default .select2-selection--multiple {
  border: 1px solid var(--mt-border-color);
  border-radius: var(--mt-radius-sm);
  background: var(--mt-bg-input);
  min-height: 34px;
  transition: border-color var(--mt-transition-fast);
}

html body .select2-container--default.select2-container--focus .select2-selection--multiple,
html body .select2-container--default.select2-container--open .select2-selection--multiple {
  border-color: var(--mt-primary);
  box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.12);
}

/* 多选标签 (已选择的项) */
html body .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: var(--mt-primary) !important;
  border-color: var(--mt-primary-dark) !important;
  color: #fff !important;
  border-radius: 4px;
  padding: 2px 8px;
  margin: 3px;
}

html body .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: rgba(255, 255, 255, 0.7) !important;
  margin-right: 4px;
}

html body .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #fff !important;
}

/* RuoYi 旧版 Select2 (v3.x) 多选兼容 */
html body .select2-search-choice {
  background: var(--mt-primary) !important;
  border-color: var(--mt-primary-dark) !important;
  color: #fff !important;
  border-radius: 4px;
  box-shadow: none !important;
}

html body .select2-search-choice .select2-search-choice-close {
  filter: brightness(10);
}


/* === 25. 成功/警告/危险按钮加强覆盖 === */

html body .btn-success {
  background: linear-gradient(135deg, var(--mt-success) 0%, var(--mt-success-dark) 100%) !important;
  border-color: var(--mt-success) !important;
}

html body .btn-success:hover,
html body .btn-success:focus {
  background: linear-gradient(135deg, var(--mt-success-dark) 0%, var(--mt-success) 100%) !important;
  border-color: var(--mt-success-dark) !important;
}

html body .btn-warning {
  background: linear-gradient(135deg, var(--mt-warning) 0%, var(--mt-warning-dark) 100%) !important;
  border-color: var(--mt-warning) !important;
}

html body .btn-warning:hover,
html body .btn-warning:focus {
  background: linear-gradient(135deg, var(--mt-warning-dark) 0%, var(--mt-warning) 100%) !important;
  border-color: var(--mt-warning-dark) !important;
}

html body .btn-danger {
  background: linear-gradient(135deg, var(--mt-danger) 0%, var(--mt-danger-dark) 100%) !important;
  border-color: var(--mt-danger) !important;
}

html body .btn-danger:hover,
html body .btn-danger:focus {
  background: linear-gradient(135deg, var(--mt-danger-dark) 0%, var(--mt-danger) 100%) !important;
  border-color: var(--mt-danger-dark) !important;
}

html body .btn-info {
  background: linear-gradient(135deg, var(--mt-info) 0%, #0277bd 100%) !important;
  border-color: var(--mt-info) !important;
}

html body .btn-info:hover,
html body .btn-info:focus {
  background: linear-gradient(135deg, #0277bd 0%, var(--mt-info) 100%) !important;
  border-color: #0277bd !important;
}


/* === 26. 标签/徽章加强覆盖 === */

html body .label-success,
html body .badge-success {
  background-color: var(--mt-success) !important;
}

html body .label-warning,
html body .badge-warning {
  background-color: var(--mt-warning) !important;
}

html body .label-danger,
html body .badge-danger {
  background-color: var(--mt-danger) !important;
}

html body .label-info,
html body .badge-info {
  background-color: var(--mt-info) !important;
}

html body .badge {
  border-radius: 10px;
  padding: 3px 8px;
  font-weight: 500;
}
