.action-feedback-success {
    position: relative;
    isolation: isolate;
    animation: action-feedback-success-pulse 1.8s ease-out;
}

.action-feedback-warning {
    position: relative;
    isolation: isolate;
    animation: action-feedback-warning-pulse 1.8s ease-out;
}

.action-feedback-error {
    position: relative;
    isolation: isolate;
    animation: action-feedback-error-pulse 1.8s ease-out;
}

.action-feedback-remove {
    overflow: hidden;
    animation: action-feedback-remove 0.34s ease-in forwards;
}

.action-feedback-success > td:first-child,
.action-feedback-warning > td:first-child,
.action-feedback-error > td:first-child {
    box-shadow: inset 4px 0 0 var(--action-feedback-accent, #22c55e);
}

.action-feedback-success {
    --action-feedback-accent: #22c55e;
}

.action-feedback-warning {
    --action-feedback-accent: #f59e0b;
}

.action-feedback-error {
    --action-feedback-accent: #ef4444;
}

.action-feedback-success > td,
.action-feedback-success > th,
.action-feedback-success.action-feedback-card {
    background-color: rgba(34, 197, 94, 0.12) !important;
}

.action-feedback-warning > td,
.action-feedback-warning > th,
.action-feedback-warning.action-feedback-card {
    background-color: rgba(245, 158, 11, 0.13) !important;
}

.action-feedback-error > td,
.action-feedback-error > th,
.action-feedback-error.action-feedback-card {
    background-color: rgba(239, 68, 68, 0.11) !important;
}

.action-feedback-card {
    box-shadow: inset 4px 0 0 var(--action-feedback-accent, #22c55e), 0 10px 24px rgba(15, 23, 42, 0.08);
}

.action-feedback-btn {
    transition: transform 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.action-feedback-btn.is-action-feedback-success {
    transform: translateY(-1px);
}

@keyframes action-feedback-success-pulse {
    0% { box-shadow: inset 4px 0 0 #22c55e, 0 0 0 0 rgba(34, 197, 94, 0.28); }
    45% { box-shadow: inset 4px 0 0 #22c55e, 0 0 0 8px rgba(34, 197, 94, 0); }
    100% { box-shadow: inset 4px 0 0 rgba(34, 197, 94, 0), 0 0 0 0 rgba(34, 197, 94, 0); }
}

@keyframes action-feedback-warning-pulse {
    0% { box-shadow: inset 4px 0 0 #f59e0b, 0 0 0 0 rgba(245, 158, 11, 0.28); }
    45% { box-shadow: inset 4px 0 0 #f59e0b, 0 0 0 8px rgba(245, 158, 11, 0); }
    100% { box-shadow: inset 4px 0 0 rgba(245, 158, 11, 0), 0 0 0 0 rgba(245, 158, 11, 0); }
}

@keyframes action-feedback-error-pulse {
    0% { box-shadow: inset 4px 0 0 #ef4444, 0 0 0 0 rgba(239, 68, 68, 0.24); }
    45% { box-shadow: inset 4px 0 0 #ef4444, 0 0 0 8px rgba(239, 68, 68, 0); }
    100% { box-shadow: inset 4px 0 0 rgba(239, 68, 68, 0), 0 0 0 0 rgba(239, 68, 68, 0); }
}

@keyframes action-feedback-remove {
    to {
        opacity: 0;
        transform: translateX(12px);
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
        margin-top: 0;
        margin-bottom: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .action-feedback-success,
    .action-feedback-warning,
    .action-feedback-error,
    .action-feedback-remove {
        animation: none;
    }
}
