/* Import font Plus Jakarta Sans dari Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

:root {
    /* Palet Warna Modern-Minimalis */
    --primary-dark-blue: #1d6b97; /* Warna latar belakang utama */
    --primary-blue: #204e87;       /* Biru terang untuk tombol/aksen */
    --secondary-blue: #476072;     /* Biru muda untuk hover */
    --gray-light: #F1F5F9;         /* Abu-abu sangat terang */
    --gray-medium: #E2E8F0;       /* Abu-abu untuk garis/batas R*/
    --gray-dark: #64748B;         /* Abu-abu gelap untuk teks sekunder */
    --white: #ffffff;             /* Putih untuk teks utama dan card */
	
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: var(--primary-dark-blue);
    color: var(--white); /* Teks utama menjadi putih */
    line-height: 1.6;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.card {
    background-color: var(--white);
    color: var(--primary-dark-blue); /* Teks di dalam card menjadi biru gelap */
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin-bottom: 24px;
}

.header {
    background-color: var(--primary-blue);
    color: var(--white);
    padding: 20px;
    border-radius: 12px;
    margin-bottom: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header h1 {
    font-weight: 700;
}

/* Navigasi */
.nav-bar {
    background-color: var(--white);
    padding: 10px 20px;
    border-radius: 12px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    margin-bottom: 24px;
}

.nav-bar ul {
    list-style: none;
    display: flex;
    gap: 20px;
}

.nav-bar ul li a {
    text-decoration: none;
    color: var(--primary-dark-blue);
    font-weight: 600;
    transition: color 0.3s ease;
}

.nav-bar ul li a:hover {
	background-color: var(--gray-dark);
    color: var(--white);
	font-weight: 700; /* Membuat font lebih tebal */
    padding: 12px 20px; /* Padding yang lebih besar untuk efek balok */
    border-radius: 12px; /* Sudut yang lebih membulat */
}

/* Style untuk menu yang aktif (balok biru dan rounded) */
.nav-bar ul li a.active {
    background-color: var(--primary-blue); /* Mengembalikan warna latar belakang biru */
    color: var(--white); /* Mengubah warna teks menjadi putih */
    font-weight: 700; /* Membuat font lebih tebal */
    padding: 12px 20px; /* Padding yang lebih besar untuk efek balok */
    border-radius: 12px; /* Sudut yang lebih membulat */
}


/* Form Styling */
.form-group {
    margin-bottom: 16px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
}

.form-group input[type="text"],
.form-group input[type="password"],
.form-group input[type="date"],
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--gray-medium);
    border-radius: 8px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
}

.btn {
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn-primary {
    background-color: var(--primary-blue);
    color: var(--white);
}

.btn-primary:hover {
    background-color: var(--secondary-blue);
}

.btn-secondary {
    background-color: var(--gray-medium);
    color: var(--primary-dark-blue);
}

.btn-secondary:hover {
    background-color: var(--gray-dark);
    color: var(--white);
}


/* Table Styling */
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    /* Menambahkan properti ini untuk layar kecil */
    min-width: 600px;
}

table th, table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--gray-medium);
}

table th {
    background-color: var(--primary-blue);
    color: var(--white);
    font-weight: 600;
}

table tr:nth-child(even) {
    background-color: var(--gray-medium);
}

/* New CSS for text alignment in table headers */
.text-center {
    text-align: center;
}


.action-buttons {
    display: flex;
    gap: 8px;
	justify-content: center;
}

.action-buttons a {
    text-decoration: none;
    color: var(--primary-blue);
    font-weight: 600;
}

.action-buttons a:hover {
    color: var(--secondary-blue);
}

/* Responsiveness */
@media (max-width: 768px) {
    .header {
        flex-direction: column;
        align-items: flex-start;
    }
    .nav-bar ul {
        flex-direction: column;
        gap: 10px;
    }
    .nav-bar ul li {
        width: 100%;
    }
    .nav-bar ul li a {
        display: block;
        padding: 8px 0;
    }
    .container {
        padding: 10px;
    }
    .card {
        padding: 16px;
    }
    /* Tambahkan class ini pada elemen yang berisi tabel */
    .table-responsive {
        width: 100%;
        overflow-x: auto;
    }
}


.login-box {
    width: 400px;
    margin: 100px auto;
    text-align: center;
}

.login-box h1 {
    color: var(--primary-blue);
    font-weight: 700;
    margin-bottom: 20px;
}

.login-box .card {
    padding: 30px;
}

.alert-error {
    background-color: #FEE2E2;
    color: #991B1B;
    padding: 12px;
    border-radius: 8px;
    margin-bottom: 16px;
    border: 1px solid #FCA5A5;
}

.summary-card {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.summary-item {
    padding: 20px;
    background-color: var(--primary-blue);
    color: var(--white);
    border-radius: 12px;
    text-align: center;
}

.summary-item h3 {
    margin-bottom: 10px;
}
.alert-success {
    background-color: #D4EDDA;
    color: #155724;
    padding: 12px;
    border-radius: 8px;
    margin-bottom: 16px;
    border: 1px solid #C3E6CB;
}
.alert-error {
    background-color: #F8D7DA;
    color: #721C24;
    padding: 12px;
    border-radius: 8px;
    margin-bottom: 16px;
    border: 1px solid #F5C6CB;
}

/* Kelas untuk blok warna pada teks */
.text-block-green {
    background-color: #D4EDDA; /* Hijau muda */
    color: #155724; /* Teks hijau gelap */
    padding: 5px 10px; /* Sedikit padding di sekitar teks */
    border-radius: 5px; /* Sudut membulat */
    display: inline-block; /* Agar blok hanya selebar teks */
    font-weight: 600; /* Membuat teks sedikit tebal */
}

.text-block-blue {
    background-color: #CCE5FF; /* Biru muda */
    color: #004085; /* Teks biru gelap */
    padding: 5px 10px;
    border-radius: 5px;
    display: inline-block;
    font-weight: 600;
}

.text-block-red {
    background-color: #F8D7DA; /* Merah muda */
    color: #721C24; /* Teks merah gelap */
    padding: 5px 10px;
    border-radius: 5px;
    display: inline-block;
    font-weight: 600;
}

.text-block-yellow {
    background-color: #FFF3CD; /* Kuning muda */
    color: #856404; /* Teks kuning gelap */
    padding: 5px 10px;
    border-radius: 5px;
    display: inline-block;
    font-weight: 600;
}

.judul-aja{
    background-color: var(--primary-dark-blue); /* Mengembalikan warna latar belakang biru */
    color: var(--white); /* Mengubah warna teks menjadi putih */
    font-size: 20px;
    padding: 5px 10px; /* Padding yang lebih besar untuk efek balok */
    border-radius: 12px; /* Sudut yang lebih membulat */
}

.sinisa{
	background-color: transparent; /* Mengembalikan warna latar belakang biru */
    color: var(--white); /* Mengubah warna teks menjadi putih */
    font-weight: 800; /* Membuat font lebih tebal */
	font-size: 75px;
    
}/* style.css */

/* ... kode CSS Anda yang sudah ada (sebelum bagian responsive table) ... */

.custom-responsive-table {
    overflow-x: auto; /* Memungkinkan scroll horizontal jika konten tabel meluap */
    -webkit-overflow-scrolling: touch; /* Meningkatkan pengalaman scrolling di perangkat sentuh */
    margin-bottom: 1rem; /* Tambahkan sedikit margin di bawah tabel */
}


/* Sesuaikan lebar kolom agar lebih fleksibel jika diperlukan */
table th:nth-child(1), /* ID User */
table td:nth-child(1) {
    min-width: 80px;
}

table th:nth-child(2), /* Username */
table td:nth-child(2) {
    min-width: 120px;
}

table th:nth-child(3), /* Nama User */
table td:nth-child(3) {
    min-width: 150px;
}

table th:nth-child(6), /* Aksi */
table td:nth-child(6) {
    min-width: 120px;
}

/* Tambahan untuk tombol pagination agar lebih responsif */
.pagination {
    display: flex;
    justify-content: center;
    padding: 1rem 0;
    flex-wrap: wrap; /* Memungkinkan tombol wrap ke baris berikutnya di layar kecil */
    gap: 5px; /* Jarak antar tombol */
}

.btn-pagination {
    display: inline-block;
    padding: 8px 12px;
    margin: 2px;
    border: 1px solid #007bff;
    border-radius: 5px;
    text-decoration: none;
    color: #007bff;
    background-color: #fff;
    transition: all 0.3s ease;
}

.btn-pagination:hover {
    background-color: #007bff;
    color: #fff;
}

.btn-pagination.active {
    background-color: #007bff;
    color: #fff;
    border-color: #007bff;
}

/* Menyesuaikan tombol Kembali ke Dashboard */
.button-group.mt-3 {
    margin-top: 1rem; /* Sesuaikan jika Anda ingin jarak lebih */
    text-align: center; /* Pusatkan tombol */
}


    /* ... (kode CSS yang sudah ada) ... */

.sort-link {
        text-decoration: none;
        color: inherit;
    }

.sort-link .sort-icon {
        margin-left: 5px;
        font-size: 0.8em;
        vertical-align: middle;
    }
