/* Background dan font */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; /* */
    background-color: #f0f9f0; /* */
    color: #333; /* */
    line-height: 1.6; /* */
    margin: 0; /* Menghilangkan margin default body */
    padding: 0; /* Menghilangkan padding default body */
}

.container {
    max-width: 1200px; /* */
    margin: 20px auto; /* */
    padding: 15px; /* Mengurangi padding untuk mobile */ /* */
    background-color: white; /* */
    border-radius: 10px; /* */
    box-shadow: 0 0 20px rgba(0, 100, 0, 0.1); /* */
}

/* Header buttons */
.header-buttons {
    display: flex; /* */
    gap: 10px; /* Mengurangi gap sedikit */ /* */
    margin-bottom: 20px; /* */
    flex-wrap: wrap; /* */
}

/* Tombol styling */
.btn {
    padding: 10px 15px; /* Menyesuaikan padding tombol */ /* */
    border: none; /* */
    border-radius: 8px; /* */
    cursor: pointer; /* */
    text-decoration: none; /* */
    display: inline-flex; /* */
    align-items: center; /* */
    gap: 8px; /* */
    font-weight: 600; /* */
    transition: all 0.3s ease; /* */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* */
    font-size: 0.9em; /* Menyesuaikan ukuran font tombol */
}

.btn-primary {
    background-color: #2e7d32; /* */
    color: white; /* */
}

.btn-primary:hover {
    background-color: #1b5e20; /* */
    transform: translateY(-2px); /* */
    box-shadow: 0 4px 8px rgba(0,0,0,0.15); /* */
}

.btn-website {
    background-color: #1565c0; /* */
    color: white; /* */
}

.btn-website:hover {
    background-color: #0d47a1; /* */
    transform: translateY(-2px); /* */
    box-shadow: 0 4px 8px rgba(0,0,0,0.15); /* */
}

/* Tombol filter dan reset dihilangkan, jadi stylingnya bisa dihapus atau dikomentari */
/*
.btn-filter {
    background-color: #0288d1;
    color: white;
}

.btn-filter:hover {
    background-color: #01579b;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.btn-reset {
    background-color: #d32f2f;
    color: white;
}

.btn-reset:hover {
    background-color: #b71c1c;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
*/

/* Form elements styling */
#fileSelectorContainer, #chartSelectorContainer {
    margin-bottom: 20px; /* */
    text-align: left; /* Mengubah text-align agar lebih rapi di mobile */ /* */
    background-color: #e8f5e9; /* */
    padding: 15px; /* */
    border-radius: 8px; /* */
}

#fileSelectorContainer label, #chartSelectorContainer label {
    display: block; /* Membuat label menjadi block agar selector di bawahnya */
    margin-bottom: 8px; /* Memberi jarak antara label dan select */
    font-weight: bold;
}


#fileSelector, #chartTypeSelector {
    padding: 10px 15px; /* */
    border-radius: 8px; /* */
    border: 2px solid #a5d6a7; /* */
    width: 100%; /* Membuat selector memenuhi lebar kontainer */ /* */
    box-sizing: border-box; /* Agar padding tidak menambah lebar total */
    font-size: 1em; /* Menyesuaikan ukuran font selector */ /* */
    background-color: white; /* */
    transition: all 0.3s; /* */
}


#fileSelector:focus, #chartTypeSelector:focus {
    border-color: #2e7d32; /* */
    outline: none; /* */
    box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.2); /* */
}

/* Filter container dihilangkan */
/*
.filter-container {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #e8f5e9;
    padding: 15px;
    border-radius: 8px;
}

input[type="date"] {
    padding: 10px 15px;
    border-radius: 8px;
    border: 2px solid #a5d6a7;
    font-size: 16px;
    transition: all 0.3s;
}

input[type="date"]:focus {
    border-color: #2e7d32;
    outline: none;
    box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.2);
}
*/

/* Chart styling */
.chart-container {
    width: 100%; /* */
    margin-bottom: 30px; /* */
    text-align: center; /* */
    position: relative; /* */
    min-height: 300px; /* Mengurangi min-height awal untuk mobile */ /* */
    /* Dinamiskan tinggi berdasarkan konten, terutama untuk bar horizontal */
    /* height: auto;  Mungkin diperlukan untuk chart horizontal yang panjang */
    background-color: white; /* */
    padding: 15px; /* Menyesuaikan padding */ /* */
    border-radius: 8px; /* */
    box-shadow: 0 2px 10px rgba(0,0,0,0.05); /* */
    border: 1px solid #e0e0e0; /* */
}

.chart-title {
    font-weight: bold; /* */
    margin-bottom: 15px; /* */
    font-size: 1.1em; /* Menyesuaikan ukuran font judul chart */ /* */
    color: #2e7d32; /* */
    display: flex; /* */
    align-items: center; /* */
    justify-content: center; /* */
    gap: 10px; /* */
}

.bar-chart, .pie-chart {
    width: 100% !important; /* */
    /* Tinggi diatur oleh Chart.js atau min-height kontainer, untuk bar chart horizontal, tinggi bisa jadi besar */
    /* height: auto !important;  Atur jika ingin tinggi menyesuaikan konten, bisa dikombinasikan dengan max-height jika perlu */
    max-height: 500px; /* Batasi tinggi maksimum chart agar tidak terlalu panjang di mobile */
    margin: 0 auto; /* */
}

/* Khusus untuk guruChart dan kelasChart (horizontal bar) */
#guruChartContainer, #kelasChartContainer {
    /* Jika banyak item, chart bisa jadi sangat tinggi. Pertimbangkan overflow jika diperlukan */
    /* overflow-x: auto; */ /* Untuk scroll horizontal jika chart terlalu lebar (tidak umum untuk bar horizontal) */
}

#guruChart, #kelasChart {
    /* Untuk bar chart horizontal, Chart.js akan menyesuaikan tinggi berdasarkan jumlah bar. */
    /* Kita bisa mengontrolnya lebih lanjut dengan tinggi kontainer atau opsi chart. */
    /* Contoh, kita bisa set min-height di sini jika diperlukan agar tidak terlalu pendek */
    min-height: 300px; 
}


.hidden {
    display: none; /* */
}

/* Placeholder styling tidak relevan lagi karena input tanggal dihilangkan */
/*
input[type="date"]::before {
    color: #999;
    content: attr(placeholder);
    margin-right: 0.5em;
}

input[type="date"]:focus::before,
input[type="date"]:valid::before {
    content: "";
}
*/

/* Responsive design */
@media (max-width: 768px) {
    .container {
        margin: 10px auto; /* */
        padding: 10px; /* */
    }

    .header-buttons {
        flex-direction: column; /* */
        align-items: stretch; /* Membuat tombol memenuhi lebar */
    }
    
    .btn {
        justify-content: center; /* */
        width: 100%; /* Membuat tombol memenuhi lebar */
        box-sizing: border-box; /* Agar padding tidak menambah lebar total */
        margin-bottom: 8px; /* Jarak antar tombol yang bersusun */
    }
    .header-buttons .btn:last-child {
        margin-bottom: 0; /* Hapus margin bawah untuk tombol terakhir */
    }

    /* Selector sudah diatur width 100% di atas */
    
    .chart-title {
        font-size: 1em; /* */
    }

    .bar-chart, .pie-chart {
        /* Mungkin perlu penyesuaian tinggi lebih lanjut di mobile */
        /* max-height: 350px; */ /* Contoh */
    }
}

/* Responsive design untuk layar sangat kecil */
@media (max-width: 480px) {
    body {
        font-size: 14px; /* Mengurangi ukuran font dasar */
    }
    .btn {
        font-size: 0.85em; /* */
        padding: 8px 12px; /* */
    }
    #fileSelectorContainer label, #chartSelectorContainer label {
        font-size: 0.95em;
    }
    #fileSelector, #chartTypeSelector {
        font-size: 0.9em; /* */
    }
    .chart-title {
        font-size: 0.95em; /* */
    }
}


/* Icon styling */
.fas {
    font-size: 1em; /* Menyesuaikan agar konsisten dengan font sekitarnya */ /* */
}