/* Spinner animation */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Select focus state */
#period-select:focus,
#year-select:focus {
  outline: none !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1) !important;
}

/* Button hover effect */
button:hover {
  opacity: 0.85 !important;
}

/* Chart container responsive */
.chart-container canvas,
.table-container canvas {
  max-height: 100% !important;
}

/* Table container styling */
.table-container {
  min-height: 600px;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--sec-text);
}

::-webkit-scrollbar-thumb {
  background: var(--button-bg);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--highlight-text);
}

/* Responsive design */
@media (max-width: 768px) {
  .chart-container,
  .table-container {
    height: 400px !important;
    padding: 15px !important;
  }

  h1 {
    font-size: 28px !important;
    margin-bottom: 30px !important;
  }

  .card-header {
    flex-direction: column !important;
    text-align: center !important;
    padding: 20px !important;
  }

  .card-header h3 {
    font-size: 20px !important;
  }

  .card-body {
    padding: 20px !important;
  }

  .period-selector {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  h1 {
    font-size: 24px !important;
  }

  .chart-container,
  .table-container {
    height: 350px !important;
    padding: 10px !important;
  }

  .statistik-container {
    padding: 15px 20px !important;
  }
}
