.report-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 280px;
  padding: 34px 22px;
  border: 1px solid rgba(39, 45, 42, 0.12);
  border-radius: 8px;
  background: #fffdf8;
  box-shadow: 0 10px 30px rgba(50, 40, 25, 0.08);
  text-align: center;
}

.report-loading[hidden] {
  display: none;
}

.report-loading p {
  margin: 0;
  color: #252a28;
  font-size: 18px;
  font-weight: 650;
  letter-spacing: 0;
}

.report-loading small {
  color: #7a746c;
  font-size: 13px;
}

.weekly-loader {
  --cell-size: 42px;
  --cell-spacing: 1px;
  --cells: 3;
  --total-size: calc(var(--cells) * (var(--cell-size) + 2 * var(--cell-spacing)));
  display: flex;
  flex-wrap: wrap;
  width: var(--total-size);
  height: var(--total-size);
}

.weekly-loader .cell {
  flex: 0 0 var(--cell-size);
  margin: var(--cell-spacing);
  background-color: transparent;
  box-sizing: border-box;
  border-radius: 4px;
  animation: 1.5s ripple ease infinite;
}

.weekly-loader .cell.d-0 {
  animation-delay: 0ms;
}

.weekly-loader .cell.d-1 {
  animation-delay: 100ms;
}

.weekly-loader .cell.d-2 {
  animation-delay: 200ms;
}

.weekly-loader .cell.d-3 {
  animation-delay: 300ms;
}

.weekly-loader .cell.d-4 {
  animation-delay: 400ms;
}

.weekly-loader .cell:nth-child(1) {
  --cell-color: #00ff87;
}

.weekly-loader .cell:nth-child(2) {
  --cell-color: #0cfd95;
}

.weekly-loader .cell:nth-child(3) {
  --cell-color: #17fba2;
}

.weekly-loader .cell:nth-child(4) {
  --cell-color: #23f9b2;
}

.weekly-loader .cell:nth-child(5) {
  --cell-color: #30f7c3;
}

.weekly-loader .cell:nth-child(6) {
  --cell-color: #3df5d4;
}

.weekly-loader .cell:nth-child(7) {
  --cell-color: #45f4de;
}

.weekly-loader .cell:nth-child(8) {
  --cell-color: #53f1f0;
}

.weekly-loader .cell:nth-child(9) {
  --cell-color: #60efff;
}

@keyframes ripple {
  0% {
    background-color: transparent;
  }

  30% {
    background-color: var(--cell-color);
  }

  60% {
    background-color: transparent;
  }

  100% {
    background-color: transparent;
  }
}

.daily-loader {
  position: relative;
  width: 2.5em;
  height: 2.5em;
  transform: rotate(165deg);
}

.daily-loader::before,
.daily-loader::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-radius: 0.25em;
  transform: translate(-50%, -50%);
}

.daily-loader::before {
  animation: before8 2s infinite;
}

.daily-loader::after {
  animation: after6 2s infinite;
}

@keyframes before8 {
  0% {
    width: 0.5em;
    box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);
  }

  35% {
    width: 2.5em;
    box-shadow: 0 -0.5em rgba(225, 20, 98, 0.75), 0 0.5em rgba(111, 202, 220, 0.75);
  }

  70% {
    width: 0.5em;
    box-shadow: -1em -0.5em rgba(225, 20, 98, 0.75), 1em 0.5em rgba(111, 202, 220, 0.75);
  }

  100% {
    box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);
  }
}

@keyframes after6 {
  0% {
    height: 0.5em;
    box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);
  }

  35% {
    height: 2.5em;
    box-shadow: 0.5em 0 rgba(61, 184, 143, 0.75), -0.5em 0 rgba(233, 169, 32, 0.75);
  }

  70% {
    height: 0.5em;
    box-shadow: 0.5em -1em rgba(61, 184, 143, 0.75), -0.5em 1em rgba(233, 169, 32, 0.75);
  }

  100% {
    box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);
  }
}
