/* Modo ayuda interactiva: outlines + tip al pasar el mouse (sin romper el layout) */

#btnAyudaModulo.active,
#btnAyudaModulo.ayuda-on {
    background: #0dcaf0;
    border-color: #0dcaf0;
    color: #000;
}

/* Banner compacto solo en el área de contenido */
.ayuda-banner {
    display: none;
    position: sticky;
    top: 0;
    z-index: 1020;
    margin: 0 0 0.75rem 0;
    padding: 0.45rem 0.85rem;
    border-radius: 0.5rem;
    background: linear-gradient(90deg, #e8f7fc 0%, #f0f9ff 100%);
    border: 1px solid #9eeaf9;
    color: #055160;
    font-size: 0.875rem;
    line-height: 1.35;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

body.ayuda-activa .ayuda-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.ayuda-banner .btn-cerrar-ayuda {
    white-space: nowrap;
    flex-shrink: 0;
}

/* Resaltar elementos con ayuda (sin empujar el layout) */
body.ayuda-activa [data-ayuda] {
    outline: 2px dashed #0d6efd;
    outline-offset: 2px;
    border-radius: 4px;
    position: relative;
    cursor: help;
}

/* Menú: outline fino, sin cambiar altura ni white-space */
body.ayuda-activa #sidebar-wrapper [data-ayuda] {
    outline-width: 1px;
    outline-offset: 0;
}

body.ayuda-activa #sidebar-wrapper .list-group-item,
body.ayuda-activa #sidebar-wrapper .sidebar-section-title {
    height: inherit;
    white-space: inherit;
}

/* Tip flotante al hover (no inserta cajas en el DOM del menú) */
body.ayuda-activa [data-ayuda]:hover::after,
body.ayuda-activa [data-ayuda]:focus-visible::after {
    content: attr(data-ayuda);
    position: absolute;
    left: 0;
    top: calc(100% + 6px);
    z-index: 3000;
    min-width: 180px;
    max-width: min(320px, 70vw);
    padding: 8px 10px;
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.35;
    text-align: left;
    white-space: normal;
    color: #084298;
    background: #fff;
    border: 1px solid #b6d4fe;
    border-left: 4px solid #0d6efd;
    border-radius: 0.4rem;
    box-shadow: 0 6px 18px rgba(13, 110, 253, 0.18);
    pointer-events: none;
}

/* En el menú: tip a la derecha para no alargar la barra */
body.ayuda-activa #sidebar-wrapper [data-ayuda]:hover::after,
body.ayuda-activa #sidebar-wrapper [data-ayuda]:focus-visible::after {
    left: calc(100% + 8px);
    top: 0;
    max-width: 260px;
    font-size: 0.75rem;
}

/* Legacy: si quedó algún .ayuda-tip viejo en caché, ocultarlo */
.ayuda-tip {
    display: none !important;
}

@media (max-width: 991.98px) {
    body.ayuda-activa #sidebar-wrapper [data-ayuda]:hover::after,
    body.ayuda-activa #sidebar-wrapper [data-ayuda]:focus-visible::after {
        left: 8px;
        right: 8px;
        top: calc(100% + 4px);
        max-width: none;
        width: auto;
    }
}

@media print {
    .ayuda-banner,
    #btnAyudaModulo {
        display: none !important;
    }
    body.ayuda-activa [data-ayuda] {
        outline: none;
    }
    body.ayuda-activa [data-ayuda]:hover::after {
        content: none;
    }
}
