:root {
    --impersonation-banner-height: 44px;
    --top-nav-height: 64px;
}

.admin-impersonation-page .admin-impersonation-search .form-control {
    min-width: 320px;
}

.admin-impersonation-empty {
    margin-top: 16px;
    color: #676a6c;
}

.admin-impersonation-table td,
.admin-impersonation-table th {
    vertical-align: middle;
}

.impersonation-banner {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--impersonation-banner-height);
    margin: 0;
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid #f0ad4e;
    font-size: 14px;
    line-height: 1.35;
    padding: 8px 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* Static nav: push page content below the fixed banner */
body.has-impersonation-banner:not(.fixed-nav) {
    padding-top: var(--impersonation-banner-height);
}

body.has-impersonation-banner:not(.fixed-nav) #page-wrapper {
    padding-top: 0;
}

/* Fixed nav (inspinia.js): banner + navbar stack, then content */
body.has-impersonation-banner.fixed-nav {
    padding-top: 0;
}

body.has-impersonation-banner.fixed-nav .navbar-fixed-top,
body.has-impersonation-banner.fixed-nav #navigation-bar-responsive.navbar-fixed-top,
body.has-impersonation-banner.fixed-nav #navigation-bar-responsive.sticky-nav-bar {
    top: var(--impersonation-banner-height) !important;
}

body.has-impersonation-banner.top-navigation.fixed-nav #wrapper {
    margin-top: calc(var(--impersonation-banner-height) + var(--top-nav-height)) !important;
}

body.has-impersonation-banner.top-navigation.fixed-nav #wrapper #page-wrapper {
    margin-top: 0 !important;
}

body.has-impersonation-banner.fixed-nav:not(.top-navigation) #wrapper #page-wrapper {
    margin-top: var(--top-nav-height) !important;
}

body.has-impersonation-banner.fixed-nav:not(.top-navigation) #wrapper {
    margin-top: var(--impersonation-banner-height) !important;
}

@media (max-width: 992px) {
    body.has-impersonation-banner #navigation-bar-responsive.sticky-nav-bar,
    body.has-impersonation-banner #navigation-bar-responsive.navbar-fixed-top {
        position: fixed;
        width: 100%;
        z-index: 10040;
        top: var(--impersonation-banner-height) !important;
    }

    body.has-impersonation-banner.top-navigation #wrapper,
    body.has-impersonation-banner.top-navigation.fixed-nav #wrapper {
        margin-top: calc(var(--impersonation-banner-height) + var(--top-nav-height)) !important;
    }

    body.has-impersonation-banner #items-showcase {
        top: calc(var(--impersonation-banner-height) + var(--top-nav-height)) !important;
    }
}

.impersonation-banner a {
    font-weight: 600;
    text-decoration: underline;
    margin-left: 8px;
}

.admin-staff-links {
    margin-top: 8px;
    margin-bottom: 0;
}

.admin-staff-links a {
    font-weight: 600;
}

.admin-staff-links-sep {
    margin: 0 10px;
    color: #bbb;
}
