/* ==========================================================================
   2026 Tabler 白天模式（Tabler Light）：FastAdmin 全局美化包
   独立覆盖层，删掉 meta.html 里这一行引入即恢复 FastAdmin 默认皮肤
   ========================================================================== */

/* 1. 全局背景：干净浅灰白 */
body, body.hold-transition, .content-wrapper, .wrapper {
    background-color: #f6f8fb !important;
    background-image: none !important;
    color: #182433 !important;
}

/* 2. 左侧导航：白色 + 细边框 */
.main-sidebar, .left-side {
    background-color: #ffffff !important;
    border-right: 1px solid #e6e8eb !important;
    box-shadow: none !important;
}
.main-sidebar .logo {
    background: #ffffff !important;
    border-bottom: 1px solid #e6e8eb !important;
}
.main-sidebar .logo .logo-lg,
.main-sidebar .logo .logo-mini {
    color: #182433 !important;
}
.sidebar-menu > li > a {
    color: #667382 !important;
}
.sidebar-menu > li.active > a,
.sidebar-menu > li:hover > a {
    background: #ffffff !important;
    color: #C21F30 !important;
    border-left-color: #C21F30 !important;
}
.sidebar-menu .treeview-menu > li > a {
    color: #8a94a6 !important;
}
.sidebar-menu .treeview-menu > li > a:hover,
.sidebar-menu .treeview-menu > li.active > a {
    color: #C21F30 !important;
    background: #ffffff !important;
}

/* 3. 顶部导航 */
.main-header .navbar {
    background: #ffffff !important;
    border-bottom: 1px solid #e6e8eb !important;
    box-shadow: 0 1px 4px rgba(24, 36, 51, 0.04) !important;
}
.main-header .navbar-custom-menu .nav > li > a,
.main-header .navbar .nav > li > a {
    color: #667382 !important;
}
.main-header .navbar .nav > li > a:hover {
    background: #f7f7f7 !important;
    color: #C21F30 !important;
}
.main-header .nav-addtabs .nav-tab {
    color: #8a94a6 !important;
}
.main-header .nav-addtabs .nav-tab.active {
    color: #C21F30 !important;
    border-bottom: 2px solid #C21F30 !important;
}
.sidebar-toggle {
    color: #667382 !important;
}
.sidebar-toggle:hover {
    background: #f7f7f7 !important;
    color: #C21F30 !important;
}

/* 4. 数据面板：白色卡片 */
.panel, .box {
    border: 1px solid #e6e8eb !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 16px rgba(24, 36, 51, 0.04) !important;
    margin-bottom: 24px !important;
}
/* 纯色面板（带 bg-*-gradient 的彩色卡片保留原渐变，避免白字白底看不见） */
.panel:not([class*="bg-"]),
.box:not([class*="bg-"]) {
    background: #ffffff !important;
}
.panel-default > .panel-heading,
.box .box-header {
    background-color: transparent !important;
    border-bottom: 1px solid #eef0f3 !important;
    color: #182433 !important;
}
.box .box-title,
.panel-title {
    color: #182433 !important;
}

/* 5. 核心按钮：Tabler 配色 + 微交互 */
.btn {
    border-radius: 8px !important;
    font-weight: 600 !important;
    letter-spacing: .3px !important;
    transition: all .2s ease !important;
}
.btn-success { background: #1F5230 !important; border: 1px solid #1F5230 !important; color: #fff !important; }
.btn-success:hover { background: #1F5230 !important; box-shadow: 0 4px 12px rgba(47, 179, 68, .3) !important; }
.btn-primary { background: #C21F30 !important; border: 1px solid #C21F30 !important; color: #fff !important; }
.btn-primary:hover { background: #A31A28 !important; box-shadow: 0 4px 12px rgba(32, 107, 196, .3) !important; }
.btn-danger { background: #C21F30 !important; border: 1px solid #C21F30 !important; color: #fff !important; }
.btn-danger:hover { background: #A31A28 !important; box-shadow: 0 4px 12px rgba(214, 57, 57, .3) !important; }
.btn-info { background: #1F5230 !important; border: 1px solid #1F5230 !important; color: #fff !important; }
.btn-info:hover { background: #16401F !important; box-shadow: 0 4px 12px rgba(23, 162, 184, .3) !important; }
.btn-warning { background: #F2D740 !important; border: 1px solid #F2D740 !important; color: #fff !important; }
.btn-warning:hover { background: #F2D740 !important; box-shadow: 0 4px 12px rgba(245, 159, 0, .3) !important; }
.btn-default {
    background: #ffffff !important;
    border: 1px solid #dce1e7 !important;
    color: #182433 !important;
}
.btn-default:hover {
    background: #f6f8fb !important;
    border-color: #c8d0d9 !important;
}
.btn:active {
    transform: translateY(1px) !important;
}

/* 6. 表格：白底、浅灰表头、清晰网格 */
.table {
    color: #182433 !important;
    background: #ffffff !important;
}
.table > thead > tr > th {
    background-color: #f8fafc !important;
    border-bottom: 1px solid #e6e8eb !important;
    color: #182433 !important;
    font-weight: 600 !important;
}
.table > tbody > tr > td {
    border-top: 1px solid #eef0f3 !important;
    padding: 13px 8px !important;
    color: #182433 !important;
    background: transparent !important;
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #fafbfd !important;
}
.table-hover > tbody > tr:hover,
.table-hover > tbody > tr:hover > td {
    background-color: #f1f5fb !important;
}
.table-bordered,
.table-bordered > tbody > tr > td,
.table-bordered > thead > tr > th {
    border-color: #e6e8eb !important;
}

/* 7. 表单输入框 */
.form-control {
    background-color: #ffffff !important;
    border: 1px solid #dce1e7 !important;
    border-radius: 6px !important;
    color: #182433 !important;
    box-shadow: none !important;
}
.form-control:focus {
    border-color: #C21F30 !important;
    box-shadow: 0 0 0 3px rgba(32, 107, 196, 0.12) !important;
}
.form-control::placeholder {
    color: #98a2b3 !important;
}
.input-group-addon {
    background: #f8fafc !important;
    border: 1px solid #dce1e7 !important;
    color: #667382 !important;
    border-radius: 6px !important;
}

/* 8. 分页 / 标签页 / 下拉 / 弹窗 */
.pagination > li > a,
.pagination > li > span {
    background: #ffffff !important;
    border: 1px solid #e6e8eb !important;
    color: #182433 !important;
    border-radius: 6px !important;
    margin: 0 3px;
}
.pagination > li > a:hover {
    color: #C21F30 !important;
    border-color: #C21F30 !important;
}
.pagination > .active > a,
.pagination > .active > span {
    background: #C21F30 !important;
    border-color: #C21F30 !important;
    color: #fff !important;
}
.nav-tabs {
    border-bottom: 1px solid #e6e8eb !important;
}
.nav-tabs > li > a {
    color: #667382 !important;
    border: none !important;
    background: transparent !important;
    border-radius: 0 !important;
}
.nav-tabs > li > a:hover {
    background: #f7f7f7 !important;
    color: #C21F30 !important;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid #C21F30 !important;
    color: #C21F30 !important;
}
.dropdown-menu {
    background: #ffffff !important;
    border: 1px solid #e6e8eb !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 32px rgba(24, 36, 51, 0.12) !important;
}
.dropdown-menu > li > a {
    color: #182433 !important;
}
.dropdown-menu > li > a:hover {
    background: #f7f7f7 !important;
    color: #C21F30 !important;
}
.modal-content {
    background: #ffffff !important;
    border: 1px solid #e6e8eb !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 60px rgba(24, 36, 51, 0.15) !important;
    color: #182433 !important;
}
.modal-header {
    background: transparent !important;
    border-bottom: 1px solid #eef0f3 !important;
    color: #182433 !important;
}
.modal-footer {
    background: transparent !important;
    border-top: 1px solid #eef0f3 !important;
}
/* FastAdmin layer 弹窗 */
.layui-layer,
.layui-layer-iframe {
    background: #ffffff !important;
    border: 1px solid #e6e8eb !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 60px rgba(24, 36, 51, 0.15) !important;
}
.layui-layer-title {
    background: #ffffff !important;
    color: #182433 !important;
    border-bottom: 1px solid #eef0f3 !important;
    border-radius: 14px 14px 0 0 !important;
}
.layui-layer-content {
    background: transparent !important;
    color: #182433 !important;
}
.layui-layer-btn {
    background: #ffffff !important;
    border-top: 1px solid #eef0f3 !important;
}
.layui-layer-btn a {
    background: #1F5230 !important;
    border: none !important;
    border-radius: 8px !important;
    color: #fff !important;
}
.layui-layer-btn .layui-layer-btn1 {
    background: #f6f8fb !important;
    color: #182433 !important;
}
.layui-layer-shade {
    background-color: rgba(24, 36, 51, .35) !important;
}

/* 9. 滚动条 */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f6f8fb; }
::-webkit-scrollbar-thumb { background: #d3dae3; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #b8c2ce; }

/* 10. 链接与文字 */
a { color: #C21F30; }
a:hover, a:focus { color: #A31A28; }
.text-primary { color: #C21F30 !important; }
.label-primary { background-color: #C21F30 !important; }
.breadcrumb { background: transparent !important; }
.breadcrumb > li > a { color: #8a94a6 !important; }
.breadcrumb > .active { color: #182433 !important; }

/* 11. 表格固定列：前后固定列用**不透明白底**，滚动时遮住下面的内容 */
.fixed-columns,
.fixed-columns-right {
    background: #ffffff !important;
}
.fixed-columns .table,
.fixed-columns-right .table {
    background: #ffffff !important;
}
.fixed-columns .table > tbody > tr > td,
.fixed-columns-right .table > tbody > tr > td {
    background: #ffffff !important;
}
.fixed-columns .table > thead > tr > th,
.fixed-columns-right .table > thead > tr > th {
    background: #f8fafc !important;
}
/* 固定列隔行/悬停也保持实色（避免透明穿透） */
.fixed-columns .table-striped > tbody > tr:nth-of-type(odd) > td,
.fixed-columns-right .table-striped > tbody > tr:nth-of-type(odd) > td {
    background: #fafbfd !important;
}
.fixed-columns .table-hover > tbody > tr:hover > td,
.fixed-columns-right .table-hover > tbody > tr:hover > td {
    background: #f1f5fb !important;
}

/* 12. 工作台统计小卡片 */
.sm-st {
    background: #ffffff !important;
    border: 1px solid #e6e8eb !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 16px rgba(24, 36, 51, 0.04) !important;
}
.sm-st-info {
    color: #667382 !important;
}
.sm-st-info span {
    color: #182433 !important;
}

/* 13. 工作台现代网格（2fr:1fr） */
.modern-dashboard-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 24px;
    padding: 10px;
}
.feature-giant-card {
    background: #ffffff;
    border: 1px solid #e6e8eb;
    border-radius: 20px;
    padding: 40px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(24, 36, 51, 0.05);
}
.card-badge {
    display: inline-block;
    padding: 6px 12px;
    background: #f7f7f7;
    color: #C21F30;
    font-size: 11px;
    font-family: monospace;
    border-radius: 30px;
    margin-bottom: 20px;
}
.feature-giant-card h2 {
    color: #182433;
    font-size: 20px;
    margin: 0 0 18px;
    letter-spacing: 1px;
}
.giant-number {
    font-size: 64px;
    font-weight: 800;
    line-height: 1;
    color: #C21F30;
}
.giant-caption {
    color: #667382;
    font-size: 13px;
    margin: 10px 0 0;
    letter-spacing: 1px;
}
.card-actions-group {
    margin-top: 40px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.side-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.compact-data-card {
    background: #ffffff;
    border: 1px solid #e6e8eb;
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
    box-shadow: 0 4px 16px rgba(24, 36, 51, 0.04);
}
.compact-data-card .meta-label {
    display: block;
    color: #667382;
    font-size: 12px;
    letter-spacing: 2px;
}
.compact-data-card .meta-value {
    margin: 10px 0 0;
    font-size: 30px;
    font-weight: 800;
    color: #182433;
}
.compact-data-card.unique-glow {
    border-color: #E8B4BA;
    box-shadow: 0 0 0 3px rgba(32, 107, 196, 0.08), 0 4px 16px rgba(24, 36, 51, 0.04);
}
.compact-data-card.unique-glow .meta-value {
    color: #C21F30;
}
@media (max-width: 992px) {
    .modern-dashboard-grid {
        grid-template-columns: 1fr;
    }
}

/* 14. 左上角 logo 区（FastAdmin 放在 header 里，不在 sidebar） */
.main-header .logo {
    background: #ffffff !important;
    border-bottom: 1px solid #e6e8eb !important;
    color: #182433 !important;
}
.main-header .logo .logo-lg,
.main-header .logo .logo-mini {
    color: #182433 !important;
}

/* 15. 侧边栏展开的子菜单区域：白底（FastAdmin 默认皮肤的深色背景要覆盖） */
.sidebar-menu .treeview-menu {
    background: #ffffff !important;
}
.sidebar-menu .treeview-menu > li {
    background: transparent !important;
}
.sidebar-menu > li.active,
.sidebar-menu > li.active > .treeview-menu {
    background: transparent !important;
}
.sidebar-menu .treeview-menu > li > a {
    color: #667382 !important;
}
.sidebar-menu .treeview-menu > li > a:hover,
.sidebar-menu .treeview-menu > li.active > a {
    color: #C21F30 !important;
    background: #ffffff !important;
}

/* 16. 菜单展开状态（treeview-open）：皮肤默认给了深色背景，改成浅色 */
.sidebar-menu > li.treeview-open > a,
.sidebar-menu > li.treeview-open:hover > a {
    background: #ffffff !important;
    color: #C21F30 !important;
    border-left-color: #C21F30 !important;
}

/* ==========================================================================
   2026-10-28 工作台精准美化补丁（主人提供）
   ========================================================================== */

/* 1. 顶部操作按钮：渐变质感 */
.btn-success, .btn-primary {
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    padding: 8px 16px !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
    text-shadow: none !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.btn-success {
    background: linear-gradient(135deg, #1F5230 0%, #16401F 100%) !important;
}
.btn-success:hover {
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3) !important;
}
.btn-primary {
    background: linear-gradient(135deg, #C21F30 0%, #A31A28 100%) !important;
}
.btn-primary:hover {
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3) !important;
}
.btn:active {
    transform: scale(0.96) !important;
}

/* 2. 右侧小指标区：微卡片悬浮感 */
.row .col-xs-6, .row .col-md-6 {
    transition: all 0.25s ease !important;
    border-radius: 8px !important;
    padding: 12px !important;
}
.row .col-xs-6:hover, .row .col-md-6:hover {
    background: rgba(255, 255, 255, 0.8) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05) !important;
    transform: translateY(-2px);
}

/* 3. 卡片高级质感：细边框 + 大圆角 + 软阴影 */
.box, .panel, .thumbnail {
    border: 1px solid #f1f5f9 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;
    transition: box-shadow 0.3s ease !important;
}
.box:not([class*="bg-"]),
.panel:not([class*="bg-"]),
.thumbnail:not([class*="bg-"]) {
    background: #ffffff !important;
}
.box:hover, .panel:hover {
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06) !important;
}

/* 4. 大号数字：仪表盘冲击力 */
h1, .h1, h2, .h2 {
    font-weight: 800 !important;
    letter-spacing: -1px !important;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* ==========================================================================
   2026-10-28 工作台底部 4 个渐变卡片等高对齐
   ========================================================================== */
.stats-container {
    display: flex !important;
    flex-wrap: wrap;
    align-items: stretch;
}
.stats-container > div[class*="col-"] {
    display: flex !important;
}
.stats-container .panel {
    width: 100% !important;
    display: flex;
    flex-direction: column;
    margin-bottom: 20px !important;
}
.stats-container .panel .panel-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* ==========================================================================
   2026-10-28 细节组件 Tabler 化（日期选择器/开关/下拉/搜索栏/标签/进度条/上传）
   ========================================================================== */

/* 1) 日期选择器 laydate */
.layui-laydate {
    border: 1px solid #e6e8eb !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 30px rgba(24, 36, 51, .12) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.layui-laydate .layui-laydate-header {
    border-bottom: 1px solid #eef0f3;
}
.layui-laydate .layui-laydate-content td {
    border-radius: 6px;
}
.layui-laydate .layui-laydate-content td.layui-this {
    background: #C21F30 !important;
    color: #fff !important;
    border-radius: 6px;
}
.layui-laydate .layui-laydate-content td:hover {
    background: #f7f7f7;
    border-radius: 6px;
}
.layui-laydate .layui-laydate-footer {
    border-top: 1px solid #eef0f3;
}
.layui-laydate .layui-laydate-footer span:hover {
    color: #C21F30;
}
.layui-laydate .layui-laydate-footer .layui-laydate-ok {
    background: #C21F30 !important;
    color: #fff !important;
    border-radius: 6px;
}

/* 2) 开关 bootstrap-switch */
.bootstrap-switch {
    border-radius: 20px !important;
    border: 1px solid #dce1e7 !important;
    overflow: hidden;
}
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary {
    background: #C21F30 !important;
}
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default {
    background: #eef0f3 !important;
    color: #667382 !important;
}
.bootstrap-switch .bootstrap-switch-label {
    background: #fff !important;
}
.bootstrap-switch.bootstrap-switch-focused {
    border-color: #C21F30 !important;
    box-shadow: 0 0 0 3px rgba(32, 107, 196, .12) !important;
}

/* 3) 下拉选择 select2 */
.select2-container--default .select2-selection--single {
    border: 1px solid #dce1e7 !important;
    border-radius: 6px !important;
    height: 34px !important;
    background: #fff !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 32px !important;
    color: #182433 !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 32px !important;
}
.select2-container--default .select2-selection--multiple {
    border: 1px solid #dce1e7 !important;
    border-radius: 6px !important;
    background: #fff !important;
    min-height: 34px;
}
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #C21F30 !important;
    box-shadow: 0 0 0 3px rgba(32, 107, 196, .12) !important;
}
.select2-dropdown {
    border: 1px solid #e6e8eb !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 30px rgba(24, 36, 51, .12) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #C21F30 !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: #f7f7f7 !important;
    border: 1px solid #E8B4BA !important;
    border-radius: 4px !important;
    color: #C21F30 !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #dce1e7 !important;
    border-radius: 6px !important;
    color: #182433 !important;
}

/* 4) 搜索/筛选工具栏 */
.commonsearch-table {
    background: #f8fafc !important;
    border: 1px solid #e6e8eb !important;
    border-radius: 10px !important;
    padding: 12px !important;
    margin-bottom: 12px;
}
.commonsearch-table .form-control {
    height: 34px;
}
.toolbar .btn {
    margin-right: 4px;
}

/* 5) 标签/徽章 */
.label {
    border-radius: 20px;
    padding: 3px 10px;
    font-weight: 600;
}
.label-success { background: #1F5230 !important; }
.label-danger { background: #C21F30 !important; }
.label-warning { background: #F2D740 !important; }
.label-info { background: #1F5230 !important; }
.label-default { background: #98a2b3 !important; }
.badge {
    border-radius: 20px;
}

/* 6) 进度条 */
.progress {
    background: #eef0f3;
    border-radius: 20px;
    height: 8px;
    box-shadow: none;
}
.progress-bar {
    background: #C21F30;
}

/* 7) 提示框/well */
.alert {
    border-radius: 10px;
}
.well {
    background: #f8fafc !important;
    border: 1px solid #e6e8eb;
    border-radius: 10px;
}

/* 8) 上传组件（图片预览缩略图） */
.faupload-preview li {
    border: 1px solid #e6e8eb;
    border-radius: 8px;
    padding: 4px;
    background: #fff;
}
.faupload-preview .thumbnail {
    border-radius: 8px;
    border: none;
}

/* 9) 表格工具栏（导出/列设置图标按钮） */
.fixed-table-toolbar .btn {
    border-radius: 6px;
}
.fixed-table-toolbar .search input {
    border-radius: 6px !important;
}

/* ==========================================================================
   2026-10-28 表单页/附件/详情 继续 Tabler 化
   ========================================================================== */

/* 1) 表单页：白色卡片包裹 */
form.form-horizontal {
    background: #ffffff;
    border: 1px solid #e6e8eb;
    border-radius: 14px;
    padding: 24px 24px 12px;
    box-shadow: 0 4px 16px rgba(24, 36, 51, .04);
}
.form-horizontal .form-group {
    margin-bottom: 18px;
}
.form-horizontal .control-label {
    font-weight: 600;
    color: #182433;
    padding-top: 8px;
}
/* 必填星号红色 */
.form-horizontal .control-label em,
.form-horizontal .control-label .required {
    color: #C21F30;
    font-style: normal;
    margin-right: 2px;
}
/* 表单底部按钮区间隔 */
.form-horizontal .form-group .btn {
    margin-right: 6px;
}

/* 2) 表格里的图片缩略图圆角 */
.table img.img-sm,
.table .img-sm,
.table .img-responsive,
.faupload-preview img,
.table .thumbnail img {
    border-radius: 8px;
}

/* 3) 详情页描述列表 */
.dl-horizontal dt {
    color: #667382;
    font-weight: 600;
}
.dl-horizontal dd {
    color: #182433;
}

/* 4) 空状态提示 */
.text-center.text-muted,
.no-result,
.empty-tip {
    color: #98a2b3 !important;
}

/* 5) 顶部用户下拉菜单（Admin） */
.navbar-custom-menu .user-menu > .dropdown-menu {
    border-radius: 12px;
    padding: 8px 0;
}
.navbar-custom-menu .user-menu > .dropdown-menu > li > a {
    padding: 10px 18px;
}

/* 6) 面包屑与页面标题区 */
.content-header {
    padding: 18px 20px 6px;
}
.content-header > h1 {
    font-size: 20px;
    color: #182433;
}

/* 7) 多选/复选框美化（Tabler 风格圆点） */
.checkbox input[type="checkbox"],
.radio input[type="radio"] {
    accent-color: #C21F30;
}

/* ==========================================================================
   2026-10-28 个人资料页 Tabler 化
   ========================================================================== */
.box.box-primary {
    border: 1px solid #e6e8eb !important;
    border-top: 1px solid #e6e8eb !important;
    border-radius: 14px !important;
}
.box-body.box-profile {
    border-radius: 14px !important;
}
.profile-username {
    font-weight: 700 !important;
    color: #182433 !important;
}
.profile-avatar-container .profile-user-img {
    border: 3px solid #eef0f3;
}
.profile-avatar-container .faupload {
    margin-top: 8px;
}
/* 个人资料表单标签 */
.box-profile .form-group > label,
.box-profile .control-label {
    font-weight: 600;
    color: #182433;
}

/* ==========================================================================
   2026-10-28 错误页 + 附件选择弹窗 Tabler 化
   ========================================================================== */
/* 1) 错误页（页面无法访问/404 等）：按钮改主题蓝，标题深色 */
.error-page .btn-success {
    background: #C21F30 !important;
    border-color: #C21F30 !important;
}
.error-page .btn-success:hover {
    background: #A31A28 !important;
}
.error-page h1,
.error-page h2 {
    color: #182433 !important;
}
.error-page {
    color: #667382;
}

/* 2) 附件选择/上传弹窗（fachoose 打开的 layer iframe） */
.dialog-attachment .thumbnail,
#filelist .thumbnail,
.filelist .thumbnail {
    border-radius: 8px !important;
    border: 1px solid #e6e8eb !important;
    padding: 4px;
}
.dialog-attachment .thumbnail:hover,
#filelist .thumbnail:hover {
    border-color: #C21F30 !important;
    box-shadow: 0 4px 12px rgba(32, 107, 196, .15);
}
/* 附件弹窗顶部筛选/分类标签 */
.dialog-attachment .nav-tabs > li > a {
    border-radius: 6px 6px 0 0 !important;
}

/* 3) 通用弹层里的图片网格 */
.layer-content .thumbnail,
.layui-layer-content .thumbnail {
    border-radius: 8px !important;
    border: 1px solid #e6e8eb !important;
}

/* 17. FastAdmin layer 弹窗标题栏（.layui-layer-fast 前缀优先级更高，要用同级选择器覆盖） */
.layui-layer-fast .layui-layer-title,
.layui-layer .layui-layer-title {
    background: #ffffff !important;
    color: #182433 !important;
    border-bottom: 1px solid #eef0f3 !important;
}
.layui-layer-fast .layui-layer-setwin > a,
.layui-layer .layui-layer-setwin > a {
    color: #667382 !important;
}
/* 2026-10-28 修复：弹窗右上角 X 图标原色是白色，白底标题栏上隐形。图标画在 :after 伪元素上，要单独覆盖 */
.layui-layer-fast .layui-layer-setwin > a:after,
.layui-layer .layui-layer-setwin > a:after {
    color: #667382 !important;
}
.layui-layer-fast .layui-layer-setwin > a:hover,
.layui-layer .layui-layer-setwin > a:hover:after {
    color: #C21F30 !important;
}

/* ==========================================================================
   2026-10-28 字体对比度增强 + 明确边框
   ========================================================================== */
body, .content-wrapper, .panel, .box, .table,
.panel-body, .box-body {
    color: #0b1220 !important;
}
.table > thead > tr > th {
    color: #0b1220 !important;
    font-weight: 700 !important;
}
.table > tbody > tr > td {
    color: #0b1220 !important;
}
.form-control {
    color: #0b1220 !important;
}
/* 边框显示：卡片、表格、输入框 */
.panel, .box {
    border: 1px solid #b9c4d0 !important;
}
.table {
    border: 1px solid #c9d2dc !important;
}
.table > thead > tr > th {
    border-bottom: 2px solid #b9c4d0 !important;
}
.table > tbody > tr > td {
    border-top: 1px solid #dde3ea !important;
}
.form-control {
    border: 1px solid #b9c4d0 !important;
}
/* 表格固定列也加边框 */
.fixed-columns .table,
.fixed-columns-right .table {
    border: 1px solid #c9d2dc !important;
}

/* ==========================================================================
   2026-10-28 红黄绿三色主题（红=主色/选中/删除，黄=编辑/警告，绿=成功/添加）
   ========================================================================== */

/* 1) 红色主色：链接、菜单选中、标签页、分页、焦点 */
a { color: #C21F30 !important; }
a:hover, a:focus { color: #A31A28 !important; }
.sidebar-menu > li.active > a,
.sidebar-menu > li:hover > a,
.sidebar-menu > li.treeview-open > a {
    background: #ffffff !important;
    color: #C21F30 !important;
    border-left-color: #C21F30 !important;
}
.sidebar-menu .treeview-menu > li > a:hover,
.sidebar-menu .treeview-menu > li.active > a {
    color: #C21F30 !important;
    background: #ffffff !important;
}
.main-header .nav-addtabs .nav-tab.active {
    color: #C21F30 !important;
    border-bottom: 2px solid #C21F30 !important;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    color: #C21F30 !important;
    border-bottom: 2px solid #C21F30 !important;
}
.pagination > .active > a,
.pagination > .active > span {
    background: #C21F30 !important;
    border-color: #C21F30 !important;
}
.form-control:focus {
    border-color: #C21F30 !important;
    box-shadow: 0 0 0 3px rgba(211, 47, 47, 0.12) !important;
}
.sidebar-toggle:hover {
    background: #f7f7f7 !important;
    color: #C21F30 !important;
}

/* 2) 绿色：成功/添加/正常状态 */
.btn-success {
    background: #1F5230 !important;
    border-color: #1F5230 !important;
}
.btn-success:hover {
    background: #16401F !important;
    box-shadow: 0 4px 12px rgba(46, 125, 50, 0.3) !important;
}
.label-success,
.badge-success {
    background: #1F5230 !important;
}
.text-success {
    color: #1F5230 !important;
}

/* 3) 黄色：编辑/警告/表头点缀 */
.btn-warning {
    background: #F2D740 !important;
    border-color: #F2D740 !important;
    color: #1A1A1A !important;
}
.btn-warning:hover {
    background: #F2D740 !important;
    box-shadow: 0 4px 12px rgba(249, 168, 37, 0.35) !important;
}
.label-warning,
.badge-warning {
    background: #F2D740 !important;
    color: #1A1A1A !important;
}
.table > thead > tr > th {
    background: #FBF6D9 !important;
    border-bottom: 2px solid #E8D66F !important;
}

/* 4) 编辑按钮（btn-primary 在列表操作列里当编辑用）：黄色 */
.table > tbody > tr > td .btn-primary {
    background: #F2D740 !important;
    border-color: #F2D740 !important;
    color: #1A1A1A !important;
}
.table > tbody > tr > td .btn-primary:hover {
    background: #F2D740 !important;
    color: #1A1A1A !important;
}

/* 5) 删除按钮：红色（保持） */
.btn-danger {
    background: #C21F30 !important;
    border-color: #C21F30 !important;
}
.btn-danger:hover {
    background: #A31A28 !important;
    box-shadow: 0 4px 12px rgba(211, 47, 47, 0.3) !important;
}

/* 6) 信息按钮：绿色（次要操作） */
.btn-info {
    background: #1F5230 !important;
    border-color: #1F5230 !important;
}
.btn-info:hover {
    background: #16401F !important;
}

/* 7) 工作台地图数据点：红色 */
/* （地图颜色由 dashboard.js 配置，这里只改页面上的红黄绿统一元素） */

/* 8) 刷新、工具栏编辑：黄色（与添加绿色区分） */
.btn-refresh,
.btn-edit,
.btn-editone {
    background: #F2D740 !important;
    border-color: #F2D740 !important;
    color: #1A1A1A !important;
}
.btn-refresh:hover,
.btn-edit:hover,
.btn-editone:hover {
    background: #F2D740 !important;
    color: #1A1A1A !important;
}

/* 9) 收尾：info 类标签统一银朱红（禁止其他颜色） */
.label-info,
.badge-info {
    background: #C21F30 !important;
    color: #fff !important;
}
.text-info {
    color: #C21F30 !important;
}

/* 10) FastAdmin 的 bg-xxx 杂色类：全部收敛到三色 */
.bg-blue, .bg-red, .bg-pink, .bg-dark, .bg-black {
    background: #C21F30 !important;
    color: #fff !important;
}
.bg-green, .bg-teal, .bg-purple, .bg-navy {
    background: #1F5230 !important;
    color: #fff !important;
}
.bg-yellow, .bg-orange, .bg-lime {
    background: #F2D740 !important;
    color: #1A1A1A !important;
}
/* 渐变卡片类也收敛（工作台已不用，保险起见） */
.bg-blue-gradient { background: #C21F30 !important; }
.bg-green-gradient { background: #1F5230 !important; }
.bg-purple-gradient { background: #1F5230 !important; }
.bg-yellow-gradient { background: #F2D740 !important; }

/* 11) 次要操作按钮（更多/显示全部/批量）：松花黄，红色只留给删除 */
.btn-more,
.btn-toggle-all {
    background: #F2D740 !important;
    border-color: #F2D740 !important;
    color: #1A1A1A !important;
}
.btn-more:hover,
.btn-toggle-all:hover {
    background: #F2D740 !important;
    color: #1A1A1A !important;
}

/* ==========================================================================
   2026-10-28 最终规范：纯白底 + 纯黑字 + 三色只做点缀（无浅色底）
   ========================================================================== */

/* 1) 全部背景纯白 */
html, body, .wrapper, .content-wrapper,
.main-sidebar, .left-side, .main-sidebar .logo, .main-header .logo,
.main-header .navbar, .panel, .box, .panel-body, .box-body,
.table, .table > thead > tr > th, .table > tbody > tr > td,
.modal-content, .modal-header, .modal-footer,
.layui-layer, .layui-layer-title, .layui-layer-content, .layui-layer-btn,
.well, .commonsearch-table, .dropdown-menu, .pagination > li > a,
.pagination > li > span, .form-control, .input-group-addon,
.nav-tabs > li > a, .nav-tabs > li.active > a {
    background: #ffffff !important;
}

/* 2) 全部文字纯黑 */
body, .content-wrapper, .panel, .box, .panel-body, .box-body,
.table, .table > thead > tr > th, .table > tbody > tr > td,
h1, h2, h3, h4, h5, .panel-title, .box-title, label,
.form-control, .dropdown-menu > li > a,
.breadcrumb > .active, .content-header > h1 {
    color: #000000 !important;
}
a { color: #000000 !important; }
a:hover, a:focus { color: #C21F30 !important; }

/* 3) 菜单选中：白底 + 红字 + 红线（去掉浅红底） */
.sidebar-menu > li > a {
    background: #ffffff !important;
    color: #000000 !important;
}
.sidebar-menu > li.active > a,
.sidebar-menu > li:hover > a,
.sidebar-menu > li.treeview-open > a {
    background: #ffffff !important;
    color: #C21F30 !important;
    border-left: 3px solid #C21F30 !important;
}
.sidebar-menu .treeview-menu {
    background: #ffffff !important;
}
.sidebar-menu .treeview-menu > li > a {
    background: #ffffff !important;
    color: #000000 !important;
}
.sidebar-menu .treeview-menu > li > a:hover,
.sidebar-menu .treeview-menu > li.active > a {
    background: #ffffff !important;
    color: #C21F30 !important;
}

/* 4) 表头：白底 + 黑字 + 黑细线（去掉浅黄底） */
.table > thead > tr > th {
    background: #ffffff !important;
    color: #000000 !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #C21F30 !important;
}
.table > tbody > tr > td {
    background: #ffffff !important;
    color: #000000 !important;
    border-top: 1px solid #e0e0e0 !important;
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background: #ffffff !important;
}
.table-hover > tbody > tr:hover,
.table-hover > tbody > tr:hover > td {
    background: #f7f7f7 !important;
}

/* 5) 顶部标签/分页：白底，选中红字红线 */
.main-header .nav-addtabs .nav-tab {
    background: #ffffff !important;
    color: #000000 !important;
}
.main-header .nav-addtabs .nav-tab.active {
    background: #ffffff !important;
    color: #C21F30 !important;
    border-bottom: 2px solid #C21F30 !important;
}

/* 6) 输入框：白底黑字黑边 */
.form-control {
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #b0b0b0 !important;
}
.form-control:focus {
    border-color: #C21F30 !important;
    box-shadow: 0 0 0 3px rgba(194, 31, 48, 0.1) !important;
}

/* 7) 三色点缀保留：按钮、图标、开关、状态点 */
/*（按钮颜色沿用前面三色规则，不再动）*/


/* ============================================================
   2026-10-28 全站字体加黑加粗
   思路：
   - 正文/表格/菜单/输入框/链接 → 600（PingFang 的 Semibold 真字重，清晰不糊）
   - 标题/表头/按钮 → 700（更醒目）
   - 灰色小字（.text-muted/.help-block/small）→ 一并拉黑
   - 图标字体单独还原 normal，避免被浏览器“合成加粗”描糊
   ============================================================ */

html, body,
.content-wrapper,
.main-sidebar, .main-sidebar .sidebar,
.main-header, .main-header .navbar, .main-header .logo,
.main-footer,
p, span, li, dt, dd,
label, legend,
a, .btn,
input, select, textarea, .form-control, .input-group-addon,
.table, .table > tbody > tr > td,
.dropdown-menu > li > a,
.sidebar-menu > li > a,
.commonsearch-table,
.alert, .well, .help-block, small, .small, .text-muted,
.pagination > li > a, .pagination > li > span {
    font-weight: 600 !important;
}

/* 次要灰字：颜色也拉成纯黑 */
.text-muted, .help-block, small, .small {
    color: #000000 !important;
}

/* 标题、表头：再粗一档 */
h1, h2, h3, h4, h5, h6,
.panel-title, .box-title, .caption > h4,
.content-header > h1,
.table > thead > tr > th,
.modal-title, .layui-layer-title {
    font-weight: 700 !important;
}

/* 按钮、侧边菜单、顶部标签：也要够粗 */
.btn,
.sidebar-menu > li > a,
.main-header .nav-addtabs .nav-tab {
    font-weight: 700 !important;
}

/* 图标字体：强制还原正常字重（只影响粗细，不换图标） */
.fa, .fas, .far, .fab, .ti, .glyphicon, .icon, .iconfont,
[class^="fa-"], [class*=" fa-"],
[class^="ti-"], [class*=" ti-"],
[class^="glyphicon-"] {
    font-weight: normal !important;
}


/* ============================================================
   2026-10-28 红色统一收口：全站所有红色 → 银朱红 #C21F30
   底层 Bootstrap / FastAdmin 自带的老红色（#e74c3c / #dd4b39 / #BD362F）
   在这里全部盖掉
   ============================================================ */

/* 1) 红色文字：状态文字、表单校验报错、列表红字 */
.text-red,
.text-danger,
.form-group.has-error label,
.form-group.has-error .help-block,
.has-error .help-block,
.has-error .control-label,
.has-error .radio, .has-error .checkbox,
.has-error .radio-inline, .has-error .checkbox-inline,
.has-error.radio label, .has-error.checkbox label,
.has-error.radio-inline label, .has-error.checkbox-inline label,
.has-error .form-control-feedback,
.has-error .input-group-addon,
.list-group-item-danger,
a.list-group-item-danger,
button.list-group-item-danger,
a.list-group-item-danger:hover, button.list-group-item-danger:hover,
a.list-group-item-danger:focus, button.list-group-item-danger:focus,
.panel-danger > .panel-heading,
.btn-danger .badge,
.btn-google .badge,
.todo-list > li .tools {
    color: #C21F30 !important;
}

/* 2) 红色边框 */
.has-error .form-control,
.has-error .input-group-addon,
.form-group.has-error .form-control,
.form-group.has-error .input-group-addon,
.box.box-danger,
.box.box-solid.box-danger,
.nav-tabs-custom.tab-danger > .nav-tabs > li.active,
.todo-list .danger {
    border-color: #C21F30 !important;
}

/* 3) 红色背景：标签、提示条、进度条、弹窗、错误 toast */
.label-danger,
.badge-danger,
.progress-bar-danger,
.progress-bar-red,
.box.box-solid.box-danger > .box-header,
.alert-danger, .alert-error,
.modal-danger .modal-body,
.modal-danger .modal-header,
.modal-danger .modal-footer,
.bg-red,
.callout.callout-danger,
.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
.toast-error {
    background-color: #C21F30 !important;
    border-color: #C21F30 !important;
}

/* 深红底上的文字必须是白色（放最后，覆盖上面的红字规则） */
.alert-danger, .alert-error,
.modal-danger .modal-body,
.modal-danger .modal-header,
.modal-danger .modal-footer,
.toast-error,
.toast-error .toast-message,
.toast-error .toast-title,
.label-danger, .badge-danger,
.list-group-item-danger.active {
    color: #ffffff !important;
}

/* 4) 点击瞬间 / 聚焦：字体统一银朱红 */
a:active,
a:focus,
a:visited:active {
    color: #C21F30 !important;
}


/* ============================================================
   2026-10-28 禁用按钮不再发粉：保持三色实色
   原因：Bootstrap 给 .btn.disabled 加了 opacity: .65，
   银朱红被白底一冲就变成粉色。这里把它拉回 100% 不透明。
   ============================================================ */
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn,
.btn.btn-disabled,
a.btn.disabled,
a.btn.btn-disabled {
    opacity: 1 !important;
    filter: none !important;
    cursor: not-allowed;
}

.btn-danger.disabled,
.btn-danger[disabled],
.btn-danger.btn-disabled,
a.btn-danger.disabled,
a.btn-danger.btn-disabled {
    background: #C21F30 !important;
    border-color: #C21F30 !important;
    color: #ffffff !important;
}

.btn-success.disabled,
.btn-success[disabled],
.btn-success.btn-disabled,
a.btn-success.disabled,
a.btn-success.btn-disabled {
    background: #1F5230 !important;
    border-color: #1F5230 !important;
    color: #ffffff !important;
}

.btn-warning.disabled,
.btn-warning[disabled],
.btn-warning.btn-disabled,
a.btn-warning.disabled,
a.btn-warning.btn-disabled,
.btn-more.disabled,
a.btn-more.btn-disabled {
    background: #F2D740 !important;
    border-color: #F2D740 !important;
    color: #1A1A1A !important;
}

.btn-info.disabled,
.btn-info[disabled],
.btn-info.btn-disabled {
    background: #1F5230 !important;
    border-color: #1F5230 !important;
    color: #ffffff !important;
}

/* 菜单点击/展开后的底色：纯白，不要浅粉 */
.sidebar-menu > li.active > a,
.sidebar-menu > li.menu-open > a,
.sidebar-menu > li.open > a,
.sidebar-menu > li.treeview-open > a,
.sidebar-menu > li:hover > a,
.sidebar-menu > li.treeview-open:hover > a,
.sidebar-menu > li.menu-open:hover > a {
    background: #ffffff !important;
    color: #C21F30 !important;
    border-left: 3px solid #C21F30 !important;
}

.sidebar-menu .treeview-menu > li.active > a,
.sidebar-menu .treeview-menu > li > a:hover {
    background: #ffffff !important;
    color: #C21F30 !important;
}


/* ============================================================
   2026-10-28 黄色按钮悬停：始终同一个松花黄
   之前悬停会变成暗黄 #D4B92F，同一排按钮里忽明忽暗；
   现在悬停保持 #F2D740，只加一层阴影做点击反馈。
   ============================================================ */
.btn-primary:hover,
.btn-warning:hover,
.btn-more:hover,
.btn-toggle-all:hover,
.btn-refresh:hover,
.btn-edit:hover,
.btn-editone:hover,
.table > tbody > tr > td .btn-primary:hover,
.table > tbody > tr > td .btn-refresh:hover,
.table > tbody > tr > td .btn-editone:hover {
    background: #F2D740 !important;
    border-color: #F2D740 !important;
    color: #1A1A1A !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16) !important;
}

/* 绿色按钮悬停：用加深后的深绿，层次分开 */
.btn-success:hover,
.btn-info:hover,
.table > tbody > tr > td .btn-success:hover,
.table > tbody > tr > td .btn-info:hover {
    background: #16401F !important;
    border-color: #16401F !important;
    color: #ffffff !important;
}


/* ============================================================
   2026-10-28 侧边栏"搜索菜单"：白底输入框 + 银朱红搜索按钮
   （原来是 AdminLTE 默认的深灰蓝按钮）
   ============================================================ */
.sidebar-form .form-control {
    background: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #d4d4d4 !important;
    box-shadow: none !important;
}
.sidebar-form .form-control:focus {
    border-color: #C21F30 !important;
    box-shadow: 0 0 0 2px rgba(194, 31, 48, 0.12) !important;
}
.sidebar-form #search-btn,
.sidebar-form .input-group-btn .btn {
    background: #C21F30 !important;
    border: 1px solid #C21F30 !important;
    color: #ffffff !important;
}
.sidebar-form #search-btn:hover,
.sidebar-form .input-group-btn .btn:hover {
    background: #A31A28 !important;
    border-color: #A31A28 !important;
    color: #ffffff !important;
}

/* 搜索结果下拉 */
.menuresult {
    background: #ffffff !important;
    border: 1px solid #e6e8eb !important;
}
.menuresult a {
    color: #000000 !important;
    background: #ffffff !important;
}
.menuresult a:hover {
    background: #f7f7f7 !important;
    color: #C21F30 !important;
}


/* ============================================================
   2026-10-28 全站：文字描边 + 元素边框
   1) 文字加同色细描边，让字更实、边缘更锐利（图标不加，避免糊）
   2) 面板、表格、输入框、下拉、弹窗加上清晰边框线
   ============================================================ */

/* ---------- 1) 文字描边 ---------- */
html, body,
.content-wrapper,
.main-sidebar, .main-header, .main-footer,
p, span, li, dt, dd, label, legend,
a, .btn, button,
input, select, textarea, .form-control, .input-group-addon,
.table, .table > thead > tr > th, .table > tbody > tr > td,
.dropdown-menu > li > a,
.sidebar-menu > li > a,
h1, h2, h3, h4, h5, h6,
.panel-title, .box-title, .content-header > h1,
.breadcrumb, .pagination > li > a, .pagination > li > span,
.alert, .help-block, small, .small, .text-muted {
    -webkit-text-stroke: 0.3px currentColor;
    paint-order: stroke fill;
}

/* 图标字体：不加描边（否则会糊成一团） */
.fa, .fas, .far, .fab, .ti, .glyphicon, .icon, .iconfont,
[class^="fa-"], [class*=" fa-"],
[class^="ti-"], [class*=" ti-"],
[class^="glyphicon-"] {
    -webkit-text-stroke: 0 !important;
    paint-order: normal !important;
}

/* ---------- 2) 元素边框 ---------- */

/* 卡片/面板 */
.panel, .box {
    border: 1px solid #000000 !important;
}
.panel-default > .panel-heading,
.box-header {
    border-bottom: 1px solid #000000 !important;
}

/* 表格：外框 + 所有单元格竖线 */
.table {
    border: 1px solid #000000 !important;
}
.table > thead > tr > th,
.table > tbody > tr > td {
    border-left: 1px solid #000000 !important;
    border-right: 1px solid #000000 !important;
}

/* 输入框、下拉、弹窗、提示框、分页 */
.form-control,
.input-group-addon,
.btn {
    border-color: #000000 !important;
}
.dropdown-menu,
.modal-content,
.layui-layer,
.well,
.commonsearch-table,
.pagination > li > a,
.pagination > li > span,
.nav-tabs,
.nav-tabs > li > a {
    border: 1px solid #000000 !important;
}

/* 侧边栏搜索框 */
.sidebar-form .form-control {
    border: 1px solid #000000 !important;
}

/* 顶部标签页 */
.main-header .nav-addtabs .nav-tab {
    border: 1px solid #000000 !important;
    border-bottom: none !important;
}


/* ============================================================
   2026-10-28 把线连起来
   1) 顶部标签页：去掉各自独立的方框，改成共享竖线的一整排
   2) 表格：每格四面都有黑线，横竖全部连通，不留断口
   ============================================================ */

/* ---------- 1) 顶部标签页 ---------- */
.main-header .nav-addtabs .nav-tab {
    border: none !important;
    border-right: 1px solid #000000 !important;
    border-radius: 0 !important;
    margin: 0 !important;
}
.main-header .nav-addtabs .nav-tab:first-child {
    border-left: 1px solid #000000 !important;
}
.main-header .nav-addtabs .nav-tab > a {
    margin-right: 0 !important;
    border: none !important;
    border-radius: 0 !important;
}
.main-header .nav-addtabs .nav-tab.active {
    border-bottom: 2px solid #C21F30 !important;
}
.main-header .nav-addtabs {
    border-bottom: 1px solid #000000 !important;
}

/* ---------- 2) 表格完整网格 ---------- */
.bootstrap-table .table > thead > tr > th {
    border: 1px solid #000000 !important;
    border-bottom: 2px solid #C21F30 !important;
}
.bootstrap-table .table > tbody > tr > td {
    border: 1px solid #000000 !important;
}
.bootstrap-table .fixed-columns .table > thead > tr > th,
.bootstrap-table .fixed-columns-right .table > thead > tr > th {
    border: 1px solid #000000 !important;
    border-bottom: 2px solid #C21F30 !important;
}
.bootstrap-table .fixed-columns .table > tbody > tr > td,
.bootstrap-table .fixed-columns-right .table > tbody > tr > td {
    border: 1px solid #000000 !important;
}


/* ============================================================
   2026-10-28 顶部标签栏连线（修正选择器）
   实际结构：ul.nav-addtabs > li > a，没有 .nav-tab 类
   左边框在 ul 上，每个 a 只留右边框 → 相邻标签共享一条线
   ============================================================ */
.main-header .nav-addtabs {
    border-left: 1px solid #000000 !important;
    border-bottom: 1px solid #000000 !important;
}
.main-header .nav-addtabs > li:not(.tabdrop) > a {
    border: none !important;
    border-right: 1px solid #000000 !important;
    border-radius: 0 !important;
    margin-right: 0 !important;
}
.main-header .nav-addtabs > li.active > a {
    border-bottom: 2px solid #C21F30 !important;
}


/* ============================================================
   2026-10-28 页面外框连起来
   顶部一条横线（从左到右贯通），左侧一条竖线（从上到下贯通）
   ============================================================ */

/* 顶部横线：整个 header（含左侧 logo 区 + 右侧导航）底边一条黑线 */
.main-header,
.main-header .logo,
.main-header .navbar {
    border-bottom: 1px solid #000000 !important;
}

/* 左侧竖线：侧边栏右边一条黑线，从顶部一直到底部 */
.main-sidebar {
    border-right: 1px solid #000000 !important;
}

/* 页脚顶线（如果页面有页脚） */
.main-footer {
    border-top: 1px solid #000000 !important;
}

/* 内容区顶部与 header 之间不再留缝：面板顶边紧贴 header 底线 */
.content-wrapper > .content {
    padding-top: 0 !important;
}
.content-wrapper > .content > .row > [class*="col-"] {
    padding-top: 8px;
}


/* 内容面板顶边贴紧 header 底线，两条线合成一条 */
.content-wrapper > .content,
.content-wrapper .content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.content-wrapper > .content > .row,
.content-wrapper .content > .row {
    margin-top: 0 !important;
}
.content-wrapper > .content > .row > [class*="col-"],
.content-wrapper .content > .row > [class*="col-"] {
    padding-top: 0 !important;
}
/* 面板本身顶边留 1px 与 header 底线重合，看起来是一条完整长线 */
.content-wrapper .panel,
.content-wrapper .box {
    margin-top: 0 !important;
}


/* ============================================================
   2026-10-28 iframe 内内容区贴边
   FastAdmin 内容放在 iframe 里，.content 有 15px 内边距，
   导致面板边框和外层 header/侧边栏的线对不上。
   去掉顶部和左右内边距，让面板四边与外框线重合。
   ============================================================ */
.content {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* 内容里的行与列也不留左右边距，避免二次缩进 */
.content > .row,
.content .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.content > .row > [class*="col-"],
.content .row > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* ============================================================
   2026-10-28 页面最顶端横线
   header 顶部（页面最上沿）也画一条黑线，和左边的竖线、下面的横线围成完整外框
   ============================================================ */
.main-header,
.main-header .logo,
.main-header .navbar {
    border-top: 1px solid #000000 !important;
}


/* ============================================================
   2026-10-28 顶部右侧去压线
   标签栏右边线压到"主页"按钮、齿轮图标顶到屏幕边缘
   → 标签栏右侧让出空隙，右侧导航整体向内收
   ============================================================ */
.main-header .nav-addtabs {
    margin-right: 14px !important;
}
.main-header .navbar-custom-menu {
    padding-right: 10px !important;
}
.main-header .navbar-custom-menu > ul > li:last-child > a {
    padding-right: 12px !important;
}

/* 微调：右侧导航不复位，只让标签栏多让一点空间 */
.main-header .navbar-custom-menu {
    padding-right: 0 !important;
}
.main-header .nav-addtabs {
    margin-right: 26px !important;
}

/* 标签栏末尾那条竖线去掉（它在空白区末端，会压到右侧"主页"） */
.main-header .nav-addtabs {
    border-right: none !important;
}


/* ============================================================
   2026-10-28 弹窗统一黑细线边框（原来是浅灰或没有边框）
   ============================================================ */
.layui-layer,
.layui-layer.layui-layer-iframe,
.layui-layer.layui-layer-page,
.layui-layer.layui-layer-dialog,
.layui-layer.layui-layer-msg,
.modal-content {
    border: 1px solid #000000 !important;
    border-radius: 10px !important;
}
.layui-layer-title,
.modal-header,
.modal-footer {
    border-bottom: 1px solid #000000 !important;
}
.layui-layer-btn {
    border-top: 1px solid #000000 !important;
}
.modal-footer {
    border-top: 1px solid #000000 !important;
    border-bottom: none !important;
}


/* ============================================================
   2026-10-28 顶部 header 底层背景改白
   AdminLTE 默认 header 背景是深灰 #222D32，
   标签栏右侧空白区会把它露出来，形成一条黑带。
   ============================================================ */
.main-header,
.main-header .logo,
.main-header .navbar,
.main-header .navbar-custom-menu,
.main-header .nav-addtabs {
    background: #ffffff !important;
}
