/* My Expense Forms + Expense Form Approval (portal) */
#tab-my-expenses.portal-classic-page .portal-classic-panel,
#tab-expense-approvals.portal-classic-page .portal-classic-panel {
  min-height: 12rem;
}
.exp-num { text-align: right; white-space: nowrap; }
.exp-status {
  display: inline-block;
  padding: 0.1rem 0.5rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  border: 1px solid var(--border, #d0d7de);
  background: var(--surface-2, #f6f8fa);
}
.exp-status--pending { background: #fff4d6; border-color: #f0c35a; color: #7a5300; }
.exp-status--approved { background: #e3f6e8; border-color: #6cc287; color: #145c2c; }
.exp-status--rejected { background: #fde7e7; border-color: #e58c8c; color: #8a1c1c; }
#expFormModal .active-dep-modal__panel.exp-modal-panel {
  width: min(1180px, 96vw);
  max-width: min(1180px, 96vw);
}
.exp-modal-body { padding: 0.75rem 1rem 1rem; max-height: 78vh; overflow: auto; }
.exp-detail__top { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; margin-bottom: 0.5rem; }
.exp-hdr {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 0.5rem 0.75rem;
  margin-bottom: 0.75rem;
}
.exp-hdr__cell { display: flex; flex-direction: column; gap: 0.15rem; font-size: 0.85rem; }
.exp-hdr__label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.03em; opacity: 0.7; }
.exp-hdr__cell input, .exp-hdr__cell textarea { width: 100%; box-sizing: border-box; }
.exp-title { margin: 0.5rem 0; }
.exp-h4 { margin: 1rem 0 0.4rem; font-size: 0.9rem; }
.exp-items--edit input { width: 100%; min-width: 4.5rem; box-sizing: border-box; font-size: 0.8rem; padding: 0.2rem 0.3rem; }
.exp-items--edit td { padding: 0.2rem; }
.exp-items--edit td:nth-child(4) input { min-width: 14rem; }
.exp-items--edit .exp-sn { text-align: center; width: 2rem; }
.exp-items tfoot td { font-size: 0.82rem; }
.exp-prf { width: 8rem; display: inline-block; }
.exp-actions { display: flex; gap: 0.5rem; align-items: center; margin-top: 1rem; flex-wrap: wrap; }
.exp-actions__spacer { flex: 1; }
.exp-stages { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; }
.exp-stage { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.85rem; }
.exp-stage__n {
  flex: 0 0 1.5rem; height: 1.5rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 0.75rem; font-weight: 700; border: 1px solid var(--border, #ccc);
}
.exp-stage--approved .exp-stage__n { background: #2e9e50; color: #fff; border-color: #2e9e50; }
.exp-stage--rejected .exp-stage__n { background: #c93a3a; color: #fff; border-color: #c93a3a; }
.exp-stage--pending .exp-stage__n { background: #e8a400; color: #fff; border-color: #e8a400; }
.exp-stage__comment { font-style: italic; margin-top: 0.15rem; }
.exp-history { margin: 0; padding-left: 1.1rem; font-size: 0.83rem; display: grid; gap: 0.3rem; }
.exp-receipts { margin: 0 0 0.4rem; padding-left: 1.1rem; font-size: 0.83rem; }
.exp-upload { cursor: pointer; }
.exp-reject-note { background: #fde7e7; border: 1px solid #e58c8c; padding: 0.4rem 0.6rem; border-radius: 6px; }
.exp-note { font-size: 0.75rem; }
.exp-btn-reject { color: #b42318; }
#expFormModal .exp-items--edit input.exp-prf {
  width: 8rem;
  min-width: 0;
}
.exp-round-head {
  list-style: none;
  margin: 0.4rem 0 0 -1.1rem;
  border-top: 1px solid var(--border, #d0d7de);
  padding-top: 0.3rem;
}
.exp-file-ico {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 700;
  padding: 0 0.3rem;
  border-radius: 3px;
  background: #b42318;
  color: #fff;
}
.exp-receipts li { margin: 0.15rem 0; }

.exp-btn-danger{color:#b42318!important;border-color:rgba(180,35,24,.35)!important}
.exp-btn-danger:hover{background:rgba(180,35,24,.08)!important}
