.table th {
  font-weight: 600;
  color: var(--gray-700);
  font-size: 0.85rem;
  border-bottom: 2px solid var(--gray-200);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.table td {
  vertical-align: middle;
}

.ir-table thead th {
  background: var(--gray-50);
  white-space: nowrap;
  user-select: none;
}

.ir-table-row {
  cursor: default;
  transition: background 0.1s;
}

.ir-table-row:hover { background: var(--gray-50); }

.ir-table-footer {
  padding: 0.6rem 1rem;
  border-top: 1px solid var(--gray-200);
  min-height: 36px;
}

.ir-row-actions {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  justify-content: flex-end;
  opacity: 1;
  transition: opacity .15s;
}

.ir-table-row:hover .ir-row-actions { opacity: 1; }

.ir-table td .d-flex.gap-1 .btn-sm,
.ir-table td .d-flex.gap-1 a.btn-sm {
  width: var(--icon-button-size);
  height: var(--icon-button-size);
  min-height: var(--icon-button-size);
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  border-radius: 7px;
  flex-shrink: 0;
}

.ir-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-button-size);
  height: var(--icon-button-size);
  border-radius: 6px;
  border: none;
  background: none;
  color: var(--gray-500);
  text-decoration: none;
  font-size: 0.95rem;
  cursor: pointer;
  transition: background .12s, color .12s;
}

.ir-action-btn:hover {
  background: var(--gray-100);
  color: var(--gray-900);
}

.ir-action-btn--danger {
  color: #dc2626;
}

.ir-action-btn--danger:hover {
  background: var(--tint-red-100);
  color: var(--ink-red);
}
