/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* JetBrains Mono Font */
body {
  font-family: 'JetBrains Mono', 'Courier New', monospace;
}

/* Remove default browser focus outline while maintaining accessibility */
input:focus,
textarea:focus,
select:focus {
  outline: none !important;
}

/* Ensure Tailwind focus styles still work */
.focus\:ring-blue-500:focus {
  --tw-ring-color: rgb(59 130 246) !important;
}

.focus\:border-blue-500:focus {
  --tw-border-opacity: 1 !important;
  border-color: rgb(59 130 246) !important;
}

/* Pagy pagination styles - targeting the actual HTML structure */
nav.pagy.nav {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin: 1rem 0;
}

nav.pagy.nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.75rem;
  text-decoration: none;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  min-width: 2.5rem;
  transition: all 0.2s ease-in-out;
  background-color: white;
  color: #374151;
}

nav.pagy.nav a:hover {
  background-color: #f3f4f6;
  border-color: #9ca3af;
  color: #1f2937;
}

nav.pagy.nav a.current {
  background-color: #3b82f6;
  color: white;
  border-color: #3b82f6;
}

nav.pagy.nav a.gap {
  border: none;
  background: none;
  color: #9ca3af;
  cursor: default;
}

nav.pagy.nav a.gap:hover {
  background: none;
  border: none;
  color: #9ca3af;
}

nav.pagy.nav a[aria-disabled="true"] {
  color: #9ca3af;
  cursor: not-allowed;
  background-color: #f9fafb;
  border-color: #e5e7eb;
}

nav.pagy.nav a[aria-disabled="true"]:hover {
  background-color: #f9fafb;
  border-color: #e5e7eb;
  color: #9ca3af;
}

/* Alternative fallback for different pagy versions */
.pagy-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin: 1rem 0;
}

.pagy-nav a,
.pagy-nav span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.75rem;
  text-decoration: none;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  min-width: 2.5rem;
  transition: all 0.2s ease-in-out;
  background-color: white;
  color: #374151;
}

.pagy-nav a:hover {
  background-color: #f3f4f6;
  border-color: #9ca3af;
  color: #1f2937;
}

.pagy-nav .current {
  background-color: #3b82f6;
  color: white;
  border-color: #3b82f6;
}

.pagy-nav .gap {
  border: none;
  background: none;
  color: #9ca3af;
  cursor: default;
}

.pagy-nav .disabled {
  color: #9ca3af;
  cursor: not-allowed;
  background-color: #f9fafb;
  border-color: #e5e7eb;
}
