/* Republic V.A - Custom Styles */

/* Brand colors */
:root {
  --brand-blue: #2563eb;
  --brand-purple: #7c3aed;
}

/* Active tab gradient underline */
nav button.border-blue-500 {
  border-image: linear-gradient(to right, var(--brand-blue), var(--brand-purple)) 1;
}

/* Login card top accent */
.login-accent {
  background: linear-gradient(135deg, var(--brand-blue), var(--brand-purple));
}

[x-cloak] {
  display: none !important;
}

/* Smooth tab transitions */
section {
  animation: fadeIn 0.2s ease-in;
}

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

/* Table row highlight */
tbody tr:hover {
  transition: background-color 0.15s;
}

/* Print styles */
@media print {
  nav, button, input[type="number"], .no-print {
    display: none !important;
  }
  .shadow {
    box-shadow: none !important;
  }
}

/* Inline edit input pulse */
input[type="number"]:focus {
  animation: pulse 0.3s;
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

/* Dark mode overrides */
.dark .bg-white {
  background-color: #1f2937 !important;
}
.dark .bg-gray-50 {
  background-color: #111827 !important;
}
.dark .border-gray-100,
.dark .border-gray-200,
.dark .border-gray-300 {
  border-color: #374151 !important;
}
.dark .text-gray-800,
.dark .text-gray-700 {
  color: #f3f4f6 !important;
}
.dark .text-gray-600 {
  color: #e5e7eb !important;
}
.dark .text-gray-500 {
  color: #d1d5db !important;
}
.dark .text-gray-400 {
  color: #9ca3af !important;
}
.dark p, .dark span, .dark td, .dark th, .dark label, .dark h1, .dark h2, .dark h3 {
  color: #e5e7eb;
}
.dark .text-green-700 {
  color: #6ee7b7 !important;
}
.dark .text-orange-600 {
  color: #fdba74 !important;
}
.dark .text-blue-600 {
  color: #93c5fd !important;
}
.dark .text-red-500, .dark .text-red-600 {
  color: #fca5a5 !important;
}
.dark input, .dark select, .dark textarea {
  background-color: #374151 !important;
  border-color: #4b5563 !important;
  color: #f3f4f6 !important;
}
.dark input::placeholder {
  color: #9ca3af !important;
}
.dark table thead {
  background-color: #1f2937 !important;
}
.dark table thead th {
  color: #d1d5db !important;
}
.dark table tbody tr {
  border-color: #374151 !important;
}
.dark table tbody tr:hover {
  background-color: #1e3a5f !important;
}
.dark table tbody td {
  color: #e5e7eb !important;
}
.dark .shadow {
  box-shadow: 0 1px 3px rgba(0,0,0,0.5) !important;
}
.dark .bg-blue-50 {
  background-color: #1e3a5f !important;
}
.dark .bg-blue-600 {
  background-color: #2563eb !important;
}
.dark .bg-green-600 {
  background-color: #059669 !important;
}
.dark .bg-red-600 {
  background-color: #dc2626 !important;
}
.dark .fixed.bg-black\/50 {
  background-color: rgba(0,0,0,0.75) !important;
}
.dark .bg-green-500 {
  background-color: #059669 !important;
}
.dark .bg-green-100 { background-color: #064e3b !important; }
.dark .bg-blue-100 { background-color: #1e3a5f !important; }
.dark .bg-red-100 { background-color: #7f1d1d !important; }
.dark .bg-purple-100 { background-color: #4c1d95 !important; }
.dark .text-green-700 { color: #6ee7b7 !important; }
.dark .text-blue-700 { color: #93c5fd !important; }
.dark .text-red-700 { color: #fca5a5 !important; }
.dark .text-purple-700 { color: #c4b5fd !important; }
.dark nav button {
  color: #d1d5db !important;
}
.dark nav button:hover {
  color: #93c5fd !important;
}
.dark .border-blue-500 {
  border-color: #3b82f6 !important;
}
.dark .border-b.border-gray-200 {
  border-color: #374151 !important;
}
.dark .bg-gray-200 {
  background-color: #4b5563 !important;
}
.dark .text-gray-700 {
  color: #e5e7eb !important;
}
.dark .text-gray-600 {
  color: #d1d5db !important;
}
.dark button.bg-gray-200 {
  background-color: #4b5563 !important;
  color: #f3f4f6 !important;
}
