  * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
  }

  body {
      font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
  }

  ::-webkit-scrollbar {
      width: 6px;
      height: 6px;
  }

  ::-webkit-scrollbar-track {
      background: transparent;
  }

  ::-webkit-scrollbar-thumb {
      background: #cbd5e1;
      border-radius: 3px;
  }

  .dark ::-webkit-scrollbar-thumb {
      background: #475569;
  }

  ::-webkit-scrollbar-thumb:hover {
      background: #94a3b8;
  }

  .sidebar-link {
      transition: all 0.2s ease;
      position: relative;
  }

  .sidebar-link::before {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 3px;
      height: 0;
      background: linear-gradient(135deg, #3b8bff, #1e6af5);
      border-radius: 0 4px 4px 0;
      transition: height 0.2s ease;
  }

  .sidebar-link:hover::before,
  .sidebar-link.active::before {
      height: 60%;
  }

  .sidebar-link.active {
      background: linear-gradient(135deg, rgba(59, 139, 255, 0.1), rgba(30, 106, 245, 0.05));
      color: #3b8bff;
  }

  .dark .sidebar-link.active {
      background: linear-gradient(135deg, rgba(59, 139, 255, 0.15), rgba(30, 106, 245, 0.08));
  }

  .notification-badge {
      position: absolute;
      top: -4px;
      right: -4px;
      width: 18px;
      height: 18px;
      background: linear-gradient(135deg, #ef4444, #dc2626);
      border-radius: 50%;
      font-size: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
      font-weight: 700;
      border: 2px solid white;
  }

  .dark .notification-badge {
      border-color: #1e293b;
  }

  .status-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
  }

  .status-online {
      background: #22c55e;
      box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.2);
  }

  .status-away {
      background: #f59e0b;
      box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);
  }

  .status-offline {
      background: #94a3b8;
  }

  .progress-bar {
      height: 6px;
      border-radius: 3px;
      overflow: hidden;
      background: #e2e8f0;
  }

  .dark .progress-bar {
      background: #334155;
  }

  .progress-fill {
      height: 100%;
      border-radius: 3px;
      transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .modal-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.5);
      backdrop-filter: blur(4px);
      z-index: 100;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 1rem;
  }

  .modal-overlay.active {
      display: flex;
  }

  .toast-container {
      position: fixed;
      top: 1rem;
      right: 1rem;
      z-index: 200;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
  }

  .sidebar-section-title {
      font-size: 0.65rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 0.75rem 1.25rem 0.35rem;
  }

  @keyframes fadeInUp {
      from {
          opacity: 0;
          transform: translateY(20px);
      }

      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  @keyframes slideInRight {
      from {
          opacity: 0;
          transform: translateX(20px);
      }

      to {
          opacity: 1;
          transform: translateX(0);
      }
  }

  @keyframes slideDown {
      from {
          opacity: 0;
          transform: translateY(-10px);
      }

      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  @keyframes scaleIn {
      from {
          opacity: 0;
          transform: scale(0.95);
      }

      to {
          opacity: 1;
          transform: scale(1);
      }
  }

  @keyframes pulse-ring {
      0% {
          box-shadow: 0 0 0 0 rgba(59, 139, 255, 0.4);
      }

      70% {
          box-shadow: 0 0 0 8px rgba(59, 139, 255, 0);
      }

      100% {
          box-shadow: 0 0 0 0 rgba(59, 139, 255, 0);
      }
  }

  .animate-fade-in-up {
      animation: fadeInUp 0.5s ease forwards;
  }

  .animate-slide-in-right {
      animation: slideInRight 0.4s ease forwards;
  }

  .animate-slide-down {
      animation: slideDown 0.3s ease forwards;
  }

  .animate-scale-in {
      animation: scaleIn 0.2s ease forwards;
  }

  .animate-pulse-ring {
      animation: pulse-ring 2s infinite;
  }

  .dropdown-menu {
      display: none;
  }

  .dropdown-menu.active {
      display: block;
  }

  @media (max-width: 1024px) {
      .sidebar-desktop {
          transform: translateX(-100%);
          position: fixed;
          z-index: 50;
      }

      .sidebar-desktop.open {
          transform: translateX(0);
      }
  }

  /* Request Card */
  .request-card {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      position: relative;
  }

  .request-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.12);
  }

  .dark .request-card:hover {
      box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.4);
  }

  .request-card.new-request::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      width: 4px;
      background: linear-gradient(180deg, #3b8bff, #1e6af5);
      border-radius: 4px 0 0 4px;
  }

  /* Priority Badges */
  .priority-high {
      background: rgba(239, 68, 68, 0.1);
      color: #dc2626;
  }

  .dark .priority-high {
      background: rgba(239, 68, 68, 0.15);
      color: #f87171;
  }

  .priority-medium {
      background: rgba(245, 158, 11, 0.1);
      color: #d97706;
  }

  .dark .priority-medium {
      background: rgba(245, 158, 11, 0.15);
      color: #fbbf24;
  }

  .priority-low {
      background: rgba(34, 197, 94, 0.1);
      color: #16a34a;
  }

  .dark .priority-low {
      background: rgba(34, 197, 94, 0.15);
      color: #4ade80;
  }

  /* Tabs */
  .req-tab {
      transition: all 0.2s ease;
      position: relative;
  }

  .req-tab.active {
      color: #3b8bff;
  }

  .req-tab.active::after {
      content: '';
      position: absolute;
      bottom: -1px;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(135deg, #3b8bff, #1e6af5);
      border-radius: 3px 3px 0 0;
  }

  /* View toggle */
  .view-btn {
      transition: all 0.2s ease;
  }

  .view-btn.active {
      background: linear-gradient(135deg, #3b8bff, #1e6af5);
      color: white;
      box-shadow: 0 4px 12px rgba(59, 139, 255, 0.25);
  }

  /* Empty */
  .empty-state {
      display: none;
      padding: 3rem;
      text-align: center;
  }

  .empty-state.active {
      display: block;
  }

  /* Match bar */
  .match-bar {
      height: 4px;
      background: #e2e8f0;
      border-radius: 2px;
      overflow: hidden;
  }

  .dark .match-bar {
      background: #334155;
  }

  .match-bar-fill {
      height: 100%;
      border-radius: 2px;
      background: linear-gradient(90deg, #3b8bff, #1e6af5);
      transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
  }

  input[type="search"]::-webkit-search-cancel-button {
      display: none;
  }