body {
    font-family: Arial, sans-serif;
    background-color: #f8f9fa;
}

.container {
    background: white;
    padding: 2rem;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.btn-group .btn {
}

#studentTable {
    table-layout: fixed;
    width: 100%;
}

#studentTable th, #studentTable td {
    word-wrap: break-word;
}

.btn-primary {
    background-color: #1a3a66;
    border-color: #1a3a66;
}

.btn-primary:hover {
    background-color: #1a3a66;
    border-color: #1a3a66;
}

.btn-outline-primary:hover, .btn-outline-primary:active, .btn-outline-primary.active {
    background-color: #1a3a66 !important;
    border-color: #1a3a66 !important;
    color: white !important;
}

.progress-cell-success {
    background: linear-gradient(to right, #5CE65C var(--progress-width), #e9ecef var(--progress-width));
    color: black;
}

.progress-cell-warning {
    background: linear-gradient(to right, #FFEF00 var(--progress-width), #e9ecef var(--progress-width));
    color: black;
}

.progress-cell span {
    font-weight: bold;
    display: block;
    text-align: center;
}

td.dataTables_empty {
    text-align: center;
}

.no-attempt {
    background-color: #f8f9fa;
    font-style: italic;
    color: #6c757d;
}

.filter-bar {
    display: flex;
    gap: 1rem;
}

.filter-group {
    position: relative;
}

.filter-dropdown {
    display: none;
    position: absolute;
    background-color: white;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    border-radius: 0.5rem;
    padding: 1rem;
    z-index: 1000;
}

.filter-group:hover .filter-dropdown {
    display: block;
}

.filter-dropdown a {
    display: block;
    padding: 0.5rem;
    text-decoration: none;
    color: black;
}

.filter-dropdown a:hover {
    background-color: #f8f9fa;
}
