.ttca-action-icon {
  --ttca-action-color: #176b73;
  --ttca-action-bg: #f2faf9;
  --ttca-action-border: #9bc9c7;
  align-items: center !important;
  background: var(--ttca-action-bg) !important;
  border: 1px solid var(--ttca-action-border) !important;
  border-radius: 0.625rem !important;
  color: var(--ttca-action-color) !important;
  display: inline-flex !important;
  flex: 0 0 2.25rem;
  font-size: 0 !important;
  gap: 0 !important;
  height: 2.25rem !important;
  justify-content: center !important;
  line-height: 1 !important;
  min-height: 2.25rem !important;
  min-width: 2.25rem !important;
  padding: 0 !important;
  text-decoration: none !important;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
  vertical-align: middle;
  width: 2.25rem !important;
}

.ttca-action-icon--edit {
  --ttca-action-color: #116b70;
  --ttca-action-bg: #f1faf9;
  --ttca-action-border: #91c6c3;
}

.ttca-action-icon--delete {
  --ttca-action-color: #b4233a;
  --ttca-action-bg: #fff6f7;
  --ttca-action-border: #e5a6b0;
}

.ttca-action-icon:hover:not(:disabled):not([aria-disabled="true"]) {
  background: color-mix(in srgb, var(--ttca-action-color) 12%, white) !important;
  border-color: var(--ttca-action-color) !important;
  box-shadow: 0 4px 12px color-mix(in srgb, var(--ttca-action-color) 16%, transparent) !important;
  color: var(--ttca-action-color) !important;
  transform: translateY(-1px);
}

.ttca-action-icon:active:not(:disabled):not([aria-disabled="true"]) {
  box-shadow: none !important;
  transform: translateY(0);
}

.ttca-action-icon:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ttca-action-color) 24%, transparent) !important;
  outline-offset: 2px !important;
}

.ttca-action-icon:disabled,
.ttca-action-icon[aria-disabled="true"] {
  cursor: not-allowed !important;
  opacity: 0.42 !important;
}

.ttca-action-icon__svg {
  display: block;
  fill: none;
  height: 1.125rem;
  pointer-events: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
  width: 1.125rem;
}

.ttca-action-icon__label {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (pointer: coarse) {
  .ttca-action-icon {
    flex-basis: 2.5rem;
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    min-width: 2.5rem !important;
    width: 2.5rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ttca-action-icon {
    transition: none;
  }
}
