  /* ===========================
  🔄 Skeleton Loader & Placeholders
  =========================== */

  .placeholder,
  .placeholder-shimmer {
  background-color: var(--bs-custom-skeleton-base);
  border-radius: 6px;
  opacity: 1;
  cursor: default;
  }

  @keyframes shimmer {
  0% {
  background-position: -400px 0;
  }
  100% {
  background-position: 400px 0;
  }
  }

  .placeholder-shimmer {
  background: linear-gradient(
  to right,
  var(--bs-custom-skeleton-base) 8%,
  var(--bs-custom-skeleton-highlight) 18%,
  var(--bs-custom-skeleton-base) 33%
  );
  background-size: 800px 104px;
  animation: shimmer 1.5s infinite linear;
  }

  #skeleton-loader,
  #dashboard-content {
  opacity: 0;
  visibility: hidden;
  display: none;
  transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
  }

  #skeleton-loader.show,
  #dashboard-content.show {
  opacity: 1;
  visibility: visible;
  display: block;
  }

  #skeleton-loader:not(.show),
  #dashboard-content:not(.show) {
  pointer-events: none;
  }

  #skeleton-loader {
  cursor: default;
  }

  .dashboard-skeleton .common-bg-wrapper {
  background-color: var(--bs-custom-white-dark);
  }

  .dashboard-skeleton .row {
  margin: 0 !important;
  padding: 0 !important;
  }

  .dashboard-skeleton button.placeholder {
  border: none !important;
  box-shadow: none !important;
}

#dashboard-content .main-content {
  padding-top: 0!important;
}

  /* ===========================
  📊 Analytics Cards
  =========================== */

  .dashboard-analytics__card {
  /* Placeholder if needed */
  }

  .dashboard-analytics__title {
  color: var(--bs-custom-stroke-strong) !important;
  font-size: 1rem;
  font-weight: 700;
  }

  .dashboard-analytics__value {
  color: var(--bs-custom-text-weak) !important;
  font-weight: bold;
  }

  .dashboard-analytics__icon-box {
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  font-size: 1.1rem;
  color: var(--bs-custom-white-dark) !important;
  }

  .highlighted-card {
  border: 0.1px solid var(--bs-custom-green);
  box-shadow: 0 0 6px var(--bs-custom-green-light, rgba(0, 128, 0, 0.2));
  }

  /* ===========================
  📈 Dashboard Charts
  =========================== */

  .dashboard-chart__canvas .dashboard-pie-chart {
  background-color: var(--bs-custom-bg-white-dark) !important;
  width: 100%;
  height: 280px;
  max-width: 100%;
  max-height: 100%;
  display: block;
  }

  .chart-container {
  height: 60vh;
  max-height: 320px;
  }

  .chart-table-row {
  align-items: stretch; /* Makes columns equal height */
  }

  /* ===========================
  📋 Tables & Recent Videos
  =========================== */

 /* table.dashboard-table__campaigns td {
    padding: 1rem!important;
    } */

  .dashboard-table--videos {
  /* The direct flex parent of the scroll container */
  display: flex;
  flex-direction: column;
  height: 500px; /* Or whatever max height you want for the whole box */
  /* If you want it fluid, use max-height instead */
  max-height: 500px;
  }

  .dashboard-table--videos-scroll {
  max-height: 550px;
  overflow-y: auto;
  }

  .dashboard-table--videos-scroll.overflow-auto {
    overflow-y: auto;
}

  .dashboard-table.common-bg-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  }

  .dashboard-table__recent-videos {
  margin-bottom: 0 !important;
  border-collapse: separate;
  border-spacing: 0 0.5rem;
  border-radius: 0.5rem;
  overflow: hidden;
  width: 100%;
  }

  .dashboard-table__recent-videos thead th {
  background-color: var(--bs-custom-bg-header, #e9ecef);
  font-weight: 600;
  color: var(--bs-custom-stroke-strong);
  border-bottom: none;
  }

  .dashboard-table__recent-videos th,
  .dashboard-table__recent-videos td {
  border: none !important;
  vertical-align: middle;
  padding: 0.5rem 0.75rem;
  }

  .dashboard-table__recent-videos tbody tr:hover {
  background-color: var(--bs-custom-bg-hover, #f5f5f5);
  cursor: pointer;
  }

  .dashboard-table--videos-scroll {
   max-height: none;
  overflow-y: auto;
  width: 100%;
  scrollbar-width: thin;
  scrollbar-color: var(--bs-custom-bg-hover, #f5f5f5) transparent;
  }

  .dashboard-table--videos-scroll::-webkit-scrollbar {
  width: 8px;
  }

  .dashboard-table--videos-scroll::-webkit-scrollbar-thumb {
  background-color: var(--bs-custom-bg-hover, #f5f5f5);
  border-radius: 4px;
  }

  .dashboard-table--videos-scroll::-webkit-scrollbar-track {
  background: transparent;
  }

  .dashboard-table--videos .dashboard-table__title {
  margin-bottom: 0.75rem;
  }

  /* ===========================
  🎨 Layout & Wrappers
  =========================== */

  .dashboard .common-bg-wrapper {
  padding: 1rem !important;
  }

  #dashboard-content .common-bg-wrapper {
  background-color: var(--bs-custom-bg-white-fill) !important;
  }

  .section-heading {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 1rem 0 0.5rem 0;
  color: var(--bs-custom-text-strong);
  }

  .dashboard-chart__title {
   font-size: 1rem;  /* smaller than desktop */
        
}

 /* ==========================================================================
    Spinner & Loader Dashboard
    ========================================================================== */
  .ajax-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: var(--bs-custom-white-dark);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  user-select: none;
}

.spinner {
  width: 50px;
  height: 50px;
  border: 6px solid #f3f3f3;
  border-top: 6px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 15px;
}

.loading-text {
  font-size: 16px;
  color: #555;
  font-family: Arial, sans-serif;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
