/*# sourceMappingURL=custom.min.css.map */
/* ==========================================================================
   RinHoo ERP 干练工业级控制台样式规范 (对标 hy.yaogeche.com / TMS 设计体系)
   核心原则：
   1. 字号梯度：全局正文基准 13px，搜索标签 12.5px，表格内容 12.5px，卡片标题 14px
   2. 左侧菜单：保留原有暗色侧边栏样式 (#181B24 背景、原有字号与间距)
   3. 顶栏瘦身：48px 高度，白底细边 #edf0f5，26px 紧凑头像
   4. 控件尺寸：输入框/下拉框/标准按钮统一 29px 高度、13px 字号、4px 圆角；表格微按钮 23px~24px 高、12px 字号
   5. 色彩体系：主色科技蓝 #1890ff / #2693ff，琥珀橙 #dfa03a，页面底色 #f0f2f5，表头 #f7f9fb，行悬停 #eef6ff
   6. 数字与单号：全面启用 tabular-nums 等宽数字对齐
   ========================================================================== */

:root {
    --erp-font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    --erp-font-mono: Consolas, Monaco, "Roboto Mono", "SF Pro Display", monospace;
    --tms-primary: #1890ff;
    --tms-primary-hover: #40a9ff;
    --tms-btn-blue: #2693ff;
    --tms-badge-blue: #2b9af3;
    --tms-amber: #dfa03a;
    --tms-amber-hover: #e8b055;
    --tms-bg-page: #f0f2f5;
    --tms-border-light: #e6ebf1;
    --tms-text-main: #262626;
    --tms-text-regular: #595959;
    --tms-text-secondary: #8c8c8c;

    --vz-font-sans-serif: var(--erp-font-sans) !important;
    --vz-font-family-primary: var(--erp-font-sans) !important;
    --vz-font-family-secondary: var(--erp-font-sans) !important;
    --vz-body-bg: #f0f2f5 !important;
    --vz-body-color: #262626 !important;
    --vz-heading-color: #262626 !important;
    --vz-border-color: #e6ebf1 !important;
    --vz-primary: #1890ff !important;
    --vz-primary-rgb: 24, 144, 255 !important;
    --vz-link-color: #1890ff !important;
    --vz-link-hover-color: #40a9ff !important;
    --vz-vertical-menu-width: 224px;
    --vz-vertical-menu-width-sm: 64px;
}

/* 一、全局字体栈、13px 干练字号（html 保持 14px 以确保左侧菜单 rem 间距不变）、行高与滚动条美化 */
html {
    font-family: var(--erp-font-sans) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    overflow-x: hidden !important;
    max-width: 100vw;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body {
    font-family: var(--erp-font-sans) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: var(--tms-text-main) !important;
    background-color: var(--tms-bg-page) !important;
    font-weight: 400;
    letter-spacing: 0 !important;
    overflow-x: hidden !important;
    max-width: 100vw;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body.bg-white {
    background-color: #ffffff !important;
}

::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: #c8d0dc;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #a4b0c2;
}

#layout-wrapper,
.main-content,
.page-content {
    overflow-x: hidden !important;
}

/* 智能容器留白与防遮挡兜底（顶栏 #page-topbar 高度压缩为 48px，页面留白紧凑化） */
#layout-wrapper:has(#page-topbar) .main-content > .page-content {
    padding: calc(48px + 10px) 10px 12px 10px !important;
}
#layout-wrapper:has(#page-topbar) .main-content > .page-content:has(#orderList) {
    padding: calc(48px + 8px) 10px 8px 10px !important;
}
#layout-wrapper:has(#page-topbar) .main-content:not(:has(> .page-content)) {
    padding: calc(48px + 10px) 14px 12px 14px !important;
}
#layout-wrapper:not(:has(#page-topbar)) .main-content > .page-content {
    padding: 12px 10px !important;
}
#layout-wrapper:not(:has(#page-topbar)) .main-content:not(:has(> .page-content)) {
    padding: 12px 14px !important;
}
.page-content .page-content {
    padding: 0 !important;
}
.page-content > .container-fluid {
    padding-left: 4px !important;
    padding-right: 4px !important;
}

/* 彻底消除 .table-card 与 .nav-tabs-custom.card-header-tabs 负外边距导致的元素覆盖与横向滚动条 */
.table-card,
#orderTable_box.table-card {
    margin: 0 !important;
}
.nav-tabs-custom.card-header-tabs {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.dataTables_wrapper .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.dataTables_wrapper .row > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

button, input, select, textarea, .table, .card-title, .nav-link, .dropdown-item, .btn, .badge, .form-control, .form-select, .input-group-text, h1, h2, h3, h4, h5, h6 {
    font-family: var(--erp-font-sans) !important;
    letter-spacing: 0 !important;
}

/* 中文禁斜体（图标类名与品牌 Logo 除外） */
em, address, cite, dfn, var,
i:not([class*="ri-"]):not([class*="mdi-"]):not([class*="bx"]):not([class*="la-"]):not([class*="fa"]):not([class*="las"]):not([class*="lar"]):not([class*="lab"]) {
    font-style: normal !important;
}

/* 二、字重与精细字号梯度（对标 hy.yaogeche.com） */
strong, b, .fw-bold, .fw-semibold, .fw-bolder, th, thead th {
    font-weight: 600 !important;
}
.fw-medium, label, .form-label, .col-form-label {
    font-weight: 500 !important;
}

h1:not([class*="fs-"]), .h1:not([class*="fs-"]) {
    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    color: var(--tms-text-main);
}
h2:not([class*="fs-"]), .h2:not([class*="fs-"]),
h3:not([class*="fs-"]), .h3:not([class*="fs-"]) {
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    color: var(--tms-text-main);
}
h4:not([class*="fs-"]), .h4:not([class*="fs-"]),
h5:not([class*="fs-"]), .h5:not([class*="fs-"]),
.card-title,
.modal-title {
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    color: var(--tms-text-main) !important;
}
h6:not([class*="fs-"]), .h6:not([class*="fs-"]) {
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    color: var(--tms-text-main);
}

/* 显式字号工具类精准映射 */
.fs-24 { font-size: 24px !important; }
.fs-22 { font-size: 22px !important; }
.fs-20 { font-size: 20px !important; }
.fs-18 { font-size: 18px !important; }
.fs-16 { font-size: 16px !important; }
.fs-15 { font-size: 15px !important; }
.fs-14 { font-size: 13px !important; line-height: 1.45 !important; }
.fs-13 { font-size: 12.5px !important; line-height: 1.45 !important; }
small, .small, .fs-12, .fs-11 {
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.text-muted, .form-text {
    color: var(--tms-text-secondary) !important;
}
.text-secondary {
    color: var(--tms-text-regular) !important;
}
.text-primary {
    color: var(--tms-primary) !important;
}

/* ==========================================================================
   三、暗色侧边栏对比度（保留原有左侧菜单样式，不作更改）
   ========================================================================== */
[data-sidebar="dark"] .navbar-menu {
    background-color: #181B24 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.06);
}
[data-sidebar="dark"] .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
}
[data-sidebar="dark"] .navbar-nav .nav-link:hover,
[data-sidebar="dark"] .navbar-nav .nav-link.active,
[data-sidebar="dark"] .navbar-nav .nav-link[aria-expanded="true"] {
    color: rgba(255, 255, 255, 0.85) !important;
    font-weight: 500 !important;
}
[data-sidebar="dark"] .navbar-nav .nav-sm .nav-link {
    color: rgba(255, 255, 255, 0.68) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}
[data-sidebar="dark"] .navbar-nav .nav-sm .nav-link:hover,
[data-sidebar="dark"] .navbar-nav .nav-sm .nav-link.active {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* ==========================================================================
   四、顶部导航栏 (#page-topbar 对标 .tms-topbar 48px 干练风格)
   ========================================================================== */
#page-topbar {
    background-color: #ffffff !important;
    border-bottom: 1px solid #edf0f5 !important;
    box-shadow: none !important;
}
.navbar-header {
    height: 48px !important;
    padding: 0 14px 0 10px !important;
}
#page-topbar .header-item {
    height: 48px !important;
}
.navbar-header .btn-topbar {
    width: 32px !important;
    height: 32px !important;
    color: #595959 !important;
}
.navbar-header .btn-topbar:hover {
    background-color: #f2f4f7 !important;
    color: var(--tms-primary) !important;
}
.header-profile-user {
    width: 26px !important;
    height: 26px !important;
}
.topbar-user {
    background-color: transparent !important;
}
.topbar-user > .btn {
    height: 34px !important;
    border-radius: 4px !important;
}
.topbar-user > .btn:hover {
    background-color: #f5f7fa !important;
}

/* ==========================================================================
   五、数字等宽规范 (tabular-nums)
   ========================================================================== */
.list_table td,
.list_table th,
.table td,
.table th,
.metric,
.counter-value,
.badge,
input[type="number"],
input[type="date"],
.page_num_info {
    font-variant-numeric: tabular-nums !important;
}
.metric,
.counter-value {
    font-family: var(--erp-font-mono) !important;
    font-variant-numeric: tabular-nums !important;
}

/* ==========================================================================
   六、全站按钮与表单控件尺寸（对标 hy.yaogeche.com：29px 高、13px 字号、4px 圆角、科技蓝主色）
   ========================================================================== */
.btn:not(.btn-lg):not(.btn-xs):not(.btn-icon):not(.topbar-badge-btn):not(.header-item):not(.btn-topbar),
.btn-sm:not(.btn-icon):not(.header-item):not(.btn-topbar),
.erp-btn,
.erp-btn-sm {
    height: 29px !important;
    min-height: 29px !important;
    padding: 0 11px !important;
    font-size: 13px !important;
    line-height: 27px !important;
    font-weight: 500 !important;
    border-radius: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}
.btn-lg {
    height: 36px !important;
    padding: 0 18px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border-radius: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.btn-xs,
.list_table .btn:not(.btn-icon),
.list_table .btn-sm:not(.btn-icon),
.list_table .btn-xs:not(.btn-icon),
#orderList .btn-xs:not(.btn-icon) {
    height: 23px !important;
    min-height: 23px !important;
    padding: 0 7px !important;
    font-size: 12px !important;
    line-height: 21px !important;
    font-weight: 500 !important;
    border-radius: 3px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
}

/* 科技蓝主按钮与琥珀色辅助按钮配色升级 */
.btn-primary,
.erp-btn-primary {
    background-color: var(--tms-btn-blue) !important;
    border-color: var(--tms-btn-blue) !important;
    color: #ffffff !important;
}
.btn-primary:hover,
.btn-primary:focus,
.erp-btn-primary:hover {
    background-color: #46a6ff !important;
    border-color: #46a6ff !important;
    color: #ffffff !important;
}
.btn-success {
    background-color: #22b573 !important;
    border-color: #22b573 !important;
    color: #ffffff !important;
}
.btn-success:hover,
.btn-success:focus {
    background-color: #36c384 !important;
    border-color: #36c384 !important;
    color: #ffffff !important;
}
.btn-warning,
.erp-btn-warning {
    background-color: var(--tms-amber) !important;
    border-color: var(--tms-amber) !important;
    color: #ffffff !important;
}
.btn-warning:hover,
.btn-warning:focus,
.erp-btn-warning:hover {
    background-color: var(--tms-amber-hover) !important;
    border-color: var(--tms-amber-hover) !important;
    color: #ffffff !important;
}
.btn-soft-primary {
    color: var(--tms-primary) !important;
    background-color: #ecf5ff !important;
    border-color: #d9ecff !important;
}
.btn-soft-primary:hover {
    color: #ffffff !important;
    background-color: var(--tms-primary) !important;
    border-color: var(--tms-primary) !important;
}

/* 全站单行表单输入框与下拉框统一 29px 干练高度、13px 字号 */
.form-control:not(textarea):not(.form-control-lg):not(.form-select):not(select),
.form-control-sm:not(textarea):not(.form-select):not(select) {
    height: 29px !important;
    min-height: 29px !important;
    padding: 2px 9px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: var(--tms-text-main) !important;
    border-color: #dcdfe6 !important;
    background-color: #ffffff;
    border-radius: 4px !important;
}
select.form-select:not(.form-select-lg),
.form-select:not(.form-select-lg),
select.form-select-sm,
.form-select-sm,
select.form-control,
select.form-control-sm,
select.erp-select {
    height: 29px !important;
    min-height: 29px !important;
    padding: 2px 26px 2px 8px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: var(--tms-text-main) !important;
    border-color: #dcdfe6 !important;
    background-color: #ffffff;
    background-position: right 7px center !important;
    background-size: 12px 9px !important;
    border-radius: 4px !important;
}
input[type="file"].form-control,
input[type="file"].form-control-sm {
    padding: 2px 6px !important;
    line-height: 22px !important;
}
textarea.form-control {
    min-height: 72px;
    padding: 6px 9px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: var(--tms-text-main) !important;
    border-color: #dcdfe6 !important;
    border-radius: 4px !important;
}
.input-group > .input-group-text,
.input-group-sm > .input-group-text {
    height: 29px !important;
    padding: 0 8px !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    background-color: #f5f7fa !important;
    color: #606266 !important;
    border-color: #dcdfe6 !important;
    font-weight: 500;
}
.form-control:focus,
.form-select:focus {
    border-color: var(--tms-primary) !important;
    box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.12) !important;
}

/* 防止 flex 布局中表单标签/提示文字被挤压换行 */
.d-flex > span:not(.badge):not(.logo-sm):not(.logo-lg):not(.hamburger-icon),
.d-flex > label:not(.perm-item),
.d-inline-flex > span:not(.badge),
.d-inline-flex > label {
    white-space: nowrap;
    flex-shrink: 0;
}

/* ==========================================================================
   七、核心组件 1：表格（对标 .tms-table：12.5px 字号，#f7f9fb 表头，#eef6ff 清透淡蓝悬停）
   ========================================================================== */
.table,
.list_table,
#orderTable,
table.dataTable.list_table {
    border-color: var(--tms-border-light) !important;
    color: var(--tms-text-main) !important;
}
.list_table th,
#orderTable thead th,
table.dataTable.list_table thead th,
.table > thead > tr > th {
    padding: 7px 10px !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    color: #303133 !important;
    background-color: #f7f9fb !important;
    border-color: var(--tms-border-light) !important;
    border-bottom: 1px solid var(--tms-border-light) !important;
    white-space: nowrap;
    vertical-align: middle;
}
/* 隐藏含复选框表头单元格的 DataTables 排序伪元素箭头 */
table.dataTable > thead > tr > th:has(input[type="checkbox"])::before,
table.dataTable > thead > tr > th:has(input[type="checkbox"])::after,
table.dataTable > thead > tr > td:has(input[type="checkbox"])::before,
table.dataTable > thead > tr > td:has(input[type="checkbox"])::after,
table.dataTable > thead .no-sort::before,
table.dataTable > thead .no-sort::after {
    display: none !important;
    content: none !important;
}
table.dataTable > thead > tr > th:has(input[type="checkbox"]),
table.dataTable > thead .no-sort {
    padding-right: 6px !important;
    padding-left: 6px !important;
}
.list_table td,
#orderTable tbody td,
table.dataTable.list_table tbody td,
table.dataTable.list_table tbody th,
.table > tbody > tr > td {
    padding: 6px 10px !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    color: var(--tms-text-main) !important;
    border-color: #ebeef5 !important;
    vertical-align: middle !important;
}
.table-light,
tr.table-light,
tbody tr.table-light,
thead.table-light {
    --vz-table-color: #303133 !important;
    --vz-table-bg: #f7f9fb !important;
    --vz-table-border-color: #e6ebf1 !important;
    --vz-table-striped-bg: #fafbfc !important;
    --vz-table-striped-color: #262626 !important;
    --vz-table-active-bg: #e6f4ff !important;
    --vz-table-active-color: #262626 !important;
    --vz-table-hover-bg: #eef6ff !important;
    --vz-table-hover-color: #262626 !important;
    color: #303133 !important;
}
.list_table tbody tr:hover > td,
.list_table tbody tr:hover > th,
#orderTable tbody tr:hover > td,
.table-hover > tbody > tr:hover > *,
.table-hover > tbody > tr.table-light:hover > * {
    --vz-table-accent-bg: #eef6ff !important;
    --vz-table-hover-bg: #eef6ff !important;
    --vz-table-hover-color: #262626 !important;
    background-color: #eef6ff !important;
    box-shadow: inset 0 0 0 9999px #eef6ff !important;
    color: #262626 !important;
}
.list_table tfoot td,
.list_table tfoot th {
    padding: 6px 10px !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    background-color: #f7f9fb !important;
    border-color: var(--tms-border-light) !important;
}

/* ==========================================================================
   八、核心组件 2：列表卡片 #orderList、分段 Tab (.tms-segment-tabs) 与白底通透搜索栏
   ========================================================================== */
#orderList.card {
    margin-bottom: 0 !important;
    border: 1px solid var(--tms-border-light) !important;
    box-shadow: 0 1px 3px rgba(0, 21, 41, 0.04) !important;
    border-radius: 4px !important;
    background-color: #ffffff;
}
#orderList > .card-header {
    padding: 7px 14px !important;
    border-bottom: 1px solid #ebeef5 !important;
    background-color: #ffffff !important;
}
#orderList > .card-header .card-title {
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    color: var(--tms-text-main) !important;
}
/* 去除搜索区厚重灰底，改为与 hy.yaogeche.com 一致的白底通透排布 + 浅细虚线底边 */
#orderList > .card-body.border-dashed,
#orderList > .card-body.border {
    padding: 7px 14px !important;
    background-color: #ffffff !important;
    border-top: none !important;
    border-bottom: 1px dashed #ebeef5 !important;
}
#orderList > .card-body.pt-0,
#orderList > .card-body:last-child {
    padding: 8px 14px !important;
}

/* 状态/分类切换 Tab 对标 hy.yaogeche.com 的 .tms-segment-tabs */
.nav-tabs-custom {
    border-bottom: 1px solid #ebeef5 !important;
    gap: 16px;
}
.nav-tabs-custom .nav-item {
    margin-bottom: 0 !important;
}
.nav-tabs-custom .nav-item .nav-link {
    font-size: 13px !important;
    color: #4e5969 !important;
    font-weight: 400 !important;
    padding: 5px 4px 7px !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    background: transparent !important;
    transition: all 0.18s ease !important;
}
.nav-tabs-custom .nav-item .nav-link::after {
    display: none !important;
}
.nav-tabs-custom .nav-item .nav-link:hover {
    color: var(--tms-primary) !important;
}
.nav-tabs-custom .nav-item .nav-link.active {
    color: var(--tms-primary) !important;
    font-weight: 600 !important;
    border-bottom: 2px solid var(--tms-primary) !important;
    background: transparent !important;
}

/* 九、搜索栏标签（對标 .field-lbl：12.5px，#606266） */
#orderList form .row,
#orderList form.row {
    --bs-gutter-x: 6px !important;
    --bs-gutter-y: 6px !important;
}
.search-box {
    position: relative;
}
.search-box .form-control {
    padding-left: 26px !important;
}
.search-box .search-icon {
    position: absolute;
    font-size: 13px;
    left: 8px;
    top: 0;
    line-height: 29px;
    height: 29px;
    color: #8c8c8c;
    pointer-events: none;
}
#orderList form .col-form-label,
#orderList form label.small,
#orderList form span.small,
[class*="-search-bar"] span.small,
[class*="-search-bar"] label.small,
[class*="-search-bar"] .text-muted {
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    color: #606266 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    white-space: nowrap;
}
#orderList form .form-check-label {
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    color: var(--tms-text-main);
    cursor: pointer;
    user-select: none;
}

/* 十、表格行内操作图标与缩略图 */
.list_table ul.list-inline.hstack {
    gap: 6px !important;
    justify-content: center;
}
.list_table ul.list-inline.hstack a {
    transition: transform 0.15s ease, opacity 0.15s ease;
    text-decoration: none;
    font-size: 13px;
}
.list_table ul.list-inline.hstack a:hover {
    transform: scale(1.08);
    opacity: 0.88;
}
.list_table img.rounded {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.list_table img.rounded:hover {
    transform: scale(1.04);
    box-shadow: 0 2px 8px rgba(0, 21, 41, 0.15);
}

/* 十一、底部分页栏 #pagebar_box（28px 紧凑高度，12.5px 字号） */
#pagebar_box {
    padding: 6px 0 0 0 !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    color: var(--tms-text-regular);
}
#pagebar_box .pagination {
    margin-bottom: 0 !important;
}
#pagebar_box .page-link {
    height: 28px !important;
    min-height: 28px !important;
    padding: 2px 10px !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    display: inline-flex;
    align-items: center;
    border-color: #dcdfe6;
    color: #303133;
}
#pagebar_box .page-item.active .page-link {
    background-color: var(--tms-primary) !important;
    border-color: var(--tms-primary) !important;
    color: #ffffff !important;
}
.pagination-wrap { margin-top: 4px; }
.page_num_info { line-height: 28px; font-size: 12.5px; color: var(--tms-text-regular); }
.listjs-pagination li .page { padding: 2px 10px; font-size: 12.5px; }

/* 十二、非列表页（详情页、新增/编辑表单页、弹窗页）干练规范 */
.page-title-box {
    padding: 8px 14px !important;
    margin: 0 0 10px 0 !important;
    background-color: #ffffff;
    border: 1px solid var(--tms-border-light);
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0, 21, 41, 0.03);
}
.page-title-box h4 {
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    color: var(--tms-text-main);
    margin: 0 !important;
}
.card:not(#orderList) {
    margin-bottom: 12px;
    border: 1px solid var(--tms-border-light);
    box-shadow: 0 1px 3px rgba(0, 21, 41, 0.04);
    border-radius: 4px;
}
.card:not(#orderList) > .card-header {
    padding: 8px 14px;
    border-bottom: 1px solid #ebeef5;
    background-color: #ffffff;
}
.card:not(#orderList) > .card-header .card-title {
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    color: var(--tms-text-main);
}
.card:not(#orderList) > .card-body {
    padding: 12px 14px;
}
.card:not(#orderList) .form-label {
    font-size: 13px;
    line-height: 1.45;
    color: var(--tms-text-main);
    margin-bottom: 4px;
}
.card:not(#orderList) .col-form-label {
    font-size: 13px;
    line-height: 21px;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    color: var(--tms-text-main);
    margin-bottom: 0 !important;
}
.table-bordered th.table-light,
.table-bordered td.bg-light {
    background-color: #f7f9fb !important;
    font-weight: 600 !important;
    color: #303133 !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    border-color: var(--tms-border-light) !important;
}

/* 十三、兼容 .erp-page / .erp-Allocation / .erp-btn 权限与设置页面组件 */
.erp-page {
    width: 100%;
}
.erp-Allocation {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 14px;
    margin-bottom: 10px;
    background-color: #ffffff;
    border: 1px solid var(--tms-border-light);
    border-radius: 4px;
    font-size: 13px;
    color: var(--tms-text-main);
}
.erp-Allocation a {
    color: var(--tms-primary);
    text-decoration: none;
}
.erp-btn {
    border: 1px solid #dcdfe6;
    background-color: #ffffff;
    color: var(--tms-text-main);
    cursor: pointer;
    text-decoration: none;
    transition: all 0.15s ease;
}
.erp-btn:hover {
    background-color: #ecf5ff;
    border-color: var(--tms-primary);
    color: var(--tms-primary);
}
.erp-btn-danger {
    background-color: #f56c6c !important;
    border-color: #f56c6c !important;
    color: #ffffff !important;
}

/* 十四、传统 badge-outline-* 兼容增强 */
.badge {
    font-weight: 500 !important;
    line-height: 1.35;
}
.badge-outline-warning { color: #e6a23c; border: 1px solid #e6a23c; background-color: transparent; }
.badge-outline-secondary { color: #595959; border: 1px solid #8c8c8c; background-color: transparent; }
.badge-outline-primary { color: #1890ff; border: 1px solid #1890ff; background-color: transparent; }
.badge-outline-success { color: #22b573; border: 1px solid #22b573; background-color: transparent; }
.badge-outline-danger { color: #f56c6c; border: 1px solid #f56c6c; background-color: transparent; }
.badge-outline-info { color: #2b9af3; border: 1px solid #2b9af3; background-color: transparent; }

.baojian { width: 240px; }
.baojian_main { min-height: 123px; }
.baojian_cur { cursor: pointer; }
.baojian_money { font-size: 20px; font-variant-numeric: tabular-nums; }
.baojian_header { padding: 2px 14px; line-height: 30px; }
.report_yuan { font-size: 12px; margin-left: 4px; }
.report_small_cal { margin-right: 4px; }

/* 十五、订单管理三明治卡片表格（复刻旧版 .tab / .tab2 鲜明层次、整单悬停高亮与 .btn2 简洁立体按钮） */
.erp-order-card-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 10px !important;
    background-color: #ffffff;
    border: 1px solid #c2cfe0 !important;
    box-shadow: 0 1px 2px rgba(15, 35, 65, 0.04);
    transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.erp-order-card-table > thead > tr.erp-order-thead > th,
.erp-order-card-table > tbody > tr.erp-order-thead > th {
    background: linear-gradient(180deg, #ffffff 0%, #e5eef9 52%, #d4e2f4 100%) !important;
    color: #1f2d3d !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 18px !important;
    padding: 4px 6px !important;
    text-align: center !important;
    border: 1px solid #c2cfe0 !important;
    white-space: nowrap;
}
.erp-order-card-table > tbody > tr.erp-order-banner > td {
    background-color: #f5f5f5 !important;
    padding: 4px 8px !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    color: var(--tms-text-main) !important;
    border: 1px solid #c2cfe0 !important;
    text-align: left !important;
    transition: background-color 0.12s ease;
}
.erp-order-card-table > tbody > tr.erp-order-body > td {
    background-color: #ffffff !important;
    padding: 5px 6px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    color: var(--tms-text-main) !important;
    border: 1px solid #c2cfe0 !important;
    vertical-align: middle !important;
}
.erp-order-card-table > tbody > tr.erp-order-note > td,
.erp-order-card-table > tbody > tr.erp-order-remark > td {
    background-color: #f5f5f5 !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    border: 1px solid #c2cfe0 !important;
    text-align: left !important;
    transition: background-color 0.12s ease;
}

/* 鼠标移到订单表格上的整单高亮效果（对齐旧版 onmouseover="this.className='tab2'"） */
.erp-order-card-table:hover {
    border-color: #7da8e0 !important;
    box-shadow: 0 2px 6px rgba(26, 94, 157, 0.12);
}
.erp-order-card-table:hover > thead > tr.erp-order-thead > th,
.erp-order-card-table:hover > tbody > tr.erp-order-thead > th {
    background: linear-gradient(180deg, #f8fbff 0%, #dcebff 52%, #c6defa 100%) !important;
    border-color: #8eb5e8 !important;
    color: #0d3b66 !important;
}
.erp-order-card-table:hover > tbody > tr.erp-order-banner > td,
.erp-order-card-table:hover > tbody > tr.erp-order-note > td,
.erp-order-card-table:hover > tbody > tr.erp-order-remark > td {
    background-color: #E8F2FF !important;
    border-color: #8eb5e8 !important;
}
.erp-order-card-table:hover > tbody > tr.erp-order-body > td {
    background-color: #ffffff !important;
    border-color: #8eb5e8 !important;
}

/* 旧版简洁立体小按钮 .erp-btn2（对齐旧版 .btn2，轮廓清晰、不花哨、一眼即达） */
.erp-btn2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 21px;
    padding: 0 6px;
    font-size: 12px;
    font-weight: 400;
    line-height: 19px;
    color: #262626 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f2f4f7 55%, #e3e7ed 100%);
    border: 1px solid #a8b4c2;
    border-radius: 2px;
    text-decoration: none !important;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: inset 0 1px 0 #ffffff;
    transition: all 0.1s ease;
    user-select: none;
}
.erp-btn2:hover {
    color: #0052cc !important;
    background: linear-gradient(180deg, #ffffff 0%, #e8f3ff 55%, #cfe4ff 100%);
    border-color: #4096ff;
    text-decoration: none !important;
}
.erp-btn2.active-gz,
.erp-btn2.active-yc {
    color: #e60000 !important;
    font-weight: 600;
    border-color: #f59a9a;
    background: linear-gradient(180deg, #fffafa 0%, #ffebeb 100%);
}
.erp-order-toolbar {
    background-color: #f5f7fa;
    border: 1px solid #cfd8e3;
    padding: 4px 10px;
    font-size: 12px;
    line-height: 1.5;
}
.erp-order-search-panel {
    background-color: #e9f0f8;
    border: 1px solid #c5d3e6;
    padding: 6px 10px;
}

.erp-order-summary {
    display: grid;
    grid-template-columns: minmax(275px, 1.55fr) minmax(135px, 0.85fr);
    column-gap: 8px;
    row-gap: 2px;
    text-align: left;
    font-size: 12px;
    line-height: 1.45;
}
.erp-order-summary .summary-full {
    grid-column: 1 / -1;
}
.erp-order-summary .summary-no-wrap {
    white-space: nowrap;
}
.erp-order-action-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 2px 0;
}
.erp-order-action-col .erp-btn2 {
    width: 64px;
}
.erp-order-proce-cell {
    font-size: 12px;
    line-height: 1.38;
    text-align: left;
    min-width: 86px;
}
.erp-tag-btn {
    display: inline-flex;
    align-items: center;
    height: 21px;
    padding: 0 6px;
    font-size: 12px;
    font-weight: 400;
    border-radius: 2px;
    text-decoration: none !important;
    border: 1px solid #a8b4c2;
    background: linear-gradient(180deg, #ffffff 0%, #f2f4f7 55%, #e3e7ed 100%);
    color: #262626;
    box-shadow: inset 0 1px 0 #ffffff;
    transition: all 0.1s ease;
}
.erp-tag-btn:hover {
    border-color: #4096ff;
    color: #0052cc;
    background: linear-gradient(180deg, #ffffff 0%, #e8f3ff 55%, #cfe4ff 100%);
}
.erp-tag-btn.active-gz,
.erp-tag-btn.active-yc {
    background: linear-gradient(180deg, #fffafa 0%, #ffebeb 100%);
    border-color: #f59a9a;
    color: #e60000 !important;
    font-weight: 600;
}
.erp-order-thumb {
    width: 96px;
    height: 96px;
    object-fit: contain;
    border: 1px solid #d9e1ec;
    border-radius: 2px;
    background-color: #ffffff;
    padding: 1px;
    cursor: pointer;
}
.erp-order-thumb:hover {
    border-color: #4096ff;
}

/* 十六、生产结算与记录页紧凑表格样式 (.erp-js-compact-table / .erp-compact-list-table) */
.erp-order-card-table.erp-js-compact-table {
    table-layout: fixed;
    margin-bottom: 6px !important;
}
.erp-order-card-table.erp-js-compact-table > thead > tr.erp-order-thead > th,
.erp-order-card-table.erp-js-compact-table > tbody > tr.erp-order-thead > th {
    padding: 4px 6px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    position: sticky;
    top: 0;
    z-index: 5;
    box-shadow: inset 0 -1px 0 #dcdfe6;
}
.erp-order-card-table.erp-js-compact-table > thead > tr.erp-order-thead > th.text-start,
.erp-order-card-table.erp-js-compact-table > tbody > tr.erp-order-thead > th.text-start {
    text-align: left !important;
}
.erp-order-card-table.erp-js-compact-table > tbody > tr.erp-order-banner > td {
    padding: 3px 8px !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
}
.erp-order-card-table.erp-js-compact-table > tbody > tr.erp-order-body > td {
    padding: 4px 6px !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    word-break: break-word;
}
.erp-order-card-table.erp-js-compact-table > tbody > tr.erp-order-body > td.text-nowrap {
    white-space: nowrap !important;
    word-break: normal !important;
}
#viewer-container.erp-order-card-table.erp-js-compact-table {
    table-layout: auto;
}
.erp-order-card-table.erp-js-compact-table > tbody > tr.erp-order-note > td,
.erp-order-card-table.erp-js-compact-table > tbody > tr.erp-order-remark > td {
    padding: 3px 8px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}
.erp-order-card-table.erp-js-compact-table .erp-order-thumb {
    width: 70px;
    height: 70px;
}
.erp-order-card-table.erp-js-compact-table .btn-xs,
.erp-compact-list-table .btn-xs {
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 6px !important;
    font-size: 12px !important;
    line-height: 20px !important;
}
.table.list_table.erp-compact-list-table > thead > tr > th,
.dataTables_wrapper .table.list_table.erp-compact-list-table > thead > tr > th {
    padding: 5px 6px !important;
    font-size: 12.5px !important;
    line-height: 1.3 !important;
}
.table.list_table.erp-compact-list-table > tbody > tr > td,
.dataTables_wrapper .table.list_table.erp-compact-list-table > tbody > tr > td {
    padding: 4px 6px !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
}
.table.list_table.erp-compact-list-table > thead > tr > th.text-start,
.dataTables_wrapper .table.list_table.erp-compact-list-table > thead > tr > th.text-start,
.table.list_table.erp-compact-list-table > tbody > tr > td.text-start {
    text-align: left !important;
}
