/* ==================== 组件样式 ==================== */

/* 导入模态框样式 - SmartAdmin风格 */
.import-step {
    text-align: center;
    transition: all var(--transition-base);
    padding: 1rem;
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid var(--color-border);
    margin: 0 0.5rem;
}

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

.import-step.active {
    background: linear-gradient(135deg, var(--color-primary-bg) 0%, rgba(30, 64, 175, 0.1) 100%);
    border-color: var(--color-primary);
    box-shadow: var(--shadow-md);
}

.import-step.active .step-circle {
    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
    color: white;
    transform: scale(1.1);
    box-shadow: var(--shadow-md);
}

.import-step.completed .step-circle {
    background: linear-gradient(135deg, var(--color-success), rgba(16, 185, 129, 0.8));
    color: white;
    box-shadow: var(--shadow-md);
}

.step-circle {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-full);
    background: linear-gradient(135deg, var(--color-neutral-200), var(--color-neutral-100));
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    margin: 0 auto 0.75rem;
    transition: all var(--transition-base);
    border: 2px solid var(--color-border);
}

.step-label {
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    font-weight: 500;
    transition: all var(--transition-base);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.import-step.active .step-label {
    color: var(--color-primary);
    font-weight: 600;
    transform: translateY(-2px);
}

.import-step.completed .step-label {
    color: var(--color-success);
    font-weight: 600;
}

/* 上传区域 - SmartAdmin风格 */
.upload-area {
    border: 2px dashed var(--color-border);
    border-radius: var(--radius-xl);
    min-height: 240px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition-base);
    background: rgba(255, 255, 255, 0.5);
    gap: 1rem;
    padding: 2rem;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
}

.upload-area:hover {
    border-color: var(--color-primary);
    background: linear-gradient(135deg, var(--color-primary-bg) 0%, rgba(30, 64, 175, 0.1) 100%);
    transform: translateY(-2px);
    box-shadow: inset 0 0 0 1px var(--color-primary), var(--shadow-md);
}

.upload-area.dragover {
    border-color: var(--color-success);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, rgba(16, 185, 129, 0.1) 100%);
    box-shadow: inset 0 0 0 1px var(--color-success), var(--shadow-lg);
}

/* 文件项 - SmartAdmin风格 */
.file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    margin-bottom: 1rem;
    transition: all var(--transition-base);
    background: linear-gradient(180deg, var(--color-bg-secondary) 0%, var(--color-bg-tertiary) 100%);
    box-shadow: var(--shadow-sm);
}

.file-item:hover {
    border-color: var(--color-primary);
    background: linear-gradient(135deg, var(--color-primary-bg) 0%, rgba(30, 64, 175, 0.1) 100%);
    transform: translateX(4px);
    box-shadow: var(--shadow-md);
}

.file-item-info {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
}

.file-item-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    transition: all var(--transition-base);
    box-shadow: var(--shadow-sm);
}

.file-item:hover .file-item-icon {
    transform: scale(1.1) rotate(5deg);
    box-shadow: var(--shadow-md);
}

.file-item-icon.excel {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(16, 185, 129, 0.2));
    color: var(--color-success);
    border: 1px solid var(--color-success);
}

.file-item-icon.csv {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.1), rgba(245, 158, 11, 0.2));
    color: var(--color-warning);
    border: 1px solid var(--color-warning);
}

.file-item-icon.txt {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.2));
    color: var(--color-info);
    border: 1px solid var(--color-info);
}

.file-item-meta {
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    line-height: 1.5;
}

/* 平台徽章 - SmartAdmin风格 */
.platform-badge {
    padding: 4px 12px;
    border-radius: 1rem;
    font-size: 12px;
    font-weight: 500;
}

.platform-badge.qcc {
    background: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
}

.platform-badge.aqc {
    background: rgba(16, 185, 129, 0.1);
    color: var(--color-success);
}

.platform-badge.sjb {
    background: rgba(245, 158, 11, 0.1);
    color: var(--color-warning);
}

/* 字段映射行 */
.mapping-row {
    background-color: white;
}

.mapping-row:hover {
    background-color: var(--color-bg-light);
}

.mapping-row.unmapped {
    background-color: rgba(239, 68, 68, 0.05);
}

.field-matched {
    color: var(--color-success);
}

.field-unmatched {
    color: var(--color-danger);
}

/* 徽章容器 */
.badge-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* 数据预览单元格 */
.data-preview-cell {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 导入进度覆盖层 */
.import-progress-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
}

.import-progress-card {
    background: white;
    border-radius: var(--radius-md);
    padding: 40px;
    max-width: 500px;
    width: 90%;
    text-align: center;
}

.progress-circle {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 8px solid #e5e7eb;
    border-top-color: var(--color-primary);
    margin: 0 auto 20px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.import-status {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 10px;
}

.import-details {
    color: var(--color-text-light);
}

/* 厂商标签 */
.vendor-tag {
    font-size: 12px;
    padding: 2px 6px;
    border-radius: 3px;
    margin-right: 6px;
    margin-bottom: 2px;
    display: inline-block;
    vertical-align: middle;
    line-height: 1.3;
}

.vendor-tag-item {
    display: inline-flex;
    align-items: center;
    margin: 4px;
    padding: 4px 8px;
    background-color: white;
    border: 1px solid var(--color-border);
    border-radius: 6px;
}

.vendor-tag-item:hover {
    border-color: var(--color-primary);
}

.vendor-tag-item .vendor-tag {
    margin: 0;
    border-radius: 4px;
}

/* 保留默认标签的样式（向后兼容） */
.vendor-tag.autodesk {
    background-color: rgba(239, 68, 68, 0.1);
    color: var(--color-danger);
}

.vendor-tag.sketchup {
    background-color: rgba(34, 197, 94, 0.1);
    color: var(--color-success);
}

.vendor-tag.adobe {
    background-color: rgba(168, 85, 247, 0.1);
    color: #a855f7;
}

.vendor-tag.dassault {
    background-color: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
}

/* 质量评分 */
.quality-score {
    font-weight: 600;
}

.quality-score.high {
    color: var(--color-success);
}

.quality-score.medium {
    color: var(--color-warning);
}

.quality-score.low {
    color: var(--color-danger);
}

/* 数据源操作按钮 */
.data-source-actions {
    display: flex;
    gap: 0.25rem;
}

.data-source-actions .btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
}

/* 快捷筛选按钮 */
.quick-filter-btn {
    color: var(--color-text);
    border-color: var(--color-border);
    background: white;
}

.quick-filter-btn:hover {
    border-color: var(--color-primary);
    background: var(--color-primary-light);
    color: var(--color-primary);
}

.quick-filter-btn.active {
    background: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
}

/* ==================== 数据源管理样式 ==================== */

/* 统计卡片紧凑布局 */
.datasource-stats-card .card-body {
    padding: 0.75rem 1rem;
}

.datasource-stat-item {
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.datasource-stat-number {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.2;
}

.datasource-stat-label {
    font-size: 0.75rem;
    color: var(--color-text-light);
}

/* 精简筛选栏 */
.filter-compact-bar .input-group {
    flex-wrap: nowrap;
}

.filter-compact-bar .form-select,
.filter-compact-bar .form-control {
    font-size: 0.875rem;
}

/* 快捷筛选标签 */
.quick-filter-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.quick-filter-tag {
    padding: 0.375rem 0.75rem;
    font-size: 0.8125rem;
    border-radius: 4px;
    border: 1px solid var(--color-border);
    background: white;
}

.quick-filter-tag:hover {
    border-color: var(--color-primary);
    background: var(--color-primary-light);
    color: var(--color-primary);
}

.quick-filter-tag.active {
    background: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
}

/* 数据表格 */
.data-table {
    font-size: 0.875rem;
}

.data-table th {
    background: var(--color-bg-light);
    font-weight: 600;
    font-size: 0.8125rem;
    padding: 0.75rem 0.5rem;
    white-space: nowrap;
}

.data-table td {
    padding: 0.75rem 0.5rem;
    vertical-align: middle;
}

.data-table tbody tr:hover {
    background: var(--color-primary-light);
}

/* 批量操作栏 */
.batch-action-alert {
    background: var(--color-primary-light);
    border-left: 3px solid var(--color-primary);
    border-radius: 4px;
}

/* ==================== 评分模块样式 ==================== */

/* 维度列表 */
.dimensions-list {
    max-height: 500px;
    overflow-y: auto;
    padding-right: 6px;
}

/* 维度卡片 */
.dimension-item {
    background: white;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    margin-bottom: 12px;
    overflow: hidden;
}

.dimension-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-color: var(--color-primary);
}

/* 维度标题 */
.dimension-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    background: var(--color-bg-light);
    border-bottom: 1px solid var(--color-border);
    cursor: pointer;
    font-weight: 500;
    color: var(--color-text);
}

.dimension-title:hover {
    background: var(--color-primary-light);
}

.dimension-title .dimension-header-info {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dimension-title .dimension-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-primary);
}

.dimension-title .dimension-stats {
    display: flex;
    gap: 8px;
    font-size: 0.75rem;
    color: var(--color-text-light);
}

.dimension-title .dimension-stats .stat-item {
    display: flex;
    align-items: center;
    gap: 3px;
}

.dimension-collapsed .dimension-factors {
    display: none;
}

.dimension-collapsed .dimension-title {
    border-radius: var(--radius-md);
    border-bottom: none;
}

/* 维度因子容器 */
.dimension-factors {
    padding: 10px;
    background: var(--color-bg-light);
}

/* 因子项 */
.factor-item {
    display: flex;
    flex-direction: column;
    padding: 10px;
    margin-bottom: 8px;
    background: white;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
}

.factor-item:hover {
    border-color: var(--color-primary);
}

.factor-item .factor-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 8px;
}

.factor-item .factor-info {
    flex: 1;
    min-width: 0;
    margin-right: 12px;
}

.factor-item .factor-name {
    font-weight: 600;
    color: var(--color-text);
    margin-bottom: 4px;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 6px;
}

.factor-item .factor-name .veto-badge {
    background-color: var(--color-danger);
    color: white;
    font-size: 0.7rem;
    padding: 2px 6px;
    border-radius: var(--radius-sm);
    font-weight: 600;
}

.factor-item .factor-desc {
    font-size: 0.75rem;
    color: var(--color-text-light);
    line-height: 1.4;
    margin-bottom: 8px;
    white-space: normal;
    word-wrap: break-word;
}

/* 因子详情行 */
.factor-item .factor-details {
    display: grid;
    grid-template-columns: 1fr 100px 80px;
    gap: 10px;
    align-items: center;
    margin-bottom: 8px;
}

/* 因子权重 */
.factor-item .factor-weight {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.factor-item .factor-weight-label {
    font-size: 0.75rem;
    color: var(--color-text-light);
    font-weight: 500;
}

.factor-item .factor-weight-bar {
    display: flex;
    align-items: center;
    gap: 8px;
}

.factor-item .weight-progress {
    flex: 1;
    height: 8px;
    background-color: var(--color-bg);
    border-radius: 4px;
    overflow: hidden;
}

.factor-item .weight-progress-bar {
    height: 100%;
    background: var(--color-primary);
    border-radius: 4px;
}

.factor-item .weight-value {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-primary);
    min-width: 30px;
}

/* 因子评分 */
.factor-item .factor-score {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.factor-item .factor-score-label {
    font-size: 0.75rem;
    color: var(--color-text-light);
    font-weight: 500;
}

.factor-item .factor-score-input {
    display: flex;
    align-items: center;
    gap: 8px;
}

.factor-item .factor-score input {
    width: 60px;
    text-align: center;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 6px 8px;
    border: 2px solid var(--color-border);
    border-radius: var(--radius-sm);
}

.factor-item .factor-score input:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-primary-light);
}

.factor-item .factor-score .score-max {
    font-size: 0.85rem;
    color: var(--color-text-light);
}

/* 因子得分进度条 */
.factor-item .factor-score-bar {
    height: 10px;
    background-color: var(--color-bg);
    border-radius: 5px;
    overflow: hidden;
    margin-top: 8px;
}

.factor-item .score-progress {
    height: 100%;
    background: linear-gradient(90deg, var(--color-success) 0%, var(--color-warning) 50%, var(--color-danger) 100%);
    border-radius: 5px;
}

/* 因子操作按钮 */
.factor-item .factor-actions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--color-border);
    justify-content: flex-end;
}

.factor-item .factor-actions button {
    padding: 6px 12px;
    font-size: 0.8rem;
    border-radius: var(--radius-sm);
}

/* 添加因子按钮 */
.factor-item .add-factor-btn {
    width: 100%;
    margin-top: 8px;
    padding: 10px;
    font-weight: 600;
}

/* 拖拽手柄 */
.drag-handle {
    cursor: grab;
    color: var(--color-text-light);
    margin-right: 8px;
}

.drag-handle:hover {
    color: var(--color-primary);
}

.drag-handle:active {
    cursor: grabbing;
}

/* 维度统计信息 */
.dimension-stats {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
    padding: 12px 16px;
    background: var(--color-primary-light);
    border-radius: var(--radius-md);
    font-size: 0.875rem;
}

.dimension-stats .stat-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dimension-stats .stat-value {
    font-weight: 600;
    color: var(--color-primary);
    font-size: 1.1rem;
}

.dimension-stats .stat-label {
    color: var(--color-text-light);
}

/* 空状态样式 */
.dimensions-list .empty-state {
    text-align: center;
    padding: 40px 20px;
    color: var(--color-text-light);
}

.dimensions-list .empty-state i {
    font-size: 3rem;
    margin-bottom: 16px;
}

.dimensions-list .empty-state p {
    margin-bottom: 0;
    font-size: 0.95rem;
}

/* 评分结果显示 */
.total-score-display {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--color-primary);
    line-height: 1;
    margin-bottom: 4px;
}

.score-grade-display {
    font-size: 1.5rem;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: var(--radius-md);
    background: var(--color-bg-light);
}

.score-breakdown {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.dimension-score {
    padding: 8px 12px;
    background: var(--color-bg-light);
    border-radius: var(--radius-sm);
    text-align: center;
}

.dimension-score-value {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--color-primary);
    margin-bottom: 2px;
}

.dimension-score small {
    font-size: 0.7rem;
    color: var(--color-text-light);
}

/* 评分模板网格 */
.templates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 16px;
}

.template-card {
    padding: 16px;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    cursor: pointer;
}

.template-card:hover {
    border-color: var(--color-primary);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.template-card h5 {
    font-size: 1rem;
    margin-bottom: 8px;
    color: var(--color-text);
}

.template-card p {
    font-size: 0.8rem;
    color: var(--color-text-light);
    margin-bottom: 12px;
}

/* 一票否决标记 */
.badge.bg-danger {
    background: rgba(239, 68, 68, 0.1) !important;
    color: var(--color-danger) !important;
    font-size: 0.65rem;
    padding: 2px 6px;
}

/* ==================== 登录页管理样式 ==================== */

/* 颜色选择器增强样式 */
.form-control-color {
    width: 60px;
    height: 38px;
    padding: 0.25rem;
    cursor: pointer;
}

/* 登录页设置卡片 */

/* 渐变预览 */
.gradient-preview {
    width: 100%;
    height: 40px;
    border-radius: 4px;
    margin-top: 8px;
    border: 1px solid #ddd;
}

/* 背景图片预览 */
.bg-image-preview {
    width: 100%;
    height: 120px;
    background-size: cover;
    background-position: center;
    border-radius: 4px;
    margin-top: 8px;
    border: 1px solid #ddd;
    overflow: hidden;
    position: relative;
}

.bg-image-preview::after {
    content: '背景图片预览';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    padding: 4px 8px;
    font-size: 12px;
    text-align: center;
}

/* 登录页设置警告 */
.login-settings-warning {
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 4px;
    padding: 12px 16px;
    margin-bottom: 16px;
    font-size: 14px;
    color: #856404;
}

.login-settings-warning i {
    margin-right: 8px;
}

/* ==================== 高级筛选样式 ==================== */

/* 高级筛选面板 */
#advancedFilterPanel .card-body {
    padding: 0.5rem;
}

/* 高级筛选容器 */
.advanced-filter-container {
    background: white;
    border-radius: var(--radius-sm);
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* 自动PF模块样式优化 */
.auto-pf-container {
    font-size: 0.875rem;
}

.auto-pf-container .page-title {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
}

.auto-pf-container .content-card {
    margin-bottom: 1rem;
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.auto-pf-container .card-header {
    padding: 0.75rem 1rem;
    background: var(--color-bg-light);
    border-bottom: 1px solid var(--color-border);
}

.auto-pf-container .card-title {
    font-size: 1rem;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.auto-pf-container .card-body {
    padding: 1rem;
}

.auto-pf-container .form-label {
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 0.375rem;
    color: var(--color-text-light);
}

.auto-pf-container .form-select,
.auto-pf-container .form-control {
    font-size: 0.8125rem;
}

.auto-pf-container .btn {
    font-size: 0.8125rem;
    padding: 0.375rem 0.75rem;
}

.auto-pf-container .upload-area {
    padding: 1.5rem;
}

.auto-pf-container .upload-icon {
    margin-bottom: 0.75rem;
}

.auto-pf-container .upload-icon i {
    font-size: 2rem;
}

.auto-pf-container h5 {
    font-size: 0.9375rem;
    margin-bottom: 0.5rem;
}

.auto-pf-container p {
    font-size: 0.8125rem;
    margin-bottom: 0.75rem;
}

.auto-pf-container .table-sm {
    font-size: 0.75rem;
}

.auto-pf-container .table {
    font-size: 0.8125rem;
}

.auto-pf-container .table th {
    padding: 0.5rem;
    font-weight: 600;
    background: var(--color-bg-light);
    border-bottom: 2px solid var(--color-border);
}

.auto-pf-container .table td {
    padding: 0.5rem;
    vertical-align: middle;
}

.auto-pf-container .badge {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
}

.auto-pf-container .form-check {
    margin-bottom: 0.375rem;
}

/* 紧凑模式 */
.auto-pf-container.compact {
    font-size: 0.75rem;
}

.auto-pf-container.compact .card-header,
.auto-pf-container.compact .card-body {
    padding: 0.5rem;
}

.auto-pf-container.compact .form-label {
    font-size: 0.6875rem;
    margin-bottom: 0.25rem;
}

.auto-pf-container.compact .form-select,
.auto-pf-container.compact .form-control {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
}

.auto-pf-container.compact .btn {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
}

.auto-pf-container.compact .table th,
.auto-pf-container.compact .table td {
    padding: 0.375rem;
}

/* 标签页导航 */
.advanced-filter-container .nav-tabs {
    border-bottom: 1px solid var(--color-border);
    background: var(--color-bg-light);
    padding: 0.25rem 0.5rem;
    gap: 0.25rem;
}

.advanced-filter-container .nav-tabs .nav-link {
    font-size: 0.75rem;
    padding: 0.375rem 0.75rem;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    color: var(--color-text-light);
    background: transparent;
    margin-bottom: 0;
}

.advanced-filter-container .nav-tabs .nav-link:hover {
    background: var(--color-bg);
    border-color: var(--color-border);
    color: var(--color-text);
}

.advanced-filter-container .nav-tabs .nav-link.active {
    background: white;
    border-color: var(--color-border);
    border-bottom-color: white;
    color: var(--color-primary);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* 标签页内容 */
.advanced-filter-container .tab-content {
    background: white;
    padding: 0;
}

.advanced-filter-container .tab-pane {
    padding: 0;
}

/* 已选条件 */
.selected-filters {
    padding: 0.5rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-border);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.selected-filter-tag {
    display: inline-flex;
    align-items: center;
    background: var(--color-primary-light);
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: 12px;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}

.selected-filter-tag:hover {
    background: rgba(74, 144, 226, 0.2);
}

.selected-filter-tag .filter-name {
    margin-right: 0.5rem;
}

.selected-filter-tag .remove-filter {
    background: none;
    border: none;
    color: var(--color-primary);
    cursor: pointer;
    padding: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    line-height: 1;
}

.selected-filter-tag .remove-filter:hover {
    color: #357abd;
}

/* 筛选组 */
.filter-groups {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.filter-group {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: white;
    margin-bottom: 0.25rem;
}

.filter-group:hover {
    border-color: var(--color-border);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* 筛选组标题 */
.filter-group-header {
    background: var(--color-bg-light);
    padding: 0.375rem 0.5rem;
    cursor: pointer;
    user-select: none;
    font-size: 0.8125rem;
    height: 2rem;
    display: flex;
    align-items: center;
}

.filter-group-header:hover {
    background: #e9ecef;
}

.filter-group-header .toggle-icon {
    font-size: 0.6875rem;
}

.filter-group.collapsed .toggle-icon {
    transform: rotate(-90deg);
}

/* 筛选组内容 */
.filter-group-content {
    padding: 0.375rem 0.5rem;
}

.filter-group.collapsed .filter-group-content {
    display: none;
}

/* 优化筛选组内容布局，增加列数 */
.filter-group-content .row {
    margin: 0;
    gap: 0.375rem;
}

.filter-group-content .col-lg-4, .filter-group-content .col-lg-6 {
    padding: 0;
}

/* 紧凑表单元素 */
.filter-group-content .form-label {
    margin-bottom: 0.25rem;
    line-height: 1;
}

.filter-group-content .form-control, 
.filter-group-content .form-select {
    height: 1.875rem;
    padding: 0.375rem 0.5rem;
    font-size: 0.8125rem;
    line-height: 1;
}

/* 多选框组优化 */
.filter-group-content .form-check {
    margin-bottom: 0.25rem;
}

.filter-group-content .form-check-input {
    margin-top: 0.125rem;
}

.filter-group-content .form-check-label {
    font-size: 0.8125rem;
    line-height: 1;
}

/* 复选框标签样式 */
.checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.625rem;
    background: var(--color-bg-light);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    cursor: pointer;
    user-select: none;
    font-size: 0.8125rem;
    margin-bottom: 0.25rem;
    max-width: calc(50% - 0.25rem);
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.checkbox-label input {
    margin: 0;
    flex-shrink: 0;
}

.checkbox-label:hover {
    background: #e9ecef;
    border-color: var(--color-border);
}

/* 厂商标签样式增强 */
.vendor-tag {
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-sm);
    font-size: 0.8125rem;
    font-weight: 500;
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.vendor-tag.autodesk {
    background: rgba(0, 120, 212, 0.1);
    color: #0078D4;
    border: 1px solid rgba(0, 120, 212, 0.3);
}

.vendor-tag.sketchup {
    background: rgba(244, 117, 33, 0.1);
    color: #F47521;
    border: 1px solid rgba(244, 117, 33, 0.3);
}

.vendor-tag.adobe {
    background: rgba(255, 0, 0, 0.1);
    color: #FF0000;
    border: 1px solid rgba(255, 0, 0, 0.3);
}

.vendor-tag.dassault {
    background: rgba(0, 169, 157, 0.1);
    color: #00A99D;
    border: 1px solid rgba(0, 169, 157, 0.3);
}

/* 企业标签样式 */
.company-tag {
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-sm);
    font-size: 0.8125rem;
    font-weight: 500;
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.company-tag.listed {
    background: rgba(102, 126, 234, 0.1);
    color: var(--color-primary);
    border: 1px solid rgba(102, 126, 234, 0.3);
}

.company-tag.hightech {
    background: rgba(220, 38, 38, 0.1);
    color: var(--color-danger);
    border: 1px solid rgba(220, 38, 38, 0.3);
}

.company-tag.taxpayer {
    background: rgba(34, 197, 94, 0.1);
    color: var(--color-success);
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.company-tag.website {
    background: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
    border: 1px solid rgba(59, 130, 246, 0.3);
}

.company-tag.contact {
    background: rgba(16, 185, 129, 0.1);
    color: var(--color-success);
    border: 1px solid rgba(16, 185, 129, 0.3);
}

/* 优化表单元素，减少高度 */
.filter-group-content .form-control,
.filter-group-content .form-select,
.filter-group-content .input-group {
    height: calc(1.8125rem + 2px);
    font-size: 0.8125rem;
}

.filter-group-content .form-label {
    font-size: 0.75rem;
    margin-bottom: 0.25rem;
}

.filter-group-content .input-group-text {
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem;
    height: calc(1.8125rem + 2px);
}

/* 快捷按钮样式 */
.capital-quick-btn,
.date-quick-btn {
    padding: 0.25rem 0.625rem;
    border: 1px solid var(--color-border);
    background: white;
    color: var(--color-text);
    border-radius: var(--radius-sm);
    font-size: 0.8125rem;
    margin-bottom: 0.25rem;
    flex-shrink: 0;
}

.capital-quick-btn:hover,
.date-quick-btn:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: var(--color-primary-light);
}

.capital-quick-btn.active,
.date-quick-btn.active {
    background: var(--color-primary);
    color: white;
    border-color: var(--color-primary);
}

/* 筛选操作栏 */
.filter-actions {
    border-top: 1px solid var(--color-border);
    padding-top: 0.75rem;
    margin-top: 0.75rem;
    font-size: 0.8125rem;
}

.filter-actions .btn {
    padding: 0.375rem 0.75rem;
    font-size: 0.8125rem;
}

/* ==================== 自动化流程相关样式 ==================== */

/* 控制面板 */
.flow-control-panel {
    background-color: #f8f9fa;
    padding: 16px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* 流程容器 */
.automation-flow-container {
    background-color: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    overflow: auto;
}

/* 画布容器 */
.flow-canvas-wrapper {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* SVG画布 */
.flow-canvas {
    width: 100%;
    min-height: 600px;
    background-color: white;
}

/* 流程节点 */
.flow-node {
    cursor: pointer;
    transition: all 0.3s ease;
}

.flow-node:hover {
    filter: brightness(1.1);
    transform: scale(1.02);
}

/* 节点框 */
.node-box {
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
    transition: all 0.3s ease;
}

.flow-node:hover .node-box {
    filter: drop-shadow(0 6px 8px rgba(0, 0, 0, 0.15));
}

/* 节点连接器 */
.node-connector {
    cursor: pointer;
    transition: all 0.3s ease;
}

.node-connector:hover {
    r: 12;
    stroke-width: 3;
}

/* 节点统计区域 */
.node-stats {
    transition: all 0.3s ease;
}

/* 节点统计文本 */
.node-stat-text {
    font-weight: bold;
    font-size: 14px;
}

/* 连接线条 */
.connection-line {
    transition: all 0.3s ease;
    stroke-dasharray: none;
}

.connection-line:hover {
    stroke: #667eea;
    stroke-width: 3;
}

/* 数据流动点 */
.data-flow-dot {
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

/* 流程信息区域 */
.flow-info-section {
    background-color: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin-top: 20px;
}

/* 章节标题 */
.section-title {
    margin-bottom: 20px;
    color: #333;
    font-weight: 600;
}

/* 信息卡片 */
.info-card {
    background-color: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    transition: all 0.3s ease;
}

.info-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* 信息卡片标题 */
.info-card-title {
    margin-bottom: 16px;
    color: #333;
    font-size: 18px;
    font-weight: 600;
}

/* 信息列表 */
.info-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.info-list li {
    padding: 8px 0;
    border-bottom: 1px solid #e9ecef;
    display: flex;
    align-items: flex-start;
}

.info-list li:last-child {
    border-bottom: none;
}

.info-list li strong {
    color: #667eea;
    margin-right: 8px;
}

/* 响应式设计 */
@media (max-width: 768px) {
    .flow-control-panel {
        padding: 12px;
    }

    .flow-control-panel .d-flex {
        flex-direction: column;
        align-items: stretch;
    }

    .automation-flow-container {
        padding: 12px;
    }

    .flow-canvas {
        min-height: 400px;
    }
}
