/* ... (semua kode css sebelumnya biarkan saja) ... */

/* Style tambahan untuk header tabel statistik */
th.diterima {
    background-color: #28a745;
}
th.diajukan {
    background-color: #ffc107;
    color: #333;
}
th.ditolak {
    background-color: #dc3545;
}


body {
    font-family: Arial, sans-serif;
    background-color: #f4f4f9;
    color: #333;
    margin: 0;
    padding: 20px;
}
.container {
    max-width: 1000px;
    margin: auto;
    background: #fff;
    padding: 20px 30px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    border-radius: 8px;
}
.login-wrapper {
    max-width: 400px;
    margin-top: 50px;
}
h1, h2, h3 {
    color: #0056b3;
}
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}
th, td {
    border: 1px solid #ddd;
    padding: 12px;
    text-align: left;
}
th {
    background-color: #007bff;
    color: white;
}
tr:nth-child(even) {
    background-color: #f2f2f2;
}
.btn {
    display: inline-block;
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
}
.btn:hover {
    background-color: #0056b3;
}
.btn-danger {
    background-color: #dc3545;
}
.btn-danger:hover {
    background-color: #c82333;
}
.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 15px;
}
.form-group {
    margin-bottom: 15px;
}
.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}
.form-control {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 4px;
}
textarea.form-control {
    height: 100px;
    resize: vertical;
}
.form-group-inline {
    display: flex;
    gap: 20px;
}
.form-group-inline .form-group {
    flex: 1;
}
.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
    margin-bottom: 20px;
}
.status {
    padding: 5px 10px;
    border-radius: 15px;
    color: white;
    font-size: 0.9em;
    font-weight: bold;
}
.status.diterima { background-color: #28a745; }
.status.diajukan { background-color: #ffc107; color: #333; }
.status.ditolak { background-color: #dc3545; }


/* Styling untuk Tombol Aksi Admin */
td.aksi a {
    text-decoration: none;
    padding: 4px 8px;
    color: white;
    border-radius: 4px;
    font-size: 12px;
    margin: 0 2px;
}
.btn-aksi.terima { background-color: #17a2b8; }
.btn-aksi.tolak { background-color: #005b8f; }
.btn-aksi.edit { background-color: #ffc107; color: #333; }
.btn.btn-secondary { background-color: #6c757d; }
.btn-aksi.entry { background-color: #007bff; }


/* Styling untuk Pagination */
.pagination-nav {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}
.pagination {
    display: flex;
    padding-left: 0;
    list-style: none;
    border-radius: 0.25rem;
}
.page-item {
    margin: 0 2px;
}
.page-item.disabled .page-link {
    color: #6c757d;
    pointer-events: none;
    cursor: auto;
    background-color: #fff;
    border-color: #dee2e6;
}
.page-item.active .page-link {
    z-index: 1;
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}
.page-link {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    line-height: 1.25;
    color: #007bff;
    background-color: #fff;
    border: 1px solid #dee2e6;
    text-decoration: none;
}
.page-link:hover {
    color: #0056b3;
    background-color: #e9ecef;
    border-color: #dee2e6;
}


/* Styling untuk Form Pencarian */
.search-form {
    display: flex;
    margin-bottom: 20px;
    gap: 10px;
}
.search-form .form-control {
    flex-grow: 1; /* Membuat input text mengisi sisa ruang */
}


/* Warna berdasarkan status */
.status.diajukan { background-color: #ffc107; color: #333; } /* Kuning */
.status.diterima { background-color: #17a2b8; }              /* Biru Info */
.status.ditolak { background-color: #dc3545; }               /* Merah */
.status.proposal { background-color: #6f42c1; }              /* Ungu */
.status.hasil { background-color: #fd7e14; }                /* Oranye */
.status.kompre { background-color: #343a40; }                /* Abu-abu Tua */
.status.selesai { background-color: #28a745; }               /* Hijau (Sesuai Permintaan) */

/* Warna untuk header tabel di rekap dosen agar serasi */
th.status {
    color: white !important;
}
th.status.diajukan { background-color: #ffc107; color: #333 !important; }
th.status.diterima { background-color: #17a2b8; }
th.status.ditolak { background-color: #dc3545; }
th.status.proposal { background-color: #6f42c1; }
th.status.hasil { background-color: #fd7e14; }
th.status.kompre { background-color: #343a40; }
th.status.selesai { background-color: #28a745; }


.export-buttons { margin-bottom: 20px; }



/* Styling untuk Tombol Home Modern */
.modern-home-button {
    display: inline-flex; /* Membuat ikon dan teks sejajar */
    align-items: center;
    padding: 10px 20px;
    background-color: #ffffff;
    color: #333;
    border: 1px solid #ddd;
    border-radius: 50px; /* Membuat bentuk pil */
    text-decoration: none;
    font-family: Arial, sans-serif;
    font-weight: 600;
    font-size: 16px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease; /* Transisi untuk efek halus */
    cursor: pointer;
}

/* Efek saat mouse berada di atas tombol */
.modern-home-button:hover {
    transform: translateY(-2px); /* Tombol sedikit terangkat */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    background-color: #007bff;
    color: #ffffff;
    border-color: #007bff;
}

/* Styling untuk ikon di dalam tombol */
.modern-home-button svg {
    margin-right: 8px; /* Jarak antara ikon dan teks */
    width: 20px;
    height: 20px;
}




:root {
            --bg-main: #f0f7ff;      /* Latar belakang utama (Biru Sangat Terang) */
            --card-bg: #ffffff;      /* Latar belakang kartu (Putih) */
            --primary-blue: #007bff; /* Warna aksen (Biru Cerah) */
            --text-dark: #212529;    /* Warna teks utama (Hitam Abu-abu) */
            --text-muted: #6c757d;   /* Warna teks sekunder (Abu-abu) */
            --border-color: #dee2e6; /* Warna garis batas */
            --shadow-color: rgba(0, 0, 0, 0.05);
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            font-family: 'Poppins', sans-serif;
            background-color: var(--bg-main);
            color: var(--text-dark);
            padding: 2rem;
        }
        
        .container {
            max-width: 1400px;
            width: 100%;
            margin: 0 auto;
        }
        
        .header {
            text-align: center;
            margin-bottom: 2rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 1rem;
        }

        .header-title h1 {
            font-size: 2.5rem;
            font-weight: 700;
            margin-bottom: 0.25rem;
        }
        
        .header-title h1 span { color: var(--primary-blue); }
        .header-title p { font-size: 1.1rem; color: var(--text-muted); }
        
        .card {
            background-color: var(--card-bg);
            border-radius: 15px;
            padding: 2rem;
            margin-bottom: 2rem;
            box-shadow: 0 4px 15px var(--shadow-color);
            border: 1px solid var(--border-color);
        }

        .card h3 {
            font-size: 1.5rem;
            font-weight: 600;
            margin-bottom: 1.5rem;
            text-align: center;
            color: var(--primary-blue);
        }
        
        /* Form Pencarian */
        .search-form { display: flex; gap: 10px; }
        .form-control {
            flex-grow: 1;
            padding: 12px 15px;
            background-color: #f8f9fa;
            border: 1px solid var(--border-color);
            border-radius: 8px;
            color: var(--text-dark);
            font-size: 1rem;
        }
        .btn {
            padding: 12px 25px;
            background-color: var(--primary-blue);
            color: #ffffff;
            border: none;
            border-radius: 8px;
            font-weight: 600;
            font-size: 1rem;
            cursor: pointer;
            text-decoration: none;
            transition: background-color 0.3s ease;
        }
        .btn:hover { background-color: #0056b3; }

        /* Tabel */
        .table-wrapper { overflow-x: auto; }
        table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 1rem;
        }
        th, td {
            padding: 12px 15px;
            text-align: left;
            border-bottom: 1px solid var(--border-color);
        }
        thead th {
            background-color: #f8f9fa;
            font-weight: 600;
            color: var(--text-dark);
            text-transform: uppercase;
        }
        tbody tr:hover { background-color: #f1f3f5; }
        
        /* Pagination */
        .pagination-nav { margin-top: 1.5rem; display: flex; justify-content: center; }
        .pagination { display: flex; list-style: none; }
        .page-item { margin: 0 3px; }
        .page-link {
            padding: 8px 15px;
            text-decoration: none;
            border: 1px solid var(--border-color);
            background-color: var(--card-bg);
            color: var(--primary-blue);
            border-radius: 5px;
            transition: all 0.3s ease;
        }
        .page-link:hover { background-color: var(--primary-blue); color: #ffffff; }
        .page-item.active .page-link { background-color: var(--primary-blue); color: #ffffff; border-color: var(--primary-blue); }
        .page-item.disabled .page-link { color: var(--text-muted); background-color: #e9ecef; pointer-events: none; }
        
        /* Status */
        .status { padding: 4px 10px; border-radius: 20px; color: white; font-size: 0.8rem; font-weight: 500; text-transform: capitalize; }
        .status.diajukan { background-color: #ffc107; color: #212529; }
        .status.diterima { background-color: #17a2b8; }
        .status.ditolak { background-color: #dc3545; }
        .status.proposal { background-color: #6f42c1; }
        .status.hasil { background-color: #fd7e14; }
        .status.kompre { background-color: #6c757d; }
        .status.selesai { background-color: #28a745; }

        /* Grid Statistik */
        .stats-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
            gap: 2rem;
        }

        footer { text-align: center; margin-top: 3rem; color: var(--text-muted); font-size: 0.9rem; }
        
        
        


.btn-aksi.upload { background-color: #6f42c1; } /* Ungu */
.btn-aksi.download { background-color: #20c997; } /* Hijau Tosca */


.btn-aksi.delete {
    background-color: #ecfc03;
    color: red;
    padding: 4px 8px;
    border-radius: 4px;
    text-decoration: none;
}
.btn-aksi.delete:hover {
    background-color: #c82333;
}


