/*
 * Buttons: .btn plus one of .primary (near-black, one per view) or .secondary (outlined);
 * .small for dense rows, .full to fill the width. .icon-btn for a bare icon, .textlink for a link
 * styled as an action, .text-danger for a destructive link-style button.
 */

.btn,
.btn.secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: 38px;
  padding: var(--space-2) var(--space-4);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--text-secondary);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.btn:hover {
  border-color: var(--border-strong);
  color: var(--text);
}

.btn.primary {
  border-color: var(--surface-inverse);
  background: var(--surface-inverse);
  box-shadow: var(--shadow-xs);
  color: var(--text-inverse);
}

.btn.primary:hover {
  background: var(--surface-inverse-hover);
}

.btn.small {
  min-height: 32px;
  padding: var(--space-1-5) var(--space-3);
  font-size: var(--text-xs);
}

.btn.full {
  width: 100%;
}

.icon-btn {
  border: 0;
  background: transparent;
  color: var(--text-faint);
  font-size: var(--text-xl);
  cursor: pointer;
}

.icon-btn.danger:hover {
  color: var(--text-danger);
}

.textlink {
  color: var(--text-accent);
  font-weight: var(--weight-semibold);
  text-decoration: none;
  white-space: nowrap;
}

.textlink:hover {
  text-decoration: underline;
}

.text-danger {
  padding: var(--space-3) 0 0;
  border: 0;
  background: none;
  color: var(--text-danger);
  font-size: var(--text-sm);
  cursor: pointer;
}
