/* --- Sidebar: Improved Readability & Modern Contrast --- */
.bg-gradient-primary {
    background: linear-gradient(to bottom, #2F4254, #3E5368, #4A647A); 
    color: #ffffff !important; /* Strong contrast */
}

/* Sidebar Link Styles */
.sidebar .nav-link {
    color: #f1f5f9 !important; /* Softer white for less glare */
}

.sidebar .nav-link:hover {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.15) !important;
}

/* Collapse Inner Links */
.sidebar .collapse-inner a {
    color: #2F4254 !important;
}

.sidebar .collapse-inner a:hover {
    color: #1d2b38 !important;
}

/* --- Table Header (Fixed Contrast Issue) --- */
.dataTable thead {
    background-color: rgb(70, 100, 130) !important;
    color: white !important;
}

.dataTable thead th {
    border-bottom: 2px solid rgb(15, 115, 223) !important; /* FIXED missing space */
    padding: 5px;
    text-align: center;
}

/* Prevent unnecessary expansion */
#dataTable th, #dataTable td {
    white-space: nowrap;
}

/* Editable Input Fields */
.editable {
    border: none;
    outline: none;
    background: transparent;
    width: 100%;
}

.editable:focus {
    border-bottom: 1px solid #007bff;
    background: #f8f9fa;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th, td {
    padding: 5px;
    font-size: 14px;
    white-space: nowrap;
}

/* Blinking indicator */
.blinking {
    animation: blink-animation 1s steps(2, start) infinite;
}

@keyframes blink-animation {
    0% { opacity: 1; }
    50% { opacity: 0; }
    100% { opacity: 1; }
}

/* --- Select2 Customization --- */
.select2-container--bootstrap4 .select2-results__option--highlighted {
    background-color: #007bff;
    color: white;
}

/* Hide default multi-select chips */
.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered {
    display: none;
}

/* Custom selected books display */
.selected-books-container {
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    padding: 1rem;
    background-color: #f8f9fa;
}

.selected-books-list {
    margin-top: 0.5rem;
}

.remove-book {
    padding: 0.15rem 0.4rem;
    font-size: 0.75rem;
}

/* Navbar */
.navbar-gradient {
    background-color: #2F4254; /* Matching darker theme */
    padding-top: .25rem;
    padding-bottom: .25rem;
}

/* Profile image */
.img-profile {
    height: 40px;
    width: 40px;
    object-fit: cover;
}

/* Glass effect */
.glass {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: .5rem;
}
