.restore-action-feedback {
  margin-top: 12px;
  padding: 13px 15px;
  border: 1px solid rgba(216, 170, 74, 0.48);
  border-radius: 14px;
  background: rgba(216, 170, 74, 0.12);
  color: #f5d77f;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
}

.restore-action-feedback[data-state='waiting'] {
  border-color: rgba(255, 165, 58, 0.72);
  background: rgba(142, 79, 12, 0.28);
  color: #ffd28b;
}

.restore-action-feedback[data-state='success'] {
  border-color: rgba(65, 214, 143, 0.7);
  background: rgba(21, 111, 75, 0.28);
  color: #83edbc;
}

.restore-action-feedback[data-state='queued'] {
  border-color: rgba(255, 190, 76, 0.72);
  background: rgba(142, 84, 12, 0.3);
  color: #ffdb8a;
}

.restore-action-feedback[data-state='error'] {
  border-color: rgba(255, 99, 115, 0.72);
  background: rgba(132, 35, 51, 0.3);
  color: #ffadb6;
}

button[data-restore-action-state] {
  position: relative !important;
  overflow: hidden !important;
  color: transparent !important;
  text-shadow: none !important;
}

button[data-restore-action-state] > * {
  opacity: 0 !important;
}

button[data-restore-action-state]::after {
  content: attr(data-restore-action-label);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  color: #111 !important;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
}

button[data-restore-action-state='waiting'] {
  pointer-events: none !important;
  border-color: #ffb74d !important;
  background: linear-gradient(135deg, #ffca68, #dc852b) !important;
  box-shadow: 0 0 0 3px rgba(255, 164, 59, 0.18), 0 0 24px rgba(255, 149, 42, 0.42) !important;
  animation: restore-action-waiting 1.05s ease-in-out infinite alternate;
}

button[data-restore-action-state='success'] {
  pointer-events: none !important;
  border-color: #50d99a !important;
  background: linear-gradient(135deg, #86edbd, #32ac75) !important;
  box-shadow: 0 0 0 3px rgba(64, 215, 142, 0.16), 0 0 24px rgba(64, 215, 142, 0.35) !important;
}

button[data-restore-action-state='queued'] {
  pointer-events: none !important;
  border-color: #ffbd52 !important;
  background: linear-gradient(135deg, #ffd77a, #c98a26) !important;
  box-shadow: 0 0 0 3px rgba(255, 184, 66, 0.15), 0 0 24px rgba(190, 119, 25, 0.4) !important;
}

button[data-restore-action-state='error'] {
  border-color: #ff7180 !important;
  background: linear-gradient(135deg, #ff9ca6, #d94d60) !important;
  box-shadow: 0 0 0 3px rgba(255, 92, 110, 0.15), 0 0 22px rgba(255, 79, 100, 0.34) !important;
}

@keyframes restore-action-waiting {
  from { filter: brightness(0.94); }
  to { filter: brightness(1.15); }
}

@media (prefers-reduced-motion: reduce) {
  button[data-restore-action-state='waiting'] {
    animation: none;
  }
}
