/* /Components/ColumnaOrdenable.razor.rz.scp.css */
.th-ordenable[b-5ds0ahl95u] {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.th-ordenable:hover[b-5ds0ahl95u] {
    background-color: rgba(0, 0, 0, 0.04);
}

.orden-flecha[b-5ds0ahl95u] {
    margin-left: 0.3rem;
    font-size: 0.7em;
    opacity: 0.25;
}

.orden-flecha.activa[b-5ds0ahl95u] {
    opacity: 1;
    color: var(--brand-blue);
}
/* /Components/GaleriaFotos.razor.rz.scp.css */
.galeria-grid[b-9e2oz52oad] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.5rem;
}

.galeria-item[b-9e2oz52oad] {
    padding: 0;
    border: none;
    border-radius: 6px;
    overflow: hidden;
    background: #eee;
    aspect-ratio: 4 / 3;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.galeria-item:hover[b-9e2oz52oad] {
    transform: scale(1.02);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.galeria-item img[b-9e2oz52oad] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.galeria-placeholder[b-9e2oz52oad] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.galeria-visor[b-9e2oz52oad] {
    position: fixed;
    inset: 0;
    z-index: 1080;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    flex-direction: column;
}

.galeria-visor-barra[b-9e2oz52oad] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 1rem;
    color: #fff;
}

.galeria-visor-titulo[b-9e2oz52oad] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.galeria-visor-contador[b-9e2oz52oad] {
    opacity: 0.7;
    margin-left: 0.75rem;
    font-size: 0.875rem;
}

.galeria-visor-cuerpo[b-9e2oz52oad] {
    flex: 1;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 0 1rem 1.5rem;
}

.galeria-visor-img[b-9e2oz52oad] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 4px;
}

.galeria-nav[b-9e2oz52oad] {
    flex: 0 0 auto;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
}

.galeria-nav:hover[b-9e2oz52oad] {
    background: rgba(255, 255, 255, 0.3);
}

@media (max-width: 576px) {
    .galeria-grid[b-9e2oz52oad] {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }

    .galeria-visor-cuerpo[b-9e2oz52oad] {
        padding: 0 0.25rem 1rem;
        gap: 0.25rem;
    }
}
/* /Layout/LoginLayout.razor.rz.scp.css */
.login-layout[b-tyq2p6n0k3] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: linear-gradient(180deg, var(--brand-navy) 0%, var(--brand-blue-dark) 100%);
    padding: 1rem;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-1tjuudvmf1] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-1tjuudvmf1] {
    flex: 1;
    /* Sin esto, un hijo flex no puede encogerse por debajo del ancho de su contenido:
       una tabla ancha empujaría el layout entero en vez de hacer scroll dentro de su
       propio contenedor .table-responsive. */
    min-width: 0;
}

.sidebar[b-1tjuudvmf1] {
    background-image: linear-gradient(180deg, var(--brand-navy) 0%, var(--brand-blue-dark) 100%);
    transition: width 0.2s ease-in-out;
}

.top-row[b-1tjuudvmf1] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-1tjuudvmf1]  a, .top-row[b-1tjuudvmf1]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-1tjuudvmf1]  a:hover, .top-row[b-1tjuudvmf1]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-1tjuudvmf1]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-1tjuudvmf1] {
        justify-content: space-between;
    }

    .top-row[b-1tjuudvmf1]  a, .top-row[b-1tjuudvmf1]  .btn-link {
        margin-left: 0;
    }
}

/* Aquí solo se decide el ANCHO de la barra. Cómo se ve por dentro en modo riel
   (iconos con etiqueta corta) lo resuelve NavMenu.razor.css, que es el dueño de
   esos elementos: el CSS con ámbito de Blazor no cruza de un componente a otro. */
@media (min-width: 641px) {
    .page[b-1tjuudvmf1] {
        flex-direction: row;
    }

    .sidebar[b-1tjuudvmf1] {
        /* Tablet: riel permanente. 250px se comerían un tercio de un iPad vertical. */
        width: 5.5rem;
        height: 100vh;
        position: sticky;
        top: 0;
        flex-shrink: 0;
    }

    .top-row[b-1tjuudvmf1] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-1tjuudvmf1]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-1tjuudvmf1], article[b-1tjuudvmf1] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

@media (min-width: 992px) {
    /* De aquí en adelante sí sobra ancho para las etiquetas completas. */
    .sidebar[b-1tjuudvmf1] {
        width: 250px;
    }

    .sidebar.collapsed[b-1tjuudvmf1] {
        width: 5.5rem;
    }
}

/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-3cqujjqc2d] {
    background-color: rgba(255, 255, 255, 0.1);
}

/* ===================== MODO RIEL =====================
   Icono + etiqueta corta debajo. Se activa en tres situaciones:

     1. Móvil (<641px): el riel se despliega superpuesto desde la hamburguesa.
     2. Tablet (641–991px): la barra vive siempre como riel; 250px se comerían
        un tercio de la pantalla y ahí no hay hamburguesa que la esconda.
     3. Escritorio (≥992px): solo cuando el usuario colapsa la barra a mano.

   El bloque se repite tal cual en las tres: CSS no deja reutilizar un conjunto de
   reglas entre media queries distintas sin un preprocesador, y aquí no hay ninguno.
   Si tocas uno, toca los tres.

   Ojo: estas reglas viven aquí y no en MainLayout.razor.css porque el CSS con ámbito
   de Blazor solo alcanza elementos del propio componente. El selector `.sidebar.collapsed`
   sí funciona desde aquí: el ámbito se agrega al último elemento del selector, no al
   ancestro. */

/* La etiqueta corta solo existe en modo riel. */
.nav-short[b-3cqujjqc2d] {
    display: none;
    font-size: 0.58rem;
    line-height: 1.05;
    text-align: center;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.nav-backdrop[b-3cqujjqc2d] {
    display: none;
}

/* ---------- 1. Móvil: riel superpuesto, abierto desde la hamburguesa ---------- */
@media (max-width: 640.98px) {
    .sidebar-collapse-btn[b-3cqujjqc2d] {
        display: none;
    }

    .nav-backdrop[b-3cqujjqc2d] {
        display: block;
        position: fixed;
        inset: 3.5rem 0 0 0;
        background: rgba(0, 0, 0, 0.45);
        z-index: 1040;
    }

    .nav-scrollable[b-3cqujjqc2d] {
        position: fixed;
        top: 3.5rem;
        left: 0;
        width: 5.5rem;
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
        z-index: 1050;
        background-image: linear-gradient(180deg, var(--brand-navy) 0%, var(--brand-blue-dark) 100%);
        box-shadow: 2px 0 10px rgba(0, 0, 0, 0.35);
    }

    .nav-label[b-3cqujjqc2d] { display: none; }
    .nav-short[b-3cqujjqc2d] { display: block; }
    .nav-item[b-3cqujjqc2d] { padding-bottom: 0.15rem; }
    .nav-item.px-3[b-3cqujjqc2d] { padding-left: 0.35rem !important; padding-right: 0.35rem !important; }
    .nav-item .nav-section-label[b-3cqujjqc2d] { display: none; }

    .nav-item:has(.nav-section-label)[b-3cqujjqc2d] {
        height: 1px;
        margin: 0.5rem 0.75rem;
        padding: 0 !important;
        overflow: hidden;
        background: rgba(255, 255, 255, 0.25);
    }

    .nav-item[b-3cqujjqc2d]  a,
    .nav-item[b-3cqujjqc2d]  span.nav-link {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0.15rem;
        height: auto;
        min-height: 3.25rem;
        padding: 0.4rem 0.1rem;
        line-height: 1.1;
    }

    .nav-icon[b-3cqujjqc2d] { margin-right: 0 !important; top: 0; }
}

/* ---------- 2. Tablet: la barra es un riel permanente ---------- */
@media (min-width: 641px) and (max-width: 991.98px) {
    .sidebar-collapse-btn[b-3cqujjqc2d] {
        display: none;
    }

    .brand-full[b-3cqujjqc2d] { display: none; }
    /* Dos selectores para ganarle al `.brand-mark { display: none }` de más abajo,
       que con la misma especificidad se impondría por orden de aparición. */
    .navbar-brand .brand-mark[b-3cqujjqc2d] { display: block; }
    .navbar-brand[b-3cqujjqc2d] { text-align: center; padding: 0; }

    .container-fluid[b-3cqujjqc2d] {
        flex-direction: column;
        gap: 0.25rem;
        padding: 0.5rem 0 !important;
    }

    .nav-label[b-3cqujjqc2d] { display: none; }
    .nav-short[b-3cqujjqc2d] { display: block; }
    .nav-item[b-3cqujjqc2d] { padding-bottom: 0.15rem; }
    .nav-item.px-3[b-3cqujjqc2d] { padding-left: 0.35rem !important; padding-right: 0.35rem !important; }
    .nav-item .nav-section-label[b-3cqujjqc2d] { display: none; }

    .nav-item:has(.nav-section-label)[b-3cqujjqc2d] {
        height: 1px;
        margin: 0.5rem 0.75rem;
        padding: 0 !important;
        overflow: hidden;
        background: rgba(255, 255, 255, 0.25);
    }

    .nav-item[b-3cqujjqc2d]  a,
    .nav-item[b-3cqujjqc2d]  span.nav-link {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0.15rem;
        height: auto;
        min-height: 3.25rem;
        padding: 0.4rem 0.1rem;
        line-height: 1.1;
    }

    .nav-icon[b-3cqujjqc2d] { margin-right: 0 !important; top: 0; }
}

/* ---------- 3. Escritorio: solo si el usuario colapsa la barra ---------- */
@media (min-width: 992px) {
    /* Barra completa: se ve la flecha del grupo y los catálogos van sangrados. */
    .sidebar:not(.collapsed) .nav-chevron[b-3cqujjqc2d] { display: inline; }
    .sidebar:not(.collapsed) .nav-subitem[b-3cqujjqc2d]  a { padding-left: 2.6rem; }

    .sidebar.collapsed .brand-full[b-3cqujjqc2d] { display: none; }
    .sidebar.collapsed .brand-mark[b-3cqujjqc2d] { display: block; }
    .sidebar.collapsed .navbar-brand[b-3cqujjqc2d] { text-align: center; padding: 0; }

    .sidebar.collapsed .container-fluid[b-3cqujjqc2d] {
        flex-direction: column;
        gap: 0.25rem;
        padding: 0.5rem 0 !important;
    }

    .sidebar.collapsed .nav-label[b-3cqujjqc2d] { display: none; }
    .sidebar.collapsed .nav-short[b-3cqujjqc2d] { display: block; }
    .sidebar.collapsed .nav-item[b-3cqujjqc2d] { padding-bottom: 0.15rem; }
    .sidebar.collapsed .nav-item.px-3[b-3cqujjqc2d] { padding-left: 0.35rem !important; padding-right: 0.35rem !important; }
    .sidebar.collapsed .nav-item .nav-section-label[b-3cqujjqc2d] { display: none; }

    .sidebar.collapsed .nav-item:has(.nav-section-label)[b-3cqujjqc2d] {
        height: 1px;
        margin: 0.5rem 0.75rem;
        padding: 0 !important;
        overflow: hidden;
        background: rgba(255, 255, 255, 0.25);
    }

    .sidebar.collapsed .nav-item[b-3cqujjqc2d]  a,
    .sidebar.collapsed .nav-item[b-3cqujjqc2d]  span.nav-link {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0.15rem;
        height: auto;
        min-height: 3.25rem;
        padding: 0.4rem 0.1rem;
        line-height: 1.1;
    }

    .sidebar.collapsed .nav-icon[b-3cqujjqc2d] { margin-right: 0 !important; top: 0; }
}

.top-row[b-3cqujjqc2d] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.25);
}

.navbar-brand[b-3cqujjqc2d] {
    font-size: 1.1rem;
    line-height: 1.15;
    overflow: hidden;
}

/* El logotipo usa Montserrat; el resto de la app, Inter. */
.brand-title[b-3cqujjqc2d] {
    display: block;
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-weight: 800;
    color: var(--brand-orange);
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.brand-subtitle[b-3cqujjqc2d] {
    display: block;
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-size: 0.65rem;
    font-weight: 500;
    color: #d7d7d7;
    letter-spacing: 0.15em;
    white-space: nowrap;
}

.brand-mark[b-3cqujjqc2d] {
    display: none;
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-weight: 800;
    font-size: 1.1rem;
    color: var(--brand-orange);
}

.sidebar-collapse-btn[b-3cqujjqc2d] {
    color: white;
    background-color: rgba(255, 255, 255, 0.1);
    border: none;
    line-height: 1;
    padding: 0.25rem 0.5rem;
}

    .sidebar-collapse-btn:hover[b-3cqujjqc2d] {
        background-color: rgba(255, 255, 255, 0.2);
        color: white;
    }

.nav-icon[b-3cqujjqc2d] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

.icon-obras[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.icon-reporte[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Crect x='1' y='9' width='3' height='6'/%3E%3Crect x='6.5' y='5' width='3' height='10'/%3E%3Crect x='12' y='2' width='3' height='13'/%3E%3C/svg%3E");
}

.icon-gestion[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M5 3.5A1.5 1.5 0 0 1 6.5 2h3A1.5 1.5 0 0 1 11 3.5V4h3.5A1.5 1.5 0 0 1 16 5.5v6a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 11.5v-6A1.5 1.5 0 0 1 1.5 4H5v-.5zM6 4h4v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V4z'/%3E%3C/svg%3E");
}

.icon-compra[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM5 14a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm7 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3z'/%3E%3C/svg%3E");
}

.icon-inventario[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z'/%3E%3C/svg%3E");
}

.icon-areas[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 3.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5v-2zM3 7.5h4.5V13H3.5a.5.5 0 0 1-.5-.5V7.5zm5.5 0H13v5a.5.5 0 0 1-.5.5H8.5V7.5z'/%3E%3C/svg%3E");
}

.icon-empresas[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M2 1h7v14H6v-3.5H5V15H2V1zm1.5 1.5v1.5H5V2.5H3.5zm2.5 0v1.5h1.5V2.5H6zm-2.5 3v1.5H5V5.5H3.5zm2.5 0v1.5h1.5V5.5H6zm-2.5 3v1.5H5V8.5H3.5zm2.5 0v1.5h1.5V8.5H6z'/%3E%3Cpath d='M10 5h4v10h-4V5zm1.25 1.5V8h1.5V6.5h-1.5zm0 3v1.5h1.5V9.5h-1.5zm0 3V15h1.5v-2.5h-1.5z'/%3E%3C/svg%3E");
}

.icon-tipos[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M2 2h5v5H2V2zm7 0h5v5H9V2zM2 9h5v5H2V9zm7 0h5v5H9V9z'/%3E%3C/svg%3E");
}

.icon-clientes[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M6 2.5A1.5 1.5 0 0 1 7.5 1h1A1.5 1.5 0 0 1 10 2.5V3h3.5A1.5 1.5 0 0 1 15 4.5v8A1.5 1.5 0 0 1 13.5 14h-11A1.5 1.5 0 0 1 1 12.5v-8A1.5 1.5 0 0 1 2.5 3H6v-.5zM7.25 3h1.5v-.5a.25.25 0 0 0-.25-.25h-1a.25.25 0 0 0-.25.25V3zM2.5 4.5v8h11v-8h-11z'/%3E%3C/svg%3E");
}

.icon-gastos[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z'/%3E%3Cpath d='M4 10.781c.148 1.667 1.513 2.85 3.591 3.003V15h1.043v-1.216c2.27-.179 3.678-1.438 3.678-3.3 0-1.59-.998-2.418-2.986-2.876l-.692-.166V4.15c1.147.129 1.863.745 2.02 1.628h1.043c-.121-1.616-1.415-2.756-3.063-2.874V1.5H7.591V2.9c-1.9.158-3.257 1.28-3.257 2.913 0 1.483.984 2.339 2.641 2.775l.616.157V13.31c-1.257-.15-2.16-.9-2.271-2.13H4Zm3.591-4.917c-1.239-.291-2.006-.766-2.006-1.687 0-.94.733-1.612 2.006-1.72v3.407Zm1.043 3.107c1.469.353 2.303.848 2.303 1.907 0 1.045-.888 1.784-2.303 1.913V9Z'/%3E%3C/svg%3E");
}

.icon-requisiciones[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M10 1.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1z'/%3E%3Cpath d='M4 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-.5a.5.5 0 0 0 0 1H12v11H4V3h.5a.5.5 0 0 0 0-1H4z'/%3E%3Cpath d='M11.354 6.354l-3.5 3.5a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l3.146-3.147a.5.5 0 0 1 .708.708z'/%3E%3C/svg%3E");
}

.icon-transferencias[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1 11.5a.5.5 0 0 0 .5.5h11.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 11H1.5a.5.5 0 0 0-.5.5zm14-7a.5.5 0 0 1-.5.5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H14.5a.5.5 0 0 1 .5.5z'/%3E%3C/svg%3E");
}

.icon-usuarios[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Ccircle cx='5.5' cy='5' r='2.3'/%3E%3Ccircle cx='11.2' cy='6' r='1.8'/%3E%3Cpath d='M1 14.2c0-2.6 2.1-4.7 4.7-4.7h.2c2.4 0 4.4 1.9 4.5 4.3l.02.4H1v-.2z'/%3E%3Cpath d='M11 10.2c1.9.2 3.3 1.8 3.3 3.7v.3h-2.6'/%3E%3C/svg%3E");
}

.icon-reportes[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.414A2 2 0 0 0 13.414 3L11 0.586A2 2 0 0 0 9.586 0H4Zm0 1h5.5v2A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1Z'/%3E%3Cpath d='M4.5 8a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5Zm0 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5Zm0 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5Z'/%3E%3C/svg%3E");
}

.icon-config[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 4.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7zm0 1.5a2 2 0 1 1 0 4 2 2 0 0 1 0-4z'/%3E%3Cpath d='M6.8 1h2.4l.3 1.7c.5.15.97.4 1.38.72l1.6-.65 1.2 2.08-1.3 1.06c.05.26.07.52.07.79s-.02.53-.07.79l1.3 1.06-1.2 2.08-1.6-.65c-.41.32-.88.57-1.38.72L9.2 15H6.8l-.3-1.7c-.5-.15-.97-.4-1.38-.72l-1.6.65-1.2-2.08 1.3-1.06A4.5 4.5 0 0 1 3.55 8c0-.27.02-.53.07-.79L2.32 6.15l1.2-2.08 1.6.65c.41-.32.88-.57 1.38-.72L6.8 1z'/%3E%3C/svg%3E");
}

/* Flecha del grupo desplegable. Solo se ve en modo barra completa (≥992 sin colapsar);
   en el riel angosto estorba y se oculta. */
.nav-chevron[b-3cqujjqc2d] {
    display: none;
    margin-left: auto;
    font-size: 0.7em;
    opacity: 0.75;
}

.icon-ayuda[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z'/%3E%3C/svg%3E");
}

.icon-logout[b-3cqujjqc2d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M6 3.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 0-1 0v2A1.5 1.5 0 0 0 6.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-8A1.5 1.5 0 0 0 5 3.5v2a.5.5 0 0 0 1 0v-2z'/%3E%3Cpath fill-rule='evenodd' d='M11.354 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L9.793 7.5H1.5a.5.5 0 0 0 0 1h8.293l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z'/%3E%3C/svg%3E");
}

.nav-section-label[b-3cqujjqc2d] {
    display: block;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
}

.nav-item[b-3cqujjqc2d] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-3cqujjqc2d] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-3cqujjqc2d] {
        padding-bottom: 1rem;
    }

    .nav-item[b-3cqujjqc2d]  a,
    .nav-item[b-3cqujjqc2d]  span.nav-link {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-3cqujjqc2d]  a.active {
    background-color: var(--brand-orange);
    color: white;
}

.nav-item[b-3cqujjqc2d]  a:hover,
.nav-item[b-3cqujjqc2d]  span.nav-link:hover {
    background-color: rgba(255,255,255,0.15);
    color: white;
}

@media (min-width: 641px) {
    /* De tablet en adelante la barra siempre está a la vista: no hay hamburguesa
       ni fondo oscurecido que cerrar. */
    .navbar-toggler[b-3cqujjqc2d] {
        display: none;
    }

    .collapse[b-3cqujjqc2d] {
        display: block;
    }

    .nav-scrollable[b-3cqujjqc2d] {
        /* La barra hace su propio scroll si el menú no cabe a lo alto. */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
