/* Custom CSS to override gray fonts to black */

body {
    color: #000 !important;
}

.text-gray-100, .text-gray-200, .text-gray-300, .text-gray-400, .text-gray-500, 
.text-gray-600, .text-gray-700, .text-gray-800, .text-gray-900 {
    color: #000 !important;
}

/* DataTables often use gray */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
    color: #000 !important;
}

/* Footer text */
footer.sticky-footer .copyright {
    color: #000 !important;
}

/* Form placeholders often gray */
::placeholder {
    color: #000 !important;
    opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #000 !important;
}

::-ms-input-placeholder { /* Microsoft Edge */
    color: #000 !important;
}

/* Table headers and cells often gray */
table.dataTable thead th, table.dataTable thead td,
table.dataTable tbody th, table.dataTable tbody td,
.table thead th, .table thead td,
.table tbody th, .table tbody td {
    color: #000 !important;
}

/* Card headers */
.card-header {
    color: #000 !important;
}

/* Notification Customization */
.dropdown-menu-right {
    right: 0 !important;
    left: auto !important;
}

.dropdown-list {
    width: 340px;
    max-width: 90vw;
    overflow-x: hidden !important;
    box-sizing: border-box;
}

.notif-scroll {
    overflow-x: hidden !important;
    box-sizing: border-box;
}

.dropdown-list .dropdown-item {
    white-space: normal;
    overflow: hidden;
    padding: 0.5rem 1rem;
    box-sizing: border-box;
}

.notif-text-wrapper {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    box-sizing: border-box;
}

.notif-text {
    display: block;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-all;
    white-space: normal;
    line-height: 1.5;
    box-sizing: border-box;
}

/* Mobile Navbar Customization */
@media (max-width: 576px) {
    .navbar-brand {
        max-width: 80%; /* Ensure brand doesn't push toggler off screen */
    }
    .navbar-brand .d-flex.flex-column span:first-child {
        font-size: 1rem !important;
    }
    .navbar-brand .d-flex.flex-column span:last-child {
        font-size: 0.75rem !important;
        white-space: normal; /* Allow text wrapping for long school names */
    }
    .navbar-logo {
        max-height: 40px; /* Adjust logo size for mobile */
        width: auto;
    }
}

/* Sticky Table Header */
.table-responsive {
    max-height: 600px;
    overflow-y: auto;
}

#tablePendaftar thead th {
    position: sticky;
    top: 0;
    background-color: #ffffff;
    z-index: 10;
}
