:root {
    --primary: #81c45a;
    --primary-dark: #6ba849;
    --primary-light: #9dd070;
  }
  
  body {
    overflow: auto;
    font-family: "Lufga", sans-serif !important;
    font-size: 0.875rem !important;
  }
  
  .bg-primary-custom {
    background-color: var(--primary) !important;
  }
  
  .bg-primary-dark {
    background-color: var(--primary-dark) !important;
  }
  
  .bg-primary-light {
    background-color: var(--primary-light) !important;
  }
  
  .text-primary-custom {
    color: var(--primary) !important;
  }
  
  .border-primary-custom {
    border-color: var(--primary) !important;
  }
  
  [x-cloak] {
    display: none !important;
  }
  
  .fade-in {
    animation: fadeIn 0.3s ease-in-out;
  }
  
  @keyframes fadeIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }
  
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  .hover-lift {
    transition: transform 0.2s ease-in-out;
  }
  
  .hover-lift:hover {
    transform: translateY(-2px);
  }
  
  .gradient-bg {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  }
  
  .scroll-container {
    overflow-x: auto;
    overflow-y: scroll !important;
  }
  
  .scroll-container::-webkit-scrollbar {
    height: 4px;
  }
  
  .scroll-container::-webkit-scrollbar-track {
    background: #f1f1f1;
  }
  
  .scroll-container::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 2px;
  }
  
  .bg-gray-50 {
    background-color: #f9fafb !important;
  }
  
  .bg-gray-100 {
    background-color: #f3f4f6 !important;
  }
  
  .bg-gray-200 {
    background-color: #e5e7eb !important;
  }
  
  .bg-gray-300 {
    background-color: #d1d5db !important;
  }
  
  .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;
  }
  
  .border-gray-200 {
    border-color: #e5e7eb !important;
  }
  
  .border-gray-300 {
    border-color: #d1d5db !important;
  }
  
  .text-blue-100 {
    color: #dbeafe !important;
  }
  
  .text-blue-200 {
    color: #bfdbfe !important;
  }
  
  .line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  
  .whitespace-nowrap {
    white-space: nowrap;
  }
  
  .rounded-full {
    border-radius: 50rem !important;
  }
  
  .rounded-xl {
    border-radius: 0.75rem !important;
  }
  
  .rounded-2xl {
    border-radius: 1rem !important;
  }
  
  .sticky-top {
    position: sticky;
    top: 0;
  }
  
  .nav-tabs-custom .nav-link {
    border: none;
    border-bottom: 2px solid transparent;
    color: #6b7280;
    font-weight: 500;
    font-size: 0.875rem;
    white-space: nowrap;
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }
  
  .nav-tabs-custom .nav-link:hover {
    color: #374151;
    border-bottom-color: #d1d5db;
  }
  
  .nav-tabs-custom .nav-link.active {
    color: var(--primary);
    border-bottom-color: var(--primary);
    background: none;
  }

  .nav-tabs-custom .dropdown-menu .dropdown-item:hover {
    color: #374151;
    border: none;
    cursor: pointer;
  }
  
  .nav-tabs-custom .dropdown-menu .dropdown-item.active {
    color: var(--primary);
    border: none;
    background: none;
    cursor: pointer;
  }
  
  .btn-outline-primary-custom {
    color: var(--primary);
    border-color: var(--primary);
  }
  
  .btn-outline-primary-custom:hover {
    background-color: var(--primary);
    border-color: var(--primary);
    color: white;
  }
  
  .form-control:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(129, 196, 90, 0.25) !important;
  }
  
  .offcanvas-backdrop {
    background-color: rgba(75, 85, 99, 0.75);
  }
  
  .top-56 {
    top: 56% !important;
  }
  
  .user-profile-btn:focus {
    box-shadow: none;
  }
  
  .card, .modal .modal-content {
    border-radius: 0.75rem !important;
    border: 1px solid #dfe0e1 !important;
    box-shadow:  0 1px 5px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1) !important;
    /* background-color: white !important; */
    /* padding: calc(0.25rem * 6); */
  }

  .card-hover:hover, .modal.show .modal-content {
    box-shadow:  0 1px 50px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1) !important;
      transition-duration: 200ms;
  }

  button, .btn-custom, a[role="button"]:not(.nav-link){
    font-weight: 500 !important;
    box-shadow: 0 0 0 rgba(54, 136, 252, .5) !important;
    border-radius: 0.375rem !important;
    font-size: 0.875rem !important;
  }

  .modal .modal-header {
    border-bottom: 1px solid #e5e7eb;
  }