/* High Contrast Mode Support */
@media (prefers-contrast: high) {
  /* Enhanced focus indicators */
  *:focus {
    outline: 3px solid #00ff00 !important;
    outline-offset: 2px !important;
  }
  
  /* High contrast buttons */
  button {
    border: 2px solid currentColor !important;
    font-weight: bold !important;
  }
  
  /* High contrast text */
  .text-gray-500 {
    color: #000000 !important;
  }
  
  .dark .text-gray-400 {
    color: #ffffff !important;
  }
  
  /* High contrast backgrounds */
  .bg-gray-100 {
    background-color: #ffffff !important;
    border: 1px solid #000000 !important;
  }
  
  .dark .bg-gray-800 {
    background-color: #000000 !important;
    border: 1px solid #ffffff !important;
  }
  
  /* High contrast status badges */
  .bg-red-100 {
    background-color: #ff0000 !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
  }
  
  .bg-green-100 {
    background-color: #00ff00 !important;
    color: #000000 !important;
    border: 2px solid #000000 !important;
  }
  
  .bg-blue-100 {
    background-color: #0000ff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
  }
  
  .bg-yellow-100 {
    background-color: #ffff00 !important;
    color: #000000 !important;
    border: 2px solid #000000 !important;
  }
  
  /* High contrast tables */
  table {
    border: 2px solid #000000 !important;
  }
  
  th, td {
    border: 1px solid #000000 !important;
  }
  
  /* High contrast forms */
  input, select, textarea {
    border: 2px solid #000000 !important;
    background-color: #ffffff !important;
    color: #000000 !important;
  }
  
  .dark input, .dark select, .dark textarea {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
  }
  
  /* High contrast links */
  a {
    text-decoration: underline !important;
    font-weight: bold !important;
  }
  
  /* High contrast navigation */
  nav {
    border-bottom: 3px solid #000000 !important;
  }
  
  .dark nav {
    border-bottom-color: #ffffff !important;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Screen reader only content */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Skip links */
.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: #000000;
  color: #ffffff;
  padding: 8px;
  text-decoration: none;
  z-index: 1000;
  border-radius: 4px;
}

.skip-link:focus {
  top: 6px;
}

/* Enhanced focus styles */
.focus-visible {
  outline: 2px solid #0066cc;
  outline-offset: 2px;
}

/* High contrast focus for dark mode */
.dark .focus-visible {
  outline-color: #66b3ff;
}
