/* /Components/Loading.razor.rz.scp.css */
.report[b-hpix3bdiwf] {
    display: flex;
    flex-direction: row;
    border: solid;
    border-radius: 5px;
    justify-content: space-between;
}

.report-icon[b-hpix3bdiwf] {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    display: flex;
    gap: 1rem!important;
    margin-left: 5%;
}
.report-data[b-hpix3bdiwf] {
    display: flex;
    gap: 1rem!important;
    width: 100%;
    /*flex-direction: column;*/
}
.report-data-elements[b-hpix3bdiwf] {
    flex-direction: row;
    width: fit-content;
}

.report-info[b-hpix3bdiwf] {
    flex-direction: row;
    width: fit-content;
}

.report-date[b-hpix3bdiwf] {
    width: fit-content;
}


@media (min-width: 641px) {
    .collapse[b-hpix3bdiwf] {
        /*Never collapse the sidebar for wide screens*/
        display: block;
    }
    
    .nav-scrollable[b-hpix3bdiwf] {
        /*Allow sidebar to scroll for tall menus*/
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

#loading-element[b-hpix3bdiwf] {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
/* /Pages/MainPage.razor.rz.scp.css */
/* Ocultar elementos por defecto hasta que JavaScript los llene */
#pageWhereUserIs[b-xncw1z1wxn],
#userWhereUserIs[b-xncw1z1wxn] {
    display: none;
}

/* Mostrar cuando tienen contenido (JavaScript debe agregar esta clase) */
#pageWhereUserIs.has-content[b-xncw1z1wxn],
#userWhereUserIs.has-content[b-xncw1z1wxn] {
    display: block;
}

.page[b-xncw1z1wxn] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
}

main[b-xncw1z1wxn] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

main > article.content[b-xncw1z1wxn] {
    flex: 1;
    overflow-y: auto;
}

.sidebar[b-xncw1z1wxn] {
    background-color: #212529;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.top-row[b-xncw1z1wxn] {
    background-color: #f7f7f7;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-xncw1z1wxn]  a, .top-row[b-xncw1z1wxn]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-xncw1z1wxn]  a:hover, .top-row[b-xncw1z1wxn]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-xncw1z1wxn]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

/* Overlay para cerrar el sidebar en móvil */
.sidebar-overlay[b-xncw1z1wxn] {
    display: none;
}

/* MÓVIL - Sidebar como overlay lateral */
@media (max-width: 640.98px) {
    .page[b-xncw1z1wxn] {
        flex-direction: column;
        height: 100vh;
        height: 100dvh; /* Dynamic viewport height para móviles */
    }

    .sidebar-overlay[b-xncw1z1wxn] {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        height: 100dvh;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 1040;
        opacity: 1;
        transition: opacity 0.3s ease-in-out;
        pointer-events: auto;
    }

    .sidebar-overlay.hidden[b-xncw1z1wxn] {
        opacity: 0;
        pointer-events: none;
    }

    .sidebar[b-xncw1z1wxn] {
        position: fixed;
        top: 0;
        left: 0;
        width: 280px;
        max-width: 85vw;
        height: 100vh;
        height: 100dvh;
        z-index: 1050;
        transform: translateX(0);
        transition: transform 0.3s ease-in-out;
        overflow-y: auto;
        overflow-x: hidden;
        box-shadow: 4px 0 15px rgba(0, 0, 0, 0.3);
    }

    .sidebar.collapse[b-xncw1z1wxn] {
        transform: translateX(-100%);
        box-shadow: none;
    }

    main[b-xncw1z1wxn] {
        width: 100%;
        height: 100vh;
        height: 100dvh;
    }

    .top-row:not(.auth)[b-xncw1z1wxn] {
        display: none;
    }

    .top-row.auth[b-xncw1z1wxn] {
        justify-content: space-between;
    }

    .top-row[b-xncw1z1wxn]  a, .top-row[b-xncw1z1wxn]  .btn-link {
        margin-left: 0;
    }
}

/* PC - Sidebar fijo lateral con scroll interno */
@media (min-width: 641px) {
    .page[b-xncw1z1wxn] {
        flex-direction: row;
        height: 100vh;
        overflow: hidden;
    }

    .sidebar[b-xncw1z1wxn] {
        width: 250px;
        min-width: 250px;
        height: 100vh;
        position: relative;
        overflow-y: auto;
        overflow-x: hidden;
        flex-shrink: 0;
    }

    /* Ocultar sidebar en PC cuando tiene clase collapse */
    .sidebar.collapse[b-xncw1z1wxn] {
        display: none;
    }

    main[b-xncw1z1wxn] {
        flex: 1;
        height: 100vh;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .top-row[b-xncw1z1wxn] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-xncw1z1wxn]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-xncw1z1wxn], article[b-xncw1z1wxn] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

/* Scrollbar personalizado para el sidebar */
.sidebar[b-xncw1z1wxn]::-webkit-scrollbar {
    width: 6px;
}

.sidebar[b-xncw1z1wxn]::-webkit-scrollbar-track {
    background: #1a1d20;
}

.sidebar[b-xncw1z1wxn]::-webkit-scrollbar-thumb {
    background: #495057;
    border-radius: 3px;
}

.sidebar[b-xncw1z1wxn]::-webkit-scrollbar-thumb:hover {
    background: #6c757d;
}
/* /Shared/NavMenu.razor.rz.scp.css */
.icon-toggle[b-ooknnjznig] {
    transition: transform .35s ease;
}

.btn-toggle[aria-expanded="true"] .icon-toggle[b-ooknnjznig] {
    transform: rotate(90deg);
}

.btn-toggle[aria-expanded="false"] .icon-toggle[b-ooknnjznig] {
    transform: rotate(0deg);
}

/* Estructura del NavMenu para scroll interno */
[b-ooknnjznig] .nav-menu-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

[b-ooknnjznig] .nav-menu-header {
    flex-shrink: 0;
    padding: 0.5rem;
}

[b-ooknnjznig] .nav-menu-content {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 1rem;
}

/* Scrollbar personalizado para el contenido del menú */
[b-ooknnjznig] .nav-menu-content::-webkit-scrollbar {
    width: 6px;
}

[b-ooknnjznig] .nav-menu-content::-webkit-scrollbar-track {
    background: #1a1d20;
}

[b-ooknnjznig] .nav-menu-content::-webkit-scrollbar-thumb {
    background: #495057;
    border-radius: 3px;
}

[b-ooknnjznig] .nav-menu-content::-webkit-scrollbar-thumb:hover {
    background: #6c757d;
}

/* Estilos para los items del menú */
[b-ooknnjznig] .btn-toggle-nav li {
    cursor: pointer;
    transition: background-color 0.2s ease;
}

[b-ooknnjznig] .btn-toggle-nav li:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

@media (min-width: 641px) {
    .collapse[b-ooknnjznig] {
        /* En PC, los submenús colapsados deben mantener su comportamiento */
        display: block;
    }

    .nav-scrollable[b-ooknnjznig] {
        /* Ya no necesitamos esto aquí, el scroll se maneja en el contenedor */
        height: auto;
        overflow-y: visible;
    }
}

@media (max-width: 640.98px) {
    /* En móvil, asegurar que el contenido no desborde */
    [b-ooknnjznig] .nav-menu-content {
        padding-bottom: 2rem;
    }
}
