/* ==========================================================================
   LiteWorkPro semantic action icon colors
   --------------------------------------------------------------------------
   Ordinary HC icons retain the neutral gray defaults from hc-icons.css.
   These restrained primary colors describe the entity that
   an add/create control affects. Secondary layers use the transparent core
   default unless the individual icon explicitly sets a secondary color.
   ========================================================================== */

i.hc[class*="lwps-icon-action--"] {
    transition: filter 160ms ease, transform 160ms ease;
}

:where(button, a):hover i.hc[class*="lwps-icon-action--"],
:where(button, a):focus-visible i.hc[class*="lwps-icon-action--"],
:where(div, span):focus-within > :where(button, a) i.hc[class*="lwps-icon-action--"] {
    filter: saturate(1.08) brightness(.94);
}

i.hc.lwpt-icon-action--workspace {
    --hc-icon-primary: #3155a6;
}

i.hc.lwps-icon-action--account {
    --hc-icon-primary: #4f46a5;
}

i.hc.lwps-icon-action--contact,
i.hc.lwps-icon-action--customer {
    --hc-icon-primary: #18766f;
}

i.hc.lwps-icon-action--appointment {
    --hc-icon-primary: #a35f0a;
}

i.hc.lwps-icon-action--event {
    --hc-icon-primary: #7b4aa8;
}

i.hc.lwps-icon-action--estimate {
    --hc-icon-primary: #2765a8;
}

i.hc.lwps-icon-action--invoice {
    --hc-icon-primary: #28734b;
}

i.hc.lwps-icon-action--item,
i.hc.lwps-icon-action--selection {
    --hc-icon-primary: #2a6980;
}

i.hc.lwps-icon-action--property,
i.hc.lwps-icon-action--address {
    --hc-icon-primary: #8b6517;
}

i.hc.lwps-icon-action--team-member {
    --hc-icon-primary: #176c86;
}

i.hc.lwps-icon-action--wage {
    --hc-icon-primary: #3e7040;
}

i.hc.lwps-icon-action--bank {
    --hc-icon-primary: #35557a;
}

i.hc.lwps-icon-action--card,
i.hc.lwps-icon-action--payment {
    --hc-icon-primary: #67449a;
}

i.hc.lwps-icon-action--widget {
    --hc-icon-primary: #7c3f87;
}

i.hc.lwps-icon-action--rule {
    --hc-icon-primary: #9a531f;
}

i.hc.lwps-icon-action--ticket {
    --hc-icon-primary: #9a4051;
}

i.hc.lwps-icon-action--group {
    --hc-icon-primary: #3f5e9a;
}

i.hc.lwps-icon-action--target {
    --hc-icon-primary: #9b493e;
}

i.hc.lwps-icon-action--user,
i.hc.lwps-icon-action--security {
    --hc-icon-primary: #51458f;
}

i.hc.lwps-icon-action--promotion {
    --hc-icon-primary: #9a3f75;
}

i.hc.lwps-icon-action--service,
i.hc.lwps-icon-action--phone {
    --hc-icon-primary: #276c91;
}
/* Shared close/dismiss icon contract: danger glyph on a neutral action surface. */
i.hc.lwps-close-icon {
    --hc-icon-primary: var(--hc-color-danger, var(--hc-danger-color, #d92d20));
    --hc-icon-secondary: transparent;
    --hc-icon-secondary-opacity: 0;
}

/* Warning masks use readable theme text; secondary stays transparent unless explicitly set. */
i.hc.lwps-state-warning {
    color: var(--lwp-warning-text, #713f12);
    --hc-icon-primary: currentColor;
}

/* Filled and outline HC variants retain their own hover/active foreground. */
.hc-button:not(.hc-button-ghost) i.hc.lwps-state-warning {
    color: inherit;
    --hc-icon-primary: currentColor;
}

/* Standalone action skins keep icon and text contrast consistent on colored surfaces. */
.public-home__button--primary i.hc,
.lwps-login-page__submit i.hc,
.lwpc-portal-account-prompt__action--primary i.hc,
.lwps-team-account-prompt__actions a i.hc,
.lwps-portal-workspace__pay-action i.hc,
.estimate-page__action i.hc {
    color: inherit;
    --hc-icon-primary: currentColor;
}
