/* Keep the shared SaaS and tenant admin header visible without removing its layout space. */
@media screen {
    body.admin #header {
        position: sticky;
        top: 0;
    }
}

/* Shared spacing for single-value selects; listboxes keep their native layout. */
select:not([multiple]):not([size]):not(.selectpicker):not(.bs-select-hidden),
select[size="1"]:not([multiple]):not(.selectpicker):not(.bs-select-hidden) {
    -webkit-appearance: none;
    appearance: none;
    padding-inline-end: 40px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667180' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 12px 12px;
    background-position: right 16px center;
}

[dir="rtl"] select:not([multiple]):not([size]):not(.selectpicker):not(.bs-select-hidden),
[dir="rtl"] select[size="1"]:not([multiple]):not(.selectpicker):not(.bs-select-hidden) {
    background-position: left 16px center;
}

.bootstrap-select > .dropdown-toggle {
    padding-inline-end: 40px;
}

.bootstrap-select > .dropdown-toggle .bs-caret .caret {
    right: 18px;
}

[dir="rtl"] .bootstrap-select > .dropdown-toggle .bs-caret .caret {
    right: auto;
    left: 18px;
}

@media (forced-colors: active) {
    select:not([multiple]):not([size]):not(.selectpicker):not(.bs-select-hidden),
    select[size="1"]:not([multiple]):not(.selectpicker):not(.bs-select-hidden) {
        -webkit-appearance: auto;
        appearance: auto;
        background-image: none;
    }
}

/* Only tenant sidebars with the existing account menu use the viewport layout. */
.admin #menu:has(.menu-item-my_account) {
    position: fixed;
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
    min-height: 0 !important; /* Overrides the legacy document-height adjustment. */
}
.admin #menu:has(.menu-item-my_account) > .sidebar-user-profile { flex-shrink: 0; }
.admin #menu:has(.menu-item-my_account) > #side-menu {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    margin-bottom: 0;
    padding-bottom: 10px;
}
.admin #menu:has(.menu-item-my_account) > #side-menu > li { flex-shrink: 0; }
.admin #side-menu > li.menu-item-my_account {
    order: 1;
    margin-top: auto;
    padding: 12px 8px 0;
    border-top: 0;
}
.admin #side-menu > li.menu-item-my_account > a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid rgba(112, 134, 122, .18);
    border-radius: 6px;
    background: rgba(112, 134, 122, .08);
    font-weight: 600;
}
.admin #side-menu > li.menu-item-my_account > a:hover,
.admin #side-menu > li.menu-item-my_account.active > a { background: rgba(112, 134, 122, .16); }
.admin #side-menu > li.menu-item-my_account > a:focus-visible { outline: 2px solid #54786c; outline-offset: -2px; }
.admin #side-menu > li.menu-item-my_account > a .menu-icon { width: 20px; flex: 0 0 20px; margin: 0; text-align: center; font-size: 19px; }
.admin #side-menu > li.menu-item-my_account > a .arrow { margin-inline-start: auto; }
.admin #side-menu > li.menu-item-my_account > .nav-second-level { margin-top: 6px; }
.admin #side-menu > li.menu-item-my_account .nav-second-level a { border-radius: 4px; padding: 9px 12px; }
