   * {
       margin: 0;
       padding: 0;
       box-sizing: border-box;
   }

   body {
       font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
       overflow-x: hidden;
   }

   ::-webkit-scrollbar {
       width: 5px;
       height: 5px;
   }

   ::-webkit-scrollbar-track {
       background: transparent;
   }

   ::-webkit-scrollbar-thumb {
       background: #cbd5e1;
       border-radius: 10px;
   }

   .dark ::-webkit-scrollbar-thumb {
       background: #475569;
   }

   .sidebar-link {
       transition: all .25s cubic-bezier(.4, 0, .2, 1);
       position: relative;
       overflow: hidden;
   }

   .sidebar-link::before {
       content: '';
       position: absolute;
       left: 0;
       top: 0;
       bottom: 0;
       width: 0;
       background: linear-gradient(135deg, rgba(99, 102, 241, .12), rgba(129, 140, 248, .08));
       border-radius: 12px;
       transition: width .25s ease;
       z-index: 0;
   }

   .sidebar-link:hover::before,
   .sidebar-link.active::before {
       width: 100%;
   }

   .sidebar-link::after {
       content: '';
       position: absolute;
       left: 0;
       top: 50%;
       transform: translateY(-50%);
       width: 3px;
       height: 0;
       background: linear-gradient(180deg, #6366f1, #818cf8);
       border-radius: 0 6px 6px 0;
       transition: height .25s ease;
   }

   .sidebar-link:hover::after,
   .sidebar-link.active::after {
       height: 55%;
   }

   .sidebar-link.active {
       color: #6366f1;
       font-weight: 600;
   }

   .sidebar-link:hover {
       color: #6366f1;
   }

   .dark .sidebar-link.active {
       color: #818cf8;
   }

   .dark .sidebar-link:hover {
       color: #818cf8;
   }

   .stat-card {
       transition: all .35s cubic-bezier(.4, 0, .2, 1);
       overflow: hidden;
   }

   .stat-card:hover {
       transform: translateY(-6px);
       box-shadow: 0 25px 50px -12px rgba(99, 102, 241, .12);
   }

   .dark .stat-card:hover {
       box-shadow: 0 25px 50px -12px rgba(99, 102, 241, .25);
   }

   .stat-card .stat-icon {
       transition: all .35s ease;
   }

   .stat-card:hover .stat-icon {
       transform: scale(1.1) rotate(-5deg);
   }

   .notification-panel,
   .messenger-panel {
       max-width: calc(100vw - 1rem);
   }

   @keyframes fadeInUp {
       from {
           opacity: 0;
           transform: translateY(20px);
       }

       to {
           opacity: 1;
           transform: translateY(0);
       }
   }

   @keyframes fadeIn {
       from {
           opacity: 0;
       }

       to {
           opacity: 1;
       }
   }

   @keyframes slideInRight {
       from {
           transform: translateX(100%);
           opacity: 0;
       }

       to {
           transform: translateX(0);
           opacity: 1;
       }
   }

   @keyframes scaleIn {
       from {
           transform: scale(.92);
           opacity: 0;
       }

       to {
           transform: scale(1);
           opacity: 1;
       }
   }

   @keyframes float {

       0%,
       100% {
           transform: translateY(0);
       }

       50% {
           transform: translateY(-6px);
       }
   }

   @keyframes blob {

       0%,
       100% {
           border-radius: 60% 40% 30% 70%/60% 30% 70% 40%;
       }

       50% {
           border-radius: 30% 60% 70% 40%/50% 60% 30% 60%;
       }
   }

   @keyframes shimmer {
       0% {
           background-position: -200% 0;
       }

       100% {
           background-position: 200% 0;
       }
   }

   @keyframes pulse-ring {
       0% {
           transform: scale(.95);
           opacity: 1;
       }

       100% {
           transform: scale(1.5);
           opacity: 0;
       }
   }

   .animate-fadeInUp {
       animation: fadeInUp .6s cubic-bezier(.4, 0, .2, 1) both;
   }

   .animate-scaleIn {
       animation: scaleIn .25s ease both;
   }

   .animate-float {
       animation: float 3s ease-in-out infinite;
   }

   .animate-blob {
       animation: blob 8s ease-in-out infinite;
   }

   .s1 {
       animation-delay: .05s;
   }

   .s2 {
       animation-delay: .1s;
   }

   .s3 {
       animation-delay: .15s;
   }

   .s4 {
       animation-delay: .2s;
   }

   .s5 {
       animation-delay: .25s;
   }

   .s6 {
       animation-delay: .3s;
   }

   .s7 {
       animation-delay: .35s;
   }

   .s8 {
       animation-delay: .4s;
   }

   .table-container {
       overflow-x: auto;
       -webkit-overflow-scrolling: touch;
   }

   .table-container table {
       min-width: 880px;
   }

   .badge-dot {
       width: 8px;
       height: 8px;
       border-radius: 50%;
       display: inline-block;
   }

   .badge-dot.online {
       background: #22c55e;
       box-shadow: 0 0 0 3px rgba(34, 197, 94, .2);
   }

   .badge-dot.offline {
       background: #94a3b8;
   }

   .hover-lift {
       transition: all .3s cubic-bezier(.4, 0, .2, 1);
   }

   .hover-lift:hover {
       transform: translateY(-3px);
   }

   .sidebar-overlay {
       display: none;
       position: fixed;
       inset: 0;
       background: rgba(0, 0, 0, .5);
       z-index: 40;
       backdrop-filter: blur(4px);
   }

   .sidebar-overlay.active {
       display: block;
   }

   @media(max-width:1023px) {
       .sidebar-desktop {
           transform: translateX(-100%);
           position: fixed;
           z-index: 50;
       }

       .sidebar-desktop.open {
           transform: translateX(0);
       }
   }

   .tooltip-trigger {
       position: relative;
   }

   .tooltip-trigger .tooltip-text {
       visibility: hidden;
       opacity: 0;
       position: absolute;
       bottom: calc(100% + 8px);
       left: 50%;
       transform: translateX(-50%);
       background: #1e293b;
       color: #fff;
       padding: 4px 12px;
       border-radius: 8px;
       font-size: 11px;
       white-space: nowrap;
       transition: all .2s;
       z-index: 100;
       pointer-events: none;
   }

   .dark .tooltip-trigger .tooltip-text {
       background: #e2e8f0;
       color: #1e293b;
   }

   .tooltip-trigger:hover .tooltip-text {
       visibility: visible;
       opacity: 1;
   }

   .toast-container {
       position: fixed;
       top: 1rem;
       right: 1rem;
       z-index: 9999;
       display: flex;
       flex-direction: column;
       gap: .5rem;
       pointer-events: none;
   }

   .toast {
       pointer-events: auto;
       animation: slideInRight .3s ease, fadeIn .3s ease;
   }

   .quick-btn {
       transition: all .25s ease;
   }

   .quick-btn:hover {
       transform: scale(1.05);
   }

   .quick-btn:active {
       transform: scale(.97);
   }

   .live-dot {
       width: 8px;
       height: 8px;
       background: #22c55e;
       border-radius: 50%;
       position: relative;
   }

   .live-dot::before {
       content: '';
       position: absolute;
       inset: -3px;
       border: 2px solid #22c55e;
       border-radius: 50%;
       animation: pulse-ring 1.5s ease-out infinite;
   }

   .progress-bar {
       position: relative;
       overflow: hidden;
   }

   .progress-bar::after {
       content: '';
       position: absolute;
       top: 0;
       left: 0;
       right: 0;
       bottom: 0;
       background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .3), transparent);
       animation: shimmer 2s infinite;
   }

   .img-cover {
       object-fit: cover;
       width: 100%;
       height: 100%;
   }

   .line-clamp-2 {
       overflow: hidden;
       display: -webkit-box;
       -webkit-line-clamp: 2;
       -webkit-box-orient: vertical;
   }

   .att-present {
       background: linear-gradient(135deg, rgba(34, 197, 94, .08), rgba(34, 197, 94, .02));
       border: 1px solid rgba(34, 197, 94, .15);
   }

   .att-absent {
       background: linear-gradient(135deg, rgba(239, 68, 68, .08), rgba(239, 68, 68, .02));
       border: 1px solid rgba(239, 68, 68, .15);
   }

   .att-late {
       background: linear-gradient(135deg, rgba(245, 158, 11, .08), rgba(245, 158, 11, .02));
       border: 1px solid rgba(245, 158, 11, .15);
   }

   .att-leave {
       background: linear-gradient(135deg, rgba(59, 130, 246, .08), rgba(59, 130, 246, .02));
       border: 1px solid rgba(59, 130, 246, .15);
   }

   .att-btn {
       transition: all .2s ease;
       cursor: pointer;
       border: 2px solid transparent;
   }

   .att-btn.selected-present {
       border-color: #22c55e;
       background: rgba(34, 197, 94, .1);
   }

   .att-btn.selected-absent {
       border-color: #ef4444;
       background: rgba(239, 68, 68, .1);
   }

   .att-btn.selected-late {
       border-color: #f59e0b;
       background: rgba(245, 158, 11, .1);
   }

   .att-btn.selected-leave {
       border-color: #3b82f6;
       background: rgba(59, 130, 246, .1);
   }

   .heatmap-cell {
       width: 14px;
       height: 14px;
       border-radius: 3px;
       transition: all .15s ease;
       cursor: pointer;
   }

   .heatmap-cell:hover {
       transform: scale(1.4);
       z-index: 10;
       box-shadow: 0 4px 8px rgba(0, 0, 0, .15);
   }