/* Table styles */
.upcoming-attendance-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.upcoming-attendance-table th,
.upcoming-attendance-table td {
  padding: 0.36rem 0.4rem;
  border-bottom: 1px solid rgba(166, 132, 68, 0.22);
  text-align: center;
}

.upcoming-attendance-table th:first-child,
.upcoming-attendance-table td:first-child {
  text-align: left;
}

.attendance-col-label {
  font-weight: 700;
  color: var(--gold-light);
}

.attendance-who-cell {
  width: 62%;
}

.attendance-avatar {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid rgba(166, 132, 68, 0.55);
  display: inline-block;
  vertical-align: middle;
}

.attendance-avatar-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(166, 132, 68, 0.2);
  color: var(--gold-light);
  font-size: 0.72rem;
  font-weight: 700;
}

.attendance-mark-cell {
  width: 12.66%;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th {
  background: rgba(38, 1, 1, 0.6);
  color: var(--gold-light);
  padding: 0.5rem;
  text-align: left;
  border-bottom: 1px solid var(--gold);
}

td {
  border-bottom: 1px solid rgba(166, 132, 68, 0.2);
  padding: 0.45rem 0.5rem;
  color: var(--ink);
}

tr:hover td {
  background: rgba(166, 132, 68, 0.07);
}

.tbl-avatar {
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  border: 1px solid var(--gold);
  display: block;
  overflow: hidden;
}

.tbl-avatar-init {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--deep-red);
  color: var(--gold-light);
  font-size: 0.65rem;
  font-weight: 700;
}

.inline-lang-flag {
  vertical-align: middle;
  margin-right: 0.35rem;
}

.admin-users-table tbody tr {
  height: 50px;
}

.admin-users-table td,
.admin-users-table th {
  height: 50px;
  vertical-align: middle;
}

.admin-users-table .tbl-avatar,
.admin-users-table .inline-lang-flag {
  vertical-align: middle;
}

.admin-users-table .tbl-avatar.tbl-avatar-active {
  border-color: #39ff14;
}

.trans-table { width: 100%; border-collapse: collapse; }
.trans-table thead th {
  position: sticky;
  top: 120px;
  z-index: 98;
  background: rgba(38,1,1,0.95);
}
.trans-table th.sortable { cursor: pointer; user-select: none; }
.trans-table th.sortable:hover { color: var(--gold); }
.trans-table .sort-arrow { font-size: 0.75rem; }
.trans-table td:last-child input { width: 100%; }
