/* Menú general: superficie azul continua y desplazamiento vertical. */
#sidebar .sidebar-office-label{margin:0 0 -5px;color:#9bb2d0;font-size:11px;font-weight:700}
#sidebar .sidebar-office-select{width:100%;min-height:38px;padding:8px;border:1px solid #354b69;border-radius:8px;background:#182941;color:#e6efff;font-size:12px}
#sidebar .header-office-context:disabled{cursor:wait;opacity:.65;transform:none;box-shadow:none}
#sidebar .header-office-context .fa-spinner{color:inherit}
#sidebar .sidebar-account{margin:0 0 12px;padding:12px 0 16px;border-bottom:1px solid #ffffff18}
#sidebar .sidebar-account>.d-flex{flex-direction:column;align-items:stretch!important;gap:10px}
#sidebar .sidebar-account .header-office-context{display:flex!important;align-items:center;justify-content:center;gap:7px;width:100%;margin:0;padding:10px 8px;border:1px solid #354b69;border-radius:9px;background:#1b2c46;color:#cde1ff;font-size:12px;font-weight:700;white-space:normal}
#sidebar .sidebar-account .dropdown{display:block!important;width:100%;margin:0!important}
#sidebar .sidebar-account .professional-user-button{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid #354b69;border-radius:10px;background:#182941;color:#e6efff;text-align:left}
#sidebar .sidebar-account .professional-user-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border:1px solid #465e7c;border-radius:50%;background:#253c5b;color:#cde1ff}
#sidebar .sidebar-account .professional-user-button>.d-none{display:inline-block!important;overflow-wrap:anywhere}
#sidebar .sidebar-account .professional-user-button>.fa-angle-down{margin-left:auto}
#sidebar .sidebar-account .dropdown-menu{position:static!important;transform:none!important;float:none;width:100%;min-width:0;max-height:min(480px,calc(100vh - 260px));max-height:min(480px,calc(100dvh - 260px));margin:8px 0 0!important;box-shadow:none;border-radius:9px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#627c9e #182941}
#sidebar .sidebar-account-profiles{max-height:220px;max-height:min(220px,25dvh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#829aba #182941}
#sidebar .sidebar-account-profiles:focus-visible{outline:2px solid #86b5ff;outline-offset:-2px;border-radius:5px}
#sidebar .sidebar-account-profiles .dropdown-item{padding:9px 10px;line-height:1.4;min-height:38px}
#sidebar .sidebar-account-profiles::-webkit-scrollbar,#sidebar .sidebar-account .dropdown-menu::-webkit-scrollbar{width:7px}
#sidebar .sidebar-account-profiles::-webkit-scrollbar-thumb,#sidebar .sidebar-account .dropdown-menu::-webkit-scrollbar-thumb{background:#829aba;border:2px solid #182941;border-radius:8px}
#sidebar .sidebar-account .dropdown-menu .dropdown-header{white-space:normal;overflow-wrap:anywhere}
#sidebar .sidebar-account .dropdown-menu .dropdown-item{white-space:normal;gap:8px}
#sidebar .sidebar-account .professional-user-button:hover,#sidebar .sidebar-account .header-office-context:hover{background:#263e5e;color:#fff}
#sidebar .sidebar-account .professional-user-button{background:#182941!important}
#sidebar .sidebar-account .sidebar-login-link{justify-content:center;text-align:center}
#sidebar .sidebar-account .professional-user-avatar{order:0;margin-left:0}
#sidebar .sidebar-account .dropdown-menu,#sidebar .sidebar-account .dropdown-menu .header-color,#sidebar .sidebar-account .dropdown-menu .bg-custom{background:#182941!important;color:#d7e4f5!important}
#sidebar .sidebar-account .dropdown-menu .dropdown-header{color:#9bb2d0;font-size:10px;letter-spacing:.05em}
#sidebar .sidebar-account .dropdown-menu .dropdown-divider{border-color:#ffffff14}
#sidebar .sidebar-account .dropdown-menu .dropdown-item:hover{background:#29405e!important;color:#fff!important}
#sidebar .sidebar-account .dropdown-menu .p-3.text-center{display:none}
#page-container.page-header-fixed #main-container{padding-top:0}
#page-container #sidebar{--sidebar-shell-header:126px;width:260px;overflow:hidden!important}
#page-container #sidebar[data-simplebar]{display:block!important}
#page-container #sidebar .simplebar-scroll-content,
#page-container #sidebar .simplebar-content{width:100%!important;height:100%!important;min-width:0!important;min-height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important}
#page-container #sidebar .simplebar-track{display:none!important}
#page-container #sidebar .sidebar-shell-scroll{height:calc(100% - var(--sidebar-shell-header));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#526b8e #0f1a31}
#page-container #sidebar .sidebar-shell-scroll::-webkit-scrollbar{width:6px}
#page-container #sidebar .sidebar-shell-scroll::-webkit-scrollbar-track{background:#0f1a31}
#page-container #sidebar .sidebar-shell-scroll::-webkit-scrollbar-thumb{background:#526b8e;border-radius:8px}
#page-container #sidebar .sidebar-shell-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}
@supports selector(::-webkit-scrollbar){#page-container #sidebar .sidebar-shell-scroll{scrollbar-color:auto;scrollbar-width:auto}}
#page-container #sidebar .professional-sidebar-header{height:var(--sidebar-shell-header);min-height:var(--sidebar-shell-header);align-items:center;padding:8px 12px!important}
#page-container #sidebar .sidebar-company-brand{flex:1;min-width:0;justify-content:center}
#page-container #sidebar .sidebar-company-logo{display:block;width:100%;height:110px;object-fit:contain;filter:none}
#page-container #sidebar .sidebar-shell-options{align-self:flex-start;margin-top:8px}
#page-container #sidebar .sidebar-shell-scroll .content-side{padding:8px 12px 16px;width:100%}
#page-container #sidebar .sidebar-shell-scroll .nav-main-link-name{max-width:100%;margin:0}
#page-container #sidebar .sidebar-shell-scroll .nav-main-submenu{padding-left:8px!important;padding-right:0!important}
@media(min-width:992px){#page-container.sidebar-o:not(.sidebar-mini):not(.sidebar-r){padding-left:260px}#page-container.page-header-fixed.sidebar-o:not(.sidebar-mini):not(.sidebar-r) #page-header{padding-left:260px}#page-container.page-header-fixed.sidebar-o:not(.sidebar-mini):not(.sidebar-r) #page-header .overlay-header{left:260px}}
@media(max-width:991.98px){#page-container #sidebar{width:min(280px,85vw)}}
/* El ancho del menú debe seguir al sidebar, no a los 230px del tema original. */
#page-container #sidebar .content-side {
    width: 100%;
    padding: 10px 12px 18px;
}
#page-container #sidebar .professional-sidebar-header {
    width: 100%;
    min-height: 78px;
    padding: 0 16px !important;
}
#page-container #sidebar .nav-main { margin-bottom: 0; }
#page-container #sidebar .nav-main-heading {
    margin: 8px 0 3px !important;
    padding: 8px 10px !important;
    line-height: 1.4;
}
#page-container #sidebar .nav-main-group {
    margin: 3px 0 2px !important;
    padding: 6px 12px !important;
}
#page-container #sidebar .nav-main-item { padding: 0 !important; }
#page-container #sidebar .nav-main-link {
    min-height: 44px;
    margin: 1px 0;
    padding: 9px 12px;
    border-radius: 9px;
}
#page-container #sidebar .nav-main-link-name {
    margin: 0;
    line-height: 1.4;
    font-size: 13px;
}
#page-container #sidebar .nav-main-link-name > p { padding: 0; }
#page-container #sidebar .nav-main-link-icon { margin-right: 11px; font-size: 17px; }
#page-container #sidebar .professional-brand { gap: 10px; }
#page-container #sidebar .professional-brand-icon { width: 38px; height: 38px; flex-basis: 38px; }
#sidebar {
    --sidebar-shell-bg: #0f1a31;
    --sidebar-shell-track: #15223b;
    --sidebar-shell-thumb: #526b8e;
    background: var(--sidebar-shell-bg) !important;
    overflow-x: hidden !important;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--sidebar-shell-thumb) var(--sidebar-shell-bg);
}

#sidebar .content-side,
#sidebar .content-header,
#sidebar .nav-main,
#sidebar .nav-main-submenu,
#sidebar .simplebar-wrapper,
#sidebar .simplebar-mask,
#sidebar .simplebar-offset,
#sidebar .simplebar-scroll-content,
#sidebar .simplebar-content-wrapper,
#sidebar .simplebar-content {
    box-sizing: border-box;
    min-width: 0;
    background-color: var(--sidebar-shell-bg);
}

#sidebar .content-side,
#sidebar .nav-main,
#sidebar .nav-main-submenu,
#sidebar .simplebar-scroll-content,
#sidebar .simplebar-content-wrapper {
    overflow-x: hidden !important;
}

#sidebar .content-side {
    padding-bottom: 28px;
}

#sidebar .simplebar-scroll-content,
#sidebar .simplebar-content-wrapper {
    scrollbar-width: thin;
    scrollbar-color: var(--sidebar-shell-thumb) var(--sidebar-shell-bg);
}

#sidebar .simplebar-track.simplebar-horizontal {
    display: none !important;
}

#sidebar .simplebar-track.simplebar-vertical {
    width: 9px;
    background: var(--sidebar-shell-bg);
}

#sidebar .simplebar-scrollbar::before {
    right: 2px;
    left: 2px;
    border-radius: 8px;
    background: var(--sidebar-shell-thumb);
}

#sidebar .simplebar-scrollbar.simplebar-visible::before {
    opacity: .8;
}

#sidebar::-webkit-scrollbar,
#sidebar .simplebar-scroll-content::-webkit-scrollbar,
#sidebar .simplebar-content-wrapper::-webkit-scrollbar {
    width: 8px;
    height: 0;
    background: var(--sidebar-shell-bg);
}

#sidebar::-webkit-scrollbar-track,
#sidebar::-webkit-scrollbar-corner,
#sidebar .simplebar-scroll-content::-webkit-scrollbar-track,
#sidebar .simplebar-scroll-content::-webkit-scrollbar-corner,
#sidebar .simplebar-content-wrapper::-webkit-scrollbar-track,
#sidebar .simplebar-content-wrapper::-webkit-scrollbar-corner {
    background: var(--sidebar-shell-bg);
}

#sidebar::-webkit-scrollbar-thumb,
#sidebar .simplebar-scroll-content::-webkit-scrollbar-thumb,
#sidebar .simplebar-content-wrapper::-webkit-scrollbar-thumb {
    border: 2px solid var(--sidebar-shell-bg);
    border-radius: 8px;
    background: var(--sidebar-shell-thumb);
}

#sidebar .professional-sidebar-header {
    flex-shrink: 0;
    min-height: 94px;
    gap: 10px;
    padding-right: 18px !important;
    padding-left: 22px !important;
    border-bottom: 1px solid rgba(173, 194, 222, .1);
}

#sidebar .professional-brand {
    min-width: 0;
    gap: 12px;
    text-decoration: none;
}

#sidebar .professional-brand > .smini-hide {
    min-width: 0;
}

#sidebar .professional-brand strong,
#sidebar .professional-brand small {
    white-space: nowrap;
}

#sidebar .professional-brand strong {
    color: #fff;
    font-size: 19px;
}

#sidebar .professional-brand small {
    color: #c2d1e6;
    font-size: 13px;
}

#sidebar .nav-main-link {
    min-width: 0;
    color: #b6c6db;
}

#page-container #sidebar .nav-main-link { color: #c2d1e6; }
#page-container #sidebar .nav-main-link-icon { color: #91a9ca; }
#page-container #sidebar .nav-main-link:hover,
#page-container #sidebar .nav-main-link.active,
#page-container #sidebar .nav-main-link:hover .nav-main-link-icon,
#page-container #sidebar .nav-main-link.active .nav-main-link-icon { color: #fff; }

#sidebar .nav-main-link-name {
    min-width: 0;
    overflow-wrap: anywhere;
}

#sidebar .nav-main-link:hover,
#sidebar .nav-main-link:focus-visible {
    color: #fff;
    background: #1c2d49;
}

#sidebar .nav-main-link:focus-visible,
#sidebar button:focus-visible,
#sidebar a.professional-brand:focus-visible {
    outline: 2px solid #86b5ff;
    outline-offset: -2px;
}

#sidebar .nav-main-link-icon {
    color: #91a9ca;
}

#sidebar .nav-main-link:hover .nav-main-link-icon,
#sidebar .nav-main-link.active .nav-main-link-icon {
    color: #fff;
}

#sidebar #sidebarGeneralToggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border: 1px solid #354965;
    border-radius: 9px;
    color: #dbe8fa;
    background: #1b2a43;
    cursor: pointer;
}

#sidebar #sidebarGeneralToggle:hover {
    color: #fff;
    background: #28405f;
}

#sidebar .sidebar-shell-options {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    gap: 6px;
    white-space: nowrap;
}

#page-header #sidebarGeneralAbrir.sidebar-shell-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    gap: 8px;
    min-width: 44px;
    min-height: 44px;
    margin-right: 12px;
    padding: 10px 13px;
    border: 1px solid #dce5ef;
    border-radius: 10px;
    color: #244869;
    background: #f2f6fb;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
    cursor: pointer;
}

#page-header #sidebarGeneralAbrir.sidebar-shell-toggle:hover {
    border-color: #b9cfe6;
    color: #143957;
    background: #e5eef9;
}

#page-header #sidebarGeneralAbrir.sidebar-shell-toggle:focus-visible {
    outline: 3px solid #a7caff;
    outline-offset: 2px;
}

#page-header #sidebarGeneralAbrir.sidebar-shell-toggle > i {
    font-size: 15px;
}

@media (min-width: 992px) {
    .sidebar-mini.sidebar-o #sidebar:not(:hover) .professional-sidebar-header {
        padding-right: 8px !important;
        padding-left: 8px !important;
    }
    .sidebar-mini.sidebar-o #sidebar:not(:hover) .professional-brand {
        gap: 0;
    }
    .sidebar-mini.sidebar-o #sidebar:not(:hover) .professional-brand-icon {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
    }
    .sidebar-mini.sidebar-o #sidebar:not(:hover) .content-side {
        padding-right: 8px;
        padding-left: 8px;
    }
    .sidebar-mini.sidebar-o #sidebar:not(:hover) .nav-main-link {
        padding-right: 10px;
        padding-left: 10px;
    }
    .sidebar-mini.sidebar-o #sidebar:not(:hover) .nav-main-link-icon {
        flex-shrink: 0;
        width: 20px;
        margin-right: 16px;
        text-align: center;
    }
}

@media (max-width: 991.98px) {
    #sidebar .professional-sidebar-header {
        min-height: 84px;
    }
}

/* Navegación lateral completa, sin barra superior ni espacio reservado. */
#page-container #sidebar{--sidebar-shell-header:168px}
#page-container #sidebar .professional-sidebar-header{display:flex;flex-direction:column;gap:4px;padding:8px 16px!important}
#page-container #sidebar .sidebar-company-brand{flex:0 0 108px;width:100%}
#page-container #sidebar .sidebar-company-logo{height:108px}
#page-container #sidebar #sidebarGeneralToggle{display:flex;align-items:center;justify-content:center;gap:9px;flex:0 0 34px;width:auto;min-width:132px;height:34px;margin:0 auto;border:0;border-radius:8px;background:transparent;color:#b4c7e0;font-size:12px;font-weight:600}
#page-container #sidebar #sidebarGeneralToggle:hover{background:#ffffff0c;color:#fff}
#page-container #sidebar #sidebarGeneralToggle i{font-size:17px}
.sidebar-shell-reopen{position:fixed;z-index:1040;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:18px;display:flex;align-items:center;gap:10px;min-height:46px;padding:11px 17px;border:1px solid #ccdaea;border-radius:999px;background:#fff;color:#254d76;box-shadow:0 4px 18px #193b6124;cursor:pointer;font:inherit;font-size:13px;font-weight:700}
.sidebar-shell-reopen i{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#edf4ff;color:#276bdf;font-size:18px}
.sidebar-shell-reopen:hover{background:#edf4ff;border-color:#a3bfe1}
.sidebar-shell-reopen[hidden]{display:none!important}
@media (max-width: 991.98px) {
    .sidebar-shell-reopen {
        bottom: calc(18px + env(safe-area-inset-bottom, 0px) + var(--sidebar-barra-control, 0px));
    }
}
.sidebar-shell-reopen:focus-visible{outline:3px solid #86b5ff;outline-offset:2px}
.sidebar-shell-reopen:focus:not(:focus-visible),#sidebar #sidebarGeneralToggle:focus:not(:focus-visible){outline:none}
.sidebar-context-tools{display:flex;gap:6px;flex-wrap:wrap}
.sidebar-context-tools:empty{display:none}
/* Pie del menu en escritorio. */
#page-container #sidebar{--sidebar-shell-header:126px;--sidebar-shell-footer:80px}
#page-container #sidebar .sidebar-shell-scroll{height:calc(100% - var(--sidebar-shell-header) - var(--sidebar-shell-footer))}
#sidebar .sidebar-shell-footer{position:absolute;bottom:0;left:0;right:0;height:var(--sidebar-shell-footer);display:flex;align-items:flex-start;padding:16px 18px;background:#0f1a31;border-top:1px solid #ffffff12}
#page-container #sidebar #sidebarGeneralToggle{justify-content:flex-start;margin:0;min-height:44px;flex:0 0 auto;padding:10px 12px;border-radius:999px;background:#1b2a43}
@media (max-width: 991.98px) {
    #page-container #sidebar .sidebar-shell-scroll {
        height: calc(100% - var(--sidebar-shell-header) - var(--sidebar-barra-control, 0px));
    }
    #sidebar .sidebar-shell-footer {
        top: max(8px, env(safe-area-inset-top, 0px));
        right: 10px;
        bottom: auto;
        left: auto;
        z-index: 5;
        height: auto;
        padding: 0;
        border: 0;
        background: transparent;
    }
    #page-container #sidebar #sidebarGeneralToggle {
        justify-content: center;
        width: 44px;
        min-width: 44px;
        height: 44px;
        padding: 0;
    }
    #sidebar #sidebarGeneralToggle span {
        display: none;
    }
}
