/*
 * 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.
 */

/* Admin Portal Navigation Enhancements */
.admin-nav-item {
  @apply transition-all duration-200 ease-in-out;
}

.admin-nav-item:hover {
  @apply transform translate-x-1;
}

.admin-nav-section-header {
  @apply transition-colors duration-150 ease-in-out text-left cursor-pointer;
}

.admin-nav-section-header:hover {
  @apply bg-gray-50 rounded-lg;
}

.admin-nav-section-header span {
  @apply text-left;
}

/* Active state indicator animation */
.admin-nav-active-indicator {
  @apply transition-all duration-300 ease-in-out;
}

/* Smooth scrollbar for navigation */
.nav-scrollable::-webkit-scrollbar {
  width: 4px;
}

.nav-scrollable::-webkit-scrollbar-track {
  @apply bg-transparent;
}

.nav-scrollable::-webkit-scrollbar-thumb {
  @apply bg-gray-300 rounded-full;
}

.nav-scrollable::-webkit-scrollbar-thumb:hover {
  @apply bg-gray-400;
}

/* Collapsible section animations */
.collapsible-content {
  @apply transition-all duration-300 ease-in-out;
}

.collapsible-icon {
  @apply transition-transform duration-200 ease-in-out;
}

/* Enhanced caret animation for collapsible sections */
[data-collapsible-target="icon"] {
  @apply transition-all duration-200 ease-in-out transform text-gray-400;
}

[data-collapsible-target="icon"].rotate-180 {
  @apply rotate-180 text-gray-600;
}

/* Enhanced focus states for accessibility */
.admin-nav-item:focus {
  @apply outline-none ring-2 ring-v-green-500 ring-offset-2;
}

.admin-nav-section-header:focus {
  @apply outline-none ring-2 ring-v-green-500 ring-offset-2;
}

/* Loading states */
.nav-loading {
  @apply animate-pulse;
}

/* Main content area styling */
.admin-main-content {
  @apply p-6;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .admin-nav-item:hover {
    @apply transform-none;
  }
}