.finance-page-container { display: flex; flex-direction: column; gap: 20px; padding: 0 4px 32px; } /* ================= 头部卡片 ================= */ .page-header-card { background: #ffffff; border-radius: 16px; padding: 24px 28px; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 4px 12px rgba(15, 23, 42, 0.02); border: 1px solid rgba(226, 232, 240, 0.8); } .header-main { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; } .title-group { display: flex; flex-direction: column; gap: 6px; } .eyebrow-tag { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: 0.8px; color: #ea580c; background: #fff7ed; padding: 3px 10px; border-radius: 20px; width: fit-content; } .page-title { margin: 0; font-size: 26px; font-weight: 800; color: #0f172a; letter-spacing: -0.5px; } .page-subtitle { margin: 0; font-size: 13.5px; color: #64748b; line-height: 1.5; } .toolbar-actions { display: flex; align-items: center; gap: 10px; } /* ================= 核心指标卡片 ================= */ .summary-metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; } .metric-card { background: #ffffff; border-radius: 16px; padding: 18px 20px; border: 1px solid rgba(226, 232, 240, 0.8); box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 4px 12px rgba(15, 23, 42, 0.02); display: flex; align-items: center; gap: 16px; position: relative; overflow: hidden; transition: transform 0.2s ease, box-shadow 0.2s ease; } .metric-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08); } .metric-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; } .metric-card--paid::before { background: linear-gradient(90deg, #f59e0b, #fbbf24); } .metric-card--total::before { background: linear-gradient(90deg, #64748b, #94a3b8); } .metric-icon-wrap { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; } .metric-icon-wrap.amber { background: #fffbeb; color: #f59e0b; } .metric-icon-wrap.slate { background: #f1f5f9; color: #64748b; } .metric-info { display: flex; flex-direction: column; gap: 4px; } .metric-label { font-size: 12.5px; font-weight: 500; color: #64748b; } .metric-val { font-size: 22px; font-weight: 800; color: #0f172a; letter-spacing: -0.3px; line-height: 1.2; } .amber-val { color: #d97706; } .metric-sub-pill { display: inline-flex; align-items: center; font-size: 11px; font-weight: 600; padding: 1px 6px; border-radius: 4px; width: fit-content; } .metric-sub-pill.warning { background: #fffbeb; color: #d97706; } .metric-sub-text { font-size: 11.5px; color: #94a3b8; } /* ================= 筛选面板 ================= */ .section-card { background: #ffffff; border-radius: 16px; padding: 22px 24px; border: 1px solid rgba(226, 232, 240, 0.8); box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 4px 12px rgba(15, 23, 42, 0.02); } .filter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px 16px; } .filter-grid :deep(.el-form-item) { margin-bottom: 0; } .filter-grid :deep(.el-form-item__label) { padding-bottom: 4px; font-size: 12px; font-weight: 600; color: #64748b; } .full-control { width: 100%; } /* ================= 表格卡片 ================= */ .table-section-card { padding-bottom: 16px; } .table-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; } .table-header-title { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 700; color: #1e293b; } .header-icon { color: #ea580c; font-size: 18px; } .count-badge { font-size: 12px; font-weight: 600; color: #ea580c; background: #fff7ed; padding: 3px 10px; border-radius: 20px; } .table-container { border-radius: 12px; overflow: hidden; border: 1px solid #e2e8f0; } .custom-enterprise-table :deep(.el-table__header-wrapper th) { background-color: #f8fafc !important; color: #475569; font-size: 13px; font-weight: 600; padding: 12px 0; border-bottom: 1px solid #e2e8f0; } .custom-enterprise-table :deep(.el-table__body-wrapper td) { padding: 12px 0; font-size: 13px; color: #334155; } .mono-code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 12.5px; font-weight: 600; color: #1e293b; } .category-tag { font-weight: 600; } .payee-name { color: #0f172a; } .amount-val { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 14px; font-weight: 700; } .orange-val { color: #ea580c; } .time-cell { font-size: 12px; color: #475569; } .operator-name { font-size: 12.5px; color: #475569; } .remark-text { font-size: 12px; color: #64748b; } .action-cell { display: flex; align-items: center; justify-content: center; gap: 6px; } /* ================= 弹窗样式 ================= */ .voucher-upload-box { display: flex; align-items: center; gap: 16px; } .voucher-preview-wrap { width: 60px; height: 60px; border-radius: 8px; overflow: hidden; border: 1px solid #e2e8f0; } .voucher-img-preview { width: 100%; height: 100%; object-fit: cover; } .detail-content-wrap { display: flex; flex-direction: column; gap: 12px; padding: 4px 0; } .detail-row { display: flex; justify-content: space-between; align-items: center; font-size: 13.5px; border-bottom: 1px dashed #f1f5f9; padding-bottom: 8px; } .detail-row.column-row { flex-direction: column; align-items: flex-start; gap: 8px; } .detail-label { color: #64748b; } .detail-val { color: #0f172a; } .detail-img-container { max-width: 100%; max-height: 240px; border-radius: 8px; overflow: hidden; border: 1px solid #e2e8f0; } .detail-voucher-img { max-width: 100%; max-height: 240px; object-fit: contain; } .void-info-box { background: #fef2f2; border-radius: 8px; padding: 12px 14px; border: 1px solid #fee2e2; color: #b91c1c; font-size: 12.5px; display: flex; flex-direction: column; gap: 4px; } .void-title { display: flex; align-items: center; gap: 6px; font-weight: 700; margin-bottom: 2px; }