body {
    background-color: #f8f9fa;
}

.card {
    border-radius: 0.75rem;
    border: none;
}

.card:hover {
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.08);
}

.list-group-item:hover {
    background-color: #f0f6ff;
}

.accordion-button:not(.collapsed) {
    background-color: #e8f0fe;
    color: #1a56db;
}

.navbar-brand {
    font-size: 1.3rem;
}

/* Note references in answer text */
.note-ref {
    font-size: 0.7em;
    vertical-align: super;
    padding: 0.15em 0.45em;
    cursor: pointer;
    text-decoration: none;
    line-height: 1;
}

.note-ref:hover {
    transform: scale(1.15);
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.3);
}

.note-panel .card {
    border-radius: 0.5rem;
}

/* Pagination */
.pagination {
    margin-bottom: 0;
}

/* Sortable table headers */
th a {
    text-decoration: none;
    color: inherit;
}

th a:hover {
    color: #0d6efd;
}

.sort-icon {
    font-size: 0.75em;
    opacity: 0.5;
}

th a .sort-icon.active {
    opacity: 1;
    color: #0d6efd;
}
