/* Container styled as table */
.participant-table-container {
  background: #FFFBF4;
  padding: 0;
  border-radius: 12px;
  border-collapse: collapse;
  width: 100%;
  height: 100%; 
  gap: none;  /* container only */
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  flex-direction: column;
}


.participant-table {
  display: table;
  width: 105%;
  border-collapse: collapse;
  flex: 1;
}


/* Shared grid so header and rows align on all devices; min widths keep headings on one line */
.participant-header,
.participant-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1.5fr 1.2fr minmax(140px, 1.4fr) minmax(100px, 1.4fr) minmax(120px, 1.3fr) 170px;
  min-width: 0;
  box-sizing: border-box;
}

.participant-header {
  background: #D9A128;
  color: #ffffff;
  font-weight: bold;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.participant-header > div {
  display: flex;
  align-items: center;
  font-size: 14px;
  margin: 0;
  padding: 9px 15px;
  min-width: 0;
  white-space: nowrap;
}

.participant-header .sort-header {
  white-space: nowrap;
}

/* Column alignment: same for header and rows (consistent across devices) */
.participant-header > div:nth-child(1),
.participant-header > div:nth-child(2),
.participant-header > div:nth-child(3),
.participant-header > div:nth-child(4),
.participant-header > div:nth-child(7),
.participant-row > div:nth-child(1),
.participant-row > div:nth-child(2),
.participant-row > div:nth-child(3),
.participant-row > div:nth-child(4),
.participant-row > div:nth-child(7) {
  justify-content: flex-start;
  text-align: left;
}

.participant-header > div:nth-child(5),
.participant-header > div:nth-child(6),
.participant-header > div:nth-child(8),
.participant-row > div:nth-child(5),
.participant-row > div:nth-child(6),
.participant-row > div:nth-child(8) {
  justify-content: center;
  text-align: center;
}

.participant-header > div:last-child > div {
  margin-left: 0;
}

/* ✅ Each Row */
.participant-row {
  border-bottom: 1px solid #eee;
  font-size: 12px;
  align-items: center;
  transition: background 0.2s ease-in-out;
  background: #FFFBF4;
}

.participant-row > div {
  font-size: 12px;
  padding: 8px 15px;
  margin-left: 0;
  min-width: 0;
  display: flex;
  align-items: center;
}

.participant-row > div:nth-child(5) .badge,
.participant-row > div:nth-child(6) .badge {
  margin: 0 auto;
}

.participant-row > div:nth-child(8) {
  justify-content: center;
  flex-wrap: nowrap;
}

.participant-icon svg{
  font-size: 10px;
}

.search-input {
  background-color: #fff !important;
  border: 1px solid #d1cfcf !important;
  color: #000 !important;
  font-weight: 800;
}

/* Wrap the column header text + icon */
.sort-header {
  display: flex;
  align-items: center;
  gap: 6px;                /* 👉 adds space between text and icon */
  cursor: pointer;
  position: relative;
}

/* Sorting icon: hidden by default */
.sort-header .sort-icon {
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

/* Show icon only on hover */
.sort-header:hover .sort-icon {
  opacity: 1;
}

/* If the column is actively sorted → icon always visible */
.sort-header.sorted .sort-icon {
  opacity: 1;
}

/* Pagination container */
.pagination-box {
  display: inline-flex;
  border: 1px solid #dcdcdc;
  border-radius: 6px;
  overflow: hidden; /* key for single-box look */
  background: #fff;
  margin-bottom: 15px;
}

/* Pagination buttons */
.pagination-btn {
  border: none;
  border-right: 1px solid #dcdcdc;
  padding: 8px 14px;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  color: #949494;
}

.pagination-btn:last-child {
  border-right: none;
}

/* Active page */
.pagination-btn.active {
  background-color: #949494;
  color: #fff;
}

/* Disabled */
.pagination-btn:disabled {
  color: #bfbfbf;
  background: #fafafa;
  cursor: not-allowed;
}

/* Hover */
.pagination-btn:not(.active):not(:disabled):hover {
  background: #f5f7fa;
}

/* Participant list status badges: registration = black bg (white text), pending = gold bg */
.participant-badge-registration.badge {
  background-color: #000 !important;
  color: #fff !important;
  border: none;
}

.participant-badge-registration.badge.bg-warning {
  background-color: #D9A128 !important;
  color: #fff !important;
  border: none;
}

.participant-badge-approval.badge {
  background-color: #D9A128 !important;
  color: #fff !important;
  border: none;
}

/* Pagination inside table */
.participant-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 15px;
  background: #FFFBF4;
  flex-wrap: wrap;
  gap: 10px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
