/* =========================================================
   SHARED: compact icon row actions (QR + IV dashboards)
   Muted default; orange accent on hover/focus only.
========================================================= */

.bw-row-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}

.bw-icon-btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-width: 34px;
  padding: 0;
  margin: 0;
  border-radius: 9px;
  border: 1px solid rgba(255, 170, 60, 0.22);
  background: rgba(10, 12, 18, 0.72);
  color: rgba(245, 230, 207, 0.88);
  cursor: pointer;
  text-decoration: none;
  line-height: 0;
  box-shadow: none;
  font-weight: 600;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease;
}

.bw-icon-btn:hover {
  background: rgba(18, 22, 32, 0.92);
  border-color: rgba(255, 140, 60, 0.45);
  color: rgba(255, 220, 180, 0.98);
}

.bw-icon-btn:focus-visible {
  outline: 2px solid rgba(255, 140, 60, 0.65);
  outline-offset: 2px;
}

/* Primary = view — still restrained (not loud orange fill) */
.bw-icon-btn--primary {
  background: rgba(255, 120, 40, 0.12);
  border-color: rgba(255, 170, 60, 0.28);
}

.bw-icon-btn--primary:hover {
  background: rgba(255, 120, 40, 0.22);
  border-color: rgba(255, 160, 80, 0.55);
  box-shadow: 0 0 0 1px rgba(255, 140, 60, 0.12);
}

/* Secondary = maintenance (replace / list / upload) */
.bw-icon-btn--secondary:hover {
  border-color: rgba(255, 140, 60, 0.38);
}

a.bw-icon-btn.bw-icon-btn--link {
  display: inline-flex;
}

.bw-icon-btn__svg {
  display: block;
  pointer-events: none;
}

/* Actions column alignment (shared by both dashboards) */
.project-actions-cell,
.td-actions {
  text-align: right;
  vertical-align: middle;
  white-space: nowrap;
}

.project-actions-cell .bw-row-actions,
.td-actions .bw-row-actions {
  justify-content: flex-end;
}
