.chart-container {
  height: 100%;
  display: flex;
  flex-direction: column;
  
  .chart-header {
    margin-bottom: 20px;
    
    h3 {
      font-size: 18px;
      font-weight: 600;
      color: #0a192f;
      margin: 0;
    }
  }
  
  .chart-wrapper {
    flex: 1;
    position: relative;
    
    .chart-content {
      position: relative;
      height: 100%;
      
      &.loading {
        opacity: 0.7;
        
        canvas {
          filter: blur(2px);
        }
      }
      
      canvas {
        max-width: 100%;
        max-height: 100%;
        transition: filter 0.3s ease;
      }
      
      .loading-overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(255, 255, 255, 0.8);
        
        .shimmer-donut {
          width: 120px;
          height: 120px;
          border-radius: 50%;
          background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
          background-size: 200% 100%;
          animation: shimmer 1.5s infinite;
        }
      }
    }
  }
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}