/* Responsive navbar styling */
.sb-topnav .navbar-brand {
    font-size: 0.9rem;
    white-space: nowrap;
}

.sb-topnav .navbar-toggler {
    border: none;
    padding: 0.25rem 0.5rem;
}

.sb-topnav .nav-link {
    padding: 0.5rem;
}

@media (max-width: 991.98px) {
    .sb-topnav .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: white;
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
        z-index: 1000;
        padding: 0.5rem;
    }

    .sb-topnav .navbar-nav {
        flex-direction: column;
        align-items: flex-start !important;
    }

    .sb-topnav .navbar-nav .nav-item {
        width: 100%;
        padding: 0.25rem 0;
    }

    .sb-topnav .navbar-nav .nav-item.d-flex {
        flex-wrap: wrap;
    }
}

@media (min-width: 768px) {

    .sb-sidenav-collapsed:not(.sb-sidenav-toggled) #layoutSidenav #layoutSidenav_nav {
        width: 125px;
        font-size: .7em;
        text-align: center;
    }
    .sb-sidenav-collapsed:not(.sb-sidenav-toggled) #layoutSidenav #layoutSidenav_content {
        margin-left: -105px;
    }
    .sb-sidenav-collapsed:not(.sb-sidenav-toggled) #layoutSidenav #layoutSidenav_nav .nav-link {
        flex-direction: column;
    }
    .sb-sidenav-collapsed:not(.sb-sidenav-toggled) #layoutSidenav #layoutSidenav_nav .nav-link .sb-nav-link-icon {
        margin-right: 0;
    }
    .sb-sidenav-collapsed .sidebar-brand {
        display: none;
    }

}

/*
#assertionsContainer > div {
    background-color: cadetblue;
    color: white;
    border: 1px solid gray;
}

#assertionsContainer > div > div:first-child {
    width: 100%;
    background-color: gray;
}
*/

#assertionsContainer {
    font-size: 0.6rem;
}

.specificunittests .card-body {
    padding: 0.5rem;
}

.sb-sidenav-dark .sb-sidenav-menu .nav-link:hover .sb-nav-link-icon {
    color: white;
}

#yearsToTestGrid {
    margin-top: 16px;
    width: 100%;
    min-height: 250px;
    height: auto;
    margin-bottom: 40px;
}

#yearsToTestGrid > .testYearSpan {
    display: inline-block;
    padding: 3px 5px;
    background-color: beige;
    border: 1px solid darkblue;
    border-radius: 2px;
    margin: 5px 3px;
    cursor: default;
    transition: opacity 0.2s ease-in-out;
}

#yearsToTestGrid > .testYearSpan.deleted {
    background: repeating-linear-gradient(
        45deg,
        red,
        red 5px,
        white 8px,
        white 12px
    );
    width: 3px;
    height: 32px;
    cursor: not-allowed;
}

#yearsToTestGrid > .testYearSpan > svg:hover {
    opacity: 1.0 !important;
}

.btn-group-xs > .btn, .btn-xs {
    padding: .25rem .4rem;
    font-size: .875rem;
    line-height: .5;
    border-radius: .2rem;
}

[contenteditable] {
    border: 1px dashed gainsboro;
    border-radius: 2px;
    padding: 2px;
}

[contenteditable]:focus {
    background-color: white;
    color: black;
    border-color: black;
    outline: none;
}

/* Disabled state for editDate button when expected_value is null */
.editDate.btn-secondary {
    cursor: not-allowed;
    opacity: 0.5;
}

.editDate.btn-secondary:hover,
.editDate.btn-secondary:focus {
    background-color: #6c757d;
    border-color: #6c757d;
    box-shadow: none;
}

/* Fade transition for alerts */
#responseToPutRequest,
#noScriptedContentAlert {
    transition: opacity 0.5s ease-in-out;
}

/*
 * Fix for native select dropdown clipping issue in Chrome/Windows.
 * Adding a border forces the browser to recalculate the stacking context,
 * allowing native select dropdowns to render correctly without being clipped.
 * The white border is invisible against the page background.
 * Note: This is a Chrome/Windows-specific workaround; other browsers unaffected.
 */
body {
    border: 1px solid white;
}

.container-fluid {
    border: 1px solid white;
}
