  * {
      margin: 0;
      padding: 0;
      box-sizing: border-box
  }

  html {
      overflow-x: hidden
  }

  body {
      font-family: 'Plus Jakarta Sans', sans-serif;
      overflow-x: hidden
  }

  ::-webkit-scrollbar {
      width: 6px
  }

  ::-webkit-scrollbar-track {
      background: transparent
  }

  ::-webkit-scrollbar-thumb {
      background: rgba(148, 163, 184, 0.3);
      border-radius: 3px
  }

  .dark ::-webkit-scrollbar-thumb {
      background: rgba(71, 85, 105, 0.5)
  }

  .sidebar-nav {
      overflow-y: auto;
      overflow-x: hidden;
      scrollbar-width: none;
      -ms-overflow-style: none
  }

  .sidebar-nav::-webkit-scrollbar {
      width: 0;
      display: none
  }

  .card-premium {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1)
  }

  .card-premium:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1)
  }

  .dark .card-premium:hover {
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4)
  }

  .status-online {
      animation: statusPulse 2s ease-in-out infinite
  }

  @keyframes statusPulse {

      0%,
      100% {
          box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4)
      }

      50% {
          box-shadow: 0 0 0 8px rgba(16, 185, 129, 0)
      }
  }

  .menu-active {
      background: linear-gradient(135deg, rgba(16, 185, 129, 0.15), rgba(14, 165, 233, 0.1));
      border-right: 3px solid #10b981;
      color: #059669
  }

  .dark .menu-active {
      background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(14, 165, 233, 0.15));
      color: #34d399
  }

  .badge-pulse {
      animation: badgePulse 2s ease-in-out infinite
  }

  @keyframes badgePulse {

      0%,
      100% {
          transform: scale(1)
      }

      50% {
          transform: scale(1.15)
      }
  }

  .progress-animated {
      transition: width 1.5s ease-in-out
  }

  .table-responsive {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch
  }

  .table-responsive::-webkit-scrollbar {
      height: 4px
  }

  .sidebar-overlay {
      background: rgba(0, 0, 0, 0.5);
      backdrop-filter: blur(4px)
  }

  .toast-container {
      position: fixed;
      top: 1rem;
      right: 1rem;
      z-index: 99999;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      pointer-events: none
  }

  .toast-container>* {
      pointer-events: auto
  }

  .dropdown-panel {
      position: absolute;
      right: 0;
      margin-top: 0.5rem
  }

  @media (max-width: 640px) {
      .dropdown-panel {
          position: fixed !important;
          top: 4.25rem !important;
          left: 0.5rem !important;
          right: 0.5rem !important;
          margin-top: 0 !important;
          width: auto !important;
          max-width: none !important;
          max-height: calc(100vh - 5rem) !important;
          overflow-y: auto !important;
      }
  }

  @media (max-width: 480px) {
      .toast-container {
          top: 0.5rem !important;
          right: 0.5rem !important;
          left: 0.5rem !important;
      }

      .toast-container>* {
          min-width: 0 !important;
          max-width: 100% !important;
          width: 100%;
      }
  }

  .tab-btn.active {
      background: white;
      color: #059669;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  }

  .dark .tab-btn.active {
      background: #334155;
      color: #34d399;
  }

  /* Fleet Map */
  .fleet-map-bg {
      background-image: linear-gradient(rgba(16, 185, 129, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(16, 185, 129, 0.05) 1px, transparent 1px);
      background-size: 40px 40px;
      background-color: #f0fdf4;
      position: relative;
  }

  .dark .fleet-map-bg {
      background-image: linear-gradient(rgba(16, 185, 129, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(16, 185, 129, 0.08) 1px, transparent 1px);
      background-color: #0a1f14;
  }

  .map-vehicle {
      position: absolute;
      transform: translate(-50%, -50%);
      cursor: pointer;
      transition: all 0.3s;
      z-index: 5;
  }

  .map-vehicle:hover {
      transform: translate(-50%, -50%) scale(1.15);
      z-index: 10;
  }

  .map-vehicle::after {
      content: '';
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 6px solid transparent;
      border-right: 6px solid transparent;
      border-top: 8px solid inherit;
  }

  /* Vehicle brand colors */
  .veh-tesla {
      background: linear-gradient(135deg, #ef4444, #dc2626);
  }

  .veh-bmw {
      background: linear-gradient(135deg, #3b82f6, #1e40af);
  }

  .veh-ford {
      background: linear-gradient(135deg, #64748b, #334155);
  }

  .veh-rivian {
      background: linear-gradient(135deg, #06b6d4, #0891b2);
  }

  .veh-mercedes {
      background: linear-gradient(135deg, #f59e0b, #d97706);
  }

  .filter-pill.active {
      background: linear-gradient(135deg, #10b981, #059669);
      color: white;
      border-color: transparent;
  }

  /* Schedule Timeline */
  .schedule-hour {
      height: 60px;
      border-bottom: 1px solid #e5e7eb;
      position: relative;
  }

  .dark .schedule-hour {
      border-bottom-color: #334155;
  }

  .schedule-event {
      position: absolute;
      left: 60px;
      right: 8px;
      border-radius: 8px;
      padding: 6px 10px;
      font-size: 11px;
      overflow: hidden;
      cursor: pointer;
      transition: all 0.2s;
  }

  .schedule-event:hover {
      transform: translateX(2px);
  }