/*
 * Ant Design 主题样式覆盖
 * 基于 Ant Design 4.x 设计规范
 * 主色: #1890ff  成功色: #52c41a  警告色: #faad14  错误色: #ff4d4f
 */

/* ============================
   1. 全局基础样式
   ============================ */
:root {
    --ant-primary: #1890ff;
    --ant-primary-hover: #40a9ff;
    --ant-primary-active: #096dd9;
    --ant-success: #52c41a;
    --ant-warning: #faad14;
    --ant-error: #ff4d4f;
    --ant-text-primary: rgba(0, 0, 0, 0.85);
    --ant-text-secondary: rgba(0, 0, 0, 0.65);
    --ant-text-disabled: rgba(0, 0, 0, 0.25);
    --ant-border-color: #d9d9d9;
    --ant-border-radius: 2px;
    --ant-bg-color: #f0f2f5;
    --ant-sidebar-bg: #001529;
    --ant-sidebar-text: rgba(255, 255, 255, 0.65);
    --ant-sidebar-text-active: #fff;
    --ant-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    --ant-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Arial, sans-serif;
}

body {
    font-family: var(--ant-font-family);
    font-size: 14px;
    color: var(--ant-text-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ============================
   2. 侧边栏 - 参考 real-name-system 项目 antd-theme.css
   ============================ */
/* 侧边栏：antd Sider 深色背景 */
body .navbar-static-side {
    background-color: #001529 !important;
}

.navbar-static-side .logo {
    background-color: #001529 !important;
    color: #fff;
}

/* 一级菜单 */
.navbar-static-side .nav > li > a {
    color: rgba(255, 255, 255, .65) !important;
    font-weight: 400;
}

.navbar-static-side .nav > li > a:hover, .navbar-static-side .nav > li > a:focus {
    background-color: rgba(255, 255, 255, .08) !important;
    color: #fff !important;
}

/* 展开状态父菜单：文字变白，背景不变色 */
.navbar-static-side .nav .open > a,
.navbar-static-side .nav .open > a:hover,
.navbar-static-side .nav .open > a:focus {
    background-color: transparent !important;
    color: #fff !important;
}

/* 父菜单激活/展开：li 不整块变色，避免子菜单区域透出蓝色 */
.navbar-static-side .nav:not(.navbar-toolbar) > li.active {
    background: transparent;
    border-left: 3px solid transparent;
    color: #fff;
}

.navbar-static-side .nav > li.active > a {
    color: #fff !important;
}

.navbar-static-side .nav ul li.active > a {
    color: #fff !important;
}

/* 子菜单区域独立深色背景，不随父菜单变色 */
.navbar-static-side .nav > li > ul {
    background-color: #001529;
}

/* 二、三、四级菜单 */
.navbar-static-side .nav-second-level > li > a,
.navbar-static-side .nav-third-level > li > a,
.navbar-static-side .nav-four-level > li > a {
    color: rgba(255, 255, 255, .65) !important;
}

.navbar-static-side .nav-second-level > li > a:hover,
.navbar-static-side .nav-third-level > li > a:hover,
.navbar-static-side .nav-four-level > li > a:hover {
    background-color: rgba(255, 255, 255, .08) !important;
    color: #fff !important;
}

/* 选中叶子菜单项蓝色高亮（叶子项均带 menuItem 类），覆盖 RuoYi 的 selected 深蓝 */
.navbar-static-side .nav li.active > a.menuItem,
.navbar-static-side .nav li.selected > a {
    background-color: #1677ff !important;
    color: #fff !important;
}

/* 收起侧边栏时弹出的子菜单 */
body.mini-navbar .navbar-static-side .nav-second-level,
body.mini-navbar .navbar-static-side .nav-third-level,
body.mini-navbar .navbar-static-side .nav-four-level {
    background-color: #001529 !important;
}

/* 收起侧边栏时图标居中显示 */
body.mini-navbar .navbar-static-side .nav > li > a {
    text-align: center;
    padding: 14px 0;
}

body.mini-navbar .navbar-static-side .nav > li > a i {
    font-size: 18px;
    display: block;
}

/* ============================
   3. 顶部导航栏 - 参考 real-name-system 项目原始样式
   ============================ */
/* 已移除 Ant Design 覆盖，使用 style.css 和 skins.css 原始样式 */

/* 收起菜单按钮 */
.navbar-minimalize {
    display: inline-block;
    padding: 10px 15px;
    font-size: 14px;
    color: rgba(0, 0, 0, 0.65) !important;
    background: transparent !important;
    border: none;
    cursor: pointer;
    opacity: 1;
}

.navbar-minimalize:hover,
.navbar-minimalize:focus {
    color: rgba(0, 0, 0, 0.85) !important;
    background: rgba(0, 0, 0, 0.04) !important;
}

.navbar-minimalize i {
    font-size: 18px;
}

/* ============================
   4. 内容标签页 (Tabs) - Ant Design 风格
   ============================ */
.content-tabs {
    position: relative;
    height: 40px;
    background: #fff;
    line-height: 40px;
    border-bottom: 1px solid #f0f0f0;
    box-shadow: none;
    display: flex;
    align-items: center;
}

.content-tabs .roll-nav, .page-tabs-list {
    position: absolute;
    width: 32px;
    height: 40px;
    text-align: center;
    color: var(--ant-text-secondary);
    z-index: 2;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: none;
    cursor: pointer;
    transition: color 0.3s;
}

.content-tabs .roll-left {
    left: 0;
    border-right: 1px solid #f0f0f0;
}

.content-tabs .roll-right {
    right: 0;
    border-left: 1px solid #f0f0f0;
}

.content-tabs button {
    background: #fff;
    border: 0;
    height: 40px;
    width: 32px;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ant-text-secondary);
    cursor: pointer;
}

.content-tabs button:hover {
    color: var(--ant-primary);
    background: #fafafa;
}

nav.page-tabs {
    margin-left: 32px;
    margin-right: 32px;
    height: 40px;
    overflow: hidden;
    flex: 1;
}

nav.page-tabs .page-tabs-content {
    display: flex;
    align-items: center;
    height: 40px;
}

.content-tabs .menuTab,
.page-tabs a,
.skin-blue .page-tabs a,
.skin-green .page-tabs a,
.skin-red .page-tabs a,
.skin-yellow .page-tabs a,
.skin-purple .page-tabs a,
.theme-blue .page-tabs a,
.theme-dark .page-tabs a,
.theme-light .page-tabs a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    height: 32px !important;
    line-height: 32px !important;
    padding: 0 16px !important;
    margin: 4px 2px 0 2px !important;
    color: var(--ant-text-secondary) !important;
    font-size: 13px !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: var(--ant-border-radius) !important;
    transition: all 0.3s !important;
    text-decoration: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    min-width: auto !important;
    text-align: center !important;
}

.content-tabs .menuTab:hover,
.page-tabs a:hover,
.skin-blue .page-tabs a:hover,
.skin-green .page-tabs a:hover,
.skin-red .page-tabs a:hover,
.skin-yellow .page-tabs a:hover,
.skin-purple .page-tabs a:hover,
.theme-blue .page-tabs a:hover,
.theme-dark .page-tabs a:hover,
.theme-light .page-tabs a:hover {
    color: var(--ant-primary) !important;
    background: rgba(24, 144, 255, 0.04) !important;
    border-color: var(--ant-primary) !important;
}

.content-tabs .roll-nav:hover {
    color: var(--ant-primary);
}

.content-tabs .menuTab.active,
.page-tabs a.active,
.skin-blue .page-tabs a.active,
.skin-green .page-tabs a.active,
.skin-red .page-tabs a.active,
.skin-yellow .page-tabs a.active,
.skin-purple .page-tabs a.active,
.theme-blue .page-tabs a.active,
.theme-dark .page-tabs a.active,
.theme-light .page-tabs a.active {
    background: var(--ant-primary) !important;
    color: #fff !important;
    border: 1px solid var(--ant-primary) !important;
}

.content-tabs .menuTab.active:hover,
.page-tabs a.active:hover,
.page-tabs a.active i:hover,
.skin-blue .page-tabs a.active:hover,
.skin-green .page-tabs a.active:hover,
.skin-red .page-tabs a.active:hover,
.skin-yellow .page-tabs a.active:hover,
.skin-purple .page-tabs a.active:hover,
.theme-blue .page-tabs a.active:hover,
.theme-dark .page-tabs a.active:hover,
.theme-light .page-tabs a.active:hover {
    background: var(--ant-primary-hover) !important;
    color: #fff !important;
    border-color: var(--ant-primary-hover) !important;
}

.content-tabs .menuTab.active i,
.page-tabs a.active i {
    color: rgba(255, 255, 255, 0.85) !important;
}

.page-tabs a i {
    color: var(--ant-text-disabled);
    margin-left: 4px;
    font-size: 12px;
}

.page-tabs a i:hover {
    color: #ff4d4f;
}

.roll-right.tabRight {
    right: 64px;
}

.roll-right.tabReload {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: #fff;
    height: 32px !important;
    width: auto !important;
    min-width: 64px;
    outline: none;
    line-height: 1 !important;
    font-size: 13px;
    color: var(--ant-text-secondary);
    cursor: pointer;
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    padding: 0 12px;
    gap: 4px;
    position: absolute;
    right: 8px;
    top: 4px;
}

.roll-right.tabReload:hover {
    color: var(--ant-primary);
    border-color: var(--ant-primary);
}

/* ============================
   5. 按钮 - Ant Design 风格
   ============================ */
.btn {
    border-radius: var(--ant-border-radius);
    font-size: 14px;
    padding: 4px 15px;
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    box-shadow: none !important;
    border: 1px solid var(--ant-border-color);
    white-space: nowrap;
}

.btn-primary,
.btn-success {
    background: var(--ant-primary);
    border-color: var(--ant-primary);
    color: #fff;
}

.btn-primary:hover, .btn-primary:focus,
.btn-success:hover, .btn-success:focus,
.btn-primary:active, .btn-success:active {
    background: var(--ant-primary-hover);
    border-color: var(--ant-primary-hover);
    color: #fff;
    box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);
}

.btn-default {
    background: #fff;
    border-color: var(--ant-border-color);
    color: var(--ant-text-primary);
}

.btn-default:hover, .btn-default:focus {
    color: var(--ant-primary);
    border-color: var(--ant-primary);
    background: #fff;
}

.btn-danger {
    background: var(--ant-error);
    border-color: var(--ant-error);
    color: #fff;
}

.btn-danger:hover, .btn-danger:focus {
    background: #ff7875;
    border-color: #ff7875;
    color: #fff;
}

.btn-warning {
    background: var(--ant-warning);
    border-color: var(--ant-warning);
    color: #fff;
}

.btn-warning:hover, .btn-warning:focus {
    background: #ffc53d;
    border-color: #ffc53d;
    color: #fff;
}

.btn-sm {
    padding: 0 7px;
    font-size: 12px;
}

.btn-lg {
    padding: 6px 15px;
    font-size: 16px;
}

/* ============================
   6. 表单控件 - Ant Design 风格
   ============================ */
.form-control {
    border: 1px solid var(--ant-border-color);
    border-radius: var(--ant-border-radius);
    height: 32px;
    padding: 4px 11px;
    font-size: 14px;
    color: var(--ant-text-primary);
    transition: all 0.3s;
    box-shadow: none !important;
}

.form-control:hover {
    border-color: var(--ant-primary-hover);
}

.form-control:focus {
    border-color: var(--ant-primary);
    box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2) !important;
    outline: none;
}

.form-control::placeholder {
    color: var(--ant-text-disabled);
}

textarea.form-control {
    height: auto;
    min-height: 32px;
}

.input-group-addon {
    border: 1px solid var(--ant-border-color);
    border-radius: var(--ant-border-radius);
    color: var(--ant-text-primary);
    background: #fafafa;
    font-size: 14px;
}

/* ============================
   7. 面板/卡片
   ============================ */
.panel {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    box-shadow: none;
}

.panel-heading {
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--ant-text-primary);
}

.panel-body {
    padding: 16px 24px;
}

.ibox {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    background: #fff;
}

.ibox .ibox-head {
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    padding: 12px 16px;
}

.ibox .ibox-body {
    padding: 16px 24px;
}

/* ============================
   8. 表格 - Ant Design 风格
   ============================ */
.table > thead > tr > th {
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    color: var(--ant-text-primary);
    font-weight: 500;
    font-size: 14px;
    padding: 12px 8px;
}

.table > tbody > tr > td {
    padding: 16px 8px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 14px;
    color: var(--ant-text-primary);
}

.table > tbody > tr:hover > td {
    background: #f5f5f5;
}

.table-striped > tbody > tr:nth-of-type(odd) > td {
    background: #fff;
}

.table-striped > tbody > tr:nth-of-type(even) > td {
    background: #fafafa;
}

/* Bootstrap Table 覆盖 */
.bootstrap-table .fixed-table-container {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
}

.bootstrap-table .fixed-table-toolbar .btn {
    margin-left: 8px;
}

.bootstrap-table .fixed-table-pagination > .pagination {
    margin: 8px 20px;
}

/* ============================
   9. 标签/Badge
   ============================ */
.label-primary, .badge-primary {
    background: var(--ant-primary) !important;
}

.label-success, .badge-success {
    background: var(--ant-success) !important;
}

.label-warning, .badge-warning {
    background: var(--ant-warning) !important;
}

.label-danger, .badge-danger {
    background: var(--ant-error) !important;
}

.label-info, .badge-info {
    background: var(--ant-primary) !important;
}

/* ============================
   10. 链接与文字
   ============================ */
a {
    color: var(--ant-primary);
    transition: color 0.3s;
}

a:hover {
    color: var(--ant-primary-hover);
}

.text-success {
    color: var(--ant-success) !important;
}

.text-danger {
    color: var(--ant-error) !important;
}

.text-warning {
    color: var(--ant-warning) !important;
}

.text-primary {
    color: var(--ant-primary) !important;
}

/* ============================
   11. 背景色
   ============================ */
.gray-bg {
    background: var(--ant-bg-color) !important;
}

/* ============================
   12. 分页
   ============================ */
.pagination > li > a,
.pagination > li > span {
    border: 1px solid var(--ant-border-color);
    color: var(--ant-text-primary);
    font-size: 13px;
    padding: 4px 11px;
    transition: all 0.3s;
}

.pagination > li > a:hover,
.pagination > li > span:hover {
    color: var(--ant-primary);
    border-color: var(--ant-primary);
    background: #fff;
}

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

/* ============================
   13. 滚动条美化
   ============================ */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.12);
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.2);
}

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

/* ============================
   14. Layer 弹层覆盖
   ============================ */
.layui-layer {
    border-radius: var(--ant-border-radius) !important;
    box-shadow: var(--ant-shadow) !important;
}

.layui-layer-title {
    background: #fafafa !important;
    border-bottom: 1px solid #e8e8e8 !important;
    color: var(--ant-text-primary) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
}

.layui-layer-btn a {
    border-radius: var(--ant-border-radius) !important;
    font-size: 14px !important;
    height: 32px !important;
    line-height: 30px !important;
    padding: 0 15px !important;
}

.layui-layer-btn .layui-layer-btn0 {
    background: var(--ant-primary) !important;
    border-color: var(--ant-primary) !important;
}

/* ============================
   15. 底部
   ============================ */
.footer {
    background: #fff;
    border-top: 1px solid #f0f0f0;
    color: var(--ant-text-secondary);
    font-size: 13px;
    padding: 12px 24px;
}

/* ============================
   16. 动画过渡
   ============================ */
.nav > li > a,
.btn,
.form-control,
a,
.dropdown-menu > li > a {
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

/* ============================
   17. 选中/激活状态
   ============================ */
.nav > li.active > a,
.nav > li.selected > a {
    font-weight: normal;
}

/* ============================
   18. 响应式调整
   ============================ */
@media (max-width: 768px) {
    .navbar-default.navbar-static-side {
        box-shadow: none;
    }
    .content-tabs .menuTab {
        padding: 0 10px;
        font-size: 12px;
    }
}

/* ============================
   19. 主内容区域
   ============================ */
.mainContent {
    background: var(--ant-bg-color);
}

#page-wrapper {
    background: var(--ant-bg-color);
}

/* ============================
   20. 工具类颜色覆盖
   ============================ */
.btn-outline {
    border-color: var(--ant-primary);
    color: var(--ant-primary);
    background: transparent;
}

.btn-outline:hover {
    background: var(--ant-primary);
    color: #fff;
}

/* 去掉 Bootstrap 默认的 focus outline */
.btn:focus,
.form-control:focus {
    outline: none;
}

/* select 下拉框 */
select.form-control {
    appearance: none;
    -webkit-appearance: none;
    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='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 11px center;
    padding-right: 30px;
}

/* checkbox/radio 美化 */
input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--ant-primary);
}

/* 面包屑 */
.breadcrumb {
    background: transparent;
    padding: 8px 0;
    font-size: 13px;
}

.breadcrumb > li + li:before {
    content: "/";
    color: var(--ant-text-disabled);
    padding: 0 8px;
}

/* 模态框 */
.modal-content {
    border-radius: var(--ant-border-radius);
    box-shadow: var(--ant-shadow);
    border: 1px solid #e8e8e8;
}

.modal-header {
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    padding: 12px 16px;
}

.modal-title {
    font-size: 16px;
    font-weight: 500;
    color: var(--ant-text-primary);
}

.modal-footer {
    border-top: 1px solid #e8e8e8;
    padding: 10px 16px;
}

/* 进度条 */
.progress {
    background: #f0f0f0;
    border-radius: 100px;
    box-shadow: none;
}

.progress-bar {
    background: var(--ant-primary);
    box-shadow: none;
}

/* Tooltip */
.tooltip-inner {
    background: rgba(0, 0, 0, 0.75);
    border-radius: var(--ant-border-radius);
    font-size: 12px;
    padding: 4px 8px;
}

/* 警告框 */
.alert-info {
    background: #e6f7ff;
    border-color: #91d5ff;
    color: var(--ant-text-primary);
}

.alert-success {
    background: #f6ffed;
    border-color: #b7eb8f;
    color: var(--ant-text-primary);
}

.alert-warning {
    background: #fffbe6;
    border-color: #ffe58f;
    color: var(--ant-text-primary);
}

.alert-danger {
    background: #fff2f0;
    border-color: #ffccc7;
    color: var(--ant-text-primary);
}

/* ============================
   21. RuoYi 组件兼容性修复
   ============================ */

/* 搜索表单中的按钮不受全局 btn 高度影响 */
.select-list .btn,
.search-collapse .btn {
    height: 30px;
    line-height: 1.499;
    padding: 4px 12px;
    font-size: 13px;
}

.select-list .btn-default {
    color: #555;
    padding: 5px 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: transparent;
    outline: none;
    height: 30px;
    width: 200px;
}

.select-list li .submit-btn {
    border: 0;
    border-radius: 4px;
    background: transparent;
    outline: none;
    width: 40px;
    height: 23px;
}

.select-list li input {
    border: 1px solid #ddd;
    border-radius: 4px;
    background: transparent;
    outline: none;
    height: 30px;
    width: 200px;
    padding-left: 5px;
    font-size: 13px;
}

.select-list li select {
    border: 1px solid #ddd;
    border-radius: 4px;
    background: transparent;
    outline: none;
    height: 30px;
    width: 200px;
    font-size: 13px;
}

/* 搜索表单标签不换行 */
.select-list li p,
.select-list li label:not(.radio-box) {
    float: left;
    width: 70px;
    margin: 5px 0px 0px 0px;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.btn-box-tool {
    height: auto !important;
    padding: 5px !important;
    font-size: 12px !important;
    background: transparent !important;
    border: none !important;
    color: #999 !important;
}

.btn-box-tool:hover {
    color: #666 !important;
}

.roll-right.tabReload {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 32px !important;
    min-width: 64px;
    line-height: 1 !important;
    font-size: 13px !important;
    padding: 0 12px !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: var(--ant-border-radius) !important;
    background: #fff !important;
    color: var(--ant-text-secondary) !important;
    white-space: nowrap;
    gap: 4px;
}

.navbar-minimalize {
    /* 参考 real-name-system 项目原始样式 */
}

.select-table .btn {
    height: auto;
    line-height: 1.499;
    padding: 2px 8px;
    font-size: 12px;
}

.navbar-top-links .btn {
    /* 参考 real-name-system 项目原始样式 */
}

/* ============================
   22. ibox / box 卡片容器 - Ant Design 风格
   ============================ */
.ibox {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    background: #fff;
    box-shadow: none;
    margin-bottom: 16px;
}

.ibox-title,
.ibox-title-gray {
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--ant-text-primary);
    height: auto;
    min-height: 41px;
}

.ibox-content {
    padding: 16px 24px;
    background: #fff;
}

.ibox-tools {
    padding: 0;
}

.box {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    background: #fff;
    box-shadow: none;
    margin-bottom: 16px;
}

.box-header {
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    padding: 12px 16px;
}

.box-body {
    padding: 16px 24px;
}

.box-main {
    border: none;
    box-shadow: none;
}

/* ============================
   23. 数据表格 - Ant Design 风格增强
   ============================ */
.table > thead > tr > th {
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    color: var(--ant-text-primary);
    font-weight: 500;
    font-size: 14px;
    padding: 12px 8px;
    white-space: nowrap;
}

.table > tbody > tr > td {
    padding: 12px 8px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 14px;
    color: var(--ant-text-primary);
}

.table > tbody > tr:hover > td {
    background: #f5f5f5;
}

.table-striped > tbody > tr:nth-of-type(odd) > td {
    background: #fff;
}

.table-striped > tbody > tr:nth-of-type(even) > td {
    background: #fafafa;
}

.table-bordered {
    border: 1px solid #e8e8e8;
}

.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > td {
    border: 1px solid #e8e8e8;
}

/* Bootstrap Table 工具栏 */
.bootstrap-table .fixed-table-container {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
}

.bootstrap-table .fixed-table-toolbar {
    padding: 0;
}

.bootstrap-table .fixed-table-toolbar .btn {
    margin-left: 8px;
}

.bootstrap-table .fixed-table-pagination {
    padding: 8px 16px;
}

.bootstrap-table .fixed-table-pagination > .pagination {
    margin: 8px 0;
}

/* 表格选中行 */
.table tbody tr.selected td,
.table tbody tr.selected:hover td {
    background: #e6f7ff !important;
}

/* 表格排序图标 */
.table thead th .sortable {
    cursor: pointer;
}

/* 树表格 */
.bootstrap-tree-table .treetable-thead th {
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    font-weight: 500;
}

.bootstrap-tree-table .treetable-selected {
    background: #e6f7ff !important;
}

/* ============================
   24. Select2 下拉选择 - Ant Design 风格
   ============================ */
.select2-container--bootstrap .select2-selection,
.select2-container--default .select2-selection--single {
    border: 1px solid var(--ant-border-color);
    border-radius: var(--ant-border-radius);
    height: 32px;
    line-height: 30px;
    font-size: 14px;
    transition: all 0.3s;
}

.select2-container--bootstrap .select2-selection:hover,
.select2-container--default .select2-selection--single:hover {
    border-color: var(--ant-primary-hover);
}

.select2-container--bootstrap.select2-container--focus .select2-selection,
.select2-container--default.select2-container--focus .select2-selection,
.select2-container--bootstrap.select2-container--open .select2-selection,
.select2-container--default.select2-container--open .select2-selection {
    border-color: var(--ant-primary);
    box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}

.select2-container--bootstrap .select2-selection__arrow,
.select2-container--default .select2-selection__arrow {
    height: 30px;
}

.select2-container--bootstrap .select2-selection__rendered,
.select2-container--default .select2-selection__rendered {
    line-height: 30px;
    color: var(--ant-text-primary);
    padding-left: 11px;
}

/* Select2 多选标签 */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: #e6f7ff;
    border: 1px solid #91d5ff;
    border-radius: var(--ant-border-radius);
    color: var(--ant-primary);
    font-size: 12px;
    line-height: 20px;
    padding: 0 8px;
    margin: 2px 4px 2px 0;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--ant-primary);
    margin-right: 4px;
    font-size: 14px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: var(--ant-primary-active);
}

/* Select2 下拉菜单 */
.select2-dropdown {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    box-shadow: var(--ant-shadow);
}

.select2-container--bootstrap .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--ant-primary);
    color: #fff;
}

.select2-container--bootstrap .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[aria-selected=true] {
    background: #e6f7ff;
    color: var(--ant-primary);
}

/* ============================
   25. Bootstrap Select 下拉 - Ant Design 风格
   ============================ */
.bootstrap-select > .dropdown-toggle {
    border: 1px solid var(--ant-border-color);
    border-radius: var(--ant-border-radius);
    height: 32px;
    line-height: 1.499;
    padding: 4px 11px;
    font-size: 14px;
    color: var(--ant-text-primary);
    background: #fff;
    transition: all 0.3s;
    box-shadow: none !important;
}

.bootstrap-select > .dropdown-toggle:hover {
    border-color: var(--ant-primary-hover);
}

.bootstrap-select.open > .dropdown-toggle,
.bootstrap-select > .dropdown-toggle:focus {
    border-color: var(--ant-primary);
    box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2) !important;
}

.bootstrap-select .dropdown-menu {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    box-shadow: var(--ant-shadow);
    padding: 4px 0;
}

.bootstrap-select .dropdown-menu li a {
    padding: 5px 12px;
    font-size: 14px;
    color: var(--ant-text-primary);
    transition: background 0.3s;
}

.bootstrap-select .dropdown-menu li a:hover {
    background: #f5f5f5;
}

.bootstrap-select .dropdown-menu li.active a {
    background: #e6f7ff;
    color: var(--ant-primary);
}

/* ============================
   26. 日期时间选择器 - Ant Design 风格
   ============================ */
.datetimepicker {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    box-shadow: var(--ant-shadow);
    padding: 8px;
}

.datetimepicker table td,
.datetimepicker table th {
    border-radius: var(--ant-border-radius);
    font-size: 13px;
}

.datetimepicker table td span:hover,
.datetimepicker table td.day:hover {
    background: #f5f5f5;
    border-radius: var(--ant-border-radius);
}

.datetimepicker table td.active,
.datetimepicker table td.active:hover,
.datetimepicker table td span.active {
    background: var(--ant-primary) !important;
    border-radius: var(--ant-border-radius);
}

.datetimepicker table td.today:before {
    border-bottom-color: var(--ant-primary);
}

.datetimepicker .datetimepicker-hours table td span:hover,
.datetimepicker .datetimepicker-minutes table td span:hover {
    background: #f5f5f5;
    border-radius: var(--ant-border-radius);
}

/* Laydate 日期选择器 */
.layui-laydate {
    border-radius: var(--ant-border-radius) !important;
    box-shadow: var(--ant-shadow) !important;
}

.layui-laydate .layui-this {
    background: var(--ant-primary) !important;
}

.layui-laydate-header i:hover,
.layui-laydate-list li:hover,
.layui-laydate-content td:hover {
    color: var(--ant-primary) !important;
}

/* ============================
   27. 复选框/单选框 - Ant Design 风格
   ============================ */
input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--ant-primary);
}

/* iCheck 复选框 */
.icheckbox_square-green,
.iradio_square-green {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
}

/* 切换开关 Toggle Switch */
.toggle-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 22px;
}

.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-switch .slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.25);
    border-radius: 22px;
    transition: 0.3s;
}

.toggle-switch .slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 2px;
    bottom: 2px;
    background: #fff;
    border-radius: 50%;
    transition: 0.3s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.toggle-switch input:checked + .slider {
    background: #13c2c2;
}

.toggle-switch input:checked + .slider:before {
    transform: translateX(22px);
}

.toggle-switch .slider:hover {
    opacity: 0.8;
}

/* ============================
   28. Layer 弹层 - Ant Design 风格
   ============================ */
.layui-layer {
    border-radius: var(--ant-border-radius) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    border: none !important;
}

.layui-layer-title {
    background: #fafafa !important;
    border-bottom: 1px solid #e8e8e8 !important;
    color: var(--ant-text-primary) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    padding: 12px 16px !important;
    height: auto !important;
}

.layui-layer-setwin a {
    font-size: 16px !important;
    color: var(--ant-text-secondary) !important;
    transition: color 0.3s !important;
}

.layui-layer-setwin a:hover {
    color: var(--ant-text-primary) !important;
}

.layui-layer-btn {
    padding: 10px 16px !important;
    text-align: right !important;
    border-top: 1px solid #e8e8e8 !important;
}

.layui-layer-btn a {
    border-radius: var(--ant-border-radius) !important;
    font-size: 14px !important;
    height: 32px !important;
    line-height: 30px !important;
    padding: 0 15px !important;
    transition: all 0.3s !important;
}

.layui-layer-btn .layui-layer-btn0 {
    background: var(--ant-primary) !important;
    border-color: var(--ant-primary) !important;
    color: #fff !important;
}

.layui-layer-btn .layui-layer-btn0:hover {
    background: var(--ant-primary-hover) !important;
    border-color: var(--ant-primary-hover) !important;
}

.layui-layer-btn .layui-layer-btn1 {
    background: #fff !important;
    border-color: var(--ant-border-color) !important;
    color: var(--ant-text-primary) !important;
}

.layui-layer-btn .layui-layer-btn1:hover {
    color: var(--ant-primary) !important;
    border-color: var(--ant-primary) !important;
}

/* Layer Moon 皮肤 */
.layer-ext-moon .layui-layer-title {
    background: #fafafa !important;
    border-bottom: 1px solid #e8e8e8 !important;
}

/* ============================
   29. 文件上传 - Ant Design 风格
   ============================ */
.file-preview {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    box-shadow: none;
}

.file-drop-zone {
    border: 1px dashed var(--ant-border-color);
    border-radius: var(--ant-border-radius);
    transition: all 0.3s;
}

.file-drop-zone:hover {
    border-color: var(--ant-primary);
}

.file-drop-zone-title {
    color: var(--ant-text-secondary);
}

.file-caption {
    border: 1px solid var(--ant-border-color);
    border-radius: var(--ant-border-radius);
}

.file-error-message {
    background: #fff2f0;
    border-color: #ffccc7;
    color: var(--ant-error);
    border-radius: var(--ant-border-radius);
}

.krajee-default.file-preview-frame {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    box-shadow: none;
}

/* ============================
   30. 富文本编辑器 Summernote - Ant Design 风格
   ============================ */
.note-editor.note-frame {
    border: 1px solid var(--ant-border-color);
    border-radius: var(--ant-border-radius);
}

.note-editor.note-frame:focus {
    border-color: var(--ant-primary);
    box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}

.note-toolbar {
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    padding: 8px;
}

.note-toolbar .btn {
    height: auto !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
}

.note-editable {
    padding: 12px;
    font-size: 14px;
    line-height: 1.5715;
}

.note-statusbar {
    background: #fafafa;
    border-top: 1px solid #e8e8e8;
}

/* ============================
   31. 树组件 zTree - Ant Design 风格
   ============================ */
.ztree {
    font-size: 14px;
}

.ztree li a {
    color: var(--ant-text-primary);
    transition: background 0.3s;
}

.ztree li a:hover {
    background: #f5f5f5;
    border-radius: var(--ant-border-radius);
}

.ztree li a.curSelectedNode {
    background: #e6f7ff;
    color: var(--ant-primary);
    border: none;
    border-radius: var(--ant-border-radius);
    opacity: 1;
}

.ztree li a.curSelectedNode_Edit {
    background: #e6f7ff;
    color: var(--ant-primary);
    border: none;
    border-radius: var(--ant-border-radius);
}

/* ============================
   32. 图片裁剪 Cropper - Ant Design 风格
   ============================ */
.cropper-view-box {
    outline: 2px solid var(--ant-primary);
    outline-color: rgba(24, 144, 255, 0.75);
}

.cropper-modal {
    background: rgba(0, 0, 0, 0.5);
}

.cropper-point {
    background: var(--ant-primary);
}

/* ============================
   33. 双列表选择器 DualListbox - Ant Design 风格
   ============================ */
.bootstrap-duallistbox-container .form-control {
    border: 1px solid var(--ant-border-color);
    border-radius: var(--ant-border-radius);
}

.bootstrap-duallistbox-container .form-control:focus {
    border-color: var(--ant-primary);
    box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}

.bootstrap-duallistbox-container select {
    border: 1px solid var(--ant-border-color);
    border-radius: var(--ant-border-radius);
}

.bootstrap-duallistbox-container select:focus {
    border-color: var(--ant-primary);
    box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}

/* ============================
   34. 表单验证 - Ant Design 风格
   ============================ */
label.error {
    color: var(--ant-error);
    font-size: 12px;
    font-weight: normal;
}

.input.error {
    border-color: var(--ant-error) !important;
    background: #fff2f0;
}

.input.error:focus {
    box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2) !important;
}

.control-label.is-required:before {
    content: "* ";
    color: var(--ant-error);
}

/* 表单必填星号 */
.has-error .form-control {
    border-color: var(--ant-error);
}

.has-error .form-control:focus {
    box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2) !important;
}

.has-success .form-control {
    border-color: var(--ant-success);
}

.has-success .form-control:focus {
    box-shadow: 0 0 0 2px rgba(82, 196, 26, 0.2) !important;
}

/* ============================
   35. 详情展示 - Ant Design 风格
   ============================ */
.detail-card {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    background: #fff;
}

.detail-card-title {
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 500;
}

.detail-table th {
    background: #fafafa;
    color: var(--ant-text-secondary);
    font-weight: normal;
    text-align: right;
    padding: 12px 16px;
    border: 1px solid #e8e8e8;
}

.detail-table td {
    padding: 12px 16px;
    border: 1px solid #e8e8e8;
}

/* 标签 */
.tag-ok {
    background: #f6ffed;
    border: 1px solid #b7eb8f;
    color: var(--ant-success);
    border-radius: var(--ant-border-radius);
    padding: 1px 8px;
    font-size: 12px;
}

.tag-err {
    background: #fff2f0;
    border: 1px solid #ffccc7;
    color: var(--ant-error);
    border-radius: var(--ant-border-radius);
    padding: 1px 8px;
    font-size: 12px;
}

/* ============================
   36. 加载遮罩 - Ant Design 风格
   ============================ */
.loaderbox {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    box-shadow: var(--ant-shadow);
    padding: 24px;
}

.loading-activity {
    width: 24px;
    height: 24px;
}

/* Bootstrap Table 加载动画 */
.fixed-table-loading {
    background: #fff;
}

.fixed-table-loading .loading-wrap .loading-text {
    color: var(--ant-text-secondary);
    font-size: 14px;
}

/* ============================
   37. 表单头部 - Ant Design 风格
   ============================ */
.form-header {
    border-bottom: 1px solid #e8e8e8;
    padding: 12px 16px;
    font-size: 16px;
    font-weight: 500;
    color: var(--ant-text-primary);
    background: #fafafa;
}

.form-control-plaintext {
    border-bottom: 1px dashed #d9d9d9;
    padding: 4px 0;
}

/* ============================
   38. 导航页签 - Ant Design 风格
   ============================ */
.nav-tabs-custom {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    background: #fff;
}

.nav-tabs-custom > .nav-tabs {
    border-bottom: 1px solid #e8e8e8;
    background: #fafafa;
    margin: 0;
}

.nav-tabs-custom > .nav-tabs > li > a {
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--ant-text-secondary);
    font-size: 14px;
    padding: 12px 16px;
    transition: all 0.3s;
    border-radius: 0;
}

.nav-tabs-custom > .nav-tabs > li > a:hover {
    color: var(--ant-primary);
    background: transparent;
    border-bottom-color: var(--ant-primary);
}

.nav-tabs-custom > .nav-tabs > li.active > a {
    border: none;
    border-bottom: 2px solid var(--ant-primary);
    color: var(--ant-primary);
    background: #fff;
    font-weight: 500;
}

.nav-tabs-custom > .tab-content {
    padding: 16px;
}

/* ============================
   39. 搜索区域 - Ant Design 风格
   ============================ */
.search-collapse,
.select-table {
    background: #fff;
    border-radius: var(--ant-border-radius);
    border: 1px solid #e8e8e8;
    box-shadow: none;
    margin-top: 10px;
    padding-top: 5px;
    padding-bottom: 13px;
    padding-left: 16px;
    padding-right: 16px;
}

.search-collapse .select-list {
    padding: 0;
}

/* 表格工具栏按钮区域 */
.select-table .btn-group,
.select-table .btn {
    margin-top: 0;
    margin-bottom: 0;
}

.search-btn {
    background: var(--ant-primary);
    border-color: var(--ant-primary);
    color: #fff;
    border-radius: var(--ant-border-radius);
}

.search-btn:hover {
    background: var(--ant-primary-hover);
    border-color: var(--ant-primary-hover);
}

/* ============================
   40. 遮罩层 BlockUI - Ant Design 风格
   ============================ */
.blockUI {
    border-radius: var(--ant-border-radius) !important;
    box-shadow: var(--ant-shadow) !important;
}

.blockMsg {
    background: rgba(0, 0, 0, 0.65) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--ant-border-radius) !important;
    padding: 16px 24px !important;
    font-size: 14px !important;
}

/* ============================
   41. Popover / Tooltip - Ant Design 风格
   ============================ */
.popover {
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    box-shadow: var(--ant-shadow);
}

.popover-title {
    background: #fafafa;
    border-bottom: 1px solid #e8e8e8;
    font-size: 14px;
    font-weight: 500;
    padding: 12px 16px;
}

.popover-content {
    padding: 12px 16px;
    font-size: 14px;
}

.tooltip-inner {
    background: rgba(0, 0, 0, 0.75);
    border-radius: var(--ant-border-radius);
    font-size: 12px;
    padding: 4px 8px;
}

/* ============================
   42. 右键菜单 ContextMenu - Ant Design 风格
   ============================ */
.context-menu-list {
    border: 1px solid #e8e8e8 !important;
    border-radius: var(--ant-border-radius) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    padding: 4px 0 !important;
    background: #fff !important;
    min-width: 120px !important;
}

.context-menu-item {
    padding: 6px 16px 6px 36px !important;
    font-size: 14px !important;
    color: var(--ant-text-primary) !important;
    transition: all 0.3s !important;
    line-height: 1.5 !important;
    position: relative !important;
}

.context-menu-item:hover,
.context-menu-item.context-menu-hover {
    background: #f5f5f5 !important;
    color: var(--ant-text-primary) !important;
}

/* Font Awesome 图标样式 */
.context-menu-icon.context-menu-icon--fa::before {
    color: var(--ant-text-secondary) !important;
    font-size: 14px !important;
    left: 12px !important;
    width: 16px !important;
    text-align: left !important;
}

.context-menu-icon.context-menu-icon--fa.context-menu-hover:before {
    color: var(--ant-text-secondary) !important;
}

/* 通用图标样式 */
.context-menu-icon::before {
    color: var(--ant-text-secondary) !important;
    font-size: 14px !important;
    left: 12px !important;
    width: 16px !important;
    text-align: left !important;
}

.context-menu-icon.context-menu-hover:before {
    color: var(--ant-text-secondary) !important;
}

.context-menu-divider {
    border-top: 1px solid #e8e8e8 !important;
    margin: 4px 0 !important;
}

/* ============================
   43. JSON 查看器 - Ant Design 风格
   ============================ */
.jsonview {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size: 13px;
    background: #fafafa;
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    padding: 12px 16px;
}

.jsonview .prop {
    color: var(--ant-text-primary);
}

.jsonview .string {
    color: var(--ant-success);
}

.jsonview .number {
    color: var(--ant-primary);
}

.jsonview .bool {
    color: var(--ant-warning);
}

.jsonview .null {
    color: var(--ant-error);
}

/* ============================
   44. 代码高亮 - Ant Design 风格
   ============================ */
.hljs {
    background: #fafafa;
    border: 1px solid #e8e8e8;
    border-radius: var(--ant-border-radius);
    padding: 16px;
    font-size: 13px;
}

/* ============================
   45. 全屏插件 - Ant Design 风格
   ============================ */
.fullscreen-overlay {
    background: rgba(0, 0, 0, 0.65);
}

/* ============================
   46. 皮肤主题色 - Ant Design 风格
   ============================ */
.skin-blue .navbar-static-top {
    background: #fff !important;
}

/* 白色顶栏下，右上角链接（消息、用户昵称等）需用深色文字，避免继承蓝底主题的浅色 */
.skin-blue .navbar-static-top .nav > li > a {
    color: rgba(0, 0, 0, 0.65) !important;
}

.skin-blue .navbar-static-top .nav > li > a:hover,
.skin-blue .navbar-static-top .nav > li > a:active,
.skin-blue .navbar-static-top .nav > li > a:focus,
.skin-blue .navbar-static-top .nav .open > a,
.skin-blue .navbar-static-top .nav .open > a:hover,
.skin-blue .navbar-static-top .nav .open > a:focus {
    background: rgba(0, 0, 0, 0.04) !important;
    color: rgba(0, 0, 0, 0.85) !important;
}

/* 用户昵称下拉菜单宽度与触发器（头像+昵称）对齐：至少等宽、右对齐、内容不折行 */
.skin-blue .navbar-static-top .user-menu .dropdown-menu {
    min-width: 100%;
    right: 0;
    left: auto;
}

.skin-blue .navbar-static-top .user-menu .dropdown-menu > li > a {
    white-space: nowrap;
}

.skin-blue .sidebar-menu > li.active > a {
    border-left-color: var(--ant-primary);
}

/* 状态标签 -  pill 胶囊样式 */
.label,
.badge {
    border-radius: 100px;
    padding: 2px 10px;
    font-size: 12px;
    font-weight: normal;
}

.label-primary,
.badge-primary {
    background: var(--ant-primary) !important;
    color: #fff;
}

.label-success,
.badge-success {
    background: var(--ant-success) !important;
    color: #fff;
}

.label-warning,
.badge-warning {
    background: var(--ant-warning) !important;
    color: #fff;
}

.label-danger,
.badge-danger {
    background: var(--ant-error) !important;
    color: #fff;
}

.label-info,
.badge-info {
    background: var(--ant-primary) !important;
    color: #fff;
}

/* ============================
   47. 全局过渡动画
   ============================ */
* {
    -webkit-tap-highlight-color: transparent;
}

a, .btn, .form-control, .dropdown-menu > li > a,
.nav > li > a, .page-tabs a, .content-tabs .menuTab,
.toggle-switch .slider, .layui-layer, .layui-layer-btn a {
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

/* ============================
   48. 打印样式
   ============================ */
@media print {
    .navbar-default,
    .navbar-static-top,
    .content-tabs,
    .footer,
    .sidebar-collapse {
        display: none !important;
    }
    #page-wrapper {
        margin-left: 0 !important;
    }
}
