/* /Pages/RJornada/Schedule.razor.rz.scp.css */

/*To change the text as upper case*/
.e-control-wrapper.e-upper .e-textbox[b-3g8yg89u47] {
    text-transform: uppercase;
} 

.grid-container[b-3g8yg89u47] {
    display: grid;
    grid-template-rows: repeat(8,35px);
    grid-template-columns: 0.5fr 1fr 1fr 1fr 1fr 0.75fr 0.75fr 0.60fr;
    grid-gap: 5px;
}

.lbdayname[b-3g8yg89u47], .totalteoricweek[b-3g8yg89u47] {
    font-weight: bold;
    color: blue;
}
.lbdayteoricmin[b-3g8yg89u47], .totminutesweek[b-3g8yg89u47] {
    font-weight: bold;
}
.lbcolumday[b-3g8yg89u47] {
    font-weight: bold;
    color: crimson;
    font-size: large;
}
.lbcolummin[b-3g8yg89u47] {
    font-weight: bold;
    font-size:medium;
}
.totalteoricweek[b-3g8yg89u47] {
    grid-column: span 2 / 8;
    margin-top: 3pt;
    font-size: 1.2em;
}

.totminutesweek[b-3g8yg89u47] {
    font-size: 1.6em;
}

.e-input-group.e-control-wrapper.e-custom .e-input[b-3g8yg89u47] {
    font-size: 12px;
    color: blue;
    font-weight: bold;
}
/* /Pages/Ticketing/Components/ResumWeekLiquidation.razor.rz.scp.css */

.e-input-group input.e-input[b-aozwc7hll5], .e-input-group.e-control-wrapper input.e-input[b-aozwc7hll5] {
    font-size: 20px;
    height: 40px;
}

.grid-scroller[b-aozwc7hll5] {
    overflow-y: scroll;
    overflow-x: hidden;
    height: calc(100vh - 290px);
}

.section[b-aozwc7hll5] {
    background-color: black;
    font-size: 1em;
    color: white;
    margin-top: 3px;
    margin-bottom: 5px;
    padding-left:3px;
}
.grid-sessions[b-aozwc7hll5] {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    width: 100%;
    justify-content:start;
}

.grid-sessions-entry[b-aozwc7hll5], .grid-sessions-header[b-aozwc7hll5], .grid-sessions-total[b-aozwc7hll5] {
    padding: 1px;
    border: 1px solid red;
}

.datos-cobro-titulo[b-aozwc7hll5], .grid-sessions-header[b-aozwc7hll5], .grid-sessions-total[b-aozwc7hll5], .datos-cobro-columnname[b-aozwc7hll5], .datos-cobro-ajenos-titulo[b-aozwc7hll5], .titulo-cobros-totales[b-aozwc7hll5], .subtitulo-cobros-totales[b-aozwc7hll5] {
    background-color: #ff3333;
    color: white;
    font-size: 0.85em;
}

.grid-total-liq[b-aozwc7hll5] {
    font-size: 0.85em;
    font-weight:bold;
    padding: 1px;
}
.grid-sessions-header[b-aozwc7hll5] {
    position: sticky;
    top: 0;
    z-index: 1;
}
.grid-sessions-entry[b-aozwc7hll5], .datos-cobro[b-aozwc7hll5], .valor-cobros-totales[b-aozwc7hll5] {
    font-size: 0.85em;
    background-color: #f3f1f1;
}

.col-amount[b-aozwc7hll5] {
    display:flex;
    justify-content:end;
}


.col-txt[b-aozwc7hll5] {
    grid-column: span 2;
    font-size: 0.85em;
}
.col-txt-span6[b-aozwc7hll5] {
    grid-column: span 6;
    font-size: 0.85em;
    font-weight:bold;
    padding-left:1px;
}
.col-txt-span5[b-aozwc7hll5] {
    grid-column: span 5;
    font-size: 0.85em;
    font-weight: bold;
    padding:1px;
}

.datos-cobro-titulo[b-aozwc7hll5] {
    grid-column: span 3;
    text-align:center;
}
.datos-cobro-columnname[b-aozwc7hll5] {
    border-right: 1px solid red;
    text-align: center;
}
.datos-cobro-group[b-aozwc7hll5] {
    display: grid;
    grid-template-columns: repeat(2,50%);
    grid-template-rows: 1fr;
    grid-column-gap: 30px;
}
.datos-cobro-ajenos-group[b-aozwc7hll5] {
    display: grid;
    grid-template-columns: 70% 20%;
    grid-template-rows: 1fr;
    justify-content: space-between;
    grid-column-gap: 30px;
}
.datos-cobro-container[b-aozwc7hll5] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    
    
}
.datos-cobro[b-aozwc7hll5] {
    display: flex;
    justify-content: space-around;
    border: 1px solid red;
}

.datos-cobro-ajenos[b-aozwc7hll5] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(3, 1fr);
    border: 1px solid red;
   
}
.datos-cobro-ajenos-titulo[b-aozwc7hll5] {
    grid-column: span 5;
    text-align: center;
}
.titulo-cobros-totales[b-aozwc7hll5] {
    grid-column:span 5;
    grid-row:1;
    
    text-align:center;

}
.subtitulo-cobros-totales[b-aozwc7hll5] {
    grid-column: span 5;
    grid-row: 2;
    text-align: center;
}
.valor-cobros-totales[b-aozwc7hll5] {
    grid-column: span 5;
    grid-row: 3;
    text-align: center;
}
/* /Shared/MainLayout.razor.rz.scp.css */
.page[b-gcu2atdk62] {
    position: relative;
    display: flex;
    flex-direction: column;
}

/* El estado colapsado se define por media queries para móvil y escritorio */

.main[b-gcu2atdk62] {
    flex: 1;
}

.sidebar[b-gcu2atdk62] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

/* Positioning for the corner hamburger inside the sidebar */
.sidebar[b-gcu2atdk62] {
    position: relative;
    z-index: 2; /* sit above main content/top-row when needed */
}

.hamburger-sidebar[b-gcu2atdk62] {
    position: absolute;
    left: 0.5rem;
    top: 0.5rem;
    /* Ensure the hamburger button floats above other header elements */
    z-index: 3000;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background-color: rgba(255,255,255,0.08);
    color: white;
    box-shadow: 0 2px 6px rgba(0,0,0,0.25);
    border: 1px solid rgba(255,255,255,0.06);
    backdrop-filter: blur(2px);
}

/* Show the sidebar hamburger on wide screens */
@media (min-width: 768px) {
    .hamburger-sidebar[b-gcu2atdk62] {
        display: inline-block;
    }
}

/* On small screens show the sidebar hamburger too (topbar button fue eliminado) */
@media (max-width: 767.98px) {
    .hamburger-sidebar[b-gcu2atdk62] { display: inline-block !important; }
}

.top-row[b-gcu2atdk62] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-gcu2atdk62]  a, .top-row .btn-link[b-gcu2atdk62] {
        white-space: nowrap;
        margin-left: 1.5rem;
    }

    .top-row a:first-child[b-gcu2atdk62] {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 767.98px) {
    .top-row:not(.auth)[b-gcu2atdk62] {
        display: none;
    }

    .top-row.auth[b-gcu2atdk62] {
        justify-content: space-between;
    }

    .top-row a[b-gcu2atdk62], .top-row .btn-link[b-gcu2atdk62] {
        margin-left: 0;
    }
    /* En móvil, no ocultar el sidebar cuando está colapsado: mostrarlo como
       un rail fijo (solo íconos) a la izquierda en lugar de quitarlo.
       Esto evita el comportamiento "overlay" y hace que el menu colapse
       igual que en pantallas de escritorio. */
    .sidebar.collapsed[b-gcu2atdk62] {
        display: block !important;
        /* Rail estrecho para iconos */
        width: 88px !important;
        height: 100vh;
        position: fixed; /* fija a la izquierda para que el contenido se ajuste */
        left: 0;
        top: 0;
        overflow: hidden;
        z-index: 3000;
        transition: width 0.18s ease-in-out;
    }

    /* Ajustar el main para que no quede bajo el rail cuando el sidebar está colapsado */
    .sidebar.collapsed ~ .main[b-gcu2atdk62] {
        margin-left: 88px;
    }

    /* Nota: se eliminó el botón de la topbar, por lo que no hay reglas para .hamburger-top. */
}

@media (min-width: 768px) {
    .page[b-gcu2atdk62] {
        flex-direction: row;
    }

    .sidebar[b-gcu2atdk62] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
        transition: width 0.2s ease-in-out;
    }

    /* Estado colapsado en escritorio: mostrar solo un rail de iconos.
       Aumentamos ligeramente el ancho para que los iconos no queden pegados al borde. */
    .sidebar.collapsed[b-gcu2atdk62] {
        width: 88px !important;
        overflow: hidden;
    }

    /* El main utilizará el espacio libre automáticamente por flex */

    .top-row[b-gcu2atdk62] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .main > div[b-gcu2atdk62] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }

    /* Make the company selector wider and push user actions further to the right.
       Use a fixed flex-basis on wide screens but allow it to shrink on smaller widths. */
    .top-row .company-selector[b-gcu2atdk62] {
        /* target a roomy default width so the selector control has space */
        flex: 0 0 380px; /* don't grow, don't shrink below basis */
        min-width: 260px;
        max-width: 55%;
    }

    /* Ensure the contained select / dropdown stretches to the available width */
    .top-row .company-selector > *[b-gcu2atdk62] {
        width: 100%;
        box-sizing: border-box;
    }

    /* Keep user actions grouped and add a consistent gap between them */
    .top-row .user-actions[b-gcu2atdk62] {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        /* ms-auto is still useful for pushing this block to the far right; add a small left margin to ensure visible spacing */
        margin-left: 0.75rem;
    }

    /* On medium / small screens reduce the company selector so layout remains usable */
    @media (max-width: 991.98px) {
        .top-row .company-selector[b-gcu2atdk62] { flex: 1 1 auto; min-width: 0; max-width: none; }
        .top-row[b-gcu2atdk62] { padding-left: 0.5rem; padding-right: 0.5rem; }
    }
}
/* /Shared/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-laapowowm5] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-laapowowm5] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-laapowowm5] {
    font-size: 1.1rem;
}

.hamburger-sidebar[b-laapowowm5] {
    position: absolute;
    left: 0.5rem;
    top: 0.5rem;
    z-index: 3000;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background-color: rgba(255,255,255,0.08);
    color: white;
    box-shadow: 0 2px 6px rgba(0,0,0,0.25);
    border: 1px solid rgba(255,255,255,0.06);
    backdrop-filter: blur(2px);
}

.oi[b-laapowowm5] {
    width: 2rem;
    font-size: 1.1rem;
    vertical-align: text-top;
    top: -2px;
}

.nav-item[b-laapowowm5] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-laapowowm5] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-laapowowm5] {
        padding-bottom: 1rem;
    }

    .nav-item[b-laapowowm5]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

        .nav-item[b-laapowowm5]  a.active {
            background-color: rgba(255,255,255,0.25);
            color: white;
        }

        .nav-item[b-laapowowm5]  a:hover {
            background-color: rgba(255,255,255,0.1);
            color: white;
        }

@media (min-width: 768px) {
    .navbar-toggler[b-laapowowm5] {
        display: none;
    }

    .collapse[b-laapowowm5] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }
}

/* En pantallas pequeñas ocultamos el botón adicional de "navbar-toggler"
    dentro del sidebar para evitar duplicados. El control principal para
    abrir/cerrar el menú en móvil es el botón dentro del propio sidebar
    (`.hamburger-sidebar`). */
@media (max-width: 767.98px) {
    .navmenu .navbar-toggler[b-laapowowm5] {
        display: none !important;
    }

    /* Cuando el layout fuerza `navmenu.collapsed` en móvil, el contenedor
       interno usa la clase `collapse` (bootstrap) que por defecto oculta el
       listado; forzamos que se muestre para poder ver el rail de iconos. */
    .navmenu.collapsed .collapse[b-laapowowm5] {
        display: block !important;
    }
}

/* ===== Modo colapsado (iconos solo) ===== */
/* Estructura base para alinear icono + etiqueta */
ul.nav.flex-column > li > .nav-link[b-laapowowm5] {
    display: flex;
    align-items: center;
}

.nav-link .oi[b-laapowowm5] {
    margin-right: .5rem;
}

.navmenu .top-row[b-laapowowm5] {
    position: relative; /* needed so the brand can be absolutely positioned without affecting layout */
}

/* Avoid using display:none while the sidebar animates: position the brand absolutely and fade it in/out
   to prevent the title from wrapping under the hamburger icon during the expand transition. */
.navmenu .navbar-brand[b-laapowowm5] {
    position: absolute;
    /* Position brand relative to hamburger width so spacing is robust if button size changes */
    /* hamburger width is 36px; add a small gap using rem for responsiveness */
    left: calc(36px + 0.75rem);
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 0.18s ease, visibility 0.18s ease;
    opacity: 1;
    visibility: visible;
    white-space: nowrap;
    /* Keep brand below the hamburger in stacking order */
    z-index: 1000;
}

.navmenu.collapsed .navbar-brand[b-laapowowm5] {
    /* Keep it out of layout (absolute) but visually hidden while collapsing */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.navmenu.collapsed ul.nav.flex-column > li > .nav-link[b-laapowowm5] {
    justify-content: center;
    /* Añadimos algo más de acolchado horizontal para separar los iconos del borde */
    padding-left: 0.9rem;
    padding-right: 0.9rem;
}

.navmenu.collapsed .nav-link .oi[b-laapowowm5] {
    margin-right: 0;
    /* Un pequeño espaciado interno para evitar que el icono quede pegado al borde visualmente */
    margin-left: 0.25rem;
}

.navmenu .nav-link .label[b-laapowowm5] {
    /* Prevent label wrapping and fade-in after the sidebar width transition completes.
       Sidebar transition is 0.2s (see MainLayout.razor.css), so add a small delay so the
       text becomes visible only after the rail has expanded and there's room for it. */
    white-space: nowrap;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.16s ease 0.22s, visibility 0s linear 0.22s;
}

.navmenu.collapsed .nav-link .label[b-laapowowm5] {
    /* While collapsed, keep labels invisible but present in DOM to avoid layout jumps
       caused by toggling display. Use opacity/visibility so we can delay the fade-in. */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.12s ease 0s, visibility 0s linear 0s;
}
/* /Shared/RJResumMonthLayout.razor.rz.scp.css */
.page[b-3dmjkuzmvm] {
    position: relative;
    display: flex;
    flex-direction: column;
}

.main[b-3dmjkuzmvm] {
    flex: 1;
}

.sidebar[b-3dmjkuzmvm] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-3dmjkuzmvm] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-3dmjkuzmvm]  a, .top-row .btn-link[b-3dmjkuzmvm] {
        white-space: nowrap;
        margin-left: 1.5rem;
    }

    .top-row a:first-child[b-3dmjkuzmvm] {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 767.98px) {
    .top-row:not(.auth)[b-3dmjkuzmvm] {
        display: none;
    }

    .top-row.auth[b-3dmjkuzmvm] {
        justify-content: space-between;
    }

    .top-row a[b-3dmjkuzmvm], .top-row .btn-link[b-3dmjkuzmvm] {
        margin-left: 0;
    }
}

@media (min-width: 768px) {
    .page[b-3dmjkuzmvm] {
        flex-direction: row;
    }

    .sidebar[b-3dmjkuzmvm] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-3dmjkuzmvm] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .main > div[b-3dmjkuzmvm] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
