body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background-color: #f8f9fa
}

.card {
    border: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
    transition: box-shadow .2s
}

.card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, .12)
}

.navbar-brand {
    font-weight: 700;
    letter-spacing: 1px;
    transition: opacity .2s
}

.accordion-button:not(.collapsed) {
    background-color: #e7f1ff;
    color: #0d6efd
}

.badge {
    font-weight: 500
}

.table tbody tr:first-child td {
    background-color: #fff8e1
}

.table tbody tr:nth-child(2) td {
    background-color: #f5f5f5
}

.table tbody tr:nth-child(3) td {
    background-color: #fff3e0
}

.navbar-nav .nav-link {
    border-bottom: 3px solid transparent
}

.navbar-nav .active-nav-link {
    border-bottom-color: #fff
}

.navbar-brand:hover {
    opacity: .7
}

/* Text Truncation and Word Wrapping Utilities */
.text-truncate-multiline {
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Number of lines to show */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word; /* Ensure long words break */
    overflow-wrap: break-word;
}

.text-break-word {
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
}