/* 全局样式 - 现代化设计 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --primary-color: #1677ff;
    --primary-hover: #4096ff;
    --success-color: #52c41a;
    --warning-color: #faad14;
    --error-color: #ff4d4f;
    --text-primary: rgba(0, 0, 0, 0.88);
    --text-secondary: rgba(0, 0, 0, 0.65);
    --text-disabled: rgba(0, 0, 0, 0.25);
    --border-color: #d9d9d9;
    --bg-container: #ffffff;
    --bg-layout: #f5f5f5;
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);
    --shadow-md: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
    --shadow-lg: 0 16px 32px 0 rgba(0, 0, 0, 0.1);
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
    background: linear-gradient(135deg, #f5f7fa 0%, #e8edf3 100%);
    color: var(--text-primary);
    line-height: 1.5715;
}

/* 订单明细样式 */
.detail-section {
    margin-bottom: 20px;
}

.detail-section-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--primary-color);
}

/* 布局容器 */
.layout-container {
    height: 100vh;
}

/* 侧边栏样式 - 现代化设计 */
.sidebar {
    background: linear-gradient(180deg, #001529 0%, #002140 100%);
    color: #fff;
    height: 100vh;
    box-shadow: 2px 0 8px 0 rgba(0, 0, 0, 0.15);
}

.logo-container {
    padding: 24px 20px;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
}

.logo-container h2 {
    color: #fff;
    font-size: 24px;
    margin-bottom: 6px;
    font-weight: 600;
    letter-spacing: 1px;
}

.logo-container p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
}

.sidebar-menu {
    border-right: none;
    background-color: transparent;
    padding: 12px 0;
}

.sidebar-menu .el-menu-item {
    color: rgba(255, 255, 255, 0.85);
    font-size: 15px;
    margin: 4px 12px;
    border-radius: var(--radius-md);
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.sidebar-menu .el-menu-item:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    transform: translateX(4px);
}

.sidebar-menu .el-menu-item.is-active {
    background: linear-gradient(90deg, var(--primary-color), var(--primary-hover));
    color: #fff;
    box-shadow: 0 4px 12px rgba(22, 119, 255, 0.3);
}

/* 二级菜单样式 */
.sidebar-menu .el-sub-menu__title {
    color: rgba(255, 255, 255, 0.85);
    font-size: 15px;
    margin: 4px 12px;
    border-radius: var(--radius-md);
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.sidebar-menu .el-sub-menu__title:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.sidebar-menu .el-sub-menu.is-active .el-sub-menu__title {
    color: #fff;
}

.sidebar-menu .el-menu {
    background-color: transparent;
}

.sidebar-menu .el-sub-menu .el-menu-item {
    background-color: rgba(0, 0, 0, 0.2);
    margin: 2px 12px 2px 24px;
    padding-left: 40px !important;
}

.sidebar-menu .el-sub-menu .el-menu-item:hover {
    background: rgba(255, 255, 255, 0.15);
}

.sidebar-menu .el-sub-menu .el-menu-item.is-active {
    background: linear-gradient(90deg, var(--primary-color), var(--primary-hover));
    color: #fff;
}

/* 头部样式 - 现代化设计 */
.header {
    background: var(--bg-container);
    box-shadow: var(--shadow-sm);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 32px;
    backdrop-filter: blur(8px);
}

.header-left {
    flex: 1;
}

.header-right {
    display: flex;
    align-items: center;
}

.user-info {
    display: flex;
    align-items: center;
    cursor: pointer;
    color: var(--text-primary);
    padding: 8px 16px;
    border-radius: var(--radius-md);
    transition: all 0.3s;
}

.user-info:hover {
    background-color: rgba(22, 119, 255, 0.08);
}

.user-info .el-icon {
    margin-right: 8px;
    font-size: 18px;
}

/* 主内容区 - 现代化设计 */
.main-content {
    background: transparent;
    padding: 24px;
}

.module-container {
    background: var(--bg-container);
    border-radius: var(--radius-lg);
    padding: 32px;
    min-height: calc(100vh - 120px);
    box-shadow: var(--shadow-sm);
    transition: box-shadow 0.3s;
}

.module-container:hover {
    box-shadow: var(--shadow-md);
}

/* 通用卡片样式 */
.content-card {
    background: var(--bg-container);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    transition: all 0.3s;
}

.content-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

/* 搜索区域 - 现代化设计 */
.search-box {
    background: linear-gradient(135deg, #f5f7fa 0%, #fafbfc 100%);
    padding: 24px;
    border-radius: var(--radius-lg);
    margin-bottom: 24px;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.search-box .el-form-item {
    margin-bottom: 0;
}

/* 操作按钮区域 */
.toolbar {
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 客户管理 - Tab 样式（与库存管理一致） */
.customer-management .el-tabs {
    margin-top: 20px;
}
.customer-management .el-tabs__header {
    margin-bottom: 16px;
}
.customer-management .el-tabs__content {
    padding: 0;
    overflow: visible;
    max-height: none;
}
/* 客户管理 - 仅表格区域滚动，避免内外双重滚动条 */
.customer-management .customer-tab-content {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 320px);
    min-height: 400px;
    overflow: hidden;
}
.customer-management .customer-table-wrapper {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    margin-bottom: 16px;
}
.customer-management .customer-table-wrapper .el-table {
    margin-bottom: 0;
}

/* 客户新增/编辑对话框 - 表单分区布局（el-dialog 可能 append-to-body） */
.form-section {
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #ebeef5;
}
.form-section:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.form-section-title {
    font-size: 13px;
    font-weight: 600;
    color: #409eff;
    margin-bottom: 12px;
    padding-left: 8px;
    border-left: 3px solid #409eff;
}

/* 库存管理 - 与客户管理、订单管理一致的布局 */
.inventory-management .inventory-main-tabs {
    margin-top: 20px;
}
.inventory-management .inventory-main-tabs .el-tabs__header {
    margin-bottom: 16px;
}
.inventory-management .inventory-main-tabs .el-tabs__content {
    padding: 0;
    overflow: visible;
}
.inventory-management .inventory-tab-content {
    display: flex;
    flex-direction: column;
    min-height: 360px;
}
.inventory-management .inventory-sub-tabs {
    margin-bottom: 16px;
}
.inventory-management .inventory-sub-tabs .el-tabs__content {
    padding: 12px 0 0;
}
.inventory-management .inventory-table-wrapper {
    flex: 1;
    min-height: 280px;
    overflow-y: auto;
}
.inventory-management .inventory-table-wrapper .el-table {
    margin-bottom: 0;
}

/* 成品库三表格：顶部悬浮横向滚动条 */
.inventory-management .product-inventory-scroll-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 280px;
}
.inventory-management .product-inventory-top-scrollbar {
    overflow-x: scroll;
    overflow-y: hidden;
    height: 16px;
    margin-bottom: 4px;
    background: #f5f7fa;
    border-radius: 4px;
    flex-shrink: 0;
}
.inventory-management .product-inventory-top-scrollbar::-webkit-scrollbar {
    height: 8px;
}
.inventory-management .product-inventory-top-scrollbar::-webkit-scrollbar-track {
    background: #f5f7fa;
    border-radius: 4px;
}
.inventory-management .product-inventory-top-scrollbar::-webkit-scrollbar-thumb {
    background: #c0c4cc;
    border-radius: 4px;
}
.inventory-management .product-inventory-top-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #909399;
}
.inventory-management .product-inventory-scroll-content {
    height: 1px;
    min-width: 100%;
}
.inventory-management .product-inventory-scroll-body {
    flex: 1;
    min-height: 260px;
    overflow: auto;
}
.inventory-management .product-inventory-scroll-body::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
.inventory-management .product-inventory-scroll-body::-webkit-scrollbar-track {
    background: #f5f7fa;
    border-radius: 4px;
}
.inventory-management .product-inventory-scroll-body::-webkit-scrollbar-thumb {
    background: #c0c4cc;
    border-radius: 4px;
}
.inventory-management .product-inventory-scroll-body::-webkit-scrollbar-thumb:hover {
    background: #909399;
}

/* 原料名称维护对话框 - 表格自适应延伸 */
.material-catalog-dialog {
    max-width: 1200px;
}
.material-catalog-table-wrapper {
    width: 100%;
    overflow-x: auto;
}
.material-catalog-table-wrapper .el-table {
    min-width: 100%;
}

/* 入库原始凭证上传与预览 */
.voucher-upload-trigger {
    width: 140px;
    height: 100px;
    border: 1px dashed #dcdfe6;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    background: #fafafa;
    transition: border-color 0.2s, background 0.2s;
}
.voucher-upload-trigger:hover {
    border-color: #409eff;
    background: #f0f7ff;
}
.voucher-upload-trigger .voucher-preview-wrap {
    width: 100%;
    height: 100%;
}
.voucher-upload-trigger .voucher-preview-wrap .el-image {
    width: 100%;
    height: 100%;
}
.voucher-upload-trigger .voucher-preview-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.voucher-upload-trigger .voucher-upload-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #8c939d;
    font-size: 12px;
}
.voucher-upload-trigger .voucher-del-btn {
    position: absolute;
    bottom: 4px;
    right: 4px;
    z-index: 2;
}
.voucher-preview {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.text-muted {
    color: #909399;
    font-size: 12px;
}

/* 表格样式增强 - 现代化设计 */
.el-table {
    font-size: 14px;
    border-radius: var(--radius-md);
    overflow: hidden;
}

.el-table th {
    background: linear-gradient(135deg, #fafbfc 0%, #f5f7fa 100%);
    color: var(--text-primary);
    font-weight: 600;
}

.el-table tr:hover {
    background-color: rgba(22, 119, 255, 0.04);
}

/* 状态标签 */
.status-tag {
    font-size: 12px;
    border-radius: 12px;
    padding: 2px 12px;
}

/* 对话框样式 - 现代化设计 */
.el-dialog__header {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    padding: 20px 32px;
    background: linear-gradient(135deg, #fafbfc 0%, #ffffff 100%);
}

.el-dialog__body {
    padding: 32px;
}

.el-dialog__footer {
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    padding: 16px 32px;
    background: #fafbfc;
}

/* 表单样式 */
.el-form-item__label {
    font-weight: 500;
    color: var(--text-primary);
}

/* 详情页样式 - 现代化设计 */
.detail-section {
    margin-bottom: 28px;
    padding: 24px;
    background: linear-gradient(135deg, #fafbfc 0%, #ffffff 100%);
    border-radius: var(--radius-lg);
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.detail-section-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--primary-color);
    position: relative;
}

.detail-section-title::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 40px;
    height: 2px;
    background: var(--primary-color);
}

.detail-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 16px;
}

.detail-item {
    display: flex;
    font-size: 14px;
    padding: 12px 0;
    transition: all 0.3s;
}

.detail-item:hover {
    background: rgba(22, 119, 255, 0.04);
    padding-left: 12px;
    border-radius: var(--radius-sm);
}

.detail-label {
    color: var(--text-secondary);
    margin-right: 12px;
    min-width: 100px;
    font-weight: 500;
}

.detail-value {
    color: var(--text-primary);
    font-weight: 500;
    flex: 1;
}

/* 响应式适配 */
@media (max-width: 768px) {
    .sidebar {
        width: 64px !important;
    }
    
    .logo-container h2 {
        font-size: 18px;
    }
    
    .logo-container p {
        display: none;
    }
    
    .detail-row {
        grid-template-columns: 1fr;
    }
}

/* 空状态样式 */
.empty-state {
    text-align: center;
    padding: 60px 20px;
    color: rgba(0, 0, 0, 0.45);
}

.empty-state .el-icon {
    font-size: 64px;
    margin-bottom: 16px;
    color: #d9d9d9;
}

/* 动画效果 - 现代化设计 */
.fade-enter-active, .fade-leave-active {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.fade-enter-from, .fade-leave-to {
    opacity: 0;
    transform: translateY(10px);
}

/* 按钮增强效果 */
.el-button {
    border-radius: var(--radius-md);
    transition: all 0.3s;
}

.el-button--primary {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-hover));
    border: none;
}

.el-button--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(22, 119, 255, 0.3);
}

/* 输入框增强 */
.el-input__wrapper {
    border-radius: var(--radius-md);
    transition: all 0.3s;
}

.el-input__wrapper:hover {
    box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.1);
}

/* 选择器增强 */
.el-select .el-input__wrapper {
    border-radius: var(--radius-md);
}

/* 分页器增强 */
.el-pagination {
    padding: 16px 0;
}

.el-pagination .el-pager li {
    border-radius: var(--radius-sm);
    margin: 0 4px;
}

.el-pagination .el-pager li.is-active {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-hover));
}

/* 对话框响应式优化 */
.el-dialog {
    border-radius: var(--radius-lg);
    max-height: 85vh;
    display: flex;
    flex-direction: column;
}

.el-dialog__header {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    padding: 18px 24px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.el-dialog__title {
    color: white;
    font-size: 18px;
    font-weight: 600;
}

.el-dialog__headerbtn .el-dialog__close {
    color: white;
    font-size: 20px;
}

.el-dialog__headerbtn .el-dialog__close:hover {
    color: rgba(255, 255, 255, 0.8);
}

.el-dialog__body {
    padding: 20px 24px;
    overflow-y: auto;
    max-height: calc(85vh - 130px);
    flex: 1;
}

.el-dialog__footer {
    padding: 14px 24px;
    background: #fafafa;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

/* 详情对话框内的选项卡内容区域滚动优化 */
.el-tabs__content {
    overflow-y: auto;
    max-height: calc(85vh - 280px);
}

/* 表格在对话框中宽度、高度自适应 */
.el-dialog .el-table {
    width: 100% !important;
    max-height: calc(85vh - 330px);
}

/* 表单在对话框中的优化 */
.el-dialog .el-form {
    max-height: calc(85vh - 230px);
    overflow-y: auto;
    padding-right: 8px;
}

/* 详情页面的布局优化 */
.detail-section {
    padding: 20px;
}

.detail-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0f0f0;
}

.detail-row:last-child {
    border-bottom: none;
}

.detail-item {
    display: flex;
    align-items: flex-start;
}

.detail-label {
    font-weight: 600;
    color: var(--text-secondary);
    margin-right: 12px;
    min-width: 90px;
}

.detail-value {
    color: var(--text-primary);
    flex: 1;
    word-break: break-all;
}

/* 合同签署选项卡片 */
.sign-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.sign-option-card {
    border: 1px solid #e4e7ed;
    border-radius: 8px;
    padding: 20px;
    background: #fafafa;
}
.sign-option-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #303133;
}
.sign-option-desc {
    font-size: 13px;
    color: #606266;
    margin-bottom: 16px;
    line-height: 1.5;
}
.sign-link-row {
    margin-bottom: 8px;
}

/* 客户流转记录时间线 */
.flow-history-timeline {
    padding: 16px 0;
}
.flow-history-timeline .flow-card {
    margin-bottom: 4px;
}
.flow-history-timeline .flow-content {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.flow-history-timeline .flow-type-tag {
    flex-shrink: 0;
}
.flow-history-timeline .flow-desc {
    color: var(--text-primary);
}
.flow-history-timeline .flow-operator {
    color: var(--text-secondary);
    font-size: 13px;
}

/* 响应式布局 - 小屏幕优化 */
@media screen and (max-width: 1366px) {
    .el-dialog {
        width: 90% !important;
        max-width: 1200px;
    }
    
    .detail-row {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

@media screen and (max-height: 800px) {
    .el-dialog__body {
        max-height: calc(80vh - 110px);
    }
    
    .el-tabs__content {
        max-height: calc(80vh - 260px);
    }
    
    .el-dialog .el-table {
        width: 100% !important;
        max-height: calc(80vh - 300px);
    }
}

@media screen and (min-width: 1367px) {
    .el-dialog {
        width: 75% !important;
        max-width: 1400px;
    }
    .material-catalog-dialog.el-dialog,
    .el-dialog.material-catalog-dialog {
        width: 90% !important;
        max-width: 1200px;
    }
}

/* 滚动条美化 */
.el-dialog__body::-webkit-scrollbar,
.el-tabs__content::-webkit-scrollbar,
.el-form::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.el-dialog__body::-webkit-scrollbar-track,
.el-tabs__content::-webkit-scrollbar-track,
.el-form::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.el-dialog__body::-webkit-scrollbar-thumb,
.el-tabs__content::-webkit-scrollbar-thumb,
.el-form::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

.el-dialog__body::-webkit-scrollbar-thumb:hover,
.el-tabs__content::-webkit-scrollbar-thumb:hover,
.el-form::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* 侧边栏收缩样式 */
.sidebar {
    transition: width 0.3s;
    position: relative;
}

.sidebar.is-collapse .logo-container {
    padding: 16px 8px;
}

.collapse-btn {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s;
}

.collapse-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateX(-50%) scale(1.1);
}

.collapse-btn .el-icon {
    font-size: 18px;
    color: #fff;
}

/* 表格标题固定 */
.el-table {
    position: relative;
}

.el-table .el-table__header-wrapper {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #fff;
}

.el-table__header th {
    background: linear-gradient(135deg, #f5f7fa 0%, #e8edf3 100%) !important;
}

/* 统计卡片优化 - 线框模式，左右布局 */
.stats-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.stat-card {
    padding: 14px 16px;
    border-radius: var(--radius-md);
    background: #fff;
    border: 1px solid var(--border-color);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: default;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.stat-card:hover {
    border-color: var(--primary-color);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.stat-card h4 {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 0;
    font-weight: 400;
    line-height: 1.5;
    flex: 1;
}

.stat-card .value {
    font-size: 24px;
    font-weight: 600;
    line-height: 1;
    margin-left: 12px;
    white-space: nowrap;
}

.stat-card.blue .value { color: #1677ff; }
.stat-card.green .value { color: #52c41a; }
.stat-card.orange .value { color: #faad14; }
.stat-card.red .value { color: #ff4d4f; }
.stat-card.purple .value { color: #722ed1; }
.stat-card.cyan .value { color: #13c2c2; }

/* 业务单据 - 与全站风格一致 */
.business-documents .business-docs-tabs { margin-top: 0; }
.business-documents .business-docs-tabs .el-tabs__content { padding: 16px 0 0; }
.business-documents .customer-table-wrapper {
    min-height: 280px;
    margin-bottom: 16px;
    overflow: visible;
}
.business-documents .customer-table-wrapper .el-table { margin-bottom: 0; }
.business-documents .pagination-wrap { margin-top: 16px; text-align: right; }

/* 数据看板 - 经营情况总览 */
.business-dashboard .dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 24px;
    padding: 20px 24px;
    background: linear-gradient(135deg, #f5f7fa 0%, #fafbfc 100%);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
}
.business-dashboard .dashboard-title { margin: 0 0 4px 0; font-size: 18px; font-weight: 600; color: var(--text-primary); }
.business-dashboard .dashboard-subtitle { margin: 0; font-size: 13px; color: var(--text-secondary); }
.business-dashboard .dashboard-block {
    margin-bottom: 24px;
}
.business-dashboard .block-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-secondary);
    margin: 0 0 12px 0;
    padding-left: 4px;
}
.business-dashboard .stat-card { cursor: default; }
.business-dashboard .stat-card.orange,
.business-dashboard .stat-card.purple,
.business-dashboard .stat-card.cyan { cursor: pointer; }
.business-dashboard .dashboard-fund-summary {
    padding: 16px 20px;
    background: #fff;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
}
.business-dashboard .fund-row {
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
}
.business-dashboard .fund-item {
    display: flex;
    align-items: baseline;
    gap: 8px;
}
.business-dashboard .fund-label { font-size: 14px; color: var(--text-secondary); }
.business-dashboard .fund-value { font-size: 20px; font-weight: 600; }
.business-dashboard .fund-value.receivable { color: #f56c6c; }
.business-dashboard .fund-value.payment { color: #52c41a; }

/* 数据看板 - 专业数据面板 */
.business-dashboard-pro {
    padding: 12px;
    background: #f0f2f5;
    min-height: 100%;
    height: 100%;
    box-sizing: border-box;
}
.business-dashboard-pro.is-fullscreen {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 9999;
    overflow: auto;
    padding: 16px;
}
.business-dashboard-pro .dashboard-pro-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.business-dashboard-pro .toolbar-left {
    display: flex;
    align-items: center;
    gap: 12px;
}
.business-dashboard-pro .toolbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
}
.business-dashboard-pro .preset-btns .el-button { margin: 0; }
.business-dashboard-pro .dashboard-pro-kpi {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-bottom: 12px;
}
.business-dashboard-pro .kpi-card {
    padding: 14px 16px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    border: 1px solid #e8e8e8;
    transition: transform 0.2s, box-shadow 0.2s;
}
.business-dashboard-pro .kpi-card:hover { transform: translateY(-1px); box-shadow: 0 2px 12px rgba(0,0,0,0.08); }
.business-dashboard-pro .kpi-label { font-size: 12px; color: #8c8c8c; margin-bottom: 4px; }
.business-dashboard-pro .kpi-value { min-height: 36px; }
.business-dashboard-pro .kpi-num {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.5px;
    animation: kpi-pulse 0.5s ease-out;
}
@keyframes kpi-pulse {
    0% { transform: scale(1.05); opacity: 0.8; }
    50% { transform: scale(1.02); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}
.business-dashboard-pro .kpi-sales .kpi-num { color: #1677ff; }
.business-dashboard-pro .kpi-orders .kpi-num { color: #52c41a; }
.business-dashboard-pro .kpi-delivery .kpi-num { color: #fa8c16; }
.business-dashboard-pro .kpi-tonprice .kpi-num { color: #13c2c2; }
.business-dashboard-pro .kpi-payment .kpi-num { color: #722ed1; }
.business-dashboard-pro .kpi-sub { font-size: 11px; color: #8c8c8c; margin-top: 4px; }

.business-dashboard-pro .dashboard-pro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.business-dashboard-pro .dashboard-pro-panel {
    background: #fff;
    border-radius: 10px;
    padding: 12px;
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}
.business-dashboard-pro .panel-title {
    font-size: 13px;
    font-weight: 600;
    color: #262626;
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #f0f0f0;
}
.business-dashboard-pro .panel-title-with-action {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.business-dashboard-pro .panel-map { height: 220px; }
/* 发货地区分布独立全屏 - 占满整个页面 */
.business-dashboard-pro .map-panel.map-panel-fullscreen {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    z-index: 10000;
    border-radius: 0;
    border: none;
    padding: 12px 16px 16px;
    display: flex;
    flex-direction: column;
    background: #fff;
    box-shadow: none;
}
.business-dashboard-pro .map-panel.map-panel-fullscreen .panel-title-with-action {
    flex-shrink: 0;
    margin-bottom: 8px;
}
.business-dashboard-pro .map-panel.map-panel-fullscreen .panel-map {
    flex: 1;
    min-height: 0;
    width: 100%;
    height: 100% !important;
}
.business-dashboard-pro .panel-chart { height: 160px; }
.business-dashboard-pro .table-panel .el-table { font-size: 12px; }
.business-dashboard-pro.is-fullscreen .panel-map { height: 320px; }
.business-dashboard-pro.is-fullscreen .panel-chart { height: 240px; }
@media (max-width: 1200px) {
    .business-dashboard-pro .dashboard-pro-kpi { grid-template-columns: repeat(2, 1fr); }
    .business-dashboard-pro .dashboard-pro-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .business-dashboard-pro .dashboard-pro-kpi { grid-template-columns: 1fr; }
}

/* 系统设置 */
.system-settings .settings-section { padding: 0; }
.system-settings .settings-block { margin-bottom: 24px; }
.system-settings .settings-block:last-child { margin-bottom: 0; }
.system-settings .settings-block-title { font-size: 15px; font-weight: 600; margin-bottom: 4px; }
.system-settings .settings-block-desc { font-size: 12px; color: #8c8c8c; margin-bottom: 16px; }
.system-settings .settings-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 16px 0;
    border-bottom: 1px solid #f0f0f0;
}
.system-settings .settings-item:last-child { border-bottom: none; }
.system-settings .settings-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.system-settings .settings-label span:first-child { font-weight: 600; font-size: 14px; }
.system-settings .settings-desc { font-size: 12px; color: #8c8c8c; }

/* 订单列表主表格 - 单元格内容居中 */
.order-table-scroll-body > .el-table .el-table__cell .cell {
    text-align: center;
}

/* 产品明细子表格 - 隐藏横向滚动条，保持表格正常布局 */
.product-detail-subtable .el-scrollbar__bar.is-horizontal {
    display: none !important;
}

/* 产品明细子表格 - 数量/金额颜色标识（仅单元格，不含表头） */
.product-detail-subtable .el-table__body-wrapper .shipped-qty-col .cell,
.product-detail-subtable .el-table__body-wrapper .shipped-val-col .cell {
    color: #67c23a !important;
}

.product-detail-subtable .el-table__body-wrapper .unshipped-qty-col .cell,
.product-detail-subtable .el-table__body-wrapper .unshipped-val-col .cell {
    color: #f56c6c !important;
}

/* 产品明细列 - 保证列宽容纳子表格 */
.product-detail-column .cell {
    padding: 4px 8px;
}

/* 订单列表 - 上下双横向滚动条（与下方样式一致） */
.order-table-scroll-wrapper {
    width: 100%;
}

.order-top-scrollbar {
    overflow-x: scroll;
    overflow-y: hidden;
    height: 16px;
    margin-bottom: 4px;
    background: #f5f7fa;
    border-radius: 4px;
}

.order-top-scrollbar::-webkit-scrollbar {
    height: 8px;
}

.order-top-scrollbar::-webkit-scrollbar-track {
    background: #f5f7fa;
    border-radius: 4px;
}

.order-top-scrollbar::-webkit-scrollbar-thumb {
    background: #c0c4cc;
    border-radius: 4px;
}

.order-top-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #909399;
}

.order-top-scroll-content {
    height: 1px;
    min-width: 100%;
}

.order-table-scroll-body {
    overflow-x: scroll;
    overflow-y: visible;
}

.order-table-scroll-body::-webkit-scrollbar {
    height: 8px;
}

.order-table-scroll-body::-webkit-scrollbar-track {
    background: #f5f7fa;
    border-radius: 4px;
}

.order-table-scroll-body::-webkit-scrollbar-thumb {
    background: #c0c4cc;
    border-radius: 4px;
}

.order-table-scroll-body::-webkit-scrollbar-thumb:hover {
    background: #909399;
}

/* 订单列表 - 产品明细预览图占位 */
.product-preview-placeholder {
    width: 64px;
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f5f7fa;
    border: 1px solid #e4e7ed;
    border-radius: 6px;
    color: #909399;
}

/* 订单列表 - 操作按钮区域（两行紧凑排列） */
.order-action-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 4px;
    justify-content: center;
    align-items: center;
    min-width: 100px;
}

.order-action-btns .el-button {
    padding: 2px 4px;
    margin: 0;
}

/* 订单列表 - 交付日期单元格（防止标签溢出错位） */
.delivery-date-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

.delivery-date-value {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.delivery-status-tag {
    margin: 0 !important;
}

/* 交付日期列 - 内容居中且不溢出 */
.delivery-date-column .cell {
    padding: 4px 8px !important;
    overflow: hidden;
}

.delivery-date-column .delivery-date-cell {
    width: 100%;
}

/* ==================== 制版文件上传样式 ==================== */
/* 横排卡片式上传组件 */
.plate-upload-item {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
}

.plate-uploader {
    border: 2px dashed #d9d9d9;
    border-radius: 8px;
    cursor: pointer;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    background-color: #fafafa;
    width: 120px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.plate-uploader:hover {
    border-color: #409eff;
    background-color: #f0f7ff;
}

/* 上传占位符 */
.upload-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 12px;
}

.upload-placeholder .upload-label {
    margin-top: 8px;
    font-size: 13px;
    color: #606266;
    font-weight: 500;
}

/* 上传成功状态 */
.upload-success {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 12px;
    background-color: #f0f9ff;
}

.upload-success .upload-label {
    margin-top: 8px;
    font-size: 13px;
    color: #409eff;
    font-weight: 500;
}

.upload-success .upload-status {
    margin-top: 4px;
    font-size: 12px;
    color: #67c23a;
    font-weight: 600;
}

/* 图片预览样式 */
.upload-preview {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: relative;
    background-color: #f0f9ff;
}

.upload-preview .preview-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}

.upload-preview .upload-label {
    position: absolute;
    bottom: 24px;
    left: 0;
    right: 0;
    padding: 4px 6px;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
}

.upload-preview .upload-status {
    position: absolute;
    bottom: 6px;
    left: 0;
    right: 0;
    padding: 2px 4px;
    background: rgba(103, 194, 58, 0.9);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    text-align: center;
}

/* 制版工序标签样式 */
.el-divider .el-tag {
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* ==================== 产品详情表格自适应列宽 ==================== */
.product-detail-descriptions .el-descriptions__table {
    table-layout: auto !important;
}

.product-detail-descriptions .el-descriptions__label {
    width: auto !important;
    white-space: nowrap;
    padding: 12px 15px !important;
}

.product-detail-descriptions .el-descriptions__content {
    width: auto !important;
    padding: 12px 15px !important;
}

/* ==================== 合同详情表格自适应列宽 ==================== */
.contract-detail-descriptions .el-descriptions__table {
    table-layout: auto !important;
}

.contract-detail-descriptions .el-descriptions__label {
    width: auto !important;
    white-space: nowrap;
    padding: 12px 15px !important;
}

.contract-detail-descriptions .el-descriptions__content {
    width: auto !important;
    padding: 12px 15px !important;
}

/* 批量发货卡片 */
.batch-shipment-card {
    border: 1px solid #e4e7ed;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 16px;
    background: #fafafa;
}
.batch-shipment-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e4e7ed;
}

/* 申请发货对话框 - 专业流程 */
.delivery-application-dialog .el-dialog__body { padding-top: 16px; }
.delivery-steps { margin-bottom: 24px; }
.delivery-step-content { min-height: 280px; }
.delivery-order-summary {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 20px;
}
.delivery-order-summary .summary-row {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    font-size: 14px;
}
.delivery-order-summary .summary-row .label { color: #64748b; min-width: 72px; }
.delivery-order-summary .summary-row .value { color: #1e293b; margin-left: 8px; }
.delivery-order-summary .summary-row .value.highlight { color: #1677ff; font-weight: 600; font-size: 16px; }
.delivery-order-summary .summary-table-wrap { margin-top: 16px; }
.delivery-order-summary .summary-title { font-weight: 600; margin-bottom: 10px; color: #334155; }
.delivery-address-tip, .delivery-detail-tip {
    color: #64748b; font-size: 13px; margin-bottom: 12px;
}
.delivery-address-card {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 12px;
    background: #fff;
}
.delivery-address-card .address-card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-weight: 600;
    color: #334155;
}
.delivery-address-card .address-card-header .el-icon { color: #1677ff; }
.delivery-shipment-card {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 16px;
    background: #fafbfc;
}
.delivery-shipment-card .shipment-card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-weight: 600;
    color: #334155;
}
.delivery-shipment-card .shipment-card-header .el-icon { color: #52c41a; }
.shipment-items-table { margin-bottom: 0; }
.delivery-summary-bar {
    margin-top: 16px;
    padding: 12px 16px;
    background: #f0f9ff;
    border-radius: 8px;
    font-size: 14px;
    color: #0369a1;
}
.delivery-dialog-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.delivery-search-bar { margin-bottom: 12px; }
.delivery-expand-content { padding: 12px 24px; background: #fafbfc; }
.delivery-expand-content .expand-section { margin-bottom: 12px; }
.delivery-expand-content .expand-title { font-weight: 600; margin-bottom: 8px; color: #334155; }
.delivery-detail-content .detail-section-title { font-weight: 600; margin: 16px 0 8px; color: #334155; }
.delivery-detail-content .detail-actions { margin-top: 20px; display: flex; gap: 8px; flex-wrap: wrap; }
.el-table .delivery-row-pending { background: #fffbeb !important; }
.el-table .delivery-row-allocated { background: #ecfdf5 !important; }

/* 订单详情-发货记录选项卡 */
.delivery-records-content { padding: 4px 0; }
.delivery-records-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e8e8e8;
}
.delivery-records-count { font-weight: 600; font-size: 14px; color: #303133; }
.delivery-record-card {
    margin-bottom: 20px;
    border: 1px solid #e4e7ed;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}
.delivery-record-card:last-child { margin-bottom: 0; }
.delivery-record-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: #f5f7fa;
    border-bottom: 1px solid #e8e8e8;
}
.delivery-record-title {
    display: flex;
    align-items: center;
    gap: 10px;
}
.delivery-record-title .delivery-index { font-weight: 600; color: #606266; }
.delivery-record-title .delivery-no {
    font-family: ui-monospace, monospace;
    font-size: 14px;
    color: #1677ff;
    font-weight: 500;
}
.delivery-record-title .delivery-status-badge { margin-left: 4px; }
.delivery-record-header .delivery-date { font-size: 13px; color: #606266; }
.delivery-record-body { padding: 16px; }
.delivery-record-actions { margin-top: 12px; text-align: right; }
.delivery-detail-section {
    margin-top: 0;
    padding: 0 16px 16px;
}
.delivery-detail-title {
    font-size: 13px;
    font-weight: 600;
    color: #606266;
    margin-bottom: 10px;
}
.delivery-info-strip { margin-top: 12px !important; }
.delivery-info-strip .el-descriptions__label { width: 90px; background: #fafbfc !important; }
.delivery-info-strip .el-descriptions__content { background: #fff !important; }
.delivery-records-content .delivery-items-table { font-size: 13px; width: 100% !important; }
.delivery-records-content .delivery-items-table th,
.delivery-records-content .delivery-items-table td { padding: 8px 10px; }
.delivery-qty-highlight { color: #67c23a; font-weight: 600; }

/* 订单详情-库存记录（入库/出库）*/
.inventory-records-panel { padding: 4px 0; }
.inventory-records-summary {
    display: flex;
    gap: 16px;
    margin-bottom: 12px;
    font-size: 13px;
}
.inventory-summary-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: 500;
}
.inventory-summary-item.inventory-in { background: #f0f9ff; color: #67c23a; }
.inventory-summary-item.inventory-out { background: #fef0f0; color: #f56c6c; }
.inventory-sub-tabs { margin-top: 0 !important; }
.inventory-sub-tabs .el-tabs__content { padding: 12px 0 0 !important; }
.inventory-sub-tabs .tab-badge { margin-left: 6px; vertical-align: middle; }
.inventory-records-table { font-size: 13px; width: 100% !important; }
.inventory-records-table th, .inventory-records-table td { padding: 8px 10px; }
.inventory-records-table .qty-in { color: #67c23a; font-weight: 600; }
.inventory-records-table .qty-out { color: #f56c6c; font-weight: 600; }

/* 报价单产品明细：选中行高亮 */
.el-table .quotation-row-selected { background: #ecf5ff !important; }
.quotation-detail-panel { transition: opacity 0.2s ease; }

/* 新建报价单-编辑产品明细对话框 */
.quotation-item-edit-dialog .el-dialog__body { padding: 16px 24px 20px; }
.quotation-item-edit-form .quotation-item-edit-title {
  margin-bottom: 20px;
  padding: 12px 16px;
  background: #f0f9ff;
  border-radius: 8px;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.quotation-item-edit-form .quotation-item-edit-title .quotation-item-edit-image {
  width: 64px;
  height: 64px;
  border-radius: 6px;
  flex-shrink: 0;
  background: #fff;
}
.quotation-item-edit-form .quotation-item-edit-title .quotation-item-edit-title-text { flex: 1; }
.quotation-item-edit-form .quotation-item-edit-title .title-label { font-weight: 600; color: #303133; }
.quotation-item-edit-form .quotation-item-edit-title .title-value { color: #303133; }
.quotation-item-edit-form .quotation-item-edit-title .title-spec { color: #909399; }
.quotation-item-edit-form .quotation-item-edit-body .el-form-item { margin-bottom: 16px; }
.quotation-item-edit-form .quotation-item-readonly { margin-top: 8px; }
.quotation-item-edit-form .readonly-value { color: #606266; font-size: 14px; }
.quotation-item-edit-form .readonly-value.cost-price { color: #e6a23c; font-weight: 500; }
.quotation-item-edit-form .quotation-price-row { margin-top: 8px; margin-bottom: 0; }
.quotation-item-edit-form .quotation-price-row .subtotal-tip { margin-left: 16px; color: #f56c6c; font-weight: 600; font-size: 14px; }
.quotation-item-edit-form .quotation-item-edit-section-title { font-weight: 600; color: #303133; font-size: 14px; margin: 20px 0 12px; padding-left: 4px; border-left: 3px solid #409eff; }
.quotation-item-edit-form .quotation-item-edit-section-title:first-of-type { margin-top: 0; }

/* 只数/单重/总重量 卡片 */
.quotation-weight-cards {
  display: flex;
  gap: 12px;
  margin-top: 12px;
  flex-wrap: wrap;
}
.quotation-weight-card {
  flex: 1;
  min-width: 100px;
  padding: 10px 16px;
  background: linear-gradient(135deg, #f6f9fc 0%, #eef4fb 100%);
  border: 1px solid #dcdfe6;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.quotation-weight-card .quotation-weight-label {
  font-size: 12px;
  color: #909399;
}
.quotation-weight-card .quotation-weight-value {
  font-size: 15px;
  font-weight: 600;
  color: #303133;
}
.quotation-weight-card .quotation-weight-value-highlight {
  color: #409eff;
  font-size: 16px;
}
.quotation-weight-card-warning {
  border-color: #e6a23c !important;
  background: linear-gradient(135deg, #fdf6ec 0%, #fef9f0 100%) !important;
}
.quotation-weight-card-warning .quotation-weight-value-highlight { color: #e6a23c; }
.quotation-item-edit-form .quotation-weight-warning { margin-top: 12px; }

/* 包装区块布局：内包装、外包装左右排列 */
.quotation-item-edit-form .packaging-section {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
}
.quotation-item-edit-form .packaging-section .packaging-block {
  flex: 1;
  min-width: 260px;
}
.quotation-item-edit-form .packaging-block {
  border: 1px solid #e4e7ed;
  border-radius: 8px;
  overflow: hidden;
}
.quotation-item-edit-form .packaging-block-title {
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #303133;
  background: #f5f7fa;
}
.quotation-item-edit-form .packaging-block-body {
  padding: 14px 16px;
}
.quotation-item-edit-form .packaging-input-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.quotation-item-edit-form .packaging-input-row .el-input-number { width: 100px; }
.quotation-item-edit-form .packaging-input-row .el-select { width: 90px; }
.quotation-item-edit-form .packaging-divider {
  color: #c0c4cc;
  font-weight: 600;
  padding: 0 2px;
}
.quotation-item-edit-form .packaging-unit-label {
  min-width: 32px;
  color: #606266;
  font-size: 14px;
  text-align: center;
}
.quotation-item-edit-form .packaging-hint {
  font-size: 12px;
  color: #909399;
  margin-top: 8px;
}
.quotation-item-edit-form .quotation-qty-hint {
  font-size: 12px;
  color: #909399;
  margin-top: 4px;
}
/* 数量与印刷左右排列 */
.quotation-item-edit-form .quotation-qty-printing-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 8px;
}
.quotation-item-edit-form .quotation-qty-block,
.quotation-item-edit-form .quotation-printing-block {
  flex: 1;
  min-width: 200px;
  border: 1px solid #e4e7ed;
  border-radius: 8px;
  overflow: hidden;
}
.quotation-item-edit-form .subtotal-breakdown {
  font-size: 12px;
  color: #909399;
  font-weight: normal;
}

/* 包装自动计算行 */
.quotation-item-edit-form .packaging-calc-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 14px;
  padding: 12px 14px;
  background: #f0f9ff;
  border-radius: 6px;
  font-size: 13px;
}
.quotation-item-edit-form .packaging-calc-item {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.quotation-item-edit-form .packaging-calc-sep {
  color: #c0c4cc;
  margin: 0 12px;
  font-weight: 300;
}
.quotation-item-edit-form .packaging-calc-label { color: #606266; font-size: 13px; }
.quotation-item-edit-form .packaging-calc-value { font-weight: 600; color: #409eff; }
.quotation-item-edit-form .packaging-calc-pieces {
  margin-top: 10px;
  background: #f5f7fa;
}

/* 新建报价单-产品明细表格 */
.customer-management .quotation-table-wrapper .el-table { font-size: 13px; }
.customer-management .quotation-table-wrapper .el-table th { padding: 10px 8px; }
.customer-management .quotation-table-wrapper .el-table td { padding: 8px; }

/* 提成结算对话框（与全站 form-section 统一） */
.commission-dialog .form-section { margin-bottom: 20px; }
.commission-dialog .commission-result { margin-top: 12px; }
.commission-dialog .result-summary { margin-bottom: 12px; padding: 12px; background: #f5f7fa; border-radius: 6px; font-size: 14px; }

/* 结算单收货地址列自动换行 */
.customer-management .settlement-items-table .address-wrap-cell .cell {
    white-space: normal;
    word-break: break-word;
    line-height: 1.4;
}

/* 原料出入库记录查看对话框 */
.material-records-dialog .material-records-filter { margin-bottom: 16px; }
.material-records-dialog .material-records-content { min-height: 200px; }

/* 成品出入库记录查看对话框 */
.product-records-dialog .product-records-filter { margin-bottom: 16px; }
.product-records-dialog .product-records-content { min-height: 200px; }

/* 出库单详情 */
.outbound-detail-content .outbound-detail-header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #e4e7ed; }
.outbound-detail-content .outbound-detail-title { font-size: 16px; font-weight: 600; color: #303133; }
.outbound-detail-content .outbound-detail-info { margin-bottom: 16px; }
.outbound-detail-content .outbound-detail-table-wrap { margin-top: 16px; }
.outbound-detail-content .outbound-detail-section-title { font-weight: 600; margin-bottom: 8px; color: #334155; font-size: 14px; }
.outbound-detail-content .outbound-detail-table { margin-top: 4px; }

/* 配货对话框 */
.allocation-dialog .allocation-header { margin-bottom: 12px; font-size: 14px; color: #334155; }
.allocation-dialog .allocation-tip { margin-bottom: 12px; padding: 8px 12px; background: #f0f9ff; border-radius: 6px; font-size: 13px; color: #0369a1; }
.allocation-dialog .stock-item { display: block; font-size: 12px; margin-bottom: 2px; }
.allocation-dialog .text-danger { color: #ff4d4f; }

/* 产品表单-单重/成本价实时计算展示 */
.cost-display {
  min-height: 32px;
  line-height: 32px;
  padding: 0 11px;
  background: #f5f7fa;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  color: #606266;
  font-size: 14px;
}

/* 产品表单-成品吨价/单重/成本价 浅蓝背景+红字强调 */
.formula-highlight-field {
  padding: 6px 10px;
  background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
  border: 1px solid #7dd3fc;
  border-radius: 6px;
}
.formula-highlight-field .el-input-number,
.formula-highlight-field .el-input-number .el-input__wrapper {
  background: transparent !important;
  box-shadow: none !important;
}
.formula-highlight-field .el-input-number .el-input__inner {
  font-weight: 600;
  color: #dc2626;
}

/* 产品表单-实物图多图上传 */
.product-image-uploads {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
}
.product-image-uploads .product-image-item {
  position: relative;
  flex-shrink: 0;
}
.product-image-uploads .product-image-preview {
  width: 80px;
  height: 80px;
  border-radius: 6px;
  border: 1px solid #ebeef5;
  display: block;
}
.product-image-uploads .product-image-del {
  position: absolute;
  bottom: -22px;
  left: 0;
}
.product-image-uploads .product-image-add-more,
.product-image-uploads .product-image-upload-placeholder {
  width: 80px;
  height: 80px;
  border-radius: 6px;
  border: 1px dashed #dcdfe6;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-sizing: border-box;
}
.product-image-uploads .product-image-add-more:hover .product-image-upload-placeholder {
  border-color: var(--el-color-primary);
  color: var(--el-color-primary);
}

/* 开票申请 - 历史驳回原因展示 */
.rejected-reasons-list {
  width: 100%;
  padding: 8px 12px;
  background: #fef0f0;
  border: 1px solid #fde2e2;
  border-radius: 6px;
}
.rejected-reason-item {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 13px;
}
.rejected-reason-item:last-child {
  margin-bottom: 0;
}
.rejected-reason-item .reason-text {
  flex: 1;
  color: #606266;
}
.rejected-reason-item .reason-amount {
  color: #909399;
  font-size: 12px;
}

/* 开票申请 - 已开票记录展示 */
.approved-invoices-list {
  width: 100%;
  padding: 8px 12px;
  background: #f0f9ff;
  border: 1px solid #c6e2ff;
  border-radius: 6px;
}
.approved-invoice-item {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 13px;
}
.approved-invoice-item:last-child {
  margin-bottom: 0;
}
.approved-invoice-item .invoice-no {
  color: #303133;
  font-weight: 500;
}
.approved-invoice-item .invoice-amount {
  color: #909399;
  font-size: 12px;
}


