 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 body {
     font-family: 'Inter', sans-serif;
     overflow-x: hidden;
 }

 .font-jakarta {
     font-family: 'Plus Jakarta Sans', sans-serif;
 }

 ::-webkit-scrollbar {
     width: 6px;
     height: 6px;
 }

 ::-webkit-scrollbar-track {
     background: transparent;
 }

 ::-webkit-scrollbar-thumb {
     background: #4a4a5a;
     border-radius: 3px;
 }

 .light ::-webkit-scrollbar-thumb {
     background: #c0c0c0;
 }

 .sidebar-scroll::-webkit-scrollbar {
     width: 4px;
 }

 .sidebar-scroll::-webkit-scrollbar-thumb {
     background: rgba(255, 255, 255, 0.1);
     border-radius: 2px;
 }

 .sidebar {
     transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .sidebar-overlay {
     transition: opacity 0.3s ease;
 }

 .dropdown-enter {
     animation: dropdownIn 0.2s ease forwards;
 }

 @keyframes dropdownIn {
     from {
         opacity: 0;
         transform: translateY(-8px) scale(0.96);
     }

     to {
         opacity: 1;
         transform: translateY(0) scale(1);
     }
 }

 .theme-transition,
 .theme-transition * {
     transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
 }

 .nav-item {
     transition: all 0.2s ease;
     position: relative;
 }

 .nav-item.active {
     background: rgba(139, 92, 246, 0.12);
 }

 .nav-item.active::before {
     content: '';
     position: absolute;
     left: 0;
     top: 50%;
     transform: translateY(-50%);
     width: 3px;
     height: 60%;
     background: linear-gradient(to bottom, #8B5CF6, #06B6D4);
     border-radius: 0 3px 3px 0;
 }

 .light .nav-item.active {
     background: rgba(139, 92, 246, 0.08);
 }

 .notif-badge {
     position: absolute;
     top: -2px;
     right: -2px;
     width: 18px;
     height: 18px;
     background: #EF4444;
     border-radius: 50%;
     font-size: 10px;
     font-weight: 700;
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
     border: 2px solid;
 }

 .dark .notif-badge {
     border-color: #0f0f1a;
 }

 .light .notif-badge {
     border-color: #ffffff;
 }

 .pulse-dot {
     animation: pulse 2s infinite;
 }

 @keyframes pulse {

     0%,
     100% {
         opacity: 1;
     }

     50% {
         opacity: 0.5;
     }
 }

 @media (max-width: 640px) {

     .notif-panel,
     .messenger-panel,
     .profile-panel,
     .quick-panel,
     .search-panel,
     .export-panel {
         position: fixed !important;
         top: 70px !important;
         left: 12px !important;
         right: 12px !important;
         width: auto !important;
         max-width: calc(100vw - 24px) !important;
         z-index: 100 !important;
     }

     .profile-btn-img {
         min-width: 32px !important;
         flex-shrink: 0 !important;
     }
 }

 .modal-overlay {
     transition: opacity 0.3s ease;
 }

 .modal-content {
     transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
 }