
/* Remove padding from the body */
body {
    padding-bottom: 70px; /* Keep for mobile bottom navbar */
}

/* Add padding to the main content area */
main {
    padding-top: 70px; /* For mobile top header */
}

/* Desktop Styles */
@media (min-width: 992px) {
    body {
        padding-bottom: 0; /* No bottom navbar on desktop */
    }
    main {
        padding-top: 60px; /* For desktop top header */
    }
}

/* Floating Icon Bar Styles */
.floating-icon-bar {
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    background-color: rgba(0, 0, 0, 0.7);
    border-radius: 8px 0 0 8px;
    z-index: 1050; /* High z-index to stay on top */
}

.floating-icon-bar .icon-link {
    color: white;
    padding: 12px;
    font-size: 20px;
    transition: background-color 0.3s;
}

.floating-icon-bar .icon-link:hover {
    background-color: rgba(0, 0, 0, 0.9);
}

.floating-icon-bar .icon-link:first-child {
    border-top-left-radius: 8px;
}
.floating-icon-bar .icon-link:last-child {
    border-bottom-left-radius: 8px;
}


/* Scroll to top button - initially hidden */
#scrollTopBtn {
    display: none;
}/* CSS Document */

/*
 * Styles for the 5-icon mobile bottom navbar
 */
.nav-bottom-item {
    flex: 1; /* Allows each item to take up an equal amount of space */
    padding: 8px 4px; /* Vertical and horizontal padding */
    color: #495057; /* A soft dark color for the text */
    text-decoration: none;
    transition: background-color 0.2s ease-in-out;
}

.nav-bottom-item:hover {
    background-color: #f8f9fa; /* Slight highlight on hover */
    color: #000;
}


.nav-bottom-item small {
    display: inline-block; 
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
}








/* Highlights the text red and adds the underline for Desktop */
.nav-link.active-tab {
    color: #dc3545 !important;
    font-weight: bold !important;
    border-bottom: 2px solid #dc3545;
}

/* Highlights the Mobile Bottom Bar icons */
.nav-bottom-item.active-tab {
    color: #dc3545 !important;
}



/* Custom Global Table Wrapper */
.table-responsive {
    -webkit-overflow-scrolling: touch; /* Smooth momentum scrolling for iOS */
    overflow-x: auto;
    position: relative;
    cursor: grab;
}

.table-responsive:active {
    cursor: grabbing;
}

/* Hide scrollbar but keep functionality for a cleaner app look */
.table-responsive::-webkit-scrollbar {
    height: 4px;
}
.table-responsive::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.1);
    border-radius: 10px;
}




/* Ensure the mobile footer is visible only on small screens */
@media (max-width: 767px) {
    .mobile-footer {
        display: flex !important; /* Force visibility */
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9999; /* Bring to the very front */
        background: #ffffff;
        border-top: 1px solid #eee;
        padding: 10px 0;
        box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
    }
    
    /* Push page content up so it's not covered by the footer */
    body {
        padding-bottom: 70px; 
    }
}

@media (min-width: 768px) {
    .mobile-footer {
        display: none !important;
    }
}