/* Primary Button */
.btn-primary {
  @apply flex items-center justify-center gap-2 rounded-lg h-10 px-4 bg-[#000000] text-white text-sm font-bold shadow-sm hover:bg-[#236940]/90 transition-colors;
}

/* Secondary Button */
.btn-secondary {
  @apply flex items-center justify-center gap-2 rounded-lg h-10 px-4 bg-black/5 hover:bg-black/10 text-black/80 text-sm font-bold transition-colors;
}

/* Card */
.card {
  @apply bg-white rounded-lg border border-black/10 shadow-sm;
}

/* Table styles */
.table-wrapper {
  @apply overflow-x-auto rounded-lg border border-black/10 bg-white;
}

.table-header {
  @apply bg-black/5;
}

.table-header-cell {
  @apply px-6 py-2 text-left text-xs font-semibold uppercase tracking-wider text-black/60 dark:text-white/60;
}

.table-row {
  @apply hover:bg-black/[.02] dark:hover:bg-white/[.02] border-b border-black/10 dark:border-white/10 last:border-b-0;
}

.table-cell {
  @apply px-6 py-2 text-base text-black/90 dark:text-white;
}

.table-cell-secondary {
  @apply px-6 py-2 text-base text-black/60 dark:text-white/60;
}

/* Form inputs */
.form-input-custom {
  @apply flex w-full min-w-0 flex-1 resize-none overflow-hidden rounded-lg border border-black/10 bg-white text-black focus:outline-none focus:ring-2 focus:ring-[#1193d4] placeholder:text-black/40;
}

/* Normalize select height to match text inputs */
select.rounded-lg {
  @apply h-[42px];
}

/* Filter button */
.filter-btn {
  @apply flex h-9 shrink-0 items-center justify-center gap-x-2 rounded-lg bg-black/5 px-3 hover:bg-black/10 transition-colors;
}

/* Page header */
.page-header {
  @apply text-3xl font-bold text-black tracking-tight;
}

.page-subtitle {
  @apply text-sm text-black/60;
}
