  .no-select {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
  }
  html {
    scrollbar-width: thin;
    scrollbar-color: #6366f1 #1f2937;
  }

  ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
  }

  ::-webkit-scrollbar-track {
    background: #111827;
    border-radius: 8px;
    margin: 4px;
  }

  ::-webkit-scrollbar-thumb {
    background: linear-gradient(45deg, #6366f1, #8b5cf6);
    border-radius: 8px;
    border: 2px solid rgba(99, 102, 241, 0.2);
    transition: all 0.3s ease;
  }

  ::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(45deg, #818cf8, #a78bfa);
    border-radius: 10px;
  }

  ::-webkit-scrollbar-thumb:active {
    background: linear-gradient(45deg, #4f46e5, #7c3aed);
    border-radius: 8px;
  }

  ::-webkit-scrollbar-corner {
    background: #111827;
    border-radius: 8px;
  }
  @keyframes slideUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .animate-slide-up { animation: slideUp 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
  button, input, label, .transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
  
  @keyframes progress-success {
  from { width: 100%; }
  to { width: 0%; }
  }

  .animate-progress-success {
    animation: progress-success 5s linear forwards;
  }
  @keyframes progress-error {
    from { width: 100%; }
    to { width: 0%; }
  }

  .animate-progress-error {
    animation: progress-error 5s linear forwards;
  }