/* Safe Clicks / Butchery — lightweight UI feedback (read-only, no data changes) */
@media (prefers-reduced-motion: reduce) {
  .sc-pressable,
  .pl-kpi-card--interactive,
  .sc-row-enter,
  .sc-modal-enter {
    transition: none !important;
    animation: none !important;
  }
}

.sc-pressable {
  transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}
.sc-pressable:hover:not(:disabled) {
  filter: brightness(1.02);
}
.sc-pressable:active:not(:disabled) {
  transform: scale(0.97);
}
.sc-pressable:focus-visible {
  outline: 2px solid #fab800;
  outline-offset: 2px;
}

.sc-skeleton {
  position: relative;
  overflow: hidden;
  color: transparent !important;
  border-radius: 0.35rem;
  background: #e2e8f0;
}
.sc-skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
  animation: scShimmer 1.1s ease-in-out infinite;
}
@keyframes scShimmer {
  100% { transform: translateX(100%); }
}

.sc-fade-in {
  animation: scFadeIn 0.35s ease both;
}
@keyframes scFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.sc-spin-once {
  animation: scSpinOnce 0.65s ease;
}
@keyframes scSpinOnce {
  to { transform: rotate(360deg); }
}

.sc-toast-host {
  position: fixed;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  pointer-events: none;
  max-width: min(92vw, 420px);
}
.sc-toast {
  pointer-events: auto;
  padding: 0.65rem 1rem;
  border-radius: 0.85rem;
  font-size: 0.8rem;
  font-weight: 800;
  color: #0f172a;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
  animation: scToastIn 0.3s ease both;
}
@keyframes scToastIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.sc-modal-enter {
  animation: scModalIn 0.28s ease both;
}
@keyframes scModalIn {
  from { opacity: 0; transform: scale(0.96) translateY(8px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.sc-table-loading {
  position: relative;
  pointer-events: none;
}
.sc-table-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(1px);
  border-radius: inherit;
}
