.filter-combo { position:relative; min-width:230px; }
.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:275px; 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;
}

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

.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-expired          { background:#f3f4f6; color:#374151; }

.role-badge { display:inline-flex; align-items:center; gap:.35rem; padding:.25rem .75rem; border-radius:20px; font-size:.76rem; font-weight:700; }
.rb-finance    { background:#dbeafe; color:#1e40af; }
.rb-management { background:#d1fae5; color:#065f46; }

.detail-label { font-size:.75rem; color:#aaa; font-weight:700; margin-bottom:.15rem; }
