.ve-button {
  --ve-font-size: calc(var(--ve-button---font-size, 14px) + var(--ve-font-size-offset, 0px));
  --ve-height: calc(var(--ve-button---height, 32px) + var(--ve-size-offset, 0px) + var(--ve-density-offset, 0px));
  --ve-min-width: calc(var(--ve-height) * 1.7777777778);
  --ve-padding-x: calc(var(--ve-height) / 2);
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  font-size: var(--ve-font-size);
  font-weight: 400;
  justify-content: center;
  letter-spacing: normal;
  outline: none;
  position: relative;
  height: var(--ve-height);
  min-width: var(--ve-min-width);
  padding: 0 var(--ve-padding-x);
  text-decoration: none;
  text-transform: none;
  transition-property: box-shadow, transform, opacity;
  transition-duration: 0.28s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  flex-shrink: 0;
  border-color: rgba(var(--ve-border-color), var(--ve-border-opacity));
  border-style: solid;
  border-width: 0px;
}
.ve-button .ve-button__border {
  bottom: 0;
  border-color: currentColor;
  border-radius: inherit;
  border-style: inherit;
  border-width: thin;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
}
.ve-button .ve-button__underlay {
  background-color: currentColor;
  border-radius: inherit;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
}
.ve-button.ve-button--variant-plain, .ve-button.ve-button--variant-outlined, .ve-button.ve-button--variant-text, .ve-button.ve-button--variant-contained-text, .ve-button.ve-button--variant-contained-outlined {
  background-color: transparent;
  color: inherit;
}
.ve-button.ve-button--variant-contained {
  background-color: rgb(var(--ve-theme-secondary));
  color: rgb(var(--ve-theme-on-secondary));
}
.ve-button.ve-button--variant-plain {
  opacity: 0.62;
}
.ve-button.ve-button--variant-plain .ve-button__overlay {
  display: none;
}
.ve-button.ve-button--variant-plain:focus, .ve-button.ve-button--variant-plain:hover {
  opacity: 1;
}
.ve-button.ve-button--variant-text .ve-button__overlay {
  background-color: currentColor;
}
.ve-button.ve-button--variant-contained-text .ve-button__underlay, .ve-button.ve-button--variant-contained-outlined .ve-button__underlay {
  opacity: var(--ve-activated-opacity);
}
.ve-button.ve-button--variant-outlined:not(.ve-button--border) .ve-button__border, .ve-button.ve-button--variant-contained-outlined:not(.ve-button--border) .ve-button__border {
  opacity: 0.26;
}
.ve-button--absolute {
  position: absolute;
}
.ve-button--fixed {
  position: fixed;
}
.ve-button--size-x-small {
  --ve-size-offset: -8px;
}
.ve-button--size-small {
  --ve-size-offset: -4px;
}
.ve-button--size-medium {
  --ve-size-offset: 0px;
}
.ve-button--size-large {
  --ve-size-offset: 4px;
}
.ve-button--size-x-large {
  --ve-size-offset: 8px;
}
.ve-button--density-ultra-high {
  --ve-density-offset: -8px;
}
.ve-button--density-high {
  --ve-density-offset: -4px;
}
.ve-button--density-medium {
  --ve-density-offset: 0px;
}
.ve-button--density-low {
  --ve-density-offset: 4px;
}
.ve-button--density-ultra-low {
  --ve-density-offset: 8px;
}
.ve-button--border {
  border-width: thin;
}
.ve-button--shape-rounded-sm {
  border-radius: 2px;
}
.ve-button--shape-rounded {
  border-radius: 4px;
}
.ve-button--shape-rounded-lg {
  border-radius: 8px;
}
.ve-button--shape-pill {
  border-radius: 9999px;
}
.ve-button--shape-circle {
  border-radius: 50%;
}
.ve-button--elevation-24 {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.12), 0px 24px 38px 3px rgba(0, 0, 0, 0.08), 0px 9px 46px 8px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-23 {
  box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.12), 0px 23px 36px 3px rgba(0, 0, 0, 0.08), 0px 9px 44px 8px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-22 {
  box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.12), 0px 22px 35px 3px rgba(0, 0, 0, 0.08), 0px 8px 42px 7px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-21 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.12), 0px 21px 33px 3px rgba(0, 0, 0, 0.08), 0px 8px 40px 7px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-20 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.12), 0px 20px 31px 3px rgba(0, 0, 0, 0.08), 0px 8px 38px 7px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-19 {
  box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.12), 0px 19px 29px 2px rgba(0, 0, 0, 0.08), 0px 7px 36px 6px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-18 {
  box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.12), 0px 18px 28px 2px rgba(0, 0, 0, 0.08), 0px 7px 34px 6px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-17 {
  box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.12), 0px 17px 26px 2px rgba(0, 0, 0, 0.08), 0px 6px 32px 5px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-16 {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.12), 0px 16px 24px 2px rgba(0, 0, 0, 0.08), 0px 6px 30px 5px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-15 {
  box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.12), 0px 15px 22px 2px rgba(0, 0, 0, 0.08), 0px 6px 28px 5px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-14 {
  box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.12), 0px 14px 21px 2px rgba(0, 0, 0, 0.08), 0px 5px 26px 4px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-13 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.12), 0px 13px 19px 2px rgba(0, 0, 0, 0.08), 0px 5px 24px 4px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-12 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.12), 0px 12px 17px 2px rgba(0, 0, 0, 0.08), 0px 5px 22px 4px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-11 {
  box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.12), 0px 11px 15px 1px rgba(0, 0, 0, 0.08), 0px 4px 20px 3px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-10 {
  box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.12), 0px 10px 14px 1px rgba(0, 0, 0, 0.08), 0px 4px 18px 3px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-9 {
  box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.12), 0px 9px 12px 1px rgba(0, 0, 0, 0.08), 0px 3px 16px 2px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-8 {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.12), 0px 8px 10px 1px rgba(0, 0, 0, 0.08), 0px 3px 14px 2px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-7 {
  box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.12), 0px 7px 10px 1px rgba(0, 0, 0, 0.08), 0px 2px 16px 1px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-6 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.12), 0px 6px 10px 0px rgba(0, 0, 0, 0.08), 0px 1px 18px 0px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-5 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.12), 0px 5px 8px 0px rgba(0, 0, 0, 0.08), 0px 1px 14px 0px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-4 {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.12), 0px 4px 5px 0px rgba(0, 0, 0, 0.08), 0px 1px 10px 0px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-3 {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.12), 0px 3px 4px 0px rgba(0, 0, 0, 0.08), 0px 1px 8px 0px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-2 {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.12), 0px 2px 2px 0px rgba(0, 0, 0, 0.08), 0px 1px 5px 0px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-1 {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.12), 0px 1px 1px 0px rgba(0, 0, 0, 0.08), 0px 1px 3px 0px rgba(0, 0, 0, 0.05) !important;
}
.ve-button--elevation-0 {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.12), 0px 0px 0px 0px rgba(0, 0, 0, 0.08), 0px 0px 0px 0px rgba(0, 0, 0, 0.05) !important;
}
.ve-button .ve-button__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease-in-out;
}
.ve-button:hover .ve-button__overlay {
  visibility: visible;
  opacity: calc(var(--ve-hover-opacity) * var(--ve-theme-overlay-multiplier, 1));
}
.ve-button:focus-visible .ve-button__overlay {
  visibility: visible;
  opacity: calc(var(--ve-focus-opacity) * var(--ve-theme-overlay-multiplier, 1));
}
.ve-button--size-x-small {
  --ve-font-size-offset: -2px;
}
.ve-button--size-small {
  --ve-font-size-offset: -1px;
}
.ve-button--size-medium {
  --ve-font-size-offset: 0px;
}
.ve-button--size-large {
  --ve-font-size-offset: 1px;
}
.ve-button--size-x-large {
  --ve-font-size-offset: 2px;
}
.ve-button--icon, .ve-button--icon-only {
  min-width: var(--ve-height);
  padding: 0;
}
.ve-button--icon-only {
  --ve-button---font-size: var(--ve-button--icon-only---font-size, 21px);
}
.ve-button--block {
  min-width: 100%;
}
.ve-button--loading {
  cursor: wait;
}
.ve-button--disabled.ve-button--disabled {
  cursor: not-allowed;
  color: rgba(var(--ve-theme-on-surface), 0.26);
  opacity: 1;
}
.ve-button--disabled.ve-button--disabled .ve-button__overlay {
  opacity: 0;
}
.ve-button--disabled.ve-button--variant-contained {
  background-color: rgb(var(--ve-theme-surface));
}
.ve-button--disabled.ve-button--variant-contained .ve-button__overlay {
  opacity: 0.4615384615;
  visibility: visible;
}
.ve-button__wrapper {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ve-button.position-absolute {
  overflow: hidden;
}