/* Reset and Normalize Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

a {
    color: #007bff;
    text-decoration: none;
}

    a:hover {
        color: #0056b3;
        text-decoration: underline;
    }

/* Header Styling */
header {
    background-color: #ffffff;
    border-bottom: 1px solid #e3e6f0;
}

.navbar-brand {
    display: flex;
    align-items: center;
}

/* Center the logo dynamically */
.navbar-brand {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1; /* Takes up all available space in the container */
}

    .navbar-brand img {
        height: 70px; /* Adjust logo size as needed */
        object-fit: contain; /* Ensures the image maintains its aspect ratio */
        margin: 0; /* Reset any previous margins */
    }


.navbar-toggler {
    border: none;
    outline: none;
}

.navbar-toggler-icon {
    color: #343a40;
}

/* Footer Styling */
footer {
    background-color: #f8f9fa;
    padding: 10px 0;
    text-align: center;
    border-top: 1px solid #e3e6f0;
}

/* Form Input Styling */
.form-control {
    border-radius: 0.25rem;
    border: 1px solid #ced4da;
}

.form-inline {
    margin: 0;
}

/* Custom Button Styling */
.btn-custom {
    background-color: #007bff;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 0.25rem;
}

    .btn-custom:hover {
        background-color: #0056b3;
        color: #fff;
    }

/* Dropdown Menu Styling */
.dropdown-menu {
    border-radius: 0.25rem;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
}

/* Table Styling */
table {
    width: 100%;
    margin-bottom: 1rem;
    color: #212529;
    border-collapse: collapse;
}

    table th,
    table td {
        padding: 0.75rem;
        vertical-align: top;
        border-top: 1px solid #dee2e6;
    }

    table thead th {
        vertical-align: bottom;
        border-bottom: 2px solid #dee2e6;
    }

    table tbody + tbody {
        border-top: 2px solid #dee2e6;
    }

/* Cards and Containers */
.card {
    border-radius: 0.25rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    background-color: #fff;
    margin-bottom: 20px;
}

.card-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #e3e6f0;
}

.card-body {
    padding: 20px;
}

/* Custom Scrollbar for Overflow Areas */
::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 10px;
    border: 3px solid #f1f1f1;
}

    ::-webkit-scrollbar-thumb:hover {
        background-color: #555;
    }

/* Miscellaneous Styling */
.text-muted {
    color: #6c757d !important;
}

.text-center {
    text-align: center !important;
}

.mb-3 {
    margin-bottom: 1rem !important;
}

/* Responsive Media Query Adjustments */
@media (max-width: 991.98px) {
    .navbar .navbar-toggler {
        margin-right: 10px;
    }

    .dropdown-menu {
        width: 100%;
        box-shadow: none;
    }

    .card {
        margin-bottom: 10px;
    }
}
/* Responsiveness for small screens */
@media (max-width: 768px) {
    .nav-tabs {
        justify-content: flex-start;
        overflow-x: auto; /* Enable horizontal scrolling */
        white-space: nowrap;
    }

        .nav-tabs .nav-link.active {
            background-color: #007bff;
        }
}
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}