body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background-color: #f4f7f9;
    color: #333;
    margin: 0;
    padding: 20px;
}
h1, h2 {
    text-align: center;
    color: #2c3e50;
}
.dashboard-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(30%, 1fr));
    gap: 20px;
}
.chart-container-double {
    grid-column: span 2;
}
.chart-container {
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.chart-container canvas {
    max-width: 100%;
    max-height: 450px; /* Set a consistent max height for all charts */
}

.pie-chart-container canvas {
    max-height: 300px; /* Keep this for consistency, though it's now covered by the general rule */
}

.report-container {
    grid-column: span 3; /* Make the report span the full width */
    text-align: left;
    align-items: flex-start;
}

.report-container h2 {
    width: 100%;
    text-align: center;
}

.report-section {
    margin-bottom: 20px;
}

.report-section h3 {
    color: #2c3e50;
    margin-bottom: 10px;
}

.report-section p {
    line-height: 1.6;
    text-align: justify;
}

.report-section ul {
    text-align: left;
    padding-left: 20px;
}

.report-section li {
    margin-bottom: 10px;
    line-height: 1.5;
}
tr:nth-child(even) {
    background-color: #f9f9f9;
}
.controls {
    text-align: center;
    margin-bottom: 20px;
}
select {
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #ccc;
}
