/* Error Styles for Fixed Navbar Alerts */
.errorNav {
    position: fixed;
    top: 70px; /* adjust based on navbar height */
    left: 0;
    width: 100%;
    z-index: 1050; /* above page content */
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none; /* lets clicks pass through except the alerts */
}
.errorNav .alert {
    width: 80%; /* or 100% if you want full width */
    max-width: 900px;
    margin-bottom: 6px;
    pointer-events: auto; /* make buttons clickable */
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
/* Error Styles for Fixed Navbar Alerts */
.warningNav {
    position: fixed;
    top: 70px; /* adjust based on navbar height */
    left: 0;
    width: 100%;
    z-index: 1050; /* above page content */
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none; /* lets clicks pass through except the alerts */
}
.warningNav .alert {
    width: 80%; /* or 100% if you want full width */
    max-width: 900px;
    margin-bottom: 6px;
    pointer-events: auto; /* make buttons clickable */
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.alertNav {
    position: fixed;
    top: 70px; /* adjust to match your navbar height */
    left: 0;
    width: 100%;
    z-index: 1050;
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none; /* alerts don't block page clicks */
}
.alertNav .alert {
    width: 80%; /* or 100% if you want full width */
    max-width: 900px;
    margin-bottom: 6px;
    pointer-events: auto; /* keep alert buttons clickable */
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* Force equal column widths in expanded shift sub-tables */
.sub-table-container .row > .col {
    min-width: 0;
    overflow: hidden;
    font-size: 0.8rem;
}