
/* Fuentes locales — Firefox exige rutas válidas y MIME correcto (sin depender de CDN) */
@font-face {
    font-family: "remixicon";
    src: url("/assets_admin/fonts/remixicon.woff2?v=20260521") format("woff2"),
         url("/assets_admin/fonts/remixicon.woff?v=20260521") format("woff");
    font-display: swap;
}

@font-face {
    font-family: "Material Design Icons";
    src: url("/assets_admin/fonts/materialdesignicons-webfont.woff2?v=20260521") format("woff2"),
         url("/assets_admin/fonts/materialdesignicons-webfont.woff?v=20260521") format("woff");
    font-display: swap;
}

@font-face {
    font-family: "flaticon";
    src: url("/tw-assets/mujeres/fonts/flaticon.woff2?v=20260521") format("woff2"),
         url("/tw-assets/mujeres/fonts/flaticon.woff?v=20260521") format("woff");
    font-display: swap;
}

/* Topbar compacto — altura ~52px (Velzon por defecto: 70px) */
:root {
    --lynx-topbar-height: 52px;
    --lynx-topbar-btn: 32px;
    --lynx-topbar-search-h: 32px;
    --lynx-page-content-gap: 1.25rem;
}

[data-layout="horizontal"] #page-topbar .navbar-header {
    height: var(--lynx-topbar-height);
    min-height: var(--lynx-topbar-height);
    padding-top: 0;
    padding-bottom: 0;
}

[data-layout="horizontal"] #page-topbar .header-item {
    height: var(--lynx-topbar-height);
}

[data-layout="horizontal"] #page-topbar .btn-topbar {
    height: var(--lynx-topbar-btn);
    width: var(--lynx-topbar-btn);
}

[data-layout="horizontal"] #page-topbar .btn-topbar .fs-22 {
    font-size: 1.125rem !important;
    line-height: 1;
}

[data-layout="horizontal"] #page-topbar .app-search {
    padding: calc((var(--lynx-topbar-height) - var(--lynx-topbar-search-h)) / 2) 0;
}

[data-layout="horizontal"] #page-topbar .app-search .form-control {
    height: var(--lynx-topbar-search-h);
    padding-left: 34px;
    padding-right: 4.25rem;
    font-size: 0.8125rem;
}

[data-layout="horizontal"] #page-topbar .app-search span.search-widget-icon {
    line-height: var(--lynx-topbar-search-h);
    font-size: 1rem;
    left: 10px;
}

[data-layout="horizontal"] #page-topbar .horizontal-logo .logo-lg img,
[data-layout="horizontal"] #page-topbar .horizontal-logo .logo-sm img {
    max-height: 42px;
    width: auto;
    height: auto !important;
    object-fit: contain;
}

[data-layout="horizontal"] #page-topbar .header-profile-user {
    height: 30px;
    width: 30px;
}

[data-layout="horizontal"] #page-topbar .topbar-user > .btn {
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none;
}

[data-layout="horizontal"] #page-topbar .topbar-user .user-name-text {
    font-size: 0.8125rem !important;
    line-height: 1.15;
}

[data-layout="horizontal"] #page-topbar .topbar-user .user-name-sub-text {
    font-size: 0.6875rem !important;
    line-height: 1.1;
}

/* Header derecho — layout compacto */
.lynx-header-right {
    gap: 0.15rem;
    min-width: 0;
}

.lynx-header-actions {
    gap: 0;
    flex-shrink: 0;
}

.lynx-header-actions > .header-item,
.lynx-header-right > .header-item {
    margin-left: 0 !important;
    padding-left: 0;
    padding-right: 0;
}

.lynx-header-hq {
    flex-shrink: 1;
    min-width: 0;
    margin-left: 0.15rem !important;
    margin-right: 0.35rem !important;
}

.lynx-hq-btn {
    min-height: var(--lynx-topbar-btn, 32px) !important;
    max-width: 9.5rem;
    padding: 0.15rem 0.45rem !important;
    gap: 0.3rem;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.1;
    border: 1px solid var(--vz-border-color, #e9ecef);
    background: var(--vz-light, #f3f6f9);
    color: var(--vz-body-color, #212529);
    border-radius: 999px;
    box-shadow: none;
}

.lynx-hq-btn:hover,
.lynx-hq-btn:focus,
.lynx-hq-btn.show {
    background: var(--vz-header-item-bg, #eef1f7);
    border-color: rgba(var(--vz-primary-rgb, 64, 81, 137), 0.25);
    color: var(--vz-primary, #405189);
}

.lynx-hq-btn__icon {
    font-size: 0.95rem;
    flex-shrink: 0;
    line-height: 1;
}

.lynx-hq-btn__label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.lynx-hq-btn__chevron {
    font-size: 0.85rem;
    flex-shrink: 0;
    opacity: 0.65;
}

.lynx-header-profile {
    margin-left: 0.5rem !important;
    flex-shrink: 0;
}

.lynx-profile-btn {
    padding: 0 !important;
    overflow: hidden;
}

.lynx-profile-btn .header-profile-user {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
}

[data-topbar="dark"] .lynx-hq-btn {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: var(--vz-header-item-color, #e9ecef);
}

[data-topbar="dark"] .lynx-hq-btn:hover,
[data-topbar="dark"] .lynx-hq-btn:focus,
[data-topbar="dark"] .lynx-hq-btn.show {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.18);
    color: #fff;
}

[data-layout="horizontal"] #page-topbar .lynx-header-profile .header-profile-user {
    height: 30px;
    width: 30px;
}

[data-layout="horizontal"] #page-topbar .lynx-profile-btn {
    width: 32px;
    height: 32px;
}

.lynx-header-more-menu {
    min-width: 11rem;
}

.lynx-header-more-menu .dropdown-item {
    font-size: 0.8125rem;
    padding: 0.4rem 0.65rem;
}

.lynx-header-search-dropdown {
    min-width: min(280px, calc(100vw - 1.5rem));
}

@media (max-width: 991.98px) {
    .lynx-hq-btn__label,
    .lynx-hq-btn__chevron {
        display: none !important;
    }

    .lynx-hq-btn {
        width: var(--lynx-topbar-btn, 32px);
        min-width: var(--lynx-topbar-btn, 32px);
        max-width: var(--lynx-topbar-btn, 32px);
        height: var(--lynx-topbar-btn, 32px);
        padding: 0 !important;
        justify-content: center;
        border-radius: 50%;
    }
}

@media (max-width: 575.98px) {
    [data-layout="horizontal"] #page-topbar .navbar-header {
        gap: 0.15rem;
    }

    [data-layout="horizontal"] #page-topbar .horizontal-logo .logo-lg img,
    [data-layout="horizontal"] #page-topbar .horizontal-logo .logo-sm img {
        max-height: 36px;
    }

    .lynx-header-right {
        gap: 0.05rem;
        min-width: 0;
        flex: 1 1 auto;
        justify-content: flex-end;
        overflow: visible;
    }

    .lynx-header-actions {
        flex-shrink: 1;
        min-width: 0;
    }

    .lynx-header-profile {
        margin-left: 0.15rem !important;
        z-index: 3;
    }

    [data-layout="horizontal"] #page-topbar .topbar-badge {
        top: 0.2rem;
        right: 0.1rem;
        transform: scale(0.9);
    }
}

[data-layout="horizontal"] #page-topbar .topbar-badge {
    top: 0.35rem;
    font-size: 0.625rem;
}

[data-layout="horizontal"] .navbar-menu {
    margin-top: var(--lynx-topbar-height);
}

[data-layout="horizontal"] .navbar-menu .navbar-nav .nav-link {
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

/* Layout horizontal: espacio bajo topbar + menú (refuerzo; el cálculo fino va en horizontal-layout-offset) */
[data-layout="horizontal"] .page-content {
    margin-top: 0 !important;
    padding-top: calc(var(--lynx-admin-header-offset, 9.75rem) + var(--lynx-page-content-gap, 1.25rem)) !important;
}

[data-layout="horizontal"] .page-title-box {
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important;
    position: relative;
    z-index: 2;
}

/* Menú horizontal: títulos cortos en barra; sin saltos de línea feos */
[data-layout="horizontal"] #navbar-nav > li.menu-title {
    display: none !important;
}

[data-layout="horizontal"] #navbar-nav > li.nav-item > .nav-link span {
    white-space: nowrap;
}

[data-layout="horizontal"] #navbar-nav > li.nav-item > .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

[data-layout="horizontal"] #sidebarMore .nav-link span {
    white-space: normal;
}

/* Móvil: sin menú «Más» (todos los ítems van en el drawer) */
@media (max-width: 1024px) {
    [data-layout="horizontal"] .lynx-nav-more,
    [data-layout="horizontal"] #navbar-nav > .nav-item:has(#sidebarMore) {
        display: none !important;
    }
}

/* Un solo «Más» al final de la barra; sin recorte de texto */
[data-layout="horizontal"] #navbar-nav > .nav-item.lynx-nav-more {
    margin-left: auto;
    flex-shrink: 0;
}

[data-layout="horizontal"] #navbar-nav > .nav-item.lynx-nav-more > .nav-link span {
    white-space: nowrap;
}

[data-layout="horizontal"] #navbar-nav > .nav-item:not(.lynx-nav-more) {
    flex-shrink: 0;
}

[data-layout="horizontal"] #navbar-nav > .lynx-nav-more ~ .lynx-nav-more {
    display: none !important;
}

/* Menú «Más» desktop: panel flotante (Velzon) siempre hacia adentro (izquierda) */
@media (min-width: 1024.1px) {
    [data-layout="horizontal"] #navbar-nav {
        flex-wrap: nowrap;
        align-items: center;
    }

    [data-layout="horizontal"] #navbar-nav > .nav-item.lynx-nav-more,
    [data-layout="horizontal"] #navbar-nav > .nav-item:has(#sidebarMore) {
        position: relative;
        flex-shrink: 0;
    }

    /* Panel principal «Más»: flotante bajo el ítem, pegado al borde derecho */
    [data-layout="horizontal"] #sidebarMore {
        position: absolute !important;
        top: 100% !important;
        right: 0 !important;
        left: auto !important;
        min-width: 12rem;
        max-width: min(20rem, calc(100vw - 1.5rem));
        z-index: 1050;
        padding: 0.5rem 0 !important;
        box-shadow: 0 0 5px rgba(15, 34, 58, 0.15) !important;
    }

    [data-layout="horizontal"] #navbar-nav > .nav-item:has(#sidebarMore):hover #sidebarMore,
    [data-layout="horizontal"] #sidebarMore.show,
    [data-layout="horizontal"] #sidebarMore.collapsing {
        display: block !important;
        height: auto !important;
    }

    [data-layout="horizontal"] #sidebarMore > .nav.nav-sm > .nav-item {
        position: relative;
    }

    /* Submenús: flyout flotante hacia la izquierda (nunca left:100% a la derecha) */
    [data-layout="horizontal"] #sidebarMore .nav-item > .menu-dropdown,
    [data-layout="horizontal"] #sidebarMore .menu-dropdown .menu-dropdown {
        position: absolute !important;
        top: 0 !important;
        left: auto !important;
        right: 100% !important;
        min-width: 12rem;
        margin-right: 0.25rem;
        padding: 0.5rem 0 !important;
        padding-left: 0 !important;
        box-shadow: 0 0 5px rgba(15, 34, 58, 0.15) !important;
        z-index: 1060;
    }

    [data-layout="horizontal"] #sidebarMore .nav-item:hover > .menu-dropdown,
    [data-layout="horizontal"] #sidebarMore .nav-item > .menu-dropdown.show {
        display: block !important;
        height: auto !important;
    }

    /* Evitar submenús sueltos fuera del panel «Más» en la barra principal */
    [data-layout="horizontal"] #navbar-nav > .nav-item:not(.lynx-nav-more) > .menu-dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 1050;
    }
}

/* Notificaciones — marcar todo como leído (icono minimalista) */
.lynx-notif-mark-all-btn {
    opacity: 0.72;
    transition: opacity 0.15s ease, color 0.15s ease;
}

.lynx-notif-mark-all-btn:hover,
.lynx-notif-mark-all-btn:focus {
    opacity: 1;
    color: #fff !important;
}

.lynx-notif-mark-all-btn:disabled {
    opacity: 0.35;
    pointer-events: none;
}
