._button_tsvn6_1 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  font-family: inherit;
  font-weight: var(--font-weight-medium);
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

a._button_tsvn6_1 {
  text-decoration: none;
}

._button_tsvn6_1:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

._button_tsvn6_1:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

._content_tsvn6_30 {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-sm);
}

._icon_tsvn6_36 {
  display: inline-flex;
  align-items: center;
  font-size: 1.15em;
}

._loading_tsvn6_42 ._content_tsvn6_30 {
  visibility: hidden;
}

._spinner_tsvn6_46 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

._sizeSm_tsvn6_53 {
  min-height: 32px;
  padding: 0 var(--spacing-md);
  font-size: var(--font-size-sm);
}

._sizeMd_tsvn6_59 {
  min-height: 40px;
  padding: 0 var(--spacing-lg);
  font-size: var(--font-size-sm);
}

._sizeLg_tsvn6_65 {
  min-height: 48px;
  padding: 0 var(--spacing-xl);
  font-size: var(--font-size-md);
}

._fullWidth_tsvn6_71 {
  width: 100%;
}

._primary_tsvn6_75 {
  background: var(--color-primary);
  color: var(--white);
}

._primary_tsvn6_75:hover:not(:disabled) {
  background: var(--color-primary-hover);
}

._secondary_tsvn6_84 {
  background: var(--color-surface);
  border-color: var(--color-border);
  color: var(--color-text);
}

._secondary_tsvn6_84:hover:not(:disabled) {
  background: var(--color-surface-muted);
}

._ghost_tsvn6_94 {
  background: transparent;
  color: var(--color-text);
}

._ghost_tsvn6_94:hover:not(:disabled) {
  background: var(--color-surface-muted);
}

._danger_tsvn6_103 {
  background: var(--color-danger);
  color: var(--white);
}

._danger_tsvn6_103:hover:not(:disabled) {
  filter: brightness(0.92);
}

._text_tsvn6_112 {
  background: transparent;
  color: var(--color-primary);
  min-height: auto;
  padding: 0;
}

._text_tsvn6_112:hover:not(:disabled) {
  text-decoration: underline;
}
