/*
 * This is the app.css file that the layout is trying to load.
 * It imports the main application styles.
 */

/* Ensure Tailwind spacing classes work properly */
.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-4 {
  margin-top: 1rem !important;
}

.mt-6 {
  margin-top: 1.5rem !important;
}

.mt-8 {
  margin-top: 2rem !important;
}

.mb-4 {
  margin-bottom: 1rem !important;
}

.mb-6 {
  margin-bottom: 1.5rem !important;
}

.mb-8 {
  margin-bottom: 2rem !important;
}

.mx-4 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.ml-2 {
  margin-left: 0.5rem !important;
}

.px-4 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.px-3 {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

.py-4 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-8 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.space-y-4 > * + * {
  margin-top: 1rem !important;
}

.space-y-6 > * + * {
  margin-top: 1.5rem !important;
}

/* Navigation bar specific classes */
.max-w-7xl {
  max-width: 80rem !important;
}

.max-w-md {
  max-width: 28rem !important;
}

.h-4 {
  height: 1rem !important;
}

.h-16 {
  height: 4rem !important;
}

.w-4 {
  width: 1rem !important;
}

.w-full {
  width: 100% !important;
}

.space-x-8 > * + * {
  margin-left: 2rem !important;
}

.space-x-4 > * + * {
  margin-left: 1rem !important;
}

.rounded-md {
  border-radius: 0.375rem !important;
}

.rounded-lg {
  border-radius: 0.5rem !important;
}

.text-sm {
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
}

.font-medium {
  font-weight: 500 !important;
}

.duration-200 {
  transition-duration: 0.2s !important;
}

/* Display utilities */
.block {
  display: block !important;
}

/* Flexbox utilities */
.flex {
  display: flex !important;
}

.items-center {
  align-items: center !important;
}

.justify-between {
  justify-content: space-between !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

/* Icon sizing utilities */
.h-8 {
  height: 2rem !important;
}

.h-12 {
  height: 3rem !important;
}

.w-8 {
  width: 2rem !important;
}

.w-12 {
  width: 3rem !important;
}

/* Text color utilities */
.text-gray-400 {
  color: #9ca3af !important;
}

.text-gray-500 {
  color: #6b7280 !important;
}

.text-gray-600 {
  color: #4b5563 !important;
}

.text-gray-700 {
  color: #374151 !important;
}

.text-gray-900 {
  color: #111827 !important;
}

/* Responsive utilities */
@media (min-width: 640px) {
  .sm\:mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  .sm\:w-full {
    width: 100% !important;
  }
  
  .sm\:max-w-md {
    max-width: 28rem !important;
  }
  
  .sm\:px-10 {
    padding-left: 2.5rem !important;
    padding-right: 2.5rem !important;
  }
  
  .sm\:rounded-lg {
    border-radius: 0.5rem !important;
  }
  
  .sm\:px-6 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}

@media (min-width: 1024px) {
  .lg\:px-8 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}

/* Text color utilities - adding missing colors */
.text-gray-300 {
  color: #d1d5db !important;
}

.text-white {
  color: #ffffff !important;
}

/* Background color utilities */
.bg-gray-900 {
  background-color: #111827 !important;
}

/* Hover state utilities */
.hover\:text-white:hover {
  color: #ffffff !important;
}

/* Transition utilities */
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

/* Mix blend mode utilities */
.mix-blend-screen {
  mix-blend-mode: screen !important;
}

/* Additional spacing utilities for download page */
.py-12 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.mb-12 {
  margin-bottom: 3rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

/* Text sizing utilities */
.text-4xl {
  font-size: 2.25rem !important;
  line-height: 2.5rem !important;
}

.text-xl {
  font-size: 1.25rem !important;
  line-height: 1.75rem !important;
}

/* Font weight utilities */
.font-bold {
  font-weight: 700 !important;
}

/* Background color utilities */
.bg-white {
  background-color: #ffffff !important;
}

/* Shadow utilities */
.shadow-md {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}

/* Text alignment utilities */
.text-center {
  text-align: center !important;
}

/* Additional background color utilities */
.bg-gray-800 {
  background-color: #1f2937 !important;
}

.bg-gray-50 {
  background-color: #f9fafb !important;
}

/* Shadow utilities */
.shadow-lg {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
}

/* Layout utilities */
.min-h-screen {
  min-height: 100vh !important;
}

/* Additional spacing utilities */
.space-x-2 > * + * {
  margin-left: 0.5rem !important;
}

/* Focus utilities */
.focus\:outline-none:focus {
  outline: 2px solid transparent !important;
  outline-offset: 2px !important;
}

/* Transition utilities */
.transition-transform {
  transition-property: transform !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

/* Transform utilities */
.rotate-180 {
  transform: rotate(180deg) !important;
}

/* Additional icon sizing utilities */
.w-5 {
  width: 1.25rem !important;
}

.h-5 {
  height: 1.25rem !important;
}

/* Grid layout utilities */
.grid {
  display: grid !important;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.gap-6 {
  gap: 1.5rem !important;
}

.gap-8 {
  gap: 2rem !important;
}

/* Responsive grid utilities */
@media (min-width: 768px) {
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1024px) {
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  
  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  
  .lg\:col-span-1 {
    grid-column: span 1 / span 1 !important;
  }
  
  .lg\:col-span-2 {
    grid-column: span 2 / span 2 !important;
  }
}

/* Additional background color utilities */
.bg-blue-100 {
  background-color: #dbeafe !important;
}

.bg-green-100 {
  background-color: #dcfce7 !important;
}

.bg-yellow-100 {
  background-color: #fef3c7 !important;
}

.bg-red-100 {
  background-color: #fee2e2 !important;
}

.bg-purple-600 {
  background-color: #9333ea !important;
}

.bg-gray-600 {
  background-color: #4b5563 !important;
}

.bg-gray-50 {
  background-color: #f9fafb !important;
}

/* Additional text color utilities */
.text-blue-600 {
  color: #2563eb !important;
}

.text-green-600 {
  color: #16a34a !important;
}

.text-yellow-600 {
  color: #ca8a04 !important;
}

.text-red-600 {
  color: #dc2626 !important;
}

.text-green-800 {
  color: #166534 !important;
}

.text-yellow-800 {
  color: #92400e !important;
}

/* Additional text sizing utilities */
.text-2xl {
  font-size: 1.5rem !important;
  line-height: 2rem !important;
}

.text-xs {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
}

/* Additional spacing utilities */
.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-6 {
  margin-bottom: 1.5rem !important;
}

.mb-8 {
  margin-bottom: 2rem !important;
}

.ml-4 {
  margin-left: 1rem !important;
}

.mr-2 {
  margin-right: 0.5rem !important;
}

.mt-6 {
  margin-top: 1.5rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 0.75rem !important;
}

.p-4 {
  padding: 1rem !important;
}

.p-6 {
  padding: 1.5rem !important;
}

.px-4 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.py-3 {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

/* Additional spacing for lists */
.space-y-4 > * + * {
  margin-top: 1rem !important;
}

/* Rounded utilities */
.rounded-full {
  border-radius: 9999px !important;
}

/* Hover state utilities */
.hover\:bg-blue-700:hover {
  background-color: #1d4ed8 !important;
}

.hover\:bg-green-700:hover {
  background-color: #15803d !important;
}

.hover\:bg-purple-700:hover {
  background-color: #7c3aed !important;
}

.hover\:bg-gray-700:hover {
  background-color: #374151 !important;
}

/* Button utilities */
.w-full {
  width: 100% !important;
}

/* Flexbox utilities */
.justify-center {
  justify-content: center !important;
}

.justify-between {
  justify-content: space-between !important;
}

/* Inline flex utilities */
.inline-flex {
  display: inline-flex !important;
}

/* Additional padding utilities */
.px-2\.5 {
  padding-left: 0.625rem !important;
  padding-right: 0.625rem !important;
}

.py-0\.5 {
  padding-top: 0.125rem !important;
  padding-bottom: 0.125rem !important;
}

/* Additional max-width utilities */
.max-w-4xl {
  max-width: 56rem !important;
}

/* Responsive flexbox utilities */
@media (min-width: 768px) {
  .md\:flex {
    display: flex !important;
  }
  
  .md\:w-1\/2 {
    width: 50% !important;
  }
  
  .md\:h-full {
    height: 100% !important;
  }
}

/* Image utilities */
.h-64 {
  height: 16rem !important;
}

.object-cover {
  object-fit: cover !important;
}

/* Border utilities */
.border-t {
  border-top-width: 1px !important;
}

.border-b {
  border-bottom-width: 1px !important;
}

.border-gray-200 {
  border-color: #e5e7eb !important;
}

/* Overflow utilities */
.overflow-hidden {
  overflow: hidden !important;
}

/* Additional text styling */
.text-semibold {
  font-weight: 600 !important;
}

/* Hover state utilities */
.hover\:text-blue-800:hover {
  color: #1e40af !important;
}

/* Grid gap utilities */
.gap-x-4 {
  column-gap: 1rem !important;
}

.gap-y-6 {
  row-gap: 1.5rem !important;
}

/* Definition list utilities */
dl {
  margin: 0 !important;
}

dt {
  margin: 0 !important;
}

dd {
  margin: 0 !important;
}

/* Prose utilities */
.prose {
  color: #374151 !important;
  max-width: 65ch !important;
}

.prose p {
  margin-bottom: 1.25em !important;
}

.prose p:last-child {
  margin-bottom: 0 !important;
}

/* Additional spacing utilities */
.space-y-8 > * + * {
  margin-top: 2rem !important;
}

/* Additional responsive flexbox utilities */
@media (min-width: 768px) {
  .md\:w-1\/3 {
    width: 33.333333% !important;
  }
  
  .md\:w-2\/3 {
    width: 66.666667% !important;
  }
  
  .md\:h-48 {
    height: 12rem !important;
  }
}

/* Additional border utilities */
.border {
  border-width: 1px !important;
}

/* Additional text styling */
.text-lg {
  font-size: 1.125rem !important;
  line-height: 1.75rem !important;
}

/* Additional text color utilities */
.text-blue-800 {
  color: #1e40af !important;
}

/* Additional margin utilities */
.mb-3 {
  margin-bottom: 0.75rem !important;
}

/* Additional responsive grid utilities */
@media (min-width: 768px) {
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Additional gap utilities */
.gap-4 {
  gap: 1rem !important;
}

/* Additional spacing utilities */
.space-x-1 > * + * {
  margin-left: 0.25rem !important;
}

/* Additional padding utilities */
.px-2 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.py-0\.5 {
  padding-top: 0.125rem !important;
  padding-bottom: 0.125rem !important;
}

/* Additional font weight utilities */
.font-semibold {
  font-weight: 600 !important;
}

/* Additional responsive grid utilities */
@media (min-width: 640px) {
  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Additional padding utilities */
.p-8 {
  padding: 2rem !important;
}

.pt-6 {
  padding-top: 1.5rem !important;
}
