/* SMM Panel — App CSS (Tailwind dışı extras) */

/* Flash fade animation */
.flash {
  animation: flash-in 0.25s ease-out;
}
.flash.fading {
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
@keyframes flash-in {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: rgba(100, 116, 139, 0.4);
  border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(100, 116, 139, 0.7);
}

/* Loading spinner */
.spinner {
  display: inline-block;
  width: 1em;
  height: 1em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Status badge color helpers (Tailwind alternative for consistency) */
.status-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  color: #fff;
  font-weight: 500;
}
.status-Pending      { background: #64748b; }
.status-In.progress,
.status-In_progress  { background: #3b82f6; }
.status-Processing   { background: #6366f1; }
.status-Completed    { background: #10b981; }
.status-Partial      { background: #f59e0b; }
.status-Canceled     { background: #f43f5e; }
.status-Refunded     { background: #8b5cf6; }
.status-Error        { background: #dc2626; }

/* Modal display fix when shown via JS */
[data-modal].is-open {
  display: flex !important;
}

/* Smooth tab transitions */
[data-panel] {
  animation: panel-fade 0.18s ease-out;
}
@keyframes panel-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Truncate helper for table cells */
.cell-truncate {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
