.reimbursement-page{gap:22px;background:#f8fafc;--expense-border:#e2e8f0}
.reimbursement-page .page-hero{background:white;border:0;box-shadow:none;padding:20px 24px;min-height:0}
.reimbursement-page .hero-copy h2{display:flex;align-items:center;gap:12px;font-size:28px;line-height:1.4;margin:0}
.reimbursement-page .hero-copy p{font-size:15px;line-height:1.6;margin-top:6px}
.expense-icon{width:26px;height:26px;object-fit:contain;flex-shrink:0;vertical-align:middle}
.reimbursement-page button,.expense-submit-form button{min-height:40px;border-radius:8px;font-size:14px;padding:8px 14px}
.reimbursement-page button .expense-icon{width:18px;height:18px;margin-right:6px}
.reimbursement-page .primary{background:#2563eb;color:white}
.expense-statistics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.expense-stat{display:flex;gap:16px;align-items:center;min-height:120px;padding:22px;background:#fff;border:1px solid var(--expense-border);border-radius:16px;box-shadow:0 3px 12px #19355608}
.expense-stat>.expense-icon{width:44px;height:44px}
.expense-stat>div{min-width:0;display:grid;gap:5px}.expense-stat span{font-size:15px;color:#475569}.expense-stat strong{font-size:28px;line-height:1.3;color:#13243e;overflow-wrap:anywhere}.expense-stat small{font-size:13px;line-height:1.5;color:#64748b}
.expense-filters{display:grid;grid-template-columns:minmax(240px,2fr) 1fr 1fr auto;gap:16px;padding:20px 24px;background:#fff;border:1px solid var(--expense-border);border-radius:14px}
.expense-search{display:flex;align-items:center;border:1px solid #dce4ef;border-radius:9px;padding:0 12px;gap:8px;min-width:0}.expense-search .expense-icon{width:18px;height:18px}
.expense-filters input,.expense-filters select{min-height:42px;font-size:15px;border-radius:9px;min-width:0}.expense-filters input{border:0;width:100%;background:transparent}
.reimbursement-page .surface-table{border-radius:16px;border:1px solid var(--expense-border);background:#fff;overflow:hidden}
.reimbursement-page .surface-head h3{font-size:20px}.reimbursement-page .surface-head h3 span{font-size:14px;font-weight:400;color:#64748b;margin-left:8px}
.reimbursement-page table{min-width:1050px;width:100%;border-collapse:collapse}.reimbursement-page .surface-body{overflow-x:auto}
.reimbursement-page table th{font-size:15px;font-weight:600;padding:16px;background:#f3f7fc;white-space:nowrap}
.reimbursement-page table td{padding:18px 16px;font-size:15px;line-height:1.65;border-bottom:1px solid #edf1f5;vertical-align:middle}
.expense-type{display:flex;align-items:center;gap:8px;white-space:nowrap}.expense-type .expense-icon{width:24px;height:24px}
.reimbursement-page td.expense-amount{font-weight:600;white-space:nowrap}.reimbursement-page .muted{font-size:13px;font-weight:400}.reimbursement-page .tag{font-size:13px;padding:5px 10px;border-radius:20px;white-space:nowrap}
.reimbursement-page [hidden]{display:none!important}
/* 列表操作保持紧凑，完整费用与附件在“查看”弹窗展开。 */
.reimbursement-page table td { padding:10px 12px; font-size:14px; line-height:1.45; }
.reimbursement-page table td:last-child { min-width:120px; }
.reimbursement-page table td:last-child button { margin:3px; }
#reimbursementFeedback:empty { display:none; }
#reimbursementFeedback { margin:0; color:#166534; }
#modal.reimbursement-review-modal { max-width:560px; }
#modal.reimbursement-review-modal #modalActions button { flex:0 0 auto; min-height:40px; }
#reimbursementReviewForm .hint-panel p { margin:4px 0; overflow-wrap:anywhere; }
.reimbursement-page table td:last-child button { min-height:32px; padding:5px 8px; font-size:13px; }
.reimbursement-page table td .muted { line-height:1.4; }
dialog:has(.expense-submit-form){width:min(1000px,calc(100vw - 32px));max-height:90vh;border-radius:16px}
.expense-submit-form{gap:22px;font-size:15px}.expense-submit-form h3{font-size:20px;margin:0;line-height:1.5}.expense-submit-form h3 .expense-icon{margin-right:8px}
.expense-submit-form .field>span{font-size:15px}.expense-submit-form input,.expense-submit-form select{min-height:42px;font-size:15px;border-radius:8px}
.expense-submit-form .hint-panel{padding:14px 18px;border-radius:10px;font-size:14px}
.expense-submit-form table th{padding:14px;font-size:15px;background:#f4f7fc}.expense-submit-form table td{padding:16px 14px;font-size:15px}
.expense-submit-form .reimbursement-detail-table{min-width:690px}.expense-submit-form .table-shell{overflow:auto}
.expense-submit-form .reim-voucher-editor{min-width:230px;min-height:110px;padding:14px;border:1.5px dashed #bed2f2;border-radius:10px;background:#f8fbff;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.expense-submit-form .actual-voucher-add{position:static!important;width:auto!important;height:auto!important;background:transparent;border:0;color:#2563eb;display:flex;align-items:center;gap:8px}
.expense-upload-hint{display:block;width:100%;text-align:center;font-size:13px;color:#64748b}
.expense-total{padding:16px 20px;background:#eff6ff;border-radius:10px;font-size:15px}.expense-total strong{font-size:24px;color:#2563eb;margin-left:10px}
.expense-detail-view article{border-bottom:1px solid #e2e8f0;padding:18px 0}.expense-detail-view p{font-size:15px;color:#64748b}.expense-detail-view h3{font-size:18px}.expense-detail-view article>strong{font-size:24px;color:#2563eb}
@media(max-width:1100px){.expense-statistics{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-filters{grid-template-columns:1fr 1fr}.expense-search{grid-column:1/-1}}
@media(max-width:600px){.reimbursement-page .page-hero{padding:16px}.expense-statistics{gap:12px}.expense-stat{padding:16px;gap:10px;align-items:flex-start;flex-direction:column}.expense-stat strong{font-size:26px}.expense-filters{padding:16px;gap:12px}.expense-submit-form .expense-basics{grid-template-columns:1fr}.expense-submit-form{gap:18px}}
