body {
    font-family: sans-serif;
    background-color: #f0f2f5;
    margin: 0;
}
header {
    background-color: #333;
    color: white;
    padding: 1rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
header h1 { margin: 0; }
header a { color: white; }
main {
    max-width: 1000px;
    margin: 2rem auto;
    padding: 2rem;
    background-color: white;
    border-radius: 8px;
}
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1.5rem;
}
th, td {
    padding: 0.8rem;
    text-align: left;
    border-bottom: 1px solid #ddd;
}
th { background-color: #f7f7f7; }
.delete-btn {
    background-color: #e53935;
    color: white;
    border: none;
    padding: 0.5rem 0.8rem;
    border-radius: 5px;
    cursor: pointer;
}
.delete-btn:hover { background-color: #c62828; }

/* Gaya untuk form tambah pengguna */
.add-user-form {
    background-color: #f7f7f7;
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 2rem;
}
.add-user-form h3 {
    margin-top: 0;
}
.add-user-form form {
    display: flex;
    gap: 1rem;
    align-items: center;
}
.add-user-form input, .add-user-form select {
    padding: 0.6rem;
    border: 1px solid #ddd;
    border-radius: 5px;
}
.add-user-form button {
    background-color: #28a745;
    color: white;
    padding: 0.6rem 1rem;
    border: none;
    cursor: pointer;
    border-radius: 5px;
}
.add-user-form button:hover {
    background-color: #218838;
}

/* Tombol Aksi di Tabel */
.action-buttons button {
    margin-right: 0.5rem;
}
.edit-btn {
    background-color: #007bff;
    color: white;
    border: none;
    padding: 0.5rem 0.8rem;
    border-radius: 5px;
    cursor: pointer;
}
.edit-btn:hover {
    background-color: #0069d9;
}

/* Pesan sukses/error */
.message {
    margin-top: 1rem;
    font-weight: bold;
}
.success { color: #28a745; }
.error { color: #e53935; }

/* ========================================= */
/* GAYA RESPONSIVE (MOBILE)            */
/* ========================================= */

@media screen and (max-width: 768px) {

    /* Buat layout utama lebih ramah mobile */
    main {
        margin: 1rem;
        padding: 1rem;
    }

    /* --- Form Tambah Pengguna --- */
    .add-user-form form {
        flex-direction: column; /* Ubah form menjadi tumpukan vertikal */
        align-items: stretch; /* Buat semua input selebar kontainer */
    }

    /* --- Trik untuk Tabel Responsive --- */
    
    /* 1. Sembunyikan header tabel asli */
    table thead {
        display: none;
    }

    /* 2. Ubah baris menjadi seperti kartu */
    table tr {
        display: block;
        margin-bottom: 1rem;
        border: 1px solid #ddd;
        border-radius: 5px;
    }

    /* 3. Ubah sel menjadi baris di dalam kartu */
    table td {
        display: block;
        text-align: right; /* Pindahkan data ke kanan */
        padding-left: 50%; /* Beri ruang di kiri untuk label */
        position: relative;
        border-bottom: 1px solid #eee;
    }
    
    table td:last-child {
        border-bottom: none; /* Hapus garis bawah di sel terakhir */
    }

    /* 4. Tambahkan kembali label menggunakan pseudo-element */
    table td::before {
        content: attr(data-label); /* Ambil teks label dari atribut */
        position: absolute;
        left: 0.8rem;
        width: 45%;
        padding-right: 0.8rem;
        text-align: left;
        font-weight: bold;
    }
    
    .action-buttons {
        text-align: right; /* Kembalikan text-align ke kanan */
        padding-top: 1rem; /* Beri sedikit ruang di atas tombol */
        
        /* -- Properti Flexbox untuk merapikan tombol -- */
        display: flex;
        flex-wrap: wrap; /* Izinkan tombol turun ke baris baru jika tidak muat */
        justify-content: flex-end; /* Dorong tombol ke kanan */
        gap: 0.5rem; /* Beri jarak otomatis antar tombol */
    }

    .action-buttons button {
        flex-grow: 1; /* Biarkan tombol membesar jika ada ruang */
        margin: 0; /* Hapus margin yang mungkin ada sebelumnya */
    }

    /* Opsi: Buat tombol hapus lebih menonjol */
    .action-buttons .delete-btn {
        flex-grow: 2; /* Buat tombol hapus sedikit lebih lebar */
    }

    /* Gaya untuk Kotak Pencarian */
    .search-container {
        margin-bottom: 1.5rem;
    }

    #user-search-input {
        width: 100%;
        padding: 0.75rem;
        border: 1px solid #ddd;
        border-radius: 6px;
        box-sizing: border-box;
        font-size: 1rem;
    }
}


/* ========================================= */
/* GAYA KHUSUS UNTUK TAMPILAN DESKTOP  */
/* ========================================= */

@media screen and (min-width: 769px) {

    /* Atur agar form tambah pengguna dan kotak pencarian berdampingan */
    .add-user-form {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-color: transparent; /* Hapus latar belakang di desktop */
        padding: 0;
        margin-bottom: 1.5rem;
    }

    .add-user-form h3 {
        margin: 0; /* Hapus margin dari judul */
    }

    /* Batasi lebar kotak pencarian di desktop */
    .search-container {
        width: 40%; /* Atur lebar kontainer pencarian */
        max-width: 350px;
        margin-bottom: 0;
    }
    
}

/* admin.css - Media Query Desktop FINAL */

@media screen and (min-width: 769px) {
    /* Atur header tabel (judul + pencarian) */
    .table-header {
        display: flex;
        justify-content: space-between; /* Judul di kiri, search di kanan */
        align-items: center;
        margin-bottom: 1.5rem;
    }

    .table-header h2 {
        margin: 0;
    }

    /* Atur lebar kotak pencarian */
    .search-container {
        width: 40%;
        max-width: 350px;
        margin-bottom: 0; /* Hapus margin bawah karena sudah diatur di .table-header */
    }
}

.upload-form {
    background-color: #f7f7f7;
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 2rem;
}
.upload-form h3 {
    margin-top: 0;
}
.upload-form form {
    display: flex;
    gap: 1rem;
    align-items: center;
}
.upload-form input[type="file"] {
    flex-grow: 1;
}
.upload-form button {
    background-color: #007bff;
    color: white;
    padding: 0.6rem 1rem;
    border: none;
    cursor: pointer;
    border-radius: 5px;
}
.upload-form button:hover {
    background-color: #0069d9;
}