/* Chmurek Dashboard — dodatkowe style */

/* Animacja pulse dla status indicator */
@keyframes pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.animate-pulse-dot {
  animation: pulse-dot 2s ease-in-out infinite;
}

/* Tabela — stylowanie */
.dashboard-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.dashboard-table thead th {
  background-color: #2b2d31;
  color: #949ba4;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 1px solid #3f4147;
  position: sticky;
  top: 0;
  z-index: 10;
}

.dashboard-table tbody tr {
  transition: background-color 0.15s ease;
}

.dashboard-table tbody tr:hover {
  background-color: #35373c;
}

.dashboard-table tbody td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #3f4147;
  font-size: 0.875rem;
}

/* Badge */
.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25rem;
}

.badge-green  { background-color: rgba(87, 242, 135, 0.1); color: #57f287; }
.badge-yellow { background-color: rgba(254, 231, 92, 0.1); color: #fee75c; }
.badge-red    { background-color: rgba(237, 66, 69, 0.1);  color: #ed4245; }
.badge-blue   { background-color: rgba(88, 101, 242, 0.1); color: #5865f2; }
.badge-muted  { background-color: rgba(148, 155, 164, 0.1); color: #949ba4; }

/* Karta transkryptu (ticket detail) */
.transcript-message {
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
}

.transcript-message:hover {
  background-color: #35373c;
}

/* Transition helpers */
.fade-in {
  animation: fadeIn 0.2s ease-in;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* htmx loading indicator */
.htmx-indicator {
  display: none;
}

.htmx-request .htmx-indicator {
  display: inline-block;
}

.htmx-request.htmx-indicator {
  display: inline-block;
}
