/* Finance */
.fin-tab { display: none; }
.fin-tab.active { display: block; }

/* 审核状态标签 */
.fin-review-status { display: inline-block; padding: 2px 10px; border-radius: 10px; font-size: 11px; font-weight: 500; }
.fin-review-status.s-pending { background: #fef3c7; color: #d97706; }
.fin-review-status.s-approved { background: #dcfce7; color: #16a34a; }
.fin-review-status.s-rejected { background: #fee2e2; color: #dc2626; }
.fin-review-status.s-resubmitted { background: #e0e7ff; color: #4f46e5; }
.fin-review-badge { font-size: 10px; background: #ef4444; color: #fff; border-radius: 8px; padding: 1px 6px; margin-left: 4px; }

/* 利润报表 */
.fin-report-table { table-layout: fixed; }
.fin-report-table th { text-align: center; }
.fin-report-table td { text-align: right; }
.fin-report-table td:first-child { text-align: left; font-weight: 600; }

/* 利润条形图 */
.fin-report-bar-row td { padding: 2px 12px !important; border-top: none !important; }
.profit-bar { position: relative; height: 20px; background: #f3f4f6; border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; gap: 2px; padding: 2px 0; }
.profit-bar .bar-income { height: 7px; background: #22c55e; border-radius: 2px; transition: width 0.4s ease; min-width: 2px; }
.profit-bar .bar-expense { height: 7px; background: #ef4444; border-radius: 2px; transition: width 0.4s ease; min-width: 2px; }

/* 利润报表范围按钮 */
.fin-report-range-btn { border: 1px solid #d1d5db; background: #fff; color: #374151; cursor: pointer; }
.fin-report-range-btn:hover { background: #f3f4f6; }
.fin-report-range-btn.active { background: #3b82f6; color: #fff; border-color: #3b82f6; }

/* 驳回/重提弹窗中的操作区按钮间距 */
#finRejectModal .modal-actions,
#finResubmitModal .modal-actions { gap: 8px; }

/* 审核操作按钮间距 */
#finReviewBody .btn-link { margin-right: 8px; }

/* 对账管理 */
.recon-upload-area { padding: 16px; background: var(--bg-card, #fff); border: 1px dashed #d1d5db; border-radius: 8px; }
.recon-result-success { color: #16a34a; font-size: 13px; font-weight: 500; padding: 4px 0; }
.recon-result-error { color: #ef4444; font-size: 13px; font-weight: 500; padding: 4px 0; }
.recon-source-select { min-width: 120px; }

/* 对账详情弹窗 */
.recon-detail-modal { max-width: 960px; }

/* 手动匹配弹窗 */
.recon-match-modal { max-width: 640px; }
.recon-match-current { padding: 12px; background: #f0f9ff; border-radius: 6px; margin-bottom: 12px; }
.recon-match-info { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; }
.recon-match-info span { color: var(--text-light, #6b7280); }
.recon-match-info b { color: var(--text-dark, #111827); }
.recon-match-suggest-title { font-size: 13px; font-weight: 600; color: var(--text-light, #6b7280); margin-bottom: 8px; }
.recon-match-suggest-list { max-height: 280px; overflow-y: auto; }
.recon-suggest-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border: 1px solid #e5e7eb; border-radius: 6px; margin-bottom: 6px; transition: background 0.15s; }
.recon-suggest-item:hover { background: #f9fafb; }
.recon-suggest-info { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12px; }
.recon-suggest-info span { color: var(--text-light, #6b7280); }
.recon-suggest-info b { color: var(--text-dark, #111827); }

/* 支出类别管理 */
.cat-mgr-list { max-height: 280px; overflow-y: auto; margin-bottom: 12px; }
.cat-mgr-item { display: flex; justify-content: space-between; align-items: center; padding: 8px 12px; border: 1px solid #e5e7eb; border-radius: 6px; margin-bottom: 6px; }
.cat-mgr-item:hover { background: #f9fafb; }
.cat-mgr-name { font-weight: 500; }
.cat-mgr-add-row { display: flex; gap: 8px; align-items: center; }

/* 成本管理 */
.cost-input { width: 100px; padding: 4px 8px; border: 1px solid #d1d5db; border-radius: 4px; font-size: 13px; text-align: right; }
.cost-input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59,130,246,0.15); }
.cost-profit-positive { color: #16a34a; font-weight: 600; }
.cost-profit-negative { color: #ef4444; font-weight: 600; }
