.material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}

/* #region Skeleton loading animation */
.skeleton-chart-box {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  height: 450px;
  border-radius: 14px;
  padding: 12px;
  margin: 8px;
  border: 1px solid #e0e0e0;
  position: relative;
}

.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite linear;
  border-radius: 4px;
}

.skeleton-header {
  width: 80%;
  height: 50px;
  border-radius: 8px;
}

.skeleton-filter {
  width: 100%;
  height: 50px;
}

.skeleton-chartview {
  width: 100%;
  height: 334px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #868686;
}

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

  100% {
      background-position: 200% 0;
  }
}
/* #endregion Skeleton loading animation */

/* #region Chart Display card */
.chart-display-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  min-height: 50px;
  height: 450px;
  overflow-y: hidden;
  border-radius: 14px;
  border: 1px solid #e0e0e0;
  position: relative;
  padding: 1rem;
}
/* #endregion Chart Display card */

/* #region Chart Header */
.chart-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
  margin-bottom: 0.15rem;
}

.chart-title {
  margin-bottom: 0px;
  font-size: 1.5em;
  font-weight: bold;
}
/* #endregion Chart Header */

/* #region Description */
.chart-description-modal {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px); /* Untuk Safari */
  box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.1);
  z-index: 3;
  margin: 1rem;
  padding: 1rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  max-height: 80vh; /* Biar nggak kepanjangan kalau deskripsi panjang */
}

/* Kalau mau animasi fade-in biar lebih smooth */
@keyframes fadeIn {
  from {
      opacity: 0;
      transform: translateY(-10px);
  }
  to {
      opacity: 1;
      transform: translateY(0);
  }
}

.chart-description-modal {
  animation: fadeIn 0.3s ease-out;
}

.desccription-modal-header {
  width: 100%;
  /* height: 40px; */
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
}
/* #endregion Description */

/* #region Filter */
.filter-inspect-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  border-radius: 5px;
  background-color: rgb(238, 238, 238);
  border: grey;
  border: none !important;
  color: black;
  width: 100%;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.filter-inspect-button:hover {
background-color: rgb(226, 226, 226);
}

.chart-filter-overlay {
  z-index: 2;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.08);
  position: absolute;
  top: 1rem;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  border-radius: 1rem;
  padding: 1rem;
  overflow-y: auto;
}

.filter-overlay-header {
  position: sticky;
  top: -1rem;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
}

.filter-overlay-header-title {
  display: flex;
  justify-content: space-between;
}

.filter-overlay-title {
  font-size: 1.45em;
  font-weight: 700;
  margin-bottom: 0;
}

.filter-overlay-footer {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: white;
  box-shadow: 1px 2px 6px rgba(0, 0, 0, 0.075);
  border: 1px solid rgb(179, 179, 179);
  padding: 0.5rem;
  border-radius: 8px;
  display: flex;
  justify-content: end;
  gap: 8px;
}

.filter-apply-reset-btn {
  display: inline-block;
  padding: 10px 20px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

.btn-apply {
  background-color: #2f77b2;
  color: #fff;
}

.btn-apply:hover {
  background-color: #255d8a;
}

.btn-reset {
  border: 1.5px solid #ff6a06;
  background: white;
  color: #ff6a06;
}

.btn-reset:hover {
  border: 1.5px solid #ff6a06;
  background: #f7dfcf;
  color: #ff6a06;
}
/* #endregion Filter */

.close-overlay-button {
  width: 28px;
  height: 28px;
  background-color: transparent;
  border: none;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.chart-fallback-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
}

.chart-error-message {
  font-size: 1.1rem;
  font-weight: 600;
  color: #d32f2f;
  text-align: center;
  display: flex;
  align-items: center;
  gap: 4px;
}

/* #region Tabs2 (Tab Baru) */

.full-width-tabs .rz-tabview-nav {
  border-bottom: 0 !important;
  display: flex !important;
  width: 100%;
  overflow: hidden;
  padding: var(--rz-tabs-padding);
}

.full-width-tabs .rz-tabview-nav li {
  flex: 1 1 0 !important;
  background-color: #ececec !important;
  border-right: 1px solid #c2c2c2;
  margin: 0;
  transition: all 0.2s ease-in-out;
}

.full-width-tabs .rz-tabview-nav li:last-child {
  border-right: none;
}

/* tab active */
.full-width-tabs .rz-tabview-nav li.rz-tabview-selected {
  background-color: #a366ff !important;
}

.full-width-tabs .rz-tabview-nav li.rz-tabview-selected a {
  color: #fff !important;
}

/* untuk text */
.full-width-tabs .rz-tabview-nav li a {
  width: 100% !important;
  height: 100% !important;
  color: #333 !important;
  font-weight: 600;
  text-transform: capitalize;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 0.75rem 0;
  white-space: nowrap;
  transition: all 0.2s ease-in-out;
}

/* hover */
.full-width-tabs .rz-tabview-nav li:hover {
  background-color: #dcdcdc !important;
}

.full-width-tabs .rz-tabview.rz-tabview-top > .rz-tabview-panels {
  border-top: none !important;
}

/* Responsive behaviour */
@media (max-width: 768px) {
  .full-width-tabs .rz-tabview-nav {
    flex-direction: column;
  }

  .full-width-tabs .rz-tabview-nav li {
    border-right: none;
    border-bottom: 1px solid #c2c2c2;
  }

  .full-width-tabs .rz-tabview-nav li:last-child {
    border-bottom: none;
  }

  .full-width-tabs .rz-tabview-nav li a {
    font-size: 0.9rem;
    padding: 0.5rem 0;
  }
}

/* #endregion */
