.filter-combo { position:relative; min-width:200px; }
.filter-combo-btn {
  width:100%; min-height:38px; border:1.5px solid #dee2e6;
  border-radius:20px; background:#fff; color:#374151;
  display:flex; align-items:center; justify-content:space-between; gap:.65rem;
  padding:.34rem .85rem; font-size:.8rem; font-weight:700;
  cursor:pointer; transition:border-color .15s, color .15s, box-shadow .15s;
}
.filter-combo-btn:hover, .filter-combo-btn.open {
  border-color:#1b6055; color:#1b6055; box-shadow:0 8px 22px rgba(27,96,85,.08);
}
.filter-combo-label { min-width:0; flex:1; display:flex; align-items:center; gap:.45rem; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.filter-combo-menu {
  position:absolute; top:calc(100% + 7px); left:0; z-index:30;
  width:260px; max-width:calc(100vw - 2rem);
  background:#fff; border:1px solid #d9e6e3; border-radius:10px;
  box-shadow:0 18px 40px rgba(15,23,42,.14); overflow:hidden;
}
.filter-combo-option {
  display:flex; align-items:center; gap:.55rem;
  padding:.55rem .75rem; cursor:pointer; font-size:.82rem; font-weight:600; color:#374151; margin:0;
}
.filter-combo-option:hover { background:#eaf7f4; color:#1b6055; }
.filter-combo-option input { accent-color:#1b6055; }
.filter-combo-option i { width:16px; text-align:center; color:#1b6055; }
.filter-combo-footer { border-top:1px solid #edf2f1; padding:.45rem .65rem; display:flex; justify-content:flex-end; }
.filter-clear-btn { border:0; background:transparent; color:#1b6055; font-size:.76rem; font-weight:700; padding:.15rem .25rem; }

.don-table th { font-size:.76rem; font-weight:700; color:#999; text-transform:uppercase; letter-spacing:.04em; padding:.7rem 1rem; }
.don-table td { padding:.75rem 1rem; vertical-align:middle; font-size:.87rem; }
.don-table tr:hover td { background:#f8fffe; }

.type-tag { display:inline-block; background:#e0f2fe; color:#0c4a6e; border-radius:20px; font-size:.7rem; font-weight:700; padding:.12rem .5rem; margin:1px; }
.event-tag { background:#ede9fe; color:#5b21b6; }

.spill { display:inline-block; padding:.22rem .7rem; border-radius:14px; font-size:.73rem; font-weight:700; letter-spacing:.02em; }
.sp-pending          { background:#fef3c7; color:#92400e; }
.sp-submitted        { background:#dbeafe; color:#1e40af; }
.sp-paid             { background:#d1fae5; color:#065f46; }
.sp-finance_approved { background:#ede9fe; color:#4c1d95; }
.sp-verified         { background:#d1fae5; color:#065f46; }
.sp-rejected         { background:#fee2e2; color:#991b1b; }
.sp-revised          { background:#fff7ed; color:#c2410c; }
.sp-no_payment       { background:#f3f4f6; color:#6b7280; }

.stat-chip { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:.55rem 1.1rem; display:inline-flex; flex-direction:column; }
.stat-chip .val { font-size:1.1rem; font-weight:800; color:#1b6055; }
.stat-chip .lbl { font-size:.73rem; color:#9ca3af; }

.detail-label { font-size:.75rem; color:#aaa; font-weight:700; margin-bottom:.15rem; }
.li-row { display:flex; justify-content:space-between; align-items:baseline; font-size:.83rem; padding:.3rem 0; border-bottom:1px solid #f3f4f6; gap:.5rem; }
.li-row:last-of-type { border-bottom:0; }

/* Event receipt collection: compact rows with stable, readable columns. */
.physical-receipt-report .don-table { min-width:900px; }
.physical-receipt-report .don-table thead th {
  background:#f3f8f7; color:#617571; padding:15px 16px;
  font-size:.7rem; letter-spacing:.04em; white-space:nowrap; border-bottom:1px solid #dce8e5;
}
.physical-receipt-report .don-table td { padding:18px 16px; border-color:#edf2f1; line-height:1.6; }
.physical-receipt-report .don-table tbody tr:hover td { background:#f7fbfa; }
.physical-receipt-report .receipt-reference { white-space:nowrap; }
.physical-receipt-report .receipt-reference code { font-size:.76rem; color:#22675b; background:#edf6f3; padding:5px 8px; border-radius:6px; }
.physical-receipt-report .receipt-donor { color:#203b35; font-size:.9rem; }
.physical-receipt-report .receipt-event { display:flex; flex-direction:column; gap:5px; margin:4px 0; min-width:170px; }
.physical-receipt-report .receipt-event-title { font-weight:600; color:#344e47; }
.physical-receipt-report .receipt-event-date { color:#617571; font-size:.76rem; white-space:nowrap; }
.physical-receipt-report .receipt-amount { white-space:nowrap; color:#155b4e; font-variant-numeric:tabular-nums; }
.physical-receipt-report .receipt-payment-status { margin-bottom:5px; }
.physical-receipt-report .spill { white-space:nowrap; font-size:.7rem; letter-spacing:0; padding:4px 10px; }
.physical-receipt-report .receipt-created { white-space:nowrap; font-variant-numeric:tabular-nums; }
.receipt-row-actions { display:flex; align-items:center; justify-content:center; gap:8px; }
.physical-receipt-report .receipt-row-actions .btn { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; padding:0; border-radius:9px; margin:0!important; }
.physical-receipt-report .receipt-row-actions .btn-outline-secondary { color:#41635a; border-color:#cbded7; background:#f7fbf9; }
.physical-receipt-report .receipt-row-actions .btn-outline-success { color:#176d56; border-color:#b7dace; background:#ecf7f2; }
.physical-receipt-report .card { border-radius:14px; overflow:hidden; border:1px solid #e0eae6; box-shadow:0 3px 14px rgba(22,60,47,.03); }
