@layer components {
.app-action-success:is(button, [type="submit"], [type="button"], [role="button"]) {
  --app-background-color: var(--app-action-success-background);
  --app-border-color: var(--app-action-success-border);
  --app-color: var(--app-action-success-color);
}

.app-action-success:is(button, [type="submit"], [type="button"], [role="button"]):is(
    [aria-current]:not([aria-current="false"]),
    :hover,
    :active,
    :focus
  ) {
  --app-background-color: var(--app-action-success-hover-background);
  --app-border-color: var(--app-action-success-hover-border);
  --app-color: var(--app-action-success-color);
}

.app-action-success:is(button, [type="submit"], [type="button"], [role="button"]).outline {
  --app-background-color: transparent;
  --app-border-color: var(--app-action-success-border);
  --app-color: var(--app-action-success-border);
}

.app-action-success:is(
    button,
    [type="submit"],
    [type="button"],
    [role="button"]
  ).outline:is(
    [aria-current]:not([aria-current="false"]),
    :hover,
    :active,
    :focus
  ) {
  --app-background-color: var(--app-action-success-outline-background);
  --app-border-color: var(--app-action-success-border);
  --app-color: var(--app-action-success-border);
}

.app-action-success:is(button, [type="submit"], [type="button"], [role="button"]):focus {
  --app-box-shadow:
    var(--app-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),
    0 0 0 var(--app-outline-width) var(--app-action-success-focus-color);
}

.danger:is(button, [type="submit"], [type="button"], [role="button"]),
.app-action-danger:is(button, [type="submit"], [type="button"], [role="button"]) {
  --app-background-color: var(--app-action-danger-background);
  --app-border-color: var(--app-action-danger-border);
  --app-color: var(--app-action-danger-color);
}

.danger:is(button, [type="submit"], [type="button"], [role="button"]):is(
    [aria-current]:not([aria-current="false"]),
    :hover,
    :active,
    :focus
  ),
.app-action-danger:is(button, [type="submit"], [type="button"], [role="button"]):is(
    [aria-current]:not([aria-current="false"]),
    :hover,
    :active,
    :focus
  ) {
  --app-background-color: var(--app-action-danger-hover-background);
  --app-border-color: var(--app-action-danger-hover-border);
  --app-color: var(--app-action-danger-color);
}

.danger:is(button, [type="submit"], [type="button"], [role="button"]).outline,
.app-action-danger:is(button, [type="submit"], [type="button"], [role="button"]).outline {
  --app-background-color: transparent;
  --app-border-color: var(--app-action-danger-border);
  --app-color: var(--app-action-danger-border);
}

.danger:is(
    button,
    [type="submit"],
    [type="button"],
    [role="button"]
  ).outline:is(
    [aria-current]:not([aria-current="false"]),
    :hover,
    :active,
    :focus
  ),
.app-action-danger:is(
    button,
    [type="submit"],
    [type="button"],
    [role="button"]
  ).outline:is(
    [aria-current]:not([aria-current="false"]),
    :hover,
    :active,
    :focus
  ) {
  --app-background-color: var(--app-action-danger-outline-background);
  --app-border-color: var(--app-action-danger-border);
  --app-color: var(--app-action-danger-border);
}

.danger:is(button, [type="submit"], [type="button"], [role="button"]):focus,
.app-action-danger:is(button, [type="submit"], [type="button"], [role="button"]):focus {
  --app-box-shadow:
    var(--app-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),
    0 0 0 var(--app-outline-width) var(--app-action-danger-focus-color);
}
}
