/* ========================================
   PERSONALIZACIÓN EDORTEAM DLP - CONSOLA
   ======================================== */

/* === HEADER === */
/* Logo principal */
#CBheaderBox1Logo {
    background-image: url('/_img/svg/logo.svg');
}

/* Tag On Premise */
.onPremiseTag::after {
    color: #0070F5;
}

/* Icono de configuración principal en el header */
.mainConfigIcon {
    background-image: url('/_img/svg/parametros-off.svg');
}

#mainConfig:hover .mainConfigIcon {
    background-image: url('/_img/svg/parametros-on.svg');
}

/* === LOGO === */
#CBheaderBox1Logo {
    background-image: url('/_img/svg/logo.svg');
}

/* === MENÚ PRINCIPAL === */
.ETSmenu a.active {
    color: #00D6B4;
    background-color: #FFFFFF;
}

.ETSmenu a:hover:before {
    background-color: rgba(0, 214, 180, 0.2);
}

/* Iconos del menú principal */
#menu_reports {
    background-image: url('/_svg/mainmenu/informes.svg?a');
    background-size: 25px !important;
}

#menu_config {
    background-image: url('/_svg/mainmenu/discovery.svg?a');

}

#menu_policies {
    background-image: url('/_svg/mainmenu/politicasDLP.svg?a');

}

#menu_parameters {
    background-image: url('/_svg/mainmenu/parametros.svg?a');
    background-size: 25px!important;

}

#menu_geneticmark {
    background-image: url('/_svg/mainmenu/marcagen-off.svg');
    background-size: 32px !important;

}

#menu_reports:hover, #menu_reports.active {
    background-image: url('/_svg/mainmenu/informes_selected.svg?a');
}

#menu_config:hover, #menu_config.active {
    background-image: url('/_svg/mainmenu/discovery_selected.svg?a');
}

#menu_policies:hover, #menu_policies.active {
    background-image: url('/_svg/mainmenu/politicasDLP_selected.svg?a');
}

#menu_parameters:hover, #menu_parameters.active {
    background-image: url('/_svg/mainmenu/parametros_selected.svg?a');
}

#menu_geneticmark:hover, #menu_geneticmark.active {
    background-image: url('/_svg/mainmenu/marcagen-on.svg');
}

/* === LOGO BÚHO === */
.logoOwlDiv {
    background-image: url(/_img/svg/DLP.svg);
}

/* === MENÚ DE INFORMACIÓN DE PC === */
.PCIMenuList li:hover {
    background-color: #CFFEF4 !important;
    border-top: solid 1px #0DFBC9;
    border-bottom: solid 1px #0DFBC9;
}

/* Iconos del menú de información de PC */
.configIcon {
    background-image: url('/_svg/config.svg');
}

.warningIcon {
    background-image: url('/_img/svg/alerta.svg');
}

.auditIcon {
    background-image: url('/_img/svg/auditoria.svg');
}

.logIcon {
    background-image: url('/_img/svg/logs.svg');
}

/* Estados de monitorización */
.PCIActiveIcon {
    color: #00D6B4;
    background-image: url('/_img/svg/on.svg');
}

.PCIInactiveIcon {
    color: #F12E60;
    background-image: url('/_img/svg/off.svg');
}

.PCIDisconnectedIcon {
    color: #F12E60;
    background-image: url('/_img/svg/desconectado.svg');
}

/* === DIÁLOGOS MODALES === */
.windowsTitleText {
    color: #0070F5;
}

/* === BOTONES === */
.button {
    border: solid 1px #0070F5;
    color: #0070F5;
}

.button:hover {
    text-decoration: none;
    background-color: #0070f51a;
}

.buttonAction {
    background-color: #0070F5;
    color: white;
}

.buttonAction:hover {
    background-color: #0056b3;
    color: white;
}

/* Iconos de botones */
.buttonIconCheck {
    background-image: url(/_img/svg/aplicar.svg);
}

.buttonIconAdd {
    background-image: url(/_img/svg/anadir.svg);
}

.buttonIconCopy {
    background-image: url(/_img/svg/duplicar.svg);
}

.buttonIconMove {
    background-image: url(/_img/svg/move.svg);
}

/* === ENLACES === */
a {
    color: #0070F5;
    text-decoration: none;
}

.customColorLink {
    color: #0070F5;
}

/* === MENÚ DISCOVERY === */
.LBItemSelected {
    background-color: #E8F8FF !important;
}

.LBItem:hover {
    background-color: #E8F8FF !important;
    border-top: solid 1px #b3e5ff;
    border-bottom: solid 1px #b3e5ff;
}

.LBListMenu a:hover {
    color: #00D6B4;
}

/* Políticas DLP */
.DLPPolicyAddDLPGroup, .DLPPolicyAddDLPTemplates {
    background-image: url(/_img/svg/anadir.svg);
}

/* === LEDs DE ESTADO === */
.ledimg {
    background-image: url('/_img/svg/on.svg');
}

.ledimgoff {
    background-image: url('/_img/svg/off.svg');
}

/* === COLORES GENERALES === */
.colorAccent {
    color: #0073CE;
}

.colorBackgroundAccent {
    background: rgba(0,113,206,1);
    background: linear-gradient(145deg, rgba(0,113,206,1) 0%, rgba(0,113,206,1) 0%, rgba(0,113,206,1) 55%, rgba(0, 216, 180,1) 100%);
}

.iframeLoading {
    background-image: url('/_img/svg/loading.svg');
}

.LBcontentBoxLoading {
    background-image: url('/_img/svg/loading.svg');
}

.win10Loading {
    background-image: url('/_img/svg/loading.svg');
}

.modalfullscreenloadingimg {
    background-image: url('/_img/svg/loading.svg');
}

#rightBoxLoading {
    background-image: url('/_img/svg/loading.svg');
}

#RBPCConfigDivLoading {
    background-image: url('/_img/svg/loading.svg');
}

.loadingImg {
    background-image: url('/_img/svg/loading.svg');
}

.modalloadingImg {
    background-image: url('/_img/svg/loading.svg');
}

/* === BOTONES DE REPORTES === */
#CNFTabContent6loadingScreen .loadingImg {
    background-image: url('/_img/svg/loading.svg');
}

.RDButtonSearch a {
    background-image: url('/_img/svg/consultar.svg');
}

.RDButtonMax a {
    background-image: url('/_img/svg/maximizar.svg');
}

.RDButtonExcel a {
    background-image: url('/_img/svg/exportar.svg');
}

.RDButtonGraph a {
    background-image: url('/_img/svg/grafica.svg');
}

.RDTableDiv .loadingDiv .loadingGif {
    background-image: url('/_img/svg/loading.svg');
}

.loadingGifBottom {
    background-image: url('/_img/svg/loading.svg');
}

#RWidgetLogsDownload .exportIcon {
    background-image: url('/_img/svg/exportar.svg');
}

/* === POLÍTICAS DLP - BOTÓN FILTRAR POR EQUIPO === */
/* Edorteam usa el azul corporativo #0070F5, que es el valor por defecto en DLPPolicies.css */
/* No se necesitan overrides de color, quedan aquí documentados los selectores por consistencia */

/* Dropdown del filtro */
#PDLPFilterButtonContent {
    border-color: #0070F5;
}

/* Badge contador */
#PDLPFilterBadge {
    background: #0070F5;
}

/* Enlace "Limpiar filtro" */
#PDLPFilterActions a {
    color: #0070F5;
}

/* Botón activo con filtro aplicado */
#PDLPFilterButton.filterActive > #PDLPFilterButtonTitle > a {
    background-color: #e8f0fe;
    border-color: #0070F5;
    color: #0070F5;
}

/* Hover en filas del listado */
#PDLPFilterPCList li:hover,
#PDLPFilterDeptList li:hover {
    background: #0070f50d;
}

/* === FICHAS DE LA MARCA (las usa el tema común _css/theme2026/console.css) === */
:root {
    --brand: #0070F5;
    --brand-rgb: 0 112 245;
    /* Color de los datos (gráficas, cobertura, barras, estados informativos) */
    --data: #0070F5;
    --data-rgb: 0 112 245;
    --brand-logo: url('/_personalizaciones/dlp.edorteam.com/_img/svg/logo-header.svg');
    /* Barra superior: la bandera azul pegada al borde izquierdo (proporción del SVG 330,26 × 43,98) */
    --brand-logo-header: url('/_personalizaciones/dlp.edorteam.com/_img/svg/logo-header-flag.svg');
    --brand-logo-height: 38px;
    --brand-logo-width: 285px;
    --brand-logo-bleed: 24px;
    --brand-logo-separator: none;
    --pc-offline-image: "/_personalizaciones/dlp.edorteam.com/_img/pc-offline.png";
}

/* ==========================================================================
   TEMA 2026 DE LA CONSOLA (común a todas las marcas)
   Lo carga el bundle ~/min/domainstyles después de _personalizaciones/<marca>/_css/custom.css, que define las
   fichas de la marca: --brand (color principal), --brand-rgb (sus componentes, para transparencias),
   --brand-logo y --data / --data-rgb (color de los datos: gráficas, mapa de cobertura, barras y estados
   informativos como «Mensaje»; distinto del de marca si éste es rojo, para no confundirlo con «bloqueado»). Los tonos claros y oscuros se calculan con color-mix a partir de --brand.
   Ver docs/REDISENO_UI_EDORTEAM.md.
   ========================================================================== */

/* === PANTALLA DE CARGA DE LA CONSOLA (tras iniciar sesión) === */
#loading {
    position: fixed;
    inset: 0;
    z-index: 10000;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    color: #64708a;
    text-shadow: none;
    background:
        radial-gradient(60% 50% at 50% 40%, rgb(var(--brand-rgb) / .06) 0%, transparent 70%),
        linear-gradient(180deg, #ffffff 0%, color-mix(in srgb, var(--brand) 4%, #fff) 100%);
}

#loading .loadingImg {
    display: none;
}

#loading .loadingBrand {
    display: block;
    width: 190px;
    height: 56px;
    background: var(--brand-logo-large, var(--brand-logo)) no-repeat center / contain;
    animation: loadingFadeUp .5s ease-out both;
}

#loading .loadingBar {
    display: block;
    position: relative;
    width: 180px;
    height: 3px;
    margin-top: 32px;
    overflow: hidden;
    border-radius: 3px;
    background: #e3eaf6;
    animation: loadingFadeUp .5s .1s ease-out both;
}

#loading .loadingBar span {
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    border-radius: 3px;
    background: var(--brand);
    animation: loadingBarSlide 1.2s cubic-bezier(.65, 0, .35, 1) infinite;
}

#loading p {
    margin: 16px 0 0;
    font-size: 13px;
    letter-spacing: .01em;
    animation: loadingFadeUp .5s .2s ease-out both;
}

@keyframes loadingBarSlide {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(250%);
    }
}

@keyframes loadingFadeUp {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    #loading .loadingBar span {
        animation-duration: 2.4s;
    }

    #loading .loadingBrand,
    #loading .loadingBar,
    #loading p {
        animation: none;
    }
}


/* ==========================================================================
   REDISEÑO CONSOLA (2026)
   Sólo Edorteam. Mantiene los IDs/clases que usa el JavaScript de la consola.
   Tokens: tinta #13203A, azul Edorteam var(--brand), fondo blanco #FFFFFF, gris suave #F3F6FA, hielo #E4ECF8
   ========================================================================== */

#wrapper {
    min-height: 100vh;
    color: #13203A;
    background: #ffffff;
    font-variant-numeric: tabular-nums;
}

/* --- Cabecera: logo, ruta (distribuidor › empresa) y cuenta --- */
#CBheader {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 0 16px 0 24px;
    /* Integrada con el fondo: mismo blanco y sin línea inferior */
    background: #ffffff;
    border-bottom: 0;
    box-shadow: none;
}

#CBheader > .clear,
#CBHeaderLeft > .clear {
    display: none;
}

#CBHeaderLeft {
    float: none;
    width: auto;
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
}

/* Logo de la barra superior. La marca puede usar otro distinto al de la pantalla de carga (--brand-logo-header) y
   pegarlo al borde izquierdo (--brand-logo-bleed: el relleno izquierdo de la cabecera), como la bandera de Edorteam */
#CBheaderBox1Logo {
    float: none;
    flex: none;
    width: var(--brand-logo-width, 101px);
    height: var(--brand-logo-height, 30px);
    margin-left: calc(-1 * var(--brand-logo-bleed, 0px));
    margin-right: 20px;
    background: var(--brand-logo-header, var(--brand-logo)) no-repeat left center / contain;
}

/* Ruta: "Distribuidor › Empresa" (el texto "Gestionado por" se oculta) */
#CBHeaderDistributorName {
    order: 1;
    float: none;
    font-size: 0;
    white-space: nowrap;
}

#CBHeaderDistributorName::before {
    content: "";
    /* La marca la quita si su logo ya separa (--brand-logo-separator: none) */
    display: var(--brand-logo-separator, inline-block);
    width: 1px;
    height: 18px;
    margin-right: 20px;
    vertical-align: middle;
    background: #E4ECF8;
}

#CBHeaderDistributorName span {
    font-size: 13.5px;
    color: #5D6B82;
    vertical-align: middle;
}

#CBHeaderDistributorName::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin: 0 8px;
    vertical-align: middle;
    background: #A7B3C6;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
}

#CBHeaderCompanyName {
    order: 2;
    float: none;
    margin: 0;
    padding: 0;
    max-width: 340px;
    font-size: 13.5px;
    font-weight: 600;
    color: #13203A;
    border: 0;
}

#CBHeaderCompanyName.onPremiseTag::after {
    content: "On premise";
    display: inline-block;
    margin: 0 0 0 8px;
    padding: 2px 8px;
    font-size: 11.5px;
    font-weight: 600;
    line-height: normal;
    vertical-align: middle;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    border-radius: 999px;
}

#CBHeaderRight {
    float: none;
    display: flex;
    align-items: center;
    gap: 4px;
}

#CBHeaderRight1,
#CBHeaderRight2,
#CBHeaderRight3 {
    float: none;
    width: auto;
    margin: 0;
    line-height: normal;
    background: none;
}

/* Iconos de línea gris, sin color */
#CBHeaderRight1 a::before,
.mainConfigIcon {
    background: currentColor !important;
}

/* Ayuda */
#CBHeaderRight1 a {
    display: flex;
    align-items: center;
    gap: 7px;
    height: 32px;
    padding: 0 10px;
    font-size: 13px;
    color: #5D6B82;
    background: none;
    border: 0;
    border-radius: 6px;
}

#CBHeaderRight1 a::before {
    content: "";
    width: 16px;
    height: 16px;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 9.3a2.6 2.6 0 0 1 5 .9c0 1.7-2.5 2.3-2.5 3.8M12 17.2v.1'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 9.3a2.6 2.6 0 0 1 5 .9c0 1.7-2.5 2.3-2.5 3.8M12 17.2v.1'/%3E%3C/svg%3E") no-repeat center / contain;
}

#CBHeaderRight1 a:hover {
    color: #13203A;
    background: #F3F6FA;
}

/* Selector de idioma (I18N.selector): estilos en _css/theme2026/i18n.css; aquí sólo su hueco en la cabecera */
#CBHeaderLang {
    float: none;
    display: flex;
    align-items: center;
}

/* Cuenta: email + flecha forman un único botón que abre el menú (Cerrar sesión, logs...) */
#CBHeaderRight2 {
    display: flex;
    align-items: center;
    height: 32px;
    padding: 0 2px 0 10px;
    border-radius: 6px 0 0 6px;
    cursor: pointer;
}

#CBHeaderRight2 p {
    margin: 0;
    font-size: 13px;
    color: #13203A;
}

#mainConfig {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 32px;
    color: #5D6B82;
    border-radius: 0 6px 6px 0;
}

.mainConfigIcon {
    width: 14px;
    height: 14px;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
}

#CBHeaderRight2:hover,
#CBHeaderRight2:hover + #CBHeaderRight3 #mainConfig,
#CBHeaderRight:has(#mainConfig:hover) #CBHeaderRight2,
#mainConfig:hover {
    background: #F3F6FA;
}

#mainConfig:focus-visible,
#CBHeaderRight1 a:focus-visible,
#leftBox a:focus-visible,
#channelOverview a:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* --- Panel izquierdo: directorio del canal ---
   Tarjeta con el mismo borde que las del resumen del canal (1 px #E8EDF4, radio 14; 13/10/2026), con scroll nativo
   propio: cabecera fija arriba, buscador "sticky" dentro de la lista y lista con su propio desplazamiento. */
#leftBox {
    --native-scroll: 1;          /* UI.useNativeScroll(): retira slimScroll y usa el scroll del navegador */
    --add-in-header: 1;          /* UI.placeAddButton(): el botón "+" va en la cabecera, junto a recargar */
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    margin: 64px 0 0 16px;
    height: calc(100vh - 80px);
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-radius: 14px;
    overflow: hidden;
}

#leftBox > .clear {
    display: none;
}

/* Lista con scroll propio: no arrastra a la página al llegar al final */
#leftBox .slimScrollDiv {
    flex: 1 1 auto;
    min-height: 0;
    height: auto !important;
}

#leftBox #LBcontentBox {
    flex: 1 1 auto;
    min-height: 0;
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #D5DEEA transparent;
}

#leftBox #LBcontentBox::-webkit-scrollbar {
    width: 8px;
}

#leftBox #LBcontentBox::-webkit-scrollbar-thumb {
    background: #D5DEEA;
    border: 2px solid #ffffff;
    border-radius: 4px;
}

#leftBox .slimScrollBar,
#leftBox .slimScrollRail {
    display: none !important;
}

/* --- Cabecera del panel: título, recargar y más opciones --- */
#leftBox #LBheaderBox {
    flex: none;
    height: 52px;
    padding: 0 8px 0 16px;
    background: #ffffff;
}

#LBheaderBox2 {
    display: flex;
    align-items: center;
    height: 52px;
}

#LBheaderBox2Back {
    float: none;
    width: auto;
    margin: 0 6px 0 -4px;
    display: flex;
}

#LBheaderBox2Back img {
    width: 9px;
    margin: 0;
}

#LBheaderBox2Title {
    float: none;
    flex: 1;
    min-width: 0;
    width: auto;
    height: auto;
    line-height: 1.3;
    font-size: 16px;
    font-weight: 700;
    text-align: left !important;
    color: #13203A;
}

#LBheaderRightButtons {
    float: none;
    width: auto;
    margin: 0;
    display: flex;
    flex-direction: row-reverse;
    gap: 2px;
}

#LBheaderBox2More,
#LBheaderBox2Reload {
    float: none;
    width: 32px;
    height: 32px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #5D6B82;
    border-radius: 6px;
}

#LBheaderBox2More:hover,
#LBheaderBox2Reload:hover {
    color: #13203A;
    background: #F3F6FA;
}

#LBheaderBox2More:focus-visible,
#LBheaderBox2Reload:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 1px;
}

/* Iconos de línea en lugar de las imágenes antiguas */
#LBheaderBox2More img,
#LBheaderBox2Reload img {
    display: none;
}

#LBheaderBox2More::before,
#LBheaderBox2Reload::before {
    content: "";
    width: 18px;
    height: 18px;
    background: currentColor;
    -webkit-mask: var(--icon) no-repeat center / contain;
    mask: var(--icon) no-repeat center / contain;
}

#LBheaderBox2Reload {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 1 0-2.3 5.7'/%3E%3Cpath d='M20 4v7h-7'/%3E%3C/svg%3E");
}

#LBheaderBox2More {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='5' cy='12' r='1.8'/%3E%3Ccircle cx='12' cy='12' r='1.8'/%3E%3Ccircle cx='19' cy='12' r='1.8'/%3E%3C/svg%3E");
}

/* --- Buscador: fijo arriba dentro de la lista (sticky), con el botón "+" en la misma fila --- */
#LBcontentBoxDistributorsNotEmptySearchBar,
#LBcontentBoxCompaniesNotEmptySearchBar {
    position: sticky !important;
    top: 0 !important;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 8px;
    width: auto !important;
    padding: 0 12px 12px;
    background: #ffffff;
}

#leftBox .searchBar {
    flex: 1 1 auto;
    min-width: 0;
    box-sizing: border-box;
    height: 40px;
    margin: 0 !important;
    width: auto !important;
    padding: 0 38px 0 38px;
    font-family: inherit;
    font-size: 14px;
    color: #13203A;
    /* Lupa de línea (sustituye a la imagen antigua /_img/svg/search.svg) */
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A879C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 13px center / 16px;
    border: 1px solid #DCE3EE;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(19, 32, 58, .04);
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

#leftBox .searchBar:hover {
    border-color: #C3CEDD;
}

#leftBox .searchBar:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .14);
}

#leftBox .searchBar::placeholder {
    color: #8A96A8;
}

@media (prefers-reduced-motion: reduce) {
    #leftBox .searchBar {
        transition: none;
    }
}

/* Botón "+" (nuevo distribuidor / nueva empresa): JS lo coloca en la cabecera del panel, junto a recargar.
   Es la acción principal del panel: botón azul de marca con icono + texto corto, misma altura que los iconos */
#leftBox .FAB {
    position: static !important;
    flex: none;
    width: auto;
    height: 32px;
    margin: 0 6px 0 0;
    padding: 0 12px 0 9px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0;
    color: #ffffff;
    background: var(--brand);
    border: 0;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(0, 59, 140, .18), inset 0 1px 0 rgba(255, 255, 255, .14);
    text-decoration: none;
    transition: background-color .12s ease, box-shadow .12s ease;
}

#leftBox .FAB:hover {
    background: color-mix(in srgb, var(--brand) 85%, #000);
    box-shadow: 0 2px 6px rgba(0, 59, 140, .24), inset 0 1px 0 rgba(255, 255, 255, .14);
}

#leftBox .FAB:active {
    background: color-mix(in srgb, var(--brand) 71%, #000);
    box-shadow: none;
}

#leftBox .FAB:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

#leftBox .FAB::before {
    content: "";
    width: 14px;
    height: 14px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") no-repeat center / contain;
}

#leftBox .FAB::after {
    content: "Nuevo";
    position: static;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .01em;
    color: inherit;
}

#leftBox #LBCompaniesFABADD::after {
    content: "Nueva";
}

@media (prefers-reduced-motion: reduce) {
    #leftBox .FAB {
        transition: none;
    }
}

/* Borrar dentro del campo (a la izquierda del botón "+") */
#LBcontentBoxDistributorsNotEmptySearchBar .LBSearchClear {
    position: absolute;
    top: 10px;
    right: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 20px;
}

#LBcontentBoxDistributorsNotEmptySearchBar .LBSearchClear {
    display: none;
    width: 20px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #C9D3E1;
    cursor: pointer;
}

#LBcontentBoxDistributorsNotEmptySearchBar .LBSearchClear::before {
    content: "";
    width: 10px;
    height: 10px;
    background: #ffffff;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

#LBcontentBoxDistributorsNotEmptySearchBar .LBSearchClear:hover {
    background: #7A879C;
}

#LBcontentBoxDistributorsNotEmptySearchBar .LBSearchClear:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Con texto: se ve el botón de borrar */
#LBcontentBoxDistributorsNotEmptySearchBar.hasText .LBSearchClear {
    display: flex;
}

/* --- Filas (distribuidores, empresas, resultados): nombre, datos debajo y acciones a la derecha --- */
#LBcontentBoxDistributorsNotEmptyListAllCompanies,
#LBcontentBoxDistributorsNotEmptyList .LBItem,
#LBcontentBoxCompaniesNotEmptyList .LBItem,
#LBcontentBoxSearchCompanies .LBItem {
    display: flex;
    align-items: center;
    height: auto;
    min-height: 44px;
    margin: 0 8px;
    background-color: transparent;
    border: 0;
    border-radius: 6px;
}

#LBcontentBoxDistributorsNotEmptyListAllCompanies {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
    background: #F3F6FA !important;
}

#LBcontentBoxDistributorsNotEmptyListAllCompanies + .listFooter {
    display: none;
}

#leftBox .LBItemL,
#leftBox .LBItemLAlt {
    float: none;
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    height: auto;
}

#leftBox .LBItemA {
    box-sizing: border-box;
    display: block;
    height: auto !important;
    min-height: 44px;
    max-width: 100%;
    padding: 9px 12px;
    line-height: 1.3;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 14px;
    font-weight: 600;
    color: #13203A;
}

#LBcontentBoxCompaniesNotEmptyList .LBItemA {
    display: flex;
    align-items: center;
    font-weight: 500;
}

#leftBox .LBItemSub {
    display: block;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12.5px;
    font-weight: 400;
    color: #5D6B82;
}

#LBcontentBoxDistributorsNotEmptyListAllCompanies:hover,
#leftBox .LBItem:hover {
    background-color: color-mix(in srgb, var(--brand) 8%, #fff) !important;
    background-image: none !important;
    border: 0;
}

#leftBox .LBItem:hover .LBItemA {
    color: var(--brand);
}

#leftBox .LBItemSelected {
    background-image: none !important;   /* la consola antigua pone una flecha de fondo en las filas seleccionadas */
    background-color: color-mix(in srgb, var(--brand) 8%, #fff) !important;
    box-shadow: inset 3px 0 0 var(--brand);
    border: 0 !important;
}

#leftBox .LBItemSelected a {
    color: var(--brand);
}

/* Etiquetas de las empresas (demo, sin licencia, expirado, on premise): pastillas en línea, no superpuestas */
#leftBox .LBItemBadge::after {
    display: inline-block;
    flex: none;
    margin: 0 0 0 8px;
    padding: 1px 7px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
    border-radius: 999px;
}

#leftBox .LBItemDemo::after {
    content: "Demo";
    color: #0B6E4D;
    background: #E3F6EE;
}

#leftBox .LBItemUnlicenced::after {
    content: "Sin licencia";
    color: #5D6B82;
    background: #EEF2F8;
}

#leftBox .LBItemExpired::after {
    content: "Expirado";
    color: #A8243A;
    background: #FBE6EA;
}

#leftBox .LBItemOnPremise::after {
    content: "On premise";
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 8%, #fff);
}

/* Aviso de equipos con incidencias */
#leftBox .LBItemRAlt {
    float: none;
    flex: none;
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
}

#leftBox .LBItemRAlt img {
    width: 16px;
    margin: 0 4px 0 0;
}

/* Acciones de la fila: "Ver en el resumen" y menú ⋯ (Editar / Eliminar). Aparecen al pasar por la fila */
#leftBox .LBItemR,
#leftBox .LBItemFilter {
    float: none;
    flex: none;
    width: 28px;
    height: 28px;
    margin: 0 4px 0 0;
    opacity: 0;
    transition: opacity .12s ease;
}

#leftBox .LBItemFilter {
    order: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
}

#leftBox .LBItemR {
    order: 2;
}

#leftBox .LBItemR a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 6px;
}

#leftBox .LBItemR a::before,
#leftBox .LBItemFilter::before {
    content: "";
    /* El enlace de la fila lleva la clase .context-menu-icon del plugin, que saca el icono con
       posición absoluta y lo desplaza: se devuelve a su sitio dentro del botón */
    position: static;
    top: auto;
    left: auto;
    transform: none;
    width: 16px;
    height: 16px;
    background: #5D6B82;
    -webkit-mask: var(--icon) no-repeat center / contain;
    mask: var(--icon) no-repeat center / contain;
}

#leftBox .LBItemR a {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='5' cy='12' r='1.8'/%3E%3Ccircle cx='12' cy='12' r='1.8'/%3E%3Ccircle cx='19' cy='12' r='1.8'/%3E%3C/svg%3E");
}

#leftBox .LBItemFilter {
    --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V10M10 20V4M16 20v-7M22 20H2'/%3E%3C/svg%3E");
}

#leftBox .LBItem:hover .LBItemR,
#leftBox .LBItem:hover .LBItemFilter,
#leftBox .LBItemR:focus-within,
#leftBox .LBItemFilter:focus-visible,
#leftBox .LBItemSelected .LBItemFilter {
    opacity: 1;
}

#leftBox .LBItemR a:hover,
#leftBox .LBItemFilter:hover {
    background: color-mix(in srgb, var(--brand) 14%, #fff);
}

#leftBox .LBItemR a:hover::before,
#leftBox .LBItemFilter:hover::before,
#leftBox .LBItemSelected .LBItemFilter::before {
    background: var(--brand);
}

#leftBox .LBItemR a:focus-visible,
#leftBox .LBItemFilter:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 1px;
}

/* --- Buscador global: resultados --- */
#leftBox mark {
    padding: 0 1px;
    font-style: normal;         /* html5reset pone <mark> en cursiva y negrita */
    font-weight: inherit;
    color: inherit;
    background: #FFE9A8;
    border-radius: 2px;
}

/* Resultado activo al navegar con ↑ ↓ */
#leftBox .LBItem.isActive {
    background-color: color-mix(in srgb, var(--brand) 8%, #fff) !important;
}

#leftBox .LBItem.isActive .LBItemA {
    color: var(--brand);
}

/* Empresas encontradas: nombre + estado a la derecha, distribuidor y equipos debajo */
#LBcontentBoxSearchCompanies .LBItemA {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 10px;
}

#LBcontentBoxSearchCompanies .LBItemName {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#LBcontentBoxSearchCompanies .LBItemSub {
    grid-column: 1 / -1;
}

#leftBox .LBItemTag {
    display: inline-block;
    padding: 2px 8px;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.4;
    border-radius: 999px;
}

/* Mismos colores de estado que el dashboard (paleta validada) */
#leftBox .LBItemTag.is-demo {
    color: #0B6E4D;
    background: #E3F6EE;
}

#leftBox .LBItemTag.is-demoEnding {
    color: #8A5B00;
    background: #FDF1D8;
}

#leftBox .LBItemTag.is-demoExpired {
    color: #A8243A;
    background: #FBE6EA;
}

#leftBox .LBItemTag.is-unlicensed {
    color: #5D6B82;
    background: #EEF2F8;
}

#LBcontentBoxSearchCompanies .LBSearchEmpty {
    margin: 4px 20px;
    padding: 20px 0;
    font-size: 13px;
    color: #5D6B82;
}

#LBcontentBoxSearchCompanies .LBSearchEmpty p {
    margin: 0 0 4px;
}

#LBcontentBoxSearchCompanies .LBSearchEmpty strong {
    font-size: 14px;
    color: #13203A;
}

/* "Todas las empresas" no se muestra: el buscador global ya encuentra cualquier empresa.
   La ruta #companies/ sigue existiendo (enlace "Ver todas las empresas" del dashboard) */
#LBcontentBoxDistributorsNotEmptyListAllCompanies,
#LBcontentBoxDistributorsNotEmptyListAllCompanies + .listFooter {
    display: none !important;
}

/* Aviso de equipos con incidencias en los resultados del buscador */
#leftBox .LBItemWarn {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 6px;
    vertical-align: -2px;
    background: #D98E04;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 2.4 17.6A2 2 0 0 0 4.1 20.6h15.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 9v4M12 17v.1'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 2.4 17.6A2 2 0 0 0 4.1 20.6h15.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 9v4M12 17v.1'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Mientras se busca: fuera la tarjeta "Todas las empresas" y los textos de ayuda */
#LBcontentBoxDistributorsNotEmpty.isSearching #LBcontentBoxDistributorsNotEmptyListAllCompanies,
#LBcontentBoxDistributorsNotEmpty.isSearching #LBcontentBoxDistributorsNotEmptyListAllCompanies + .listFooter,
#LBcontentBoxDistributorsNotEmpty.isSearching #LBcontentBoxDistributorsNotEmptyList + .listFooter {
    display: none;
}

/* --- Secciones y textos de ayuda --- */
#leftBox .tablepadding1 .LBItemL,
#leftBox .tablepadding2 .LBItemL,
#leftBox .tablepadding3 .LBItemL {
    border-left: 1px solid #E4ECF8;
}

#leftBox .tableheader {
    padding: 16px 20px 6px;
    font-size: 13px;
    font-weight: 700;
    color: #5D6B82;
    background: none;
}

#LBcontentBoxDistributors .listFooter {
    padding: 14px 20px 24px;
    font-family: inherit;
    font-size: 12.5px;
    color: #7A879C;
}

#LBcontentBoxCompaniesNotEmptyList {
    margin-top: 0 !important;
    padding-bottom: 24px;
}

@media (prefers-reduced-motion: reduce) {
    #leftBox .LBItemR,
    #leftBox .LBItemFilter {
        transition: none;
    }
}

/* --- Dashboard del canal (zona derecha de la vista de distribuidores) ---
   Estilo SaaS: superficies blancas con borde fino y radio 14, sin sombras de plantilla.
   Una sola pieza protagonista: los cuatro indicadores son pestañas de la gráfica grande.
   El resto, en una rejilla tranquila: estado | demos | módulos, y distribuidores | actividad. */
#channelOverview.isActive {
    --co-ink: #0E1A33;
    --co-text: #3A475E;
    --co-muted: #69768C;
    --co-line: #E8EDF4;
    --co-line-strong: #D9E1EC;
    --co-soft: #F7F9FC;
    --co-blue: var(--brand);
    display: block;
    box-sizing: border-box;
    max-width: 1320px;
    margin-left: 448px;
    padding: 64px 40px 72px 8px;
    color: var(--co-text);
    font-variant-numeric: tabular-nums;
}

#channelOverview *,
#channelOverview *::before,
#channelOverview *::after {
    box-sizing: border-box;
}

/* El sistema de rejilla antiguo (_css/responsive grid system) fija header/section al 93,75 % */
#channelOverview header,
#channelOverview section {
    width: auto;
}

#channelOverview h1,
#channelOverview h2,
#channelOverview h3,
#channelOverview p,
#channelOverview ul {
    margin: 0;
    padding: 0;
}

#channelOverview ul {
    list-style: none;
}

#channelOverview a {
    color: var(--co-blue);
    text-decoration: none;
}

#channelOverview a:hover {
    text-decoration: underline;
}

#channelOverview .srOnly {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

#channelOverview.isRefreshing {
    opacity: .5;
    transition: opacity .2s ease;
}

#channelOverview a:focus-visible,
#channelOverview button:focus-visible,
#channelOverview select:focus-visible,
#channelOverview summary:focus-visible {
    outline: 2px solid var(--co-blue);
    outline-offset: 2px;
}

/* Estados de carga y error */
#channelOverview .COState {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 40px;
    font-size: 15px;
    color: var(--co-muted);
}

#channelOverview .COStateError {
    color: #B4263E;
}

#channelOverview .COSpinner {
    width: 16px;
    height: 16px;
    border: 2px solid var(--co-line);
    border-top-color: var(--co-blue);
    border-radius: 50%;
    animation: COSpin .7s linear infinite;
}

@keyframes COSpin {
    to {
        transform: rotate(360deg);
    }
}

/* --- Cabecera de página: título y alcance a la izquierda, controles a la derecha --- */
#channelOverview .COPageHeader {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px 24px;
    margin-bottom: 24px;
}

#channelOverview .COPageTitle {
    min-width: 0;
}

#channelOverview .COPageTitle h1 {
    font-size: 26px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -.015em;
    color: var(--co-ink);
}

#channelOverview .COPageTitle p {
    margin-top: 6px;
    font-size: 14px;
    color: var(--co-muted);
}

#channelOverview .COPageTitle a {
    font-weight: 600;
}

#channelOverview .COUpdated {
    margin-left: 12px;
    padding-left: 12px;
    border-left: 1px solid var(--co-line-strong);
}

#channelOverview .COPageActions {
    display: flex;
    align-items: center;
    gap: 8px;
}

#channelOverview .COSelect {
    position: relative;
    display: block;
}

#channelOverview .COSelect select {
    -webkit-appearance: none;
    appearance: none;
    height: 36px;
    max-width: 280px;
    margin: 0;
    padding: 0 36px 0 12px;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    color: var(--co-ink);
    background: #ffffff;
    border: 1px solid var(--co-line-strong);
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .04);
    cursor: pointer;
    text-overflow: ellipsis;
}

#channelOverview .COSelect select:hover {
    border-color: #C3CEDC;
}

#channelOverview .COSelect::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    width: 14px;
    height: 14px;
    margin-top: -7px;
    background: var(--co-muted);
    pointer-events: none;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
}

#channelOverview .COButton,
#channelOverview .COIconButton {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 36px;
    margin: 0;
    padding: 0 14px;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    color: var(--co-ink);
    background: #ffffff;
    border: 1px solid var(--co-line-strong);
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .04);
    cursor: pointer;
    transition: background-color .12s ease, border-color .12s ease;
}

#channelOverview .COButton:hover,
#channelOverview .COIconButton:hover {
    background: var(--co-soft);
    border-color: #C3CEDC;
}

#channelOverview .COButton.is-quiet {
    color: var(--co-blue);
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

#channelOverview .COButton.is-quiet:hover {
    background: color-mix(in srgb, var(--brand) 7%, #fff);
}

#channelOverview .COIconButton {
    width: 36px;
    padding: 0;
}

#channelOverview .COButton.is-export::before,
#channelOverview .COIconButton::before {
    content: "";
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: var(--co-icon) no-repeat center / contain;
    mask: var(--co-icon) no-repeat center / contain;
}

#channelOverview .COIconButton {
    color: var(--co-muted);
    --co-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 1 0-2.3 5.7'/%3E%3Cpath d='M20 4v7h-7'/%3E%3C/svg%3E");
}

#channelOverview .COIconButton:hover {
    color: var(--co-ink);
}

#channelOverview .COButton.is-export {
    --co-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
}

/* Exportar PDF: estado de espera y aviso si no se puede generar (channelOverviewPdf.js) */
#channelOverview .COButton:disabled {
    opacity: .6;
    cursor: progress;
}

#channelOverview .COPdfNotice {
    margin: 6px 0 0;
    font-size: 13px;
    color: #B42318;
}

/* --- Pieza principal: indicadores en pestañas + gráfica grande --- */
#channelOverview .COOverview {
    background: #ffffff;
    border: 1px solid var(--co-line);
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .03), 0 12px 32px -20px rgba(14, 26, 51, .14);
    overflow: hidden;
}

#channelOverview .COTabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: var(--co-soft);
    border-bottom: 1px solid var(--co-line);
}

#channelOverview .COTab {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
    margin: 0;
    padding: 20px 24px 18px;
    font: inherit;
    text-align: left;
    color: var(--co-muted);
    background: transparent;
    border: 0;
    border-right: 1px solid var(--co-line);
    border-radius: 0;
    cursor: pointer;
    transition: background-color .12s ease;
}

#channelOverview .COTab:last-child {
    border-right: 0;
}

#channelOverview .COTab:hover {
    background: #F1F5FA;
}

#channelOverview .COTab:focus-visible {
    outline-offset: -2px;
}

/* La pestaña activa se funde con la gráfica: fondo blanco, sin borde inferior y una línea azul arriba */
#channelOverview .COTab.is-active {
    background: #ffffff;
    cursor: default;
}

#channelOverview .COTab.is-active::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--co-blue);
}

#channelOverview .COTab.is-active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: #ffffff;
}

#channelOverview .COTabLabel {
    font-size: 13.5px;
    font-weight: 600;
}

#channelOverview .COTab.is-active .COTabLabel {
    color: var(--co-ink);
}

#channelOverview .COTabValue {
    font-size: 32px;
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--co-ink);
}

#channelOverview .COTab:not(.is-active) .COTabValue {
    color: #26334C;
}

#channelOverview .COUnit {
    margin-left: 3px;
    font-size: .55em;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--co-muted);
}

#channelOverview .COTabNote {
    max-width: 100%;
    overflow: hidden;
    font-size: 13px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#channelOverview .CODelta {
    font-weight: 700;
}

#channelOverview .CODelta.is-up {
    color: #0E8A5F;
}

#channelOverview .CODelta.is-down {
    color: #C2364B;
}

#channelOverview .COMain {
    padding: 24px 28px 18px;
}

#channelOverview .COMainHead {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px 24px;
    margin-bottom: 20px;
}

#channelOverview .COMainHead h2 {
    font-size: 15px;
    font-weight: 700;
    color: var(--co-ink);
}

#channelOverview .COMainHead p {
    margin-top: 4px;
    font-size: 13px;
    color: var(--co-muted);
}

#channelOverview .COChart {
    position: relative;
    height: 240px;
}

#channelOverview .COChart.is-main {
    height: 300px;
}

#channelOverview .COChart.is-compact {
    height: 200px;
}

#channelOverview .COEmpty.is-main {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 300px;
    margin: 0;
    background: var(--co-soft);
    border-radius: 10px;
}

/* Leyenda: la forma de la clave imita a la marca (cuadro para barras, línea para líneas) */
#channelOverview .COChartLegend {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    font-size: 13px;
    color: var(--co-text);
}

#channelOverview .COChartLegend li {
    display: flex;
    align-items: center;
    gap: 7px;
}

#channelOverview .COChartLegend li::before {
    content: "";
    width: 10px;
    height: 10px;
    background: var(--key);
    border-radius: 3px;
}

#channelOverview .COChartLegend li.is-line::before {
    width: 14px;
    height: 2px;
    border-radius: 2px;
}

#channelOverview .COChartLegend.is-small {
    font-size: 12.5px;
    color: var(--co-muted);
}

/* Tooltip de las gráficas (HTML): valor en negrita, nombre de la serie después, clave de línea */
#channelOverview .COTip {
    position: absolute;
    z-index: 5;
    top: 0;
    left: 0;
    min-width: 140px;
    padding: 10px 12px;
    white-space: nowrap;
    background: #ffffff;
    border: 1px solid var(--co-line);
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(14, 26, 51, .06), 0 14px 32px -10px rgba(14, 26, 51, .22);
    opacity: 0;
    pointer-events: none;
    transition: opacity .12s ease;
}

#channelOverview .COTip.is-visible {
    opacity: 1;
}

#channelOverview .COTipTitle {
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--co-muted);
}

#channelOverview .COTipRow {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--co-muted);
}

#channelOverview .COTipRow + .COTipRow {
    margin-top: 5px;
}

#channelOverview .COTipRow strong {
    font-size: 14px;
    font-weight: 700;
    color: var(--co-ink);
}

#channelOverview .COTipKey {
    flex: none;
    width: 12px;
    height: 3px;
    border-radius: 2px;
}

#channelOverview .COTipKey.is-box {
    width: 9px;
    height: 9px;
}

/* "Ver datos": tabla equivalente a la gráfica */
#channelOverview .CODataTable {
    margin-top: 12px;
}

#channelOverview .CODataTable summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--co-muted);
    cursor: pointer;
    list-style: none;
}

#channelOverview .CODataTable summary::-webkit-details-marker {
    display: none;
}

#channelOverview .CODataTable summary::after {
    content: "";
    width: 12px;
    height: 12px;
    background: currentColor;
    transition: transform .15s ease;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
}

#channelOverview .CODataTable summary:hover {
    color: var(--co-ink);
}

#channelOverview .CODataTable[open] summary::after {
    transform: rotate(180deg);
}

#channelOverview .CODataTableScroll {
    max-height: 280px;
    margin-top: 10px;
    overflow: auto;
    border: 1px solid var(--co-line);
    border-radius: 10px;
}

#channelOverview .CODataTable table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

#channelOverview .CODataTable th,
#channelOverview .CODataTable td {
    padding: 8px 14px;
    text-align: right;
    border-bottom: 1px solid var(--co-line);
}

#channelOverview .CODataTable th:first-child,
#channelOverview .CODataTable td:first-child {
    text-align: left;
}

#channelOverview .CODataTable th {
    position: sticky;
    top: 0;
    font-weight: 600;
    color: var(--co-muted);
    background: var(--co-soft);
}

#channelOverview .CODataTable tr:last-child td {
    border-bottom: 0;
}

/* --- Rejilla de paneles --- */
#channelOverview .COGrid {
    display: grid;
    gap: 20px;
    margin-top: 20px;
}

#channelOverview .COGrid.is-thirds {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

#channelOverview .COGrid.is-7-5 {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

#channelOverview .COPanel {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 22px 24px 20px;
    background: #ffffff;
    border: 1px solid var(--co-line);
    border-radius: 14px;
}

#channelOverview .COPanelHead {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

#channelOverview .COPanel h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 700;
    color: var(--co-ink);
}

#channelOverview .COPanelHint {
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.45;
    color: var(--co-muted);
}

#channelOverview .COPanelLink {
    flex: none;
    font-size: 13px;
    font-weight: 600;
}

#channelOverview .COCount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    font-size: 12px;
    font-weight: 700;
    color: #8A5A00;
    background: #FEF1D6;
    border-radius: 11px;
}

#channelOverview .COCount.is-zero {
    color: var(--co-muted);
    background: var(--co-soft);
}

#channelOverview .COEmpty {
    margin-top: 16px;
    font-size: 13.5px;
    color: var(--co-muted);
}

#channelOverview .COFootnote,
#channelOverview .COMore {
    margin-top: auto;
    padding-top: 14px;
    font-size: 13px;
    color: var(--co-muted);
}

#channelOverview .COMore {
    margin-top: 0;
}

/* Estado de las empresas: anillo + lista con recuento y porcentaje */
#channelOverview .CODonut {
    position: relative;
    width: 168px;
    height: 168px;
    margin: 18px auto 20px;
}

#channelOverview .CODonutCenter {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

#channelOverview .CODonutCenter strong {
    font-size: 32px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--co-ink);
}

#channelOverview .CODonutCenter span {
    margin-top: 6px;
    font-size: 12.5px;
    color: var(--co-muted);
}

#channelOverview .COStatusList li {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto 44px;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    font-size: 13.5px;
    border-top: 1px solid var(--co-line);
}

#channelOverview .COStatusList li:first-child {
    border-top: 0;
}

#channelOverview .COStatusList li.is-zero {
    opacity: .5;
}

#channelOverview .COKey {
    width: 10px;
    height: 10px;
    border-radius: 3px;
}

#channelOverview .COStatusLabel {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#channelOverview .COStatusCount {
    font-weight: 700;
    color: var(--co-ink);
}

#channelOverview .COStatusPct {
    text-align: right;
    color: var(--co-muted);
}

/* Listas con enlace (demos que caducan) */
#channelOverview .COList {
    margin-top: 12px;
}

#channelOverview .COList li + li {
    border-top: 1px solid var(--co-line);
}

#channelOverview .COList a {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 -10px;
    padding: 10px;
    color: inherit;
    border-radius: 8px;
}

#channelOverview .COList a:hover {
    text-decoration: none;
    background: var(--co-soft);
}

#channelOverview .COItemText {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

#channelOverview .COItemName,
#channelOverview .COItemMeta {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#channelOverview .COItemName {
    font-size: 14px;
    font-weight: 600;
    color: var(--co-ink);
}

#channelOverview .COItemMeta {
    margin-top: 2px;
    font-size: 12.5px;
    color: var(--co-muted);
}

#channelOverview .COTag {
    flex: none;
    padding: 3px 9px;
    font-size: 12.5px;
    font-weight: 600;
    border-radius: 999px;
}

#channelOverview .COTag.is-ending {
    color: #8A5B00;
    background: #FEF1D6;
}

#channelOverview .COTag.is-urgent {
    color: #A8243A;
    background: #FBE6EA;
}

/* Módulos contratados + almacenamiento */
#channelOverview .COModules {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 18px;
}

#channelOverview .COModules li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 12px;
    font-size: 13.5px;
}

#channelOverview .COModuleName {
    color: var(--co-text);
}

#channelOverview .COModuleValue {
    font-weight: 700;
    color: var(--co-ink);
}

#channelOverview .COModuleBar {
    grid-column: 1 / -1;
    height: 6px;
    background: #EDF1F7;
    border-radius: 3px;
    overflow: hidden;
}

#channelOverview .COModuleBar span {
    display: block;
    height: 100%;
    background: var(--co-blue);
    border-radius: 3px;
}

#channelOverview .COStorage {
    margin-top: auto;
    padding-top: 20px;
}

#channelOverview .COModules + .COStorage,
#channelOverview .COEmpty + .COStorage {
    margin-top: 22px;
    border-top: 1px solid var(--co-line);
}

#channelOverview .COStorageHead {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

#channelOverview .COStorageHead h3 {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--co-text);
}

#channelOverview .COStorageValue {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -.015em;
    color: var(--co-ink);
}

#channelOverview .COStorageBar {
    display: flex;
    gap: 2px;
    height: 8px;
    margin: 10px 0;
    background: #EDF1F7;
    border-radius: 4px;
    overflow: hidden;
}

#channelOverview .COStorageBar span {
    min-width: 2px;
}

#channelOverview .COStorageBar .is-db {
    background: var(--co-blue);
}

#channelOverview .COStorageBar .is-shots {
    background: #C5CFDD;
}

/* Ranking de distribuidores / empresas: tabla con barra relativa bajo el nombre */
#channelOverview .CORankTable {
    width: 100%;
    margin-top: 12px;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 13.5px;
}

#channelOverview .CORankTable th {
    padding: 0 0 8px 12px;
    font-size: 12.5px;
    font-weight: 600;
    text-align: right;
    color: var(--co-muted);
    border-bottom: 1px solid var(--co-line);
}

#channelOverview .CORankTable th:first-child {
    width: auto;
    padding-left: 0;
    text-align: left;
}

#channelOverview .CORankTable th:nth-child(2),
#channelOverview .CORankTable th:nth-child(3) {
    width: 84px;
}

#channelOverview .CORankTable th:nth-child(4) {
    width: 64px;
}

#channelOverview .CORankTable td {
    padding: 10px 0 10px 12px;
    text-align: right;
    color: var(--co-text);
    border-bottom: 1px solid var(--co-line);
}

#channelOverview .CORankTable tr:last-child td {
    border-bottom: 0;
}

#channelOverview .CORankTable .CORankCell {
    padding-left: 0;
    text-align: left;
}

#channelOverview .CORankCell a {
    display: block;
    overflow: hidden;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--co-ink);
}

#channelOverview .CORankCell a:hover {
    color: var(--co-blue);
}

#channelOverview .COShare {
    display: block;
    height: 4px;
    margin-top: 7px;
    background: #EDF1F7;
    border-radius: 2px;
    overflow: hidden;
}

#channelOverview .COShare span {
    display: block;
    height: 100%;
    background: var(--co-blue);
    border-radius: 2px;
}

#channelOverview .COStrong {
    font-weight: 700;
    color: var(--co-ink);
}

#channelOverview .COMutedCell {
    color: var(--co-muted);
}

/* Actividad: agrupada por día, icono por tipo de acción */
#channelOverview .COActivity {
    margin-top: 12px;
}

#channelOverview .COActivity li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 0;
    border-top: 1px solid var(--co-line);
}

#channelOverview .COActivity .COActivityDay {
    display: block;
    margin-top: 12px;
    padding: 0 0 4px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--co-muted);
    border: 0;
}

#channelOverview .COActivity .COActivityDay:first-child {
    margin-top: 0;
}

#channelOverview .COActivity .COActivityDay + li {
    border-top: 0;
}

#channelOverview .COActivity li:not(.COActivityDay)::before {
    content: "";
    flex: none;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: var(--act-bg, var(--co-soft)) no-repeat center / 15px;
    background-image: var(--act-icon);
}

#channelOverview .COActivity .is-pc-added {
    --act-bg: color-mix(in srgb, var(--data) 8%, #fff);
    --act-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='2'/%3E%3Cpath d='M8 20h8M12 7v6M9 10h6'/%3E%3C/svg%3E");
}

#channelOverview .COActivity .is-pc-removed {
    --act-bg: #FDEDED;
    --act-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C93A39' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='2'/%3E%3Cpath d='M8 20h8M9 10h6'/%3E%3C/svg%3E");
}

#channelOverview .COActivity .is-company-added {
    --act-bg: color-mix(in srgb, var(--data) 8%, #fff);
    --act-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16M2 21h20M8 7h4M8 11h4'/%3E%3Cpath d='M19 9v6M16 12h6'/%3E%3C/svg%3E");
}

#channelOverview .COActivity .is-company-removed {
    --act-bg: #FDEDED;
    --act-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C93A39' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16M2 21h20M8 7h4M8 11h4M16 12h6'/%3E%3C/svg%3E");
}

#channelOverview .COActivity .is-config {
    --act-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235D6B82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h10M18 6h2M4 12h4M12 12h8M4 18h12'/%3E%3Ccircle cx='16' cy='6' r='2'/%3E%3Ccircle cx='10' cy='12' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E");
}

#channelOverview .COActivity time {
    flex: none;
    font-size: 12.5px;
    color: var(--co-muted);
}

/* Distribuidor sin empresas */
#channelOverview .COEmptyScope {
    padding: 56px 32px;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
    color: var(--co-muted);
    border: 1px dashed var(--co-line-strong);
    border-radius: 14px;
}

#channelOverview .COEmptyScope .COEmptyTitle {
    margin-bottom: 6px;
    font-size: 16px;
    font-weight: 700;
    color: var(--co-ink);
}

#channelOverview .COEmptyScope a {
    font-weight: 600;
}

/* --- Todas las empresas y registro de actividad (sustituyen a "Ver estadísticas") ---
   --replaces-stats: los menús "⋯" muestran "Ver todas las empresas" y "Ver registro de actividad" y #stats lleva aquí */
#channelOverview {
    --replaces-stats: 1;
}

#channelOverview .COCompanies {
    margin-top: 20px;
    scroll-margin-top: 72px;
}

#channelOverview .COCount.is-neutral {
    color: var(--co-muted);
    background: var(--co-soft);
}

/* Barra de herramientas: búsqueda (y filtros del registro) */
#channelOverview .COTableTools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    margin: 16px 0 8px;
}

#channelOverview .COSearch {
    position: relative;
    display: block;
    flex: 0 1 320px;
    min-width: 220px;
}

#channelOverview .COSearch::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 12px;
    width: 15px;
    height: 15px;
    margin-top: -7.5px;
    background: var(--co-muted);
    pointer-events: none;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat center / contain;
}

#channelOverview .COSearch input {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    width: 100%;
    height: 38px;
    margin: 0;
    padding: 0 12px 0 36px;
    font: inherit;
    font-size: 14px;
    color: var(--co-ink);
    background: #ffffff;
    border: 1px solid var(--co-line-strong);
    border-radius: 8px;
    outline: none;
    transition: border-color .12s ease, box-shadow .12s ease;
}

#channelOverview .COSearch input::placeholder {
    color: #9AA5B5;
}

#channelOverview .COSearch input:focus {
    border-color: var(--co-blue);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .15);
}

/* Tabla de empresas */
#channelOverview .COTableScroll {
    overflow-x: auto;
}

#channelOverview .COCompaniesTable {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    font-size: 13.5px;
}

#channelOverview .COCompaniesTable th {
    padding: 0 12px 0 0;
    text-align: left;
    border-bottom: 1px solid var(--co-line);
}

#channelOverview .COCompaniesTable td {
    padding: 11px 12px 11px 0;
    vertical-align: middle;
    color: var(--co-text);
    border-bottom: 1px solid var(--co-line);
}

#channelOverview .COCompaniesTable tbody tr:hover td {
    background: var(--co-soft);
}

#channelOverview .COCompaniesTable .CONum {
    text-align: right;
    white-space: nowrap;
}

#channelOverview .COCompaniesTable th:last-child,
#channelOverview .COCompaniesTable td:last-child {
    padding-right: 4px;
}

#channelOverview .COSortButton {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
    padding: 10px 0;
    font: inherit;
    font-size: 12.5px;
    font-weight: 600;
    white-space: nowrap;
    color: var(--co-muted);
    background: none;
    border: 0;
    cursor: pointer;
}

#channelOverview .COSortButton:hover,
#channelOverview .COSortButton.is-active {
    color: var(--co-ink);
}

#channelOverview .COCompaniesTable th:not(:has(button)) {
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--co-muted);
}

#channelOverview .COCompanyCell {
    max-width: 320px;
}

#channelOverview .COCompanyCell a {
    display: block;
    overflow: hidden;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--co-ink);
}

#channelOverview .COCompanyCell a:hover {
    color: var(--co-blue);
}

#channelOverview .COCompanyCell .COItemMeta {
    display: block;
    max-width: 320px;
}

#channelOverview .COModulesTd {
    max-width: 220px;
}

#channelOverview .COModulesCell {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Etiquetas de estado: mismos colores que el anillo, en versión suave */
#channelOverview .COStatusTag {
    display: inline-block;
    padding: 3px 9px;
    font-size: 12.5px;
    font-weight: 600;
    white-space: nowrap;
    border-radius: 999px;
}

#channelOverview .COStatusTag.is-licensed {
    color: color-mix(in srgb, var(--data) 79%, #000);
    background: color-mix(in srgb, var(--data) 9%, #fff);
}

#channelOverview .COStatusTag.is-demo {
    color: #0B7A55;
    background: #E3F6EE;
}

#channelOverview .COStatusTag.is-demoEnding {
    color: #8A5B00;
    background: #FEF1D6;
}

#channelOverview .COStatusTag.is-demoExpired {
    color: #A8243A;
    background: #FBE6EA;
}

#channelOverview .COStatusTag.is-unlicensed {
    color: var(--co-muted);
    background: #EEF1F5;
}

/* "Ver más" y totales */
#channelOverview .COTableMore {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 14px;
    font-size: 13px;
    color: var(--co-muted);
}

#channelOverview .COTableTotals {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 28px;
    margin-top: 16px;
    padding: 14px 16px;
    font-size: 13.5px;
    color: var(--co-text);
    background: var(--co-soft);
    border-radius: 10px;
}

#channelOverview .COTableTotals strong {
    color: var(--co-ink);
}

/* Registro de actividad: volver, filtros por tipo y lista */
#channelOverview .COBackLink {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--co-muted);
}

#channelOverview .COBackLink::before {
    content: "";
    width: 14px;
    height: 14px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
}

#channelOverview .COBackLink:hover {
    color: var(--co-ink);
    text-decoration: none;
}

#channelOverview .COChips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#channelOverview .COChip {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    margin: 0;
    padding: 0 12px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    color: var(--co-text);
    background: #ffffff;
    border: 1px solid var(--co-line-strong);
    border-radius: 999px;
    cursor: pointer;
}

#channelOverview .COChip span {
    font-weight: 500;
    color: var(--co-muted);
}

#channelOverview .COChip:hover {
    background: var(--co-soft);
}

#channelOverview .COChip.is-active {
    color: #ffffff;
    background: var(--co-ink);
    border-color: var(--co-ink);
}

#channelOverview .COChip.is-active span {
    color: rgba(255, 255, 255, .7);
}

#channelOverview .COActivityLog .COActivity {
    margin-top: 8px;
}

/* --- Pantallas más estrechas --- */
@media (max-width: 1500px) {
    #channelOverview .COGrid.is-thirds {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #channelOverview .COGrid.is-thirds > .COModulesPanel {
        grid-column: 1 / -1;
    }

    #channelOverview .COTab {
        padding: 18px 20px 16px;
    }

    #channelOverview .COTabValue {
        font-size: 28px;
    }
}

@media (max-width: 1280px) {
    #channelOverview .COTabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #channelOverview .COTab:nth-child(2) {
        border-right: 0;
    }

    #channelOverview .COTab:nth-child(-n + 2) {
        border-bottom: 1px solid var(--co-line);
    }

    #channelOverview .COGrid.is-thirds,
    #channelOverview .COGrid.is-7-5 {
        grid-template-columns: minmax(0, 1fr);
    }

    #channelOverview .COPageActions {
        flex-wrap: wrap;
    }
}

@media (prefers-reduced-motion: reduce) {
    #channelOverview.isRefreshing,
    #channelOverview .COTab,
    #channelOverview .COTip,
    #channelOverview .CODataTable summary::after {
        transition: none;
    }

    #channelOverview .COSpinner {
        animation-duration: 2s;
    }
}
/* --- Menús desplegables (jQuery contextMenu): cabecera, "⋯" de las listas y ajustes del panel --- */
.context-menu-list {
    min-width: 200px;
    padding: 6px;
    font-family: inherit;
    font-size: 13.5px;
    background: #ffffff;
    border: 1px solid #E4ECF8;
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(19, 32, 58, .12), 0 2px 6px rgba(19, 32, 58, .06);
}

.context-menu-list .context-menu-item {
    padding: 8px 10px;
    color: #13203A;
    background: transparent;
    border-radius: 6px;
}

.context-menu-list .context-menu-item.context-menu-hover {
    color: var(--brand);
    background: #F3F6FA;
}

.context-menu-list .context-menu-item.context-menu-disabled {
    color: #A7B3C6;
    background: transparent;
}

.context-menu-list .context-menu-separator {
    margin: 6px 4px;
    padding: 0;
    border-bottom: 1px solid #E4ECF8;
}

/* Menús de la cabecera (Ayuda y cuenta): icono + texto */
.CBMenu {
    min-width: 236px;
}

.CBMenu .context-menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
}

.CBMenu .context-menu-item:not(.context-menu-separator)::before {
    content: "";
    flex: none;
    width: 16px;
    height: 16px;
    background: #5D6B82;
    -webkit-mask: var(--menu-icon) no-repeat center / contain;
    mask: var(--menu-icon) no-repeat center / contain;
}

.CBMenu .context-menu-item.context-menu-hover::before {
    background: var(--brand);
}

.CBMenu .context-menu-item.context-menu-separator {
    display: block;
    padding: 0;
}

/* Se abre en otra pestaña */
.CBMenu .CBMenuExternal::after {
    content: "";
    flex: none;
    width: 12px;
    height: 12px;
    margin-left: auto;
    background: #A7B3C6;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") no-repeat center / contain;
}

.CBMenu .CBMenuExternal.context-menu-hover::after {
    background: var(--brand);
}

.CBMenu .CBMenuItem-api {
    --menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 7-5 5 5 5M16 7l5 5-5 5M14 4l-4 16'/%3E%3C/svg%3E");
}

.CBMenu .CBMenuItem-contact {
    --menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 7 8.5 6 8.5-6'/%3E%3C/svg%3E");
}

.CBMenu .CBMenuItem-logs {
    --menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8l-5-5Z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E");
}

.CBMenu .CBMenuItem-logout {
    --menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h3a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-3M10 17l-5-5 5-5M5 12h11'/%3E%3C/svg%3E");
}

.CBMenu .CBMenuItem-logout.context-menu-hover {
    color: #A8243A;
    background: #FBE6EA;
}

.CBMenu .CBMenuItem-logout.context-menu-hover::before {
    background: #A8243A;
}

/* --- Barra lateral de la empresa (Volver, Discovery, Políticas DLP, Informes, Parámetros generales) ---
   Según la referencia del usuario: columna blanca de 172 px integrada con la cabecera, iconos de línea con el
   texto al lado (en dos líneas si es largo), apartado activo con fondo azul claro y texto azul, "Volver" arriba
   y el búho DLP abajo. Sustituye a la columna estrecha de 90 px con iconos de color. */
.ETSmenu {
    top: 56px;
    margin-top: 0;
    width: 172px;
    height: calc(100vh - 56px);
    box-sizing: border-box;
    padding: 20px 12px 110px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
    background: #ffffff;
    border: 0;
    border-radius: 0;
    transition: opacity .2s ease;
}

.ETSmenu a,
.ETSmenu a.menu_item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    flex: none;
    height: auto;
    min-height: 46px;
    box-sizing: border-box;
    margin: 0;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
    text-decoration: none;
    color: #13203A;
    background-color: transparent;
    background-image: none !important;
    border-radius: 10px;
    transition: background-color .12s ease, color .12s ease;
}

/* Primer <span>: el texto (antes posicionado debajo del icono); el segundo está vacío */
.ETSmenu a span {
    position: static;
    font-size: inherit;
    opacity: 1;
}

.ETSmenu a span + span {
    display: none;
}

/* Icono de línea con el color del texto */
.ETSmenu a::before,
.ETSmenu a:hover::before {
    content: "";
    position: static;
    flex: none;
    width: 20px;
    height: 20px;
    margin: 0;
    background-color: currentColor;
    -webkit-mask: var(--menu-icon) no-repeat center / contain;
    mask: var(--menu-icon) no-repeat center / contain;
}

.ETSmenu a:hover {
    color: #0E1A33;
    background-color: #F3F6FA;
}

.ETSmenu a.active,
.ETSmenu a.active:hover {
    color: var(--brand);
    background-color: color-mix(in srgb, var(--brand) 8%, #fff);
}

.ETSmenu a:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: -2px;
}

/* Volver: arriba, con algo más de separación del resto */
#menu_goback {
    min-height: 40px;
    margin-bottom: 4px;
    --menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M12 19l-7-7 7-7'/%3E%3C/svg%3E");
}

#menu_config {
    --menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4M6 10h3l2-3 2 6 2-3h3'/%3E%3C/svg%3E");
}

#menu_policies {
    --menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4 6v6c0 4.5 3.4 8.3 8 9 4.6-.7 8-4.5 8-9V6Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

#menu_reports {
    --menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20h18M7 16v-5M12 16V7M17 16v-8'/%3E%3C/svg%3E");
}

#menu_parameters {
    --menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E");
}

#menu_geneticmark {
    --menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 11c0 3.5-1 6.5-3 9M8 11a4 4 0 0 1 8 0c0 2 0 4-.5 6M4.5 15a14 14 0 0 0 .5-4 7 7 0 0 1 12-5M20 11c0 2.5-.3 4.8-1 7'/%3E%3C/svg%3E");
}

/* Acceso directo a "Logs de acceso" en el menú lateral (UI.initAccessLogsMenu) */
:root {
    --menu-access-logs: 1;
}

#menu_accesslogs {
    --menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 12h8M13 18h8M13 6h8M3 12h1M3 18h1M3 6h1M8 12h1M8 18h1M8 6h1'/%3E%3C/svg%3E");
}

/* Búho DLP abajo a la izquierda, discreto */
.ETSmenu .logoOwlDiv {
    position: absolute;
    left: 24px;
    bottom: 24px;
    width: 44px;
    height: 44px;
    margin: 0;
    background-position: left center;
    background-size: contain;
    opacity: .85;
}

/* El contenido de cada apartado empieza tras la barra */
.ETSmenuDetail {
    margin-left: 192px;
    width: calc(100% - 216px);
}

/* Más aire a los lados en Discovery y Políticas DLP, como en Informes y Parámetros generales (éstos lo llevan en su
   propio contenedor): 20 px junto a la barra lateral y 32 px al borde derecho */
.ETSmenuDetail > .ETSmenuDetailComputersConfig,
.ETSmenuDetail > .ETSmenuPoliticasDLP {
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 32px;
}

/* Submenús del apartado activo (menuShortcuts.js); estilos al final del tema.
   Desactivados a petición del usuario (16/10/2026): las listas flotantes de Discovery, Políticas DLP, Informes,
   Logs de acceso y Parámetros generales no salen al pasar el ratón. Poner 1 para volver a activarlas. */
:root {
    --menu-submenus: 0;
}

/* Barra plegable (UI.initMenuCollapse): botón "Plegar menú" abajo; plegada, sólo iconos */
:root {
    --menu-collapsible: 1;
}

.ETSmenu {
    transition: width .2s ease, padding .2s ease, opacity .2s ease;
}

.ETSmenuDetail {
    transition: margin-left .2s ease, width .2s ease;
}

.ETSmenu .ETSmenuToggle {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: none;
    min-height: 40px;
    margin: auto 0 0;
    padding: 9px 12px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
    color: #5D6B82;
    background: none;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
}

.ETSmenu .ETSmenuToggle::before {
    content: "";
    flex: none;
    width: 20px;
    height: 20px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2.5'/%3E%3Cpath d='M9 4v16M16 10l-2 2 2 2'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2.5'/%3E%3Cpath d='M9 4v16M16 10l-2 2 2 2'/%3E%3C/svg%3E") no-repeat center / contain;
    transition: transform .2s ease;
}

/* Sólo el icono: el texto queda para lectores de pantalla (y como título al pasar el ratón) */
.ETSmenu .ETSmenuToggle span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.ETSmenu .ETSmenuToggle:hover {
    color: #0E1A33;
    background: #F3F6FA;
}

.ETSmenu .ETSmenuToggle:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: -2px;
}

/* Plegada */
body.menuCollapsed .ETSmenu {
    width: 68px;
    padding-left: 10px;
    padding-right: 10px;
}

body.menuCollapsed .ETSmenu a,
body.menuCollapsed .ETSmenu a.menu_item,
body.menuCollapsed .ETSmenu .ETSmenuToggle {
    justify-content: center;
    gap: 0;
    padding-left: 0;
    padding-right: 0;
}

body.menuCollapsed .ETSmenu a span,
body.menuCollapsed .ETSmenu .ETSmenuToggle span {
    display: none;
}

/* "Volver" es texto suelto (sin <span>): se oculta con el tamaño de letra */
body.menuCollapsed #menu_goback {
    font-size: 0;
}

body.menuCollapsed .ETSmenu .ETSmenuToggle::before {
    transform: scaleX(-1);
}

body.menuCollapsed .ETSmenu .logoOwlDiv {
    left: 12px;
}

body.menuCollapsed .ETSmenuDetail {
    margin-left: 88px;
    width: calc(100% - 112px);
}

@media (prefers-reduced-motion: reduce) {
    .ETSmenu,
    .ETSmenuDetail,
    .ETSmenu .ETSmenuToggle::before {
        transition: none;
    }
}


@media (prefers-reduced-motion: reduce) {
    .ETSmenu,
    .ETSmenu a {
        transition: none;
    }
}

/* --- Discovery: columna "Red empresarial" (lista de equipos, #LBcontentBoxComputers) ---
   Según la referencia del usuario: columna delimitada por líneas verticales a los lados; cabecera con título e iconos de línea;
   "De un vistazo"; buscador; equipos en filas sin separadores con punto de estado pequeño
   (verde activo, gris desconectado o desactivado, ámbar con incidencias) y el seleccionado en azul claro. */
.ETSmenuDetailComputersConfig > h2 {
    display: none;
}

#LBcontentBoxComputers {
    /* UI.fitComputersList ajusta la altura al alto real que queda en la ventana (cabe siempre entera) */
    --fit-viewport: 1;
    width: 268px;
    height: calc(100vh - 88px);
    box-sizing: border-box;
    margin-top: 4px;
    padding: 10px 10px 16px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #ffffff;
    /* Sólo la línea vertical de la derecha (la de la izquierda, junto al menú lateral, se quitó a petición del usuario) */
    border: 0;
    border-right: 1px solid #E8EDF4;
    border-radius: 0;
}

#RBDashboard {
    margin-left: 284px;
}

/* Nombre del panel de la empresa en la columna de equipos (antes "De un vistazo"; UI.applyOverviewLabel) */
:root {
    --overview-label: "Resumen";
}

/* Resumen de la empresa (#OverviewPanel, antes el iframe #DashboardIframe): ocupa el ancho y el alto que quedan y tiene
   su propia barra de desplazamiento, como el iframe. Su aspecto está en theme2026/discoveryOverview.css */
#RBDashboard #OverviewPanel {
    display: block;
    width: 100%;
    height: calc(100vh - 88px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

#RBDashboard #OverviewPanel .OVLoadError {
    margin: 16px 0;
    color: #5D6B82;
    font-size: 14px;
}

/* Cabecera: "Red empresarial" + recargar, ordenar y más opciones */
#LBcontentBoxComputers .tableheader.LBList {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 40px;
    margin: 0;
    padding: 0 6px 0 8px;
    font-size: 14px;
    font-weight: 700;
    color: #0E1A33;
    background: none;
    border: 0;
}

#LBcontentBoxComputers .LBListMenu {
    float: none;
    display: flex;
    flex-direction: row-reverse;
    gap: 2px;
    margin: 0;
    font-size: 0;
}

#LBcontentBoxComputers .LBListMenu a {
    float: none;
    display: block;
    width: 30px;
    height: 30px;
    margin: 0;
    font-size: 0;
    color: #5D6B82;
    border-radius: 8px;
    position: relative;
}

#LBcontentBoxComputers .LBListMenu a::before {
    content: "";
    position: absolute;
    inset: 7px;
    background: currentColor;
    -webkit-mask: var(--lb-icon) no-repeat center / contain;
    mask: var(--lb-icon) no-repeat center / contain;
}

#LBcontentBoxComputers .LBListMenu a:hover {
    color: #0E1A33;
    background: #F3F6FA;
}

#LBcontentBoxComputers .DicoveryReloadPCs {
    --lb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 1 0-2.3 5.7'/%3E%3Cpath d='M20 4v7h-7'/%3E%3C/svg%3E");
}

#LBcontentBoxComputers .DicoverySortPCs {
    --lb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4v16M3 8l4-4 4 4M17 20V4M13 16l4 4 4-4'/%3E%3C/svg%3E");
}

/* Con el «+» son cuatro iconos: en la columna estrecha (hasta 1500 px) se juntan para que «Red empresarial» quepa en una línea */
@media (max-width: 1500px) {
    #LBcontentBoxComputers .LBListMenu a { width: 26px; height: 26px; }
    #LBcontentBoxComputers .LBListMenu a::before { inset: 6px; }
}

/* «Añadir equipos»: lleva a Parámetros generales > Instalación (installSection.goTo) */
#LBcontentBoxComputers .DicoveryAddPCs {
    --lb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}

#LBcontentBoxComputers .DicoveryMorePCs {
    --lb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='5' cy='12' r='1.9'/%3E%3Ccircle cx='12' cy='12' r='1.9'/%3E%3Ccircle cx='19' cy='12' r='1.9'/%3E%3C/svg%3E");
}

/* Filas: equipos y "De un vistazo" */
#LBcontentBoxComputers .LBItem {
    display: flex;
    align-items: center;
    min-height: 38px;
    height: auto;
    margin: 0 0 2px;
    padding: 0 10px 0 0;
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 8px;
    float: none;
    transition: background-color .12s ease;
}

#LBcontentBoxComputers .LBItem:hover {
    background-color: #F3F6FA !important;
}

#LBcontentBoxComputers .LBItemL {
    flex: 1;
    min-width: 0;
    width: auto;
    height: auto;
    float: none;
    margin: 0;
    border: 0;
}

#LBcontentBoxComputers .LBItemA {
    display: block;
    /* La base fija height: 45px !important y line-height: 43px */
    height: auto !important;
    max-width: none;
    overflow: hidden;
    padding: 9px 8px 9px 10px;
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #13203A;
    text-decoration: none;
}

#LBcontentBoxComputers .LBItemSelected {
    background-color: color-mix(in srgb, var(--brand) 8%, #fff) !important;
}

#LBcontentBoxComputers .LBItemSelected a,
#LBcontentBoxComputers .LBItemSelected .LBItemA {
    font-weight: 600;
    color: var(--brand);
}

/* "De un vistazo" seleccionado no lleva punto de estado: igual que un equipo */
#LBcontentBoxComputers .LBItemSelectedDashboard {
    background-position: 0 0 !important;
}

/* Estado: punto pequeño en lugar de los LED de imagen */
#LBcontentBoxComputers .LBItemR {
    flex: none;
    width: auto;
    height: auto;
    float: none;
    margin: 0;
}

#LBcontentBoxComputers .ledimg {
    width: 8px;
    height: 8px;
    margin: 0;
    background: #1BAF7A !important;
    background-image: none !important;
    border-radius: 50%;
}

#LBcontentBoxComputers .ledimgoff,
#LBcontentBoxComputers .ledimgdisconnected {
    background: #C5CFDD !important;
}

/* Con incidencias: punto ámbar con halo, para que destaque sin un icono grande */
#LBcontentBoxComputers .ledimgalert {
    background: #E8A317 !important;
    box-shadow: 0 0 0 3px rgba(232, 163, 23, .22);
}

/* Buscador */
#LBcontentBoxComputers #LBcontentBoxComputersNotEmptySearchBar {
    position: relative;
    margin: 6px 0 10px;
    padding: 0;
}

#LBcontentBoxComputers #LBComputersSearch {
    box-sizing: border-box;
    width: 100%;
    height: 38px;
    margin: 0;
    padding: 0 36px 0 12px;
    font: inherit;
    font-size: 13.5px;
    color: #13203A;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2369768C' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat right 12px center / 15px;
    border: 1px solid #DDE3EB;
    border-radius: 8px;
    box-shadow: none;
    outline: none;
    transition: border-color .12s ease, box-shadow .12s ease;
}

#LBcontentBoxComputers #LBComputersSearch::placeholder {
    color: #8E9AAD;
}

#LBcontentBoxComputers #LBComputersSearch:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

/* "Equipos desinstalados": rótulo discreto y equipos en gris */
#LBcontentBoxComputers .tableheader.LBList:not(:first-child) {
    height: auto;
    margin: 16px 0 4px;
    padding: 0 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: #69768C;
}

#LBcontentBoxComputers #LBcontentBoxComputersNotEmptyListNotInstalled .LBItemA {
    color: #8E9AAD;
}

/* Equipos desinstalados: ocultos por defecto con un botón para verlos (computers.aux.applyUninstalledToggle) */
#LBcontentBoxComputers {
    --hide-uninstalled: 1;
}

#LBcontentBoxComputers .LBToggleUninstalled {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 14px 0 4px;
    padding: 8px 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: #5D6B82;
    text-decoration: none;
    border-radius: 8px;
    cursor: pointer;
}

#LBcontentBoxComputers .LBToggleUninstalled::before {
    content: "";
    flex: none;
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") no-repeat center / contain;
}

#LBcontentBoxComputers .LBToggleUninstalled.isOpen::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18M10.6 5.1A10.4 10.4 0 0 1 12 5c6.5 0 10 7 10 7a17.6 17.6 0 0 1-3.2 4.2M6.6 6.6A17.4 17.4 0 0 0 2 12s3.5 7 10 7a9.7 9.7 0 0 0 5.4-1.6M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18M10.6 5.1A10.4 10.4 0 0 1 12 5c6.5 0 10 7 10 7a17.6 17.6 0 0 1-3.2 4.2M6.6 6.6A17.4 17.4 0 0 0 2 12s3.5 7 10 7a9.7 9.7 0 0 0 5.4-1.6M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E");
}

#LBcontentBoxComputers .LBToggleUninstalled:hover {
    color: #0E1A33;
    background: #F3F6FA;
}

#LBcontentBoxComputers .LBToggleUninstalled:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: -2px;
}

/* Departamentos (si se agrupan) */
#LBcontentBoxComputers .LBDepartmentTitle {
    margin: 12px 0 4px;
    padding: 0 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: #69768C;
}

/* Descargar instalador: botón secundario y texto pequeño */
#LBcontentBoxComputers .downloadbutton {
    box-sizing: border-box;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    margin: 16px 0 8px;
    padding: 0 12px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    background-image: none;
    border: 0;
    border-radius: 8px;
    text-decoration: none;
}

#LBcontentBoxComputers .downloadbutton:hover {
    background: color-mix(in srgb, var(--brand) 14%, #fff);
}

#LBcontentBoxComputers .footerDownloadButton {
    margin: 0;
    padding: 0 4px;
    font-size: 12px;
    line-height: 1.5;
    color: #69768C;
}

#LBcontentBoxComputers .footerDownloadButton a {
    color: var(--brand);
}

/* Lista con scroll propio (sin paginación, a petición del usuario) y sin barra visible: se desplaza con la rueda,
   el trackpad o el teclado, pero la barra no se dibuja */
#LBcontentBoxComputers {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

#LBcontentBoxComputers::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

/* Cabecera y buscador fijos arriba al hacer scroll por la lista */
#LBcontentBoxComputers .tableheader.LBList:first-child {
    position: sticky;
    top: -10px;
    z-index: 2;
    background: #ffffff;
}

#LBcontentBoxComputers #LBcontentBoxComputersNotEmptySearchBar {
    position: sticky;
    top: 30px;
    z-index: 2;
    padding-bottom: 8px;
    margin-bottom: 2px;
    background: #ffffff;
}

/* Pantallas estrechas: columna algo más estrecha */
@media (max-width: 1366px) {
    #LBcontentBoxComputers {
        width: 236px;
    }

    #RBDashboard {
        margin-left: 252px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #LBcontentBoxComputers .LBItem,
    #LBcontentBoxComputers #LBComputersSearch {
        transition: none;
    }
}

/* --- Discovery: columna del equipo seleccionado (#RBPCTop, _sections/PCInfo.ascx, 1_Discovery/PCInfo.js) ---
   Según la referencia del usuario: columna con línea vertical a la derecha (como la lista); cabecera con el nombre
   y "⋯"; opciones con iconos de línea y flecha o "abrir fuera"; imagen del equipo grande y centrada; estado con punto
   de color; último reinicio y especificaciones con jerarquía de texto, separadas por una línea fina. */
#RBPCTop {
    width: 268px;
    margin-left: 0;
    padding: 10px 14px 16px;
    box-sizing: border-box;
    background: #ffffff;
    border: 0;
    border-right: 1px solid #E8EDF4;
    border-radius: 0;
}

#RBPCConfigDiv,
#RBPCConfigDivWrapper {
    margin-left: 16px;
}

/* Cabecera: nombre del equipo + "⋯" */
#RBPCTop .PCIHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    height: 40px;
    padding: 0 2px 0 6px;
    background: none;
}

#RBPCName {
    overflow: hidden;
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #0E1A33;
    cursor: pointer;
}

#RBPCTop .RBPCStatusMore {
    position: relative;
    flex: none;
    float: none;
    width: 30px;
    height: 30px;
    margin: 0;
    font-size: 0;
    color: #5D6B82;
    border-radius: 8px;
}

#RBPCTop .RBPCStatusMore::before {
    content: "";
    position: absolute;
    inset: 7px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='5' cy='12' r='1.9'/%3E%3Ccircle cx='12' cy='12' r='1.9'/%3E%3Ccircle cx='19' cy='12' r='1.9'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='5' cy='12' r='1.9'/%3E%3Ccircle cx='12' cy='12' r='1.9'/%3E%3Ccircle cx='19' cy='12' r='1.9'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCTop .RBPCStatusMore:hover {
    color: #0E1A33;
    background: #F3F6FA;
}

/* Opciones: Configuración, Auditoría del sistema, Logs de acceso, Problemas en la instalación */
#RBPCTop .PCIMenuList {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 6px 0 0;
    padding: 0;
}

#RBPCTop .PCIMenuList li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 38px;
    line-height: 1.3;
    background: none !important;
    border: 0 !important;
    border-radius: 8px;
    transition: background-color .12s ease;
}

#RBPCTop .PCIMenuList li:hover {
    background-color: #F3F6FA !important;
}

/* La primera (Configuración) destacada como en la referencia */
#RBPCTop .PCIMenuList li.configIcon {
    background-color: color-mix(in srgb, var(--brand) 8%, #fff) !important;
}

#RBPCTop .PCIMenuList li.configIcon:hover {
    background-color: color-mix(in srgb, var(--brand) 14%, #fff) !important;
}

#RBPCTop .PCIMenuList li::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    background: var(--pci-color, #3A475E);
    -webkit-mask: var(--pci-icon) no-repeat center / contain;
    mask: var(--pci-icon) no-repeat center / contain;
    pointer-events: none;
}

#RBPCTop .PCIMenuList li a {
    flex: 1;
    width: auto;
    padding: 9px 36px 9px 38px;
    font-size: 13.5px;
    font-weight: 600;
    color: #13203A;
    text-decoration: none;
}

#RBPCTop .PCIMenuList li.configIcon a {
    color: var(--brand);
}

#RBPCTop .configIcon {
    --pci-color: var(--brand);
    --pci-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E");
}

#RBPCTop .auditIcon {
    --pci-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 3v5h5M9 13l2 2 4-4'/%3E%3C/svg%3E");
}

#RBPCTop .logIcon {
    --pci-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6h11M9 12h11M9 18h11M4 6h.01M4 12h.01M4 18h.01'/%3E%3C/svg%3E");
}

#RBPCTop .warningIcon {
    --pci-color: #C27A00;
    --pci-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 2.4 17.6A2 2 0 0 0 4.1 20.6h15.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 9v4M12 17v.1'/%3E%3C/svg%3E");
}

#RBPCTop .PCIMenuList li.warningIcon a {
    color: #8A5B00;
}

/* Icono de la derecha: flecha (Configuración) o abrir en otra pestaña */
#RBPCTop .PCIMenuListRightIcon {
    position: absolute;
    right: 10px;
    top: 50%;
    float: none;
    width: 16px;
    height: 16px;
    margin: -8px 0 0;
    background: currentColor;
    background-image: none;
    color: #69768C;
    pointer-events: none;
    -webkit-mask: var(--pci-right) no-repeat center / contain;
    mask: var(--pci-right) no-repeat center / contain;
}

#RBPCTop .disclosureIcon {
    color: var(--brand);
    --pci-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

#RBPCTop .openExternalIcon {
    --pci-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E");
}

/* Detalle: imagen arriba y centrada, después estado, reinicio y especificaciones */
#RBPCTop .PCIDetails {
    display: flex;
    flex-direction: column;
    padding: 18px 6px 0;
}

#RBPCTop .PCIDetails > .clear {
    display: none;
}

#RBPCTop #RBPCImgDiv {
    order: -1;
    float: none;
    align-self: center;
    margin: 0 0 18px;
    zoom: 1.12;
    transform: none;
}

#RBPCTop #RBPCBasicDetailsDiv {
    float: none;
    width: auto;
}

#RBPCTop .PCIDetails h3 {
    margin: 14px 0 4px;
    font-size: 13px;
    font-weight: 700;
    color: #0E1A33;
}

#RBPCTop .PCIDetails p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #5D6B82;
}

/* "Monitorización": el estado ya lo dice, el rótulo sobra */
#RBPCTop #RBPCBasicDetailsDiv > h3:first-child {
    display: none;
}

/* Estado con punto de color en lugar de los iconos de imagen */
#RBPCTop #PCImonitorStatus {
    margin: 0 0 2px;
    font-size: 13px;
}

#RBPCTop #PCImonitorStatus span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    font-weight: 700;
    letter-spacing: .02em;
    background: none !important;
}

#RBPCTop #PCImonitorStatus span::before {
    content: "";
    width: 8px;
    height: 8px;
    background: currentColor;
    border-radius: 50%;
}

#RBPCTop .PCIActiveIcon {
    color: #0E8A5F;
}

#RBPCTop .PCIInactiveIcon {
    color: #8A96A8;
}

#RBPCTop .PCIDisconnectedIcon {
    color: #C2364B;
}

/* Especificaciones técnicas: separadas por una línea fina */
#RBPCTop .PCIDetails > h3 {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #EEF1F6;
}

#RBPCTop #PCISpecs ul {
    margin: 0;
    padding: 0;
}

#RBPCTop #PCISpecs li {
    margin: 0 0 5px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #3A475E;
}

#RBPCTop #PCISpecs strong {
    font-weight: 600;
    color: #13203A;
}

#RBPCTop {
    height: calc(100vh - 88px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #D5DDE8 transparent;
}

@media (max-width: 1366px) {
    #RBPCTop {
        width: 240px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #RBPCTop .PCIMenuList li {
        transition: none;
    }
}

/* --- Discovery: panel derecho del equipo (configuración: /_modals/config.aspx dentro de #RBPCConfigDiv) ---
   Según la referencia del usuario: pestañas subrayadas con "Todo sincronizado" / "Guardar cambios" a la derecha;
   pestaña Resumen como tarjeta con el estado de la monitorización, la configuración actual con iconos de check,
   la imagen del equipo y el botón "Detener / Iniciar monitorización". Ocupa el ancho que dejan las dos columnas. */
#RBPCConfigDiv,
#RBPCConfigDivWrapper {
    width: calc(100% - 568px);
    min-width: 0;
    max-width: 1120px;
    margin-top: 0;
}

#RBPCConfigDivWrapper {
    margin-left: 24px;
    overflow-x: auto;
}

#RBPCConfigDiv {
    width: 100%;
    margin-left: 0;
}

#RBPCConfigDivLoading {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 14px;
}

#RBPCConfigDiv #CNFWindow {
    min-width: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

/* Barra de título ("Configuración" + volver): con las columnas visibles sobra (la referencia no la lleva) */
@media (min-width: 1301px) {
    #RBPCConfigDiv #titleBar {
        display: none;
    }
}

#RBPCConfigDiv #titleBar {
    height: auto;
    padding: 0 0 8px;
    font-size: 14px;
    background: none;
}

#RBPCConfigDiv #tabContainer {
    position: relative;
    margin-top: 0;
}

/* Pestañas subrayadas */
#RBPCConfigDiv .tabMenu {
    font-size: 13.5px;
    /* Sin línea bajo las pestañas: sólo el subrayado azul de la activa */
    border-bottom: 0;
}

#RBPCConfigDiv .tabMenu ul {
    display: flex;
    gap: 26px;
    margin: 0;
    padding: 0 4px;
    line-height: normal;
}

#RBPCConfigDiv .CNFtab,
#RBPCConfigDiv .CNFtabSelected {
    float: none;
    height: auto !important;
    min-width: 0;
    margin: 0;
    padding: 0;
    text-align: left;
    background: none !important;
    border: 0;
    border-radius: 0;
    font-weight: 500;
}

#RBPCConfigDiv .CNFtab a {
    display: block;
    /* La base fija height: 100% y estiraba el enlace hasta la tarjeta (el subrayado quedaba fuera de sitio) */
    height: auto;
    margin-bottom: -1px;
    padding: 12px 2px 13px;
    font-weight: 500;
    color: #5D6B82;
    cursor: pointer;
}

#RBPCConfigDiv .CNFtab:hover a {
    color: #0E1A33;
}

#RBPCConfigDiv .CNFtabSelected a {
    font-weight: 600;
    color: var(--brand);
    box-shadow: inset 0 -2px 0 var(--brand);
}

/* Panel estrecho (pantallas de hasta 1500 px): pestañas más juntas para que no lleguen a «Todo sincronizado» */
@media (max-width: 1500px) {
    #RBPCConfigDiv .tabMenu ul {
        gap: 16px;
    }

    #RBPCConfigDiv .tabMenu {
        font-size: 13px;
    }
}

/* Hasta 1580 px las siete pestañas no caben junto a «Todo sincronizado» / «Guardar cambios» (a 1366 px el panel mide
   unos 600 px; con seis pestañas el límite era 1440 px): la sincronización y el engranaje quedan en una fila propia encima */
@media (max-width: 1580px) {
    #RBPCConfigDiv .tabMenu {
        padding-top: 40px;
    }
}

/* "Todo sincronizado" / "Guardar cambios" / "Sincronizando…" a la derecha de las pestañas */
#RBPCConfigDiv .syncButton {
    position: absolute;
    top: 7px;
    right: 44px;
    float: none;
    margin: 0;
    font-size: 13px;
}

#RBPCConfigDiv .syncButton a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 32px;
    padding: 0 14px;
    font-weight: 600;
    line-height: 1;
    color: #ffffff;
    background: var(--brand);
    background-image: none;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv .syncButton a:hover {
    background: color-mix(in srgb, var(--brand) 89%, #000);
}

/* Todo guardado: texto verde con check, sin botón */
#RBPCConfigDiv .syncButton a.syncingOK {
    padding: 0 4px;
    color: #0E8A5F;
    background: none !important;
    opacity: 1;
    cursor: default;
}

#RBPCConfigDiv .syncButton a.syncingOK::before,
#RBPCConfigDiv .syncButton a.syncing::before {
    content: "";
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: var(--sync-icon) no-repeat center / contain;
    mask: var(--sync-icon) no-repeat center / contain;
}

#RBPCConfigDiv .syncButton a.syncingOK {
    --sync-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1.2 14.2-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4-7 7Z'/%3E%3C/svg%3E");
}

#RBPCConfigDiv .syncButton a.syncingOK:hover {
    background: none !important;
    border: 0 !important;
}

/* Sincronizando: texto azul con icono girando */
#RBPCConfigDiv .syncButton a.syncing {
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 8%, #fff) !important;
    border: 0 !important;
    --sync-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M20 11a8 8 0 1 0-2.3 5.7'/%3E%3Cpath d='M20 4v7h-7'/%3E%3C/svg%3E");
}

#RBPCConfigDiv .syncButton a.syncing::before {
    animation: CNFSpin .9s linear infinite;
}

@keyframes CNFSpin {
    to {
        transform: rotate(360deg);
    }
}

/* Opciones (engranaje) junto a la sincronización */
#RBPCConfigDiv #preferencesButton {
    position: absolute;
    top: 7px;
    right: 4px;
    float: none;
    margin: 0;
}

#RBPCConfigDiv #preferencesButton a {
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    padding: 0;
    color: #5D6B82;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #preferencesButton a:hover {
    color: #0E1A33;
    background: #F3F6FA;
    border: 0;
}

#RBPCConfigDiv #preferencesButton img {
    display: none;
}

#RBPCConfigDiv #preferencesButton a::before {
    content: "";
    position: absolute;
    inset: 7px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Contenido de las pestañas */
#RBPCConfigDiv .tabContent {
    background: transparent;
}

#RBPCConfigDiv #tabContent1 {
    height: auto;
    padding-top: 16px;
}

/* Aviso de estado (equipo apagado, servicio detenido...): franja suave con el color del estado */
#RBPCConfigDiv #statusRibbon {
    height: auto;
    margin: 0 0 12px;
    padding: 10px 14px;
    font-size: 13px;
    line-height: 1.45;
    color: #8A5B00;
    background: #FEF4E2 !important;
    border: 0;
    border-radius: 10px;
}

#RBPCConfigDiv #statusRibbon.statusRibbonOn {
    color: #0B7A55;
    background: #E3F6EE !important;
}

#RBPCConfigDiv #statusRibbon.statusRibbonOff {
    color: #A8243A;
    background: #FBE9EC !important;
}

/* Tarjeta del resumen: monitorización y configuración (izquierda) + equipo y botón (derecha) */
#RBPCConfigDiv #infoGroup {
    display: flex;
    gap: 24px;
    padding: 24px 28px;
    background: #ffffff;
    border: 0;
    border-radius: 0;
}

#RBPCConfigDiv #infoGroup > .clear {
    display: none;
}

#RBPCConfigDiv #infoGroupLeft,
#RBPCConfigDiv #infoGroupRight {
    float: none;
    width: auto;
}

#RBPCConfigDiv #infoGroupLeft {
    flex: 1;
    min-width: 0;
}

#RBPCConfigDiv #infoGroupRight {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: 260px;
}

#RBPCConfigDiv #infoGroupLeft h3 {
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 700;
    color: #0E1A33;
}

#RBPCConfigDiv #infoGroupLeft h3 ~ h3 {
    margin-top: 26px;
}

#RBPCConfigDiv #CNFmonitorStatus span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
    background: none !important;
}

#RBPCConfigDiv #CNFmonitorStatus span::before {
    content: "";
    width: 8px;
    height: 8px;
    background: currentColor;
    border-radius: 50%;
}

#RBPCConfigDiv #CNFmonitorStatus .PCIActiveIcon {
    color: #0E8A5F;
}

#RBPCConfigDiv #CNFmonitorStatus .PCIInactiveIcon {
    color: #C2364B;
}

#RBPCConfigDiv #statusTxt {
    margin: 6px 0 0;
    font-size: 13.5px;
    color: #3A475E;
}

/* Configuración actual: check verde (configurado) o "i" gris (no configurado) */
#RBPCConfigDiv #infoGroupLeft ul {
    margin: 0;
    padding: 0;
    font-size: 13.5px;
    font-weight: 500;
}

#RBPCConfigDiv #infoGroupLeft li {
    height: auto;
    margin: 0 0 10px;
    line-height: 1.4;
}

#RBPCConfigDiv #infoGroupLeft li a {
    position: relative;
    display: inline-block;
    height: auto;
    padding: 0 0 0 28px;
    color: #3A475E;
    background: none !important;
    cursor: pointer;
}

#RBPCConfigDiv #infoGroupLeft li a:hover {
    color: var(--brand);
    text-decoration: none;
}

#RBPCConfigDiv #infoGroupLeft li a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    background: #1BAF7A;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1.2 14.2-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4-7 7Z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1.2 14.2-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4-7 7Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #infoGroupLeft li a.infoboxKO {
    color: #69768C;
}

#RBPCConfigDiv #infoGroupLeft li a.infoboxKO::before {
    background: #AEBBCD;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5M12 7.8v.1'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5M12 7.8v.1'/%3E%3C/svg%3E");
}

/* Equipo y botón de monitorización */
#RBPCConfigDiv #RBPCImgDiv2 {
    margin: 0;
}

#RBPCConfigDiv #statusActivateButtonBox {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: auto;
    min-width: 200px;
    height: 42px;
    box-sizing: border-box;
    margin: 0;
    padding: 0 18px;
    font-size: 14px;
    font-weight: 600;
    background-image: none;
    border-radius: 10px;
    cursor: pointer;
}

#RBPCConfigDiv #statusActivateButtonBox::after {
    content: "";
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: var(--act-icon) no-repeat center / contain;
    mask: var(--act-icon) no-repeat center / contain;
}

/* Detener (monitorización activa): borde rojo, pausa */
#RBPCConfigDiv .statusActivateButtonBoxOff {
    color: #C2304A;
    background-color: #ffffff;
    border: 1px solid #F1B9C3;
    --act-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Crect x='6' y='5' width='4' height='14' rx='1'/%3E%3Crect x='14' y='5' width='4' height='14' rx='1'/%3E%3C/svg%3E");
}

#RBPCConfigDiv .statusActivateButtonBoxOff:hover {
    background-color: #FDF1F3;
    border-color: #E58A9B;
}

/* Iniciar (monitorización detenida): azul, play */
#RBPCConfigDiv .statusActivateButtonBoxOn {
    color: #ffffff;
    background-color: var(--brand);
    border: 1px solid var(--brand);
    --act-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M7 4.5v15a1 1 0 0 0 1.5.9l12-7.5a1 1 0 0 0 0-1.7l-12-7.5A1 1 0 0 0 7 4.5Z'/%3E%3C/svg%3E");
}

#RBPCConfigDiv .statusActivateButtonBoxOn:hover {
    background-color: color-mix(in srgb, var(--brand) 89%, #000);
}

/* Resumen de los últimos 30 días en el centro de la monitorización (configRender.renderActivityStats) */
#RBPCConfigDiv #infoGroup .CNFStats {
    flex: none;
    align-self: center;
    width: 300px;
}

#RBPCConfigDiv .CNFStatsTitle {
    margin: 0 0 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: #69768C;
}

#RBPCConfigDiv .CNFStatsGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

#RBPCConfigDiv .CNFStat {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 14px 16px;
    background: #F7F9FC;
    border-radius: 10px;
}

#RBPCConfigDiv .CNFStat strong {
    font-size: 24px;
    font-weight: 750;
    line-height: 1.15;
    letter-spacing: -.3px;
    font-variant-numeric: tabular-nums;
    color: #0E1A33;
}

#RBPCConfigDiv .CNFStat span {
    font-size: 12.5px;
    color: #5D6B82;
}

/* Bloqueos en rojo y eventos graves en ámbar cuando hay alguno */
#RBPCConfigDiv .CNFStat.is-blocks.hasValue strong {
    color: #C2364B;
}

#RBPCConfigDiv .CNFStat.is-severe.hasValue strong {
    color: #C27A00;
}

@media (max-width: 1500px) {
    #RBPCConfigDiv #infoGroup .CNFStats {
        width: 240px;
    }

    #RBPCConfigDiv .CNFStat {
        padding: 12px;
    }

    #RBPCConfigDiv .CNFStat strong {
        font-size: 20px;
    }
}

/* Con el resumen de 30 días, la tarjeta pasa a tres columnas: estado y configuración | resumen | equipo */
#RBPCConfigDiv #infoGroup:has(.CNFStats) {
    display: grid;
    grid-template-columns: minmax(250px, 1fr) minmax(220px, 290px) 250px;
    align-items: center;
    gap: 28px;
}

#RBPCConfigDiv #infoGroup:has(.CNFStats) #infoGroupRight {
    width: auto;
}

#RBPCConfigDiv #infoGroup:has(.CNFStats) .CNFStats {
    width: auto;
}

/* El panel mide el ancho de la ventana menos ~836 px; la versión compacta entra cuando la de tres columnas amplias no cabe */
@media (max-width: 1680px) {
    #RBPCConfigDiv #infoGroup:has(.CNFStats) {
        grid-template-columns: minmax(190px, 1fr) 190px 190px;
        gap: 16px;
        padding-left: 4px;
        padding-right: 4px;
    }

    #RBPCConfigDiv #infoGroup:has(.CNFStats) #RBPCImgDiv2.desktopTemplateImage2 {
        --mon-w: 172px;
    }

    #RBPCConfigDiv #infoGroup:has(.CNFStats) #RBPCImgDiv2.laptopTemplateImage2 {
        --mon-w: 146px;
    }

    #RBPCConfigDiv #infoGroup:has(.CNFStats) #statusActivateButtonBox {
        min-width: 0;
        width: 100%;
        padding: 0 12px;
        font-size: 13px;
    }
}

@media (max-width: 1500px) {
    #RBPCConfigDiv #infoGroup:has(.CNFStats) {
        grid-template-columns: minmax(160px, 1fr) 168px 168px;
        gap: 12px;
    }

    #RBPCConfigDiv #infoGroup:has(.CNFStats) #RBPCImgDiv2.desktopTemplateImage2 {
        --mon-w: 152px;
    }

    #RBPCConfigDiv #infoGroup:has(.CNFStats) #RBPCImgDiv2.laptopTemplateImage2 {
        --mon-w: 130px;
    }
}

/* Indicadores del equipo (#CNFKpis): quitados a petición del usuario. Siguen ocultos por el CSS base
   (config.general.css), así que no se muestran; configRender.setKpis sigue pintándolos sin coste. */

/* Actividad reciente (configRender.loadActivity): últimos eventos DLP del equipo en una tabla limpia, con punto de
   severidad, política y fichero, usuario, fecha y la acción como etiqueta de color; enlace al historial en Informes. */
#RBPCConfigDiv .CNFActivity {
    display: block;
    margin-top: 16px;
    padding: 20px 24px 14px;
    background: #ffffff;
    border: 0;
    border-radius: 0;
}

#RBPCConfigDiv .CNFActivityHead {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

#RBPCConfigDiv .CNFActivityHead h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #0E1A33;
}

#RBPCConfigDiv .CNFActivityRange {
    font-size: 12.5px;
    color: #69768C;
}

#RBPCConfigDiv .CNFActivityState {
    padding: 18px 0 12px;
    font-size: 13.5px;
    color: #69768C;
}

#RBPCConfigDiv .CNFActivityTable {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 13px;
}

#RBPCConfigDiv .CNFActivityTable th {
    padding: 8px 10px;
    font-size: 12px;
    font-weight: 600;
    text-align: left;
    color: #69768C;
    background: #F7F9FC;
}

#RBPCConfigDiv .CNFActivityTable th:nth-child(3) {
    width: 132px;
}

#RBPCConfigDiv .CNFActivityTable th:first-child {
    width: 44%;
    border-radius: 8px 0 0 8px;
}

#RBPCConfigDiv .CNFActivityTable th:last-child {
    width: 120px;
    border-radius: 0 8px 8px 0;
}

#RBPCConfigDiv .CNFActivityTable td {
    overflow: hidden;
    padding: 10px;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: middle;
    color: #3A475E;
    border-bottom: 1px solid #EEF1F6;
}

#RBPCConfigDiv .CNFActivityTable tr:last-child td {
    border-bottom: 0;
}

#RBPCConfigDiv .CNFActivityEvent {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

#RBPCConfigDiv .CNFActivityEvent > span {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

#RBPCConfigDiv .CNFActivityEvent strong,
#RBPCConfigDiv .CNFActivityEvent small {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#RBPCConfigDiv .CNFActivityEvent strong {
    font-weight: 600;
    color: #13203A;
}

#RBPCConfigDiv .CNFActivityEvent small {
    font-size: 12px;
    color: #69768C;
}

/* Severidad 1-5: de gris azulado a rojo */
#RBPCConfigDiv .CNFSeverity {
    flex: none;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #9DB0C8;
}

#RBPCConfigDiv .CNFSeverity.sev2 { background: #E8C23A; }
#RBPCConfigDiv .CNFSeverity.sev3 { background: #E8A317; }
#RBPCConfigDiv .CNFSeverity.sev4 { background: #E5732B; }
#RBPCConfigDiv .CNFSeverity.sev5 { background: #D6334E; }

#RBPCConfigDiv .CNFActivityDate {
    font-variant-numeric: tabular-nums;
    color: #5D6B82;
}

#RBPCConfigDiv .CNFActivityPill {
    display: inline-block;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    border-radius: 999px;
}

#RBPCConfigDiv .CNFActivityPill.isLog { color: #3A475E; background: #EEF1F6; }
#RBPCConfigDiv .CNFActivityPill.isBlock { color: #A8243A; background: #FBE9EC; }
#RBPCConfigDiv .CNFActivityPill.isUnlock { color: #8A5B00; background: #FEF4E2; }
#RBPCConfigDiv .CNFActivityPill.isMessage { color: color-mix(in srgb, var(--data) 79%, #000); background: color-mix(in srgb, var(--data) 8%, #fff); }

#RBPCConfigDiv .CNFActivityAll {
    display: inline-block;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
    cursor: pointer;
}

#RBPCConfigDiv .CNFActivityAll:hover {
    text-decoration: underline;
}

/* Políticas DLP en este equipo (configRender.renderPolicies), bajo la actividad reciente */
#RBPCConfigDiv .CNFPolicies {
    margin-top: 0;
    padding-top: 6px;
}

#RBPCConfigDiv .CNFPolicies .CNFActivityAll {
    margin-top: 0;
}

#RBPCConfigDiv .CNFPoliciesCount {
    margin-left: 6px;
    padding: 1px 8px;
    font-size: 12px;
    font-weight: 700;
    color: #5D6B82;
    background: #EEF1F6;
    border-radius: 999px;
}

#RBPCConfigDiv .CNFPolicyList {
    margin: 0;
    padding: 0;
    list-style: none;
}

#RBPCConfigDiv .CNFPolicyList li {
    border-top: 1px solid #EEF1F6;
}

#RBPCConfigDiv .CNFPolicyList li:first-child {
    border-top: 0;
}

#RBPCConfigDiv .CNFPolicy {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 8px;
    margin: 0 -8px;
    text-decoration: none;
    border-radius: 8px;
}

#RBPCConfigDiv .CNFPolicy:hover {
    background: #F5F8FC;
}

#RBPCConfigDiv .CNFPolicySev {
    flex: none;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
    color: #3A475E;
    background: #E3E9F1;
    border-radius: 6px;
}

#RBPCConfigDiv .CNFPolicySev.sev2 { color: #6B5300; background: #FBEFC4; }
#RBPCConfigDiv .CNFPolicySev.sev3 { color: #7A4A00; background: #FCE3B5; }
#RBPCConfigDiv .CNFPolicySev.sev4 { color: #FFFFFF; background: #E5732B; }
#RBPCConfigDiv .CNFPolicySev.sev5 { color: #FFFFFF; background: #D6334E; }

#RBPCConfigDiv .CNFPolicyMain {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

#RBPCConfigDiv .CNFPolicyName {
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.4;
    color: #13203A;
}

#RBPCConfigDiv .CNFPolicySummary {
    margin-top: 2px;
    font-size: 12.5px;
    line-height: 1.45;
    color: #5D6B82;
}

#RBPCConfigDiv .CNFPolicyMeta {
    margin-top: 3px;
    font-size: 12px;
    color: #9AA6B8;
}

#RBPCConfigDiv .CNFPolicyAction {
    flex: none;
    margin-top: 1px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    color: #3A475E;
    background: #EEF1F6;
    border-radius: 999px;
}

#RBPCConfigDiv .CNFPolicyAction.isBlock {
    color: #A8243A;
    background: #FBE9EC;
}

#RBPCConfigDiv .CNFPoliciesMore,
#RBPCConfigDiv .CNFPoliciesNote {
    margin: 8px 0 0;
    font-size: 12.5px;
    color: #7A879C;
}

#RBPCConfigDiv .CNFPoliciesMore a,
#RBPCConfigDiv .CNFActivityState a {
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
}

/* Panel estrecho: sin columna de usuario */
@media (max-width: 1500px) {
    #RBPCConfigDiv .CNFActivity {
        padding: 18px 18px 12px;
    }

    #RBPCConfigDiv .CNFActivityTable th:nth-child(2),
    #RBPCConfigDiv .CNFActivityTable td:nth-child(2) {
        display: none;
    }
}

/* Con contenido largo, el panel crece: el resumen no se recorta y la página hace scroll */
#RBPCConfigDiv #tabContent1 {
    padding-bottom: 24px;
}

@media (max-width: 1366px) {
    #RBPCConfigDiv,
    #RBPCConfigDivWrapper {
        width: calc(100% - 500px);
    }

    #RBPCConfigDiv {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    #RBPCConfigDiv .syncButton a.syncing::before {
        animation: none;
    }
}

/* --- Discovery: opciones del equipo (botón de ajustes del panel; Discovery_PreferencesDialog.js) ---
   --config-dialog-v2 activa en el JS el diseño nuevo: opciones agrupadas en filas con título, explicación e
   interruptor; acciones (perfil de rendimiento, exportar) como filas con flecha; pie con "Listo". */
:root {
    --config-dialog-v2: 1;
}

.configDialog.isV2.windowsStyleWindow {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 900;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: min(640px, calc(100vw - 32px));
    min-width: 0;
    max-width: none;
    max-height: calc(100vh - 48px);
    padding: 0;
    overflow: hidden;
    color: #3A475E;
    background: #ffffff;
    border: 0;
    border-radius: 14px;
    box-shadow: 0 24px 64px -16px rgba(14, 26, 51, .35), 0 0 0 100vmax rgba(14, 26, 51, .32);
    transform: translate(-50%, -50%);
    user-select: auto;
}

/* Sin barra de título ni X: el título va en el contenido y se cierra con "Listo" */
.configDialog.isV2 .windowsTitleBar {
    display: none;
}

.configDialog.isV2 .win10windowWrapper {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.configDialog.isV2 .win10windowWrapper > .clear {
    display: none;
}

.configDialog.isV2 .win10content {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: auto;
    padding: 0;
    font-size: 14px;
    background: #ffffff;
}

.configDialog.isV2 .CDHead {
    flex: none;
    padding: 24px 28px 16px;
    border-bottom: 1px solid #EEF1F6;
}

/* X para cerrar, arriba a la derecha (hace lo mismo que "Listo") */
.configDialog.isV2 .CDHead {
    position: relative;
    padding-right: 64px;
}

.configDialog.isV2 a.CDClose {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 32px;
    height: 32px;
    color: #69768C;
    border-radius: 8px;
    cursor: pointer;
}

.configDialog.isV2 a.CDClose::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.configDialog.isV2 a.CDClose:hover {
    color: #0E1A33;
    background: #F1F4F9;
}

.configDialog.isV2 a.CDClose:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.configDialog.isV2 .CDHead h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #0E1A33;
}

.configDialog.isV2 .CDHead p {
    margin: 4px 0 0;
    font-size: 13px;
    /* La base (.configDialog p, #wrapper p...) fija otro color */
    color: #69768C !important;
}

.configDialog.isV2 .CDBody {
    flex: 1;
    min-height: 0;
    padding: 4px 28px 8px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #D5DDE8 transparent;
}

.configDialog.isV2 .CDGroup h3 {
    margin: 20px 0 4px;
    font-size: 12.5px;
    font-weight: 600;
    color: #69768C;
}

/* Fila: texto a la izquierda, control a la derecha */
.configDialog.isV2 .CDRow {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 0;
    padding: 12px 0;
    line-height: normal;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid #EEF1F6;
    cursor: pointer;
}

.configDialog.isV2 .CDGroup:last-child .CDRow:last-child {
    border-bottom: 0;
}

.configDialog.isV2 div.CDRow {
    cursor: default;
}

.configDialog.isV2 .CDText {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.configDialog.isV2 .CDText strong {
    font-size: 14px;
    font-weight: 600;
    color: #13203A;
}

.configDialog.isV2 .CDText small {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.45;
    color: #69768C;
}

/* Interruptor */
.configDialog.isV2 .CDSwitch {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    flex: none;
    width: 38px;
    height: 22px;
    margin: 0;
    background: #D5DDE8;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: background-color .15s ease;
}

.configDialog.isV2 .CDSwitch::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .25);
    transition: transform .15s ease;
}

.configDialog.isV2 .CDSwitch:checked {
    background: var(--brand);
}

.configDialog.isV2 .CDSwitch:checked::after {
    transform: translateX(16px);
}

.configDialog.isV2 .CDSwitch:focus-visible,
.configDialog.isV2 .CDSelect:focus-visible,
.configDialog.isV2 .CDAction:focus-visible,
.configDialog.isV2 .CDDone:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Idioma */
.configDialog.isV2 .CDSelect {
    flex: none;
    width: 140px;
    height: 36px;
    margin: 0;
    padding: 0 30px 0 12px;
    font: inherit;
    font-size: 13.5px;
    color: #13203A;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2369768C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 14px;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

/* Acciones: valor actual + flecha */
.configDialog.isV2 a.CDAction {
    margin: 0;
    line-height: normal;
    color: inherit;
}

.configDialog.isV2 .CDAction:hover strong {
    color: var(--brand);
}

.configDialog.isV2 .CDMeta {
    flex: none;
    padding: 3px 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: #3A475E;
    background: #F1F4F9;
    border-radius: 999px;
}

.configDialog.isV2 .CDMeta:empty {
    display: none;
}

.configDialog.isV2 .CDChevron {
    flex: none;
    width: 16px;
    height: 16px;
    margin-left: -8px;
    background: #8E9AAD;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Pie */
.configDialog.isV2 .CDFoot {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 28px;
    background: #F7F9FC;
    border-top: 1px solid #EEF1F6;
}

.configDialog.isV2 .CDFoot p {
    margin: 0;
    font-size: 12.5px;
    /* La base (.configDialog p, #wrapper p...) fija otro color */
    color: #69768C !important;
}

.configDialog.isV2 a.CDDone {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    height: 38px;
    margin: 0;
    padding: 0 18px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    color: #ffffff;
    background: var(--brand);
    border-radius: 8px;
    text-decoration: none;
    cursor: pointer;
}

.configDialog.isV2 a.CDDone:hover {
    background: color-mix(in srgb, var(--brand) 89%, #000);
}

@media (prefers-reduced-motion: reduce) {
    .configDialog.isV2 .CDSwitch,
    .configDialog.isV2 .CDSwitch::after {
        transition: none;
    }
}

/* --- Discovery: exportar la configuración a otros equipos (exportDialog.v2) ---
   Misma ventana que las opciones del equipo, encima de ella: departamentos como atajos (chips), lista de equipos con
   buscador y "Seleccionar todos", contador y "Exportar a N equipos"; progreso en el botón y resultado dentro. */
.exportDialogV2Wrapper {
    position: fixed;
    inset: 0;
    z-index: 950;
}

.exportDialog.isV2.windowsStyleWindow {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 950;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: min(560px, calc(100vw - 32px));
    min-width: 0;
    max-width: none;
    height: min(640px, calc(100vh - 48px));
    padding: 0;
    overflow: hidden;
    color: #3A475E;
    background: #ffffff;
    border: 0;
    border-radius: 14px;
    box-shadow: 0 24px 64px -16px rgba(14, 26, 51, .4), 0 0 0 100vmax rgba(14, 26, 51, .28);
    transform: translate(-50%, -50%);
    user-select: auto;
}

.exportDialog.isV2.isDone,
.exportDialog.isV2.hasErrors {
    height: auto;
}

.exportDialog.isV2 .EXHead {
    flex: none;
    padding: 24px 28px 16px;
    border-bottom: 1px solid #EEF1F6;
}

.exportDialog.isV2 .EXHead h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #0E1A33;
}

.exportDialog.isV2 .EXHead p {
    margin: 6px 0 0;
    font-size: 13.5px;
    line-height: 1.5;
    color: #5D6B82 !important;
}

.exportDialog.isV2 .EXHead strong {
    font-weight: 600;
    color: #13203A;
}

.exportDialog.isV2 .EXBody {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 4px 28px 12px;
    overflow-y: auto;
}

.exportDialog.isV2 .EXGroup h3 {
    margin: 18px 0 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: #69768C;
}

/* La sección de equipos ocupa el alto que queda; la lista hace scroll */
.exportDialog.isV2 .EXGroup:last-child {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Departamentos */
.exportDialog.isV2 .EXChips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.exportDialog.isV2 .EXChip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 500;
    color: #3A475E;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 999px;
    cursor: pointer;
}

.exportDialog.isV2 .EXChip input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.exportDialog.isV2 .EXChip small {
    font-size: 12px;
    color: #8E9AAD;
}

.exportDialog.isV2 .EXChip:hover {
    border-color: #AEBBCD;
}

.exportDialog.isV2 .EXChip:has(input:checked) {
    color: color-mix(in srgb, var(--brand) 79%, #000);
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
}

.exportDialog.isV2 .EXChip:has(input:checked) small {
    color: var(--brand);
}

.exportDialog.isV2 .EXChip:has(input:focus-visible) {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Equipos */
.exportDialog.isV2 .EXListHead {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}

.exportDialog.isV2 #EXSelectAll {
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
    cursor: pointer;
}

.exportDialog.isV2 #EXSelectAll:hover {
    text-decoration: underline;
}

.exportDialog.isV2 .EXSearch {
    flex: none;
    box-sizing: border-box;
    width: 100%;
    height: 38px;
    margin: 0 0 8px;
    padding: 0 12px 0 36px;
    font: inherit;
    font-size: 13.5px;
    color: #13203A;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2369768C' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 12px center / 15px;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.exportDialog.isV2 .EXSearch:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

.exportDialog.isV2 .EXList {
    flex: 1;
    min-height: 120px;
    margin: 0;
    padding: 4px;
    overflow-y: auto;
    list-style: none;
    border: 1px solid #E8EDF4;
    border-radius: 10px;
    scrollbar-width: thin;
    scrollbar-color: #D5DDE8 transparent;
}

.exportDialog.isV2 .EXItem {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 8px 10px;
    border-radius: 8px;
    cursor: pointer;
}

.exportDialog.isV2 .EXItem:hover {
    background: #F3F6FA;
}

.exportDialog.isV2 .EXItem span {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.exportDialog.isV2 .EXItem strong {
    overflow: hidden;
    font-size: 13.5px;
    font-weight: 500;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #13203A;
}

.exportDialog.isV2 .EXItem small {
    font-size: 12px;
    color: #8E9AAD;
}

/* Casilla */
.exportDialog.isV2 .EXPc {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    position: relative;
    width: 18px;
    height: 18px;
    margin: 0;
    background: #ffffff;
    border: 1.5px solid #AEBBCD;
    border-radius: 5px;
    cursor: pointer;
}

.exportDialog.isV2 .EXPc:checked {
    background: var(--brand);
    border-color: var(--brand);
}

.exportDialog.isV2 .EXPc:checked::after {
    content: "";
    position: absolute;
    inset: 1px;
    background: #ffffff;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / contain;
}

.exportDialog.isV2 .EXPc:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.exportDialog.isV2 .EXEmpty {
    padding: 16px 10px;
    font-size: 13px;
    color: #69768C;
}

/* Pie: contador + Cancelar + Exportar */
.exportDialog.isV2 .EXFoot {
    flex: none;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: #F7F9FC;
    border-top: 1px solid #EEF1F6;
}

.exportDialog.isV2 .EXFoot p {
    flex: 1;
    margin: 0;
    font-size: 13px;
    color: #5D6B82 !important;
}

.exportDialog.isV2 .EXButton {
    flex: none;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 38px;
    margin: 0;
    padding: 0 16px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    border-radius: 8px;
    cursor: pointer;
}

.exportDialog.isV2 .EXButton.isSecondary {
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
}

.exportDialog.isV2 .EXButton.isSecondary:hover {
    background: #F3F6FA;
}

.exportDialog.isV2 .EXButton.isPrimary {
    min-width: 120px;
    color: #ffffff;
    background: var(--brand);
    border: 1px solid var(--brand);
}

.exportDialog.isV2 .EXButton.isPrimary:hover {
    background: color-mix(in srgb, var(--brand) 89%, #000);
}

.exportDialog.isV2 .EXButton.isDisabled,
.exportDialog.isV2 .EXButton.isDisabled:hover {
    color: #8E9AAD;
    background: #EEF1F6;
    border-color: #EEF1F6;
    cursor: not-allowed;
}

/* Exportando: el botón muestra el progreso con un icono girando */
.exportDialog.isV2.isRunning #EXRun {
    pointer-events: none;
}

.exportDialog.isV2.isRunning #EXRun::before {
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, .45);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: CNFSpin .8s linear infinite;
}

.exportDialog.isV2.isRunning .EXBody {
    opacity: .6;
    pointer-events: none;
}

/* Resultado */
.exportDialog.isV2 .EXResult {
    padding: 28px 0 12px;
    text-align: center;
}

.exportDialog.isV2 .EXResultIcon {
    display: block;
    width: 44px;
    height: 44px;
    margin: 0 auto 14px;
    background: #1BAF7A;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1.2 14.2-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4-7 7Z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1.2 14.2-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4-7 7Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.exportDialog.isV2.hasErrors .EXResultIcon {
    background: #E0A21B;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1 5h2v7h-2Zm0 9h2v2h-2Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1 5h2v7h-2Zm0 9h2v2h-2Z'/%3E%3C/svg%3E");
}

.exportDialog.isV2 .EXResult h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #0E1A33;
}

.exportDialog.isV2 .EXResult p {
    max-width: 400px;
    margin: 8px auto 0;
    font-size: 13.5px;
    line-height: 1.5;
    color: #5D6B82 !important;
}

.exportDialog.isV2 .EXResult p:empty {
    display: none;
}

.exportDialog.isV2 .EXResult .EXResultLead {
    margin-top: 18px;
    font-weight: 600;
    color: #13203A !important;
}

.exportDialog.isV2 .EXFailed {
    max-height: 180px;
    margin: 8px 0 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
    text-align: left;
    border: 1px solid #E8EDF4;
    border-radius: 10px;
}

.exportDialog.isV2 .EXFailed li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 12px;
    font-size: 13px;
    border-bottom: 1px solid #EEF1F6;
}

.exportDialog.isV2 .EXFailed li:last-child {
    border-bottom: 0;
}

.exportDialog.isV2 .EXFailed strong {
    font-weight: 600;
    color: #13203A;
}

.exportDialog.isV2 .EXFailed small {
    font-size: 12.5px;
    color: #A8243A;
}

@media (prefers-reduced-motion: reduce) {
    .exportDialog.isV2.isRunning #EXRun::before {
        animation: none;
    }
}

/* --- Discovery: pestaña Aplicaciones (#tabContent2; 0_Tab_apps.js, configRender.setApplications) ---
   Cabecera con título, explicación y "Añadir aplicación"; tarjeta con la lista a la izquierda (icono, nombre comercial
   y ejecutable, marcas de contraseña / sin registro) y el detalle a la derecha con interruptores y "Quitar de la lista".
   Vacío: explicación y atajos para añadir las habituales. */
#RBPCConfigDiv #tabContent2 {
    --apps-v2: 1;
    position: relative;
    grid-template-columns: 300px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    height: auto;
    min-height: 0;
    padding-top: 20px;
    background: transparent;
}

/* La pestaña empieza oculta (.hidden) y el cambio de pestaña la muestra con display: block en línea: rejilla */
#RBPCConfigDiv #tabContent2[style*="display: block"] {
    display: grid !important;
}

#RBPCConfigDiv #tabContent2 .APHeader {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 16px;
}

#RBPCConfigDiv .APHeaderText h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #0E1A33;
}

#RBPCConfigDiv .APHeaderText p {
    margin: 4px 0 0;
    font-size: 13.5px;
    line-height: 1.5;
    color: #5D6B82;
}

#RBPCConfigDiv #APAddBtn {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 38px;
    padding: 0 16px;
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    background: var(--brand);
    border-radius: 8px;
    text-decoration: none;
    cursor: pointer;
}

#RBPCConfigDiv #APAddBtn::before {
    content: "";
    width: 14px;
    height: 14px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #APAddBtn:hover {
    background: color-mix(in srgb, var(--brand) 89%, #000);
}

/* Lista (izquierda) */
#RBPCConfigDiv #tabContent2Left {
    float: none;
    width: auto;
    height: auto;
    padding: 0;
}

#RBPCConfigDiv #tabContent2Left-top,
#RBPCConfigDiv #tabContent2Left-bottom-options {
    display: none;
}

#RBPCConfigDiv #tabContent2Left-bottom {
    height: auto;
}

#RBPCConfigDiv #tabContent2Left-bottom-list {
    height: auto;
    min-height: 360px;
    max-height: calc(100vh - 330px);
    padding: 8px;
    overflow-y: auto;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-right: 0;
    border-radius: 14px 0 0 14px;
    scrollbar-width: thin;
    scrollbar-color: #D5DDE8 transparent;
}

#RBPCConfigDiv #appsList {
    margin: 0;
    padding: 0;
}

#RBPCConfigDiv #appsList li {
    margin: 0 0 2px;
    line-height: normal;
}

#RBPCConfigDiv #tabContent2Left-bottom-list a.appsListItem {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    line-height: normal;
    color: #13203A;
    background: none;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent2Left-bottom-list a.appsListItem:hover {
    background: #F3F6FA;
}

#RBPCConfigDiv #tabContent2Left-bottom-list a.appsListItemSelected,
#RBPCConfigDiv #tabContent2Left-bottom-list a.appsListItemSelected:hover {
    color: #13203A !important;
    background: color-mix(in srgb, var(--brand) 8%, #fff);
}

/* Icono: inicial con el color de la aplicación; carpeta (explorador) o cuadrícula (todas) */
#RBPCConfigDiv .APIcon {
    position: relative;
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    background: var(--ap-color, #5D6B82);
    border-radius: 8px;
}

#RBPCConfigDiv .APIcon.isGlyph::before {
    content: "";
    width: 18px;
    height: 18px;
    background: #ffffff;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv .APIcon.isAll::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E");
}

#RBPCConfigDiv .APText {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

#RBPCConfigDiv .APText strong {
    overflow: hidden;
    font-size: 13.5px;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#RBPCConfigDiv .APText small {
    overflow: hidden;
    font-size: 12px;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #69768C;
}

/* Marcas: candado (pide contraseña) y pausa (sin registro de accesos) */
#RBPCConfigDiv .APBadges {
    flex: none;
    display: flex;
    gap: 6px;
}

#RBPCConfigDiv .APBadge {
    width: 15px;
    height: 15px;
    background: #8E9AAD;
    -webkit-mask: var(--badge) no-repeat center / contain;
    mask: var(--badge) no-repeat center / contain;
}

#RBPCConfigDiv .APBadge.isLocked {
    background: var(--brand);
    --badge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
}

#RBPCConfigDiv .APBadge.isPaused {
    --badge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M10 15V9M14 15V9'/%3E%3C/svg%3E");
}

/* Detalle (derecha) */
#RBPCConfigDiv #tabContent2Right {
    float: none;
    width: auto;
    height: auto;
    min-height: 360px;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-radius: 0 14px 14px 0;
}

#RBPCConfigDiv #tabContent2Right .innerContent {
    height: auto;
    margin: 0;
    padding: 24px 28px;
    border: 0;
    border-radius: 0;
}

#RBPCConfigDiv #tabContent2RightTitle {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 18px;
    padding: 0 0 18px;
    font-weight: normal;
    border-bottom: 1px solid #EEF1F6;
}

#RBPCConfigDiv #tabContent2RightTitle .APIcon {
    width: 44px;
    height: 44px;
    font-size: 19px;
    border-radius: 11px;
}

#RBPCConfigDiv #tabContent2RightTitle .APIcon.isGlyph::before {
    width: 24px;
    height: 24px;
}

#RBPCConfigDiv #tabContent2RightTitle .APText strong {
    font-size: 17px;
    font-weight: 700;
    color: #0E1A33;
}

#RBPCConfigDiv #tabContent2RightTitle .APText small {
    font-size: 13px;
}

#RBPCConfigDiv #tabContent2RightTitle .APBadges {
    display: none;
}

/* Opciones: texto a la izquierda e interruptor a la derecha */
#RBPCConfigDiv #tabContent2Right .line {
    line-height: normal;
}

#RBPCConfigDiv #tabContent2Right .line label {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    color: #13203A;
    border-bottom: 1px solid #EEF1F6;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent2Right .line input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    flex: none;
    width: 38px;
    height: 22px;
    margin: 0;
    background: #D5DDE8;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: background-color .15s ease;
}

#RBPCConfigDiv #tabContent2Right .line input[type="checkbox"]::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .25);
    transition: transform .15s ease;
}

#RBPCConfigDiv #tabContent2Right .line input[type="checkbox"]:checked {
    background: var(--brand);
}

#RBPCConfigDiv #tabContent2Right .line input[type="checkbox"]:checked::after {
    transform: translateX(16px);
}

#RBPCConfigDiv #tabContent2Right .line input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

#RBPCConfigDiv #appsDetailUsersLink a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0 0;
    padding: 0;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
    background: none;
}

#RBPCConfigDiv #appsDetailUsersLink a::before {
    content: "";
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #appsDetailUsersLink a:hover {
    text-decoration: underline;
}

#RBPCConfigDiv #tabContent2 .APDetailActions {
    display: block;
    margin-top: 28px;
}

#RBPCConfigDiv #APRemoveBtn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    padding: 0 14px;
    font-size: 13.5px;
    font-weight: 600;
    color: #C2304A;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #F1B9C3;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #APRemoveBtn::before {
    content: "";
    width: 15px;
    height: 15px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2M10 11v6M14 11v6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2M10 11v6M14 11v6'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #APRemoveBtn:hover {
    background: #FDF1F3;
    border-color: #E58A9B;
}

/* Sin aplicaciones: la tarjeta entera es el estado vacío */
#RBPCConfigDiv #tabContent2.isEmpty #tabContent2Left-bottom-list {
    display: none;
}

#RBPCConfigDiv #tabContent2.isEmpty #tabContent2Right {
    grid-column: 1 / -1;
    border-radius: 14px;
}

#RBPCConfigDiv #tabContent2 .emptyContent {
    height: auto;
    margin: 0;
    padding: 72px 24px;
    text-align: center;
    background: none;
}

#RBPCConfigDiv #tabContent2 .emptyContent::before {
    content: "";
    display: block;
    width: 48px;
    height: 48px;
    margin: 0 auto 16px;
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    border-radius: 12px;
}

#RBPCConfigDiv #tabContent2 .emptyContent {
    position: relative;
}

/* Icono del vacío sobre el cuadro de ::before (72 px de relleno + 12 px): con mask toma el color de la marca */
#RBPCConfigDiv #tabContent2 .emptyContent::after {
    content: "";
    position: absolute;
    top: 84px;
    left: 50%;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    background: var(--brand);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #tabContent2 .emptyContent strong {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #0E1A33;
}

/* El texto antiguo habla del botón "Añadir"; los atajos lo sustituyen */
#RBPCConfigDiv #tabContent2 .emptyContent p {
    display: none;
}

#RBPCConfigDiv #tabContent2 .emptyContent .APQuick {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
}

#RBPCConfigDiv #tabContent2 .emptyContent .APQuick::before {
    content: "Empieza por las más habituales o usa «Añadir aplicación» para buscar otra.";
    flex-basis: 100%;
    margin-bottom: 6px;
    font-size: 13.5px;
    color: #5D6B82;
}

#RBPCConfigDiv .APQuick a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 34px;
    padding: 0 14px;
    font-size: 13.5px;
    font-weight: 600;
    color: #13203A;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 999px;
    cursor: pointer;
}

#RBPCConfigDiv .APQuick a::before {
    content: "+";
    font-weight: 700;
    color: var(--brand);
}

#RBPCConfigDiv .APQuick a:hover {
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
    background: color-mix(in srgb, var(--brand) 4%, #fff);
}

/* Menú "Añadir aplicación": tarjeta flotante bajo el botón; el submenú de típicas se abre a la izquierda */
#RBPCConfigDiv #tabContent2 .popover {
    top: 62px;
    right: 0;
    left: auto !important;
    z-index: 20;
    width: 260px;
    padding: 6px;
    font-size: 13.5px;
    line-height: normal;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-radius: 12px;
    box-shadow: 0 16px 40px -12px rgba(14, 26, 51, .28);
}

#RBPCConfigDiv #tabContent2 .popover.popoverSubcategory {
    top: 112px;
    right: 266px;
    margin-left: 0 !important;
    width: 230px;
}

#RBPCConfigDiv #tabContent2 .popover ul {
    margin: 0;
    padding: 0;
}

#RBPCConfigDiv #tabContent2 .popover ul li {
    padding: 9px 12px;
    color: #13203A;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent2 .popover ul li:hover {
    color: var(--brand) !important;
    background: #F3F6FA;
}

#RBPCConfigDiv #tabContent2 .popover .popoverSeparator,
#RBPCConfigDiv #tabContent2 .popover .popoverSeparator:hover {
    margin: 4px 0;
    padding: 0 !important;
    border-bottom: 1px solid #EEF1F6;
    background: none !important;
    border-radius: 0;
    cursor: default;
}

#RBPCConfigDiv #tabContent2 .popoverSubcategoryBtn {
    background: none;
}

#RBPCConfigDiv #tabContent2 .popoverSubcategoryBtn::after {
    content: "‹";
    float: right;
    color: #8E9AAD;
}

/* Opciones del menú que ya están en la lista (config.apps.markAddedOptions): atenuadas, con "Añadida" y sin acción */
#RBPCConfigDiv #tabContent2 .popover ul li.isAdded {
    color: #8A96AA;
}

#RBPCConfigDiv #tabContent2 .popover ul li.isAdded:not(.popoverSubcategoryBtn) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    white-space: nowrap;
    pointer-events: none;
    cursor: default;
}

#RBPCConfigDiv #tabContent2 .popover ul li.isAdded:not(.popoverSubcategoryBtn)::after {
    content: "\2713\00a0Añadida";
    flex: none;
    font-size: 12px;
    font-weight: 600;
    color: var(--brand);
}

@media (max-width: 1500px) {
    #RBPCConfigDiv #tabContent2 {
        grid-template-columns: 240px minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    #RBPCConfigDiv #tabContent2Right .line input[type="checkbox"],
    #RBPCConfigDiv #tabContent2Right .line input[type="checkbox"]::after {
        transition: none;
    }
}

/* --- Discovery: pestaña Ficheros (#tabContent3; 0_Tab_directories.js, configRender.setDirectories) ---
   Mismo diseño que Aplicaciones (generado a partir de sus reglas): cabecera con "Añadir carpeta", lista con icono por tipo
   de carpeta (escritorio, documentos, descargas, USB, carpeta) y ubicación, detalle con interruptores, filtros comunes a
   todas las carpetas y "Quitar de la lista"; vacío con atajos. */
#RBPCConfigDiv #tabContent3 {
    --files-v2: 1;
    position: relative;
    grid-template-columns: 300px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    height: auto;
    min-height: 0;
    padding-top: 20px;
    background: transparent;
}

#RBPCConfigDiv #tabContent3[style*="display: block"] {
    display: grid !important;
}

#RBPCConfigDiv #tabContent3 .APHeader {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 16px;
}

#RBPCConfigDiv #FLAddBtn {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 38px;
    padding: 0 16px;
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    background: var(--brand);
    border-radius: 8px;
    text-decoration: none;
    cursor: pointer;
}

#RBPCConfigDiv #FLAddBtn::before {
    content: "";
    width: 14px;
    height: 14px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #FLAddBtn:hover {
    background: color-mix(in srgb, var(--brand) 89%, #000);
}

#RBPCConfigDiv #tabContent3Left {
    float: none;
    width: auto;
    height: auto;
    padding: 0;
}

#RBPCConfigDiv #tabContent3Left-top,
#RBPCConfigDiv #tabContent3Left-bottom-options {
    display: none;
}

#RBPCConfigDiv #tabContent3Left-bottom {
    height: auto;
}

#RBPCConfigDiv #tabContent3Left-bottom-list {
    height: auto;
    min-height: 360px;
    max-height: calc(100vh - 330px);
    padding: 8px;
    overflow-y: auto;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-right: 0;
    border-radius: 14px 0 0 14px;
    scrollbar-width: thin;
    scrollbar-color: #D5DDE8 transparent;
}

#RBPCConfigDiv #directoriesList {
    margin: 0;
    padding: 0;
}

#RBPCConfigDiv #directoriesList li {
    margin: 0 0 2px;
    line-height: normal;
}

#RBPCConfigDiv #tabContent3Left-bottom-list a.directoriesListItem {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    line-height: normal;
    color: #13203A;
    background: none;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent3Left-bottom-list a.directoriesListItem:hover {
    background: #F3F6FA;
}

#RBPCConfigDiv #tabContent3Left-bottom-list a.directoriesListItemSelected,
#RBPCConfigDiv #tabContent3Left-bottom-list a.directoriesListItemSelected:hover {
    color: #13203A !important;
    background: color-mix(in srgb, var(--brand) 8%, #fff);
}

#RBPCConfigDiv #tabContent3Right {
    float: none;
    width: auto;
    height: auto;
    min-height: 360px;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-radius: 0 14px 14px 0;
}

#RBPCConfigDiv #tabContent3Right .innerContent {
    height: auto;
    margin: 0;
    padding: 24px 28px;
    border: 0;
    border-radius: 0;
}

#RBPCConfigDiv #tabContent3RightTitle {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 18px;
    padding: 0 0 18px;
    font-weight: normal;
    border-bottom: 1px solid #EEF1F6;
}

#RBPCConfigDiv #tabContent3RightTitle .APIcon {
    width: 44px;
    height: 44px;
    font-size: 19px;
    border-radius: 11px;
}

#RBPCConfigDiv #tabContent3RightTitle .APIcon.isGlyph::before {
    width: 24px;
    height: 24px;
}

#RBPCConfigDiv #tabContent3RightTitle .APText strong {
    font-size: 17px;
    font-weight: 700;
    color: #0E1A33;
}

#RBPCConfigDiv #tabContent3RightTitle .APText small {
    font-size: 13px;
}

#RBPCConfigDiv #tabContent3RightTitle .APBadges {
    display: none;
}

#RBPCConfigDiv #tabContent3Right .line {
    line-height: normal;
}

#RBPCConfigDiv #tabContent3Right .line label {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    color: #13203A;
    border-bottom: 1px solid #EEF1F6;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent3Right .line input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    flex: none;
    width: 38px;
    height: 22px;
    margin: 0;
    background: #D5DDE8;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: background-color .15s ease;
}

#RBPCConfigDiv #tabContent3Right .line input[type="checkbox"]::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .25);
    transition: transform .15s ease;
}

#RBPCConfigDiv #tabContent3Right .line input[type="checkbox"]:checked {
    background: var(--brand);
}

#RBPCConfigDiv #tabContent3Right .line input[type="checkbox"]:checked::after {
    transform: translateX(16px);
}

#RBPCConfigDiv #tabContent3Right .line input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

#RBPCConfigDiv #directoryDetailUsersLink a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0 0;
    padding: 0;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
    background: none;
}

#RBPCConfigDiv #directoryDetailUsersLink a::before {
    content: "";
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #directoryDetailUsersLink a:hover {
    text-decoration: underline;
}

#RBPCConfigDiv #tabContent3 .APDetailActions {
    display: block;
    margin-top: 28px;
}

#RBPCConfigDiv #FLRemoveBtn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    padding: 0 14px;
    font-size: 13.5px;
    font-weight: 600;
    color: #C2304A;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #F1B9C3;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #FLRemoveBtn::before {
    content: "";
    width: 15px;
    height: 15px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2M10 11v6M14 11v6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2M10 11v6M14 11v6'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #FLRemoveBtn:hover {
    background: #FDF1F3;
    border-color: #E58A9B;
}

#RBPCConfigDiv #tabContent3.isEmpty #tabContent3Left-bottom-list {
    display: none;
}

#RBPCConfigDiv #tabContent3.isEmpty #tabContent3Right {
    grid-column: 1 / -1;
    border-radius: 14px;
}

#RBPCConfigDiv #tabContent3 .emptyContent {
    height: auto;
    margin: 0;
    padding: 72px 24px;
    text-align: center;
    background: none;
}

#RBPCConfigDiv #tabContent3 .emptyContent::before {
    content: "";
    display: block;
    width: 48px;
    height: 48px;
    margin: 0 auto 16px;
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    border-radius: 12px;
}

#RBPCConfigDiv #tabContent3 .emptyContent {
    position: relative;
}

/* Icono del vacío sobre el cuadro de ::before (72 px de relleno + 12 px): con mask toma el color de la marca */
#RBPCConfigDiv #tabContent3 .emptyContent::after {
    content: "";
    position: absolute;
    top: 84px;
    left: 50%;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    background: var(--brand);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #tabContent3 .emptyContent strong {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #0E1A33;
}

#RBPCConfigDiv #tabContent3 .emptyContent p {
    display: none;
}

#RBPCConfigDiv #tabContent3 .emptyContent .APQuick {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
}

#RBPCConfigDiv #tabContent3 .emptyContent .APQuick::before {
    content: "Empieza por las más habituales o usa «Añadir aplicación» para buscar otra.";
    flex-basis: 100%;
    margin-bottom: 6px;
    font-size: 13.5px;
    color: #5D6B82;
}

#RBPCConfigDiv #tabContent3 .popover {
    top: 62px;
    right: 0;
    left: auto !important;
    z-index: 20;
    width: 260px;
    padding: 6px;
    font-size: 13.5px;
    line-height: normal;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-radius: 12px;
    box-shadow: 0 16px 40px -12px rgba(14, 26, 51, .28);
}

#RBPCConfigDiv #tabContent3 .popover.popoverSubcategory {
    top: 112px;
    right: 266px;
    margin-left: 0 !important;
    width: 230px;
}

#RBPCConfigDiv #tabContent3 .popover ul {
    margin: 0;
    padding: 0;
}

#RBPCConfigDiv #tabContent3 .popover ul li {
    padding: 9px 12px;
    color: #13203A;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent3 .popover ul li:hover {
    color: var(--brand) !important;
    background: #F3F6FA;
}

#RBPCConfigDiv #tabContent3 .popover .popoverSeparator,
#RBPCConfigDiv #tabContent3 .popover .popoverSeparator:hover {
    margin: 4px 0;
    padding: 0 !important;
    border-bottom: 1px solid #EEF1F6;
    background: none !important;
    border-radius: 0;
    cursor: default;
}

#RBPCConfigDiv #tabContent3 .popoverSubcategoryBtn {
    background: none;
}

#RBPCConfigDiv #tabContent3 .popoverSubcategoryBtn::after {
    content: "‹";
    float: right;
    color: #8E9AAD;
}

@media (max-width: 1500px) {
    #RBPCConfigDiv #tabContent3 {
        grid-template-columns: 240px minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    #RBPCConfigDiv #tabContent3Right .line input[type="checkbox"],
    #RBPCConfigDiv #tabContent3Right .line input[type="checkbox"]::after {
        transition: none;
    }
}

/* Iconos por tipo de carpeta */
#RBPCConfigDiv .APIcon.isDesktop::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E");
}

#RBPCConfigDiv .APIcon.isDocuments::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
}

#RBPCConfigDiv .APIcon.isDownloads::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5M12 15V3'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5M12 15V3'/%3E%3C/svg%3E");
}

#RBPCConfigDiv .APIcon.isUsb::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11Z'/%3E%3Cpath d='M6 16h.01M10 16h.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11Z'/%3E%3Cpath d='M6 16h.01M10 16h.01'/%3E%3C/svg%3E");
}

/* El subtítulo antiguo ("Ubicación: ...") lo sustituye la línea bajo el nombre */
#RBPCConfigDiv #tabContent3RightSubtitle {
    display: none;
}

#RBPCConfigDiv #tabContent3RightTitle .APText small {
    white-space: normal;
    word-break: break-all;
}

/* Bloquear USB: nota bajo el interruptor */
#RBPCConfigDiv #tabContent3LockUSBDiv .clear {
    display: none;
}

#RBPCConfigDiv #lockUSBcbFooter {
    margin: 10px 0 0;
    padding: 10px 12px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #5D6B82;
    background: #F7F9FC;
    border-radius: 8px;
}

/* Filtros comunes a todas las carpetas: dos botones secundarios con la nota debajo */
#RBPCConfigDiv #tabContent3RightFiltersDiv {
    float: none;
    width: auto;
    margin: 22px 0 0;
    padding: 16px;
    background: #F7F9FC;
    border: 0;
    border-radius: 10px;
}

#RBPCConfigDiv #tabContent3RightFiltersDiv p {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
}

#RBPCConfigDiv #tabContent3RightFiltersDiv a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 34px;
    margin: 0;
    padding: 0 14px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    color: #13203A;
    text-decoration: none;
    background: #ffffff;
    background-image: none;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent3RightFiltersDiv a:hover {
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
    background: color-mix(in srgb, var(--brand) 4%, #fff);
}

#RBPCConfigDiv #tabContent3RightFiltersDiv a::before {
    content: "";
    width: 15px;
    height: 15px;
    background: #5D6B82;
    -webkit-mask: var(--fl-icon) no-repeat center / contain;
    mask: var(--fl-icon) no-repeat center / contain;
}

#RBPCConfigDiv #tabContent3RightFilters1 {
    --fl-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m4.9 4.9 14.2 14.2'/%3E%3C/svg%3E");
}

#RBPCConfigDiv #tabContent3RightFilters2 {
    --fl-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 3H2l8 9.46V19l4 2v-8.54Z'/%3E%3C/svg%3E");
}

#RBPCConfigDiv #tabContent3RightFiltersDiv #tabContent3RightFiltersFooter {
    display: block;
    margin-top: 10px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #69768C;
}

/* La lista llega hasta abajo aunque el detalle sea más alto */
#RBPCConfigDiv #tabContent2Left,
#RBPCConfigDiv #tabContent2Left-bottom,
#RBPCConfigDiv #tabContent3Left,
#RBPCConfigDiv #tabContent3Left-bottom {
    display: flex;
    flex-direction: column;
}

#RBPCConfigDiv #tabContent2Left-bottom,
#RBPCConfigDiv #tabContent2Left-bottom-list,
#RBPCConfigDiv #tabContent3Left-bottom,
#RBPCConfigDiv #tabContent3Left-bottom-list {
    flex: 1;
}

#RBPCConfigDiv #tabContent3RightFiltersFooter,
#RBPCConfigDiv #lockUSBcbFooter {
    font-style: normal;
}

/* Estado vacío: texto e icono propios de carpetas */
#RBPCConfigDiv #tabContent3 .emptyContent .APQuick::before {
    content: "Empieza por las más habituales o usa «Añadir carpeta» para elegir otra.";
}

/* Menú "Añadir carpeta": el submenú de típicas sale de la primera opción */
#RBPCConfigDiv #tabContent3 .popover.popoverSubcategory {
    top: 62px;
}

/* --- Discovery: pestaña Internet (#tabContent4; 0_Tab_internet.js, configRender.setInternet) ---
   Cabecera como Aplicaciones y Ficheros; dos tarjetas (Monitorización y Bloqueo de páginas web) con filas de título,
   explicación e interruptor; "Configurar" del tráfico saliente como botón; aviso del proxy en ámbar; webs bloqueadas
   en una lista con icono y botón para quitar cada una, y "Añadir web". */
#RBPCConfigDiv #tabContent4 {
    --internet-v2: 1;
    height: auto;
    padding-top: 20px;
    background: transparent;
}

#RBPCConfigDiv #tabContent4 .innerContent {
    padding: 0;
}

#RBPCConfigDiv #tabContent4 .APHeader {
    display: flex;
    margin-bottom: 16px;
}

#RBPCConfigDiv #tabContent4 .INCard {
    margin: 0 0 16px;
    padding: 6px 24px 18px;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-radius: 14px;
}

#RBPCConfigDiv #tabContent4 .INSectionTitle {
    display: block;
    margin: 14px 0 2px;
    font-size: 12.5px;
    font-weight: 600;
    color: #69768C;
}

/* Filas: título y explicación a la izquierda, interruptor a la derecha */
#RBPCConfigDiv #tabContent4 .line {
    position: relative;
    font-size: 14px;
    line-height: normal;
}

#RBPCConfigDiv #tabContent4 .line label {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 20px;
    align-items: center;
    padding: 14px 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    color: #13203A;
    border-bottom: 1px solid #EEF1F6;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent4 .INCard > .line:last-of-type label {
    border-bottom: 0;
}

#RBPCConfigDiv #tabContent4 .INHint {
    display: block;
    grid-column: 1;
    margin-top: 2px;
    font-size: 12.5px;
    font-weight: 400;
    color: #69768C;
}

/* Las notas entre paréntesis del texto antiguo las sustituye la explicación de debajo */
#RBPCConfigDiv #tabContent4 .INLegacy {
    display: none;
}

#RBPCConfigDiv #tabContent4 .line input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 38px;
    height: 22px;
    margin: 0;
    background: #D5DDE8;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: background-color .15s ease;
}

#RBPCConfigDiv #tabContent4 .line input[type="checkbox"]::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .25);
    transition: transform .15s ease;
}

#RBPCConfigDiv #tabContent4 .line input[type="checkbox"]:checked {
    background: var(--brand);
}

#RBPCConfigDiv #tabContent4 .line input[type="checkbox"]:checked::after {
    transform: translateX(16px);
}

#RBPCConfigDiv #tabContent4 .line input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Tráfico saliente: "Configurar" como botón entre el texto y el interruptor */
#RBPCConfigDiv #tabContent4 .line:has(#configInternetProxy) label {
    column-gap: 132px;
}

#RBPCConfigDiv #configInternetProxy {
    position: absolute;
    top: 50%;
    right: 58px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    margin-top: -16px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 600;
    color: #13203A;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #configInternetProxy::before {
    content: "";
    width: 14px;
    height: 14px;
    background: #5D6B82;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 4h-7M10 4H3M21 12h-9M8 12H3M21 20h-5M12 20H3M14 2v4M8 10v4M16 18v4'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 4h-7M10 4H3M21 12h-9M8 12H3M21 20h-5M12 20H3M14 2v4M8 10v4M16 18v4'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #configInternetProxy:hover {
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
    background: color-mix(in srgb, var(--brand) 4%, #fff);
}

/* Aviso al analizar todo el tráfico (estilos en línea en el markup) */
#RBPCConfigDiv #tabContent4 .ProxyRecommendation {
    width: auto !important;
    margin: 0 0 12px !important;
    padding: 10px 12px !important;
    font-size: 12.5px !important;
    line-height: 1.5;
    color: #8A5B00;
    background: #FEF4E2 !important;
    border: 0 !important;
    border-radius: 8px !important;
}

/* Webs bloqueadas */
#RBPCConfigDiv #tabContent4BlacklistBox {
    width: auto;
    height: auto;
    margin: 4px 0 0;
    border: 0;
    transition: opacity .15s ease;
}

#RBPCConfigDiv #tabContent4.isForbidOff #tabContent4BlacklistBox,
#RBPCConfigDiv #tabContent4.isForbidOff #tabContent4BlacklistButtons {
    opacity: .55;
}

#RBPCConfigDiv #tabContent4BlacklistHeader {
    padding: 0;
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 600;
    line-height: normal;
    color: #13203A;
    background: none;
}

#RBPCConfigDiv #tabContent4BlacklistContent {
    height: auto;
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid #E8EDF4;
    border-radius: 10px;
    scrollbar-width: thin;
    scrollbar-color: #D5DDE8 transparent;
}

#RBPCConfigDiv #tabContent4BlacklistContent ul {
    margin: 0;
    padding: 0;
    font-size: 13.5px;
}

#RBPCConfigDiv #tabContent4BlacklistContent li.BlacklistItem {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 8px 6px 12px;
    color: #13203A;
    background: none;
    border-bottom: 1px solid #EEF1F6;
}

#RBPCConfigDiv #tabContent4BlacklistContent li.BlacklistItem:last-child {
    border-bottom: 0;
}

#RBPCConfigDiv #tabContent4BlacklistContent li.BlacklistItem::before {
    content: "";
    flex: none;
    width: 16px;
    height: 16px;
    background: #8E9AAD;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m4.9 4.9 14.2 14.2'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m4.9 4.9 14.2 14.2'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #tabContent4BlacklistContent li.BlacklistItem:hover,
#RBPCConfigDiv #tabContent4BlacklistContent li.internetRowSelected {
    color: #13203A;
    background: #F7F9FC;
}

#RBPCConfigDiv #tabContent4BlacklistContent li.BlacklistItem span {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#RBPCConfigDiv #tabContent4 .INRemove {
    position: relative;
    flex: none;
    width: 30px;
    height: 30px;
    color: #8E9AAD;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent4 .INRemove::before {
    content: "";
    position: absolute;
    inset: 7px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2M10 11v6M14 11v6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2M10 11v6M14 11v6'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #tabContent4 .INRemove:hover {
    color: #C2304A;
    background: #FDF1F3;
}

/* Sin webs bloqueadas */
#RBPCConfigDiv #tabContent4.hasNoBlacklist .INEmpty {
    display: block;
    margin: 0;
    padding: 16px 12px;
    font-size: 13px;
    color: #69768C;
}

/* Botones: "Añadir web" (quitar va en cada fila) */
#RBPCConfigDiv #tabContent4BlacklistButtons ul {
    display: flex;
    margin: 12px 0 0;
    padding: 0;
}

#RBPCConfigDiv #tabContent4BlacklistButtons li + li {
    display: none;
}

#RBPCConfigDiv #tabContent4BlacklistButtons a#blacklistAddWeb {
    float: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    height: 36px;
    padding: 0 14px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    color: var(--brand);
    text-align: left;
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    border: 0;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent4BlacklistButtons a#blacklistAddWeb::before {
    content: "";
    width: 13px;
    height: 13px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #tabContent4BlacklistButtons a#blacklistAddWeb:hover {
    background: color-mix(in srgb, var(--brand) 14%, #fff);
}

@media (prefers-reduced-motion: reduce) {
    #RBPCConfigDiv #tabContent4 .line input[type="checkbox"],
    #RBPCConfigDiv #tabContent4 .line input[type="checkbox"]::after,
    #RBPCConfigDiv #tabContent4BlacklistBox {
        transition: none;
    }
}

/* --- Discovery: pestaña Internet › Correo (#tabContent4 .INPane[data-pane="mail"]; 0_Tab_mail.js, config.mail) ---
   Subpestañas Navegación web / Correo como control segmentado bajo la cabecera. Correo usa las mismas tarjetas y filas
   que Internet: salud del complemento de Outlook (punto de color, estado y detalle), monitorización, destinatarios
   bloqueados (lista con tipo y papelera; formulario en línea para añadir varios, uno por línea) e instalación
   (manifiesto para Microsoft 365). */
#RBPCConfigDiv #tabContent4 .hidden {
    display: none !important;
}

#RBPCConfigDiv #tabContent4 .INSubTabs {
    display: inline-flex;
    gap: 2px;
    margin: 0 0 16px;
    padding: 3px;
    background: #F1F4F8;
    border-radius: 10px;
}

#RBPCConfigDiv #tabContent4 .INSubTab {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 32px;
    padding: 0 14px;
    font-size: 13.5px;
    font-weight: 600;
    color: #5D6B82;
    text-decoration: none;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent4 .INSubTab::before {
    content: "";
    width: 15px;
    height: 15px;
    background: currentColor;
    -webkit-mask: var(--in-sub-icon) no-repeat center / contain;
    mask: var(--in-sub-icon) no-repeat center / contain;
}

#RBPCConfigDiv #tabContent4 .INSubTab[data-pane="web"] {
    --in-sub-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/svg%3E");
}

#RBPCConfigDiv #tabContent4 .INSubTab[data-pane="mail"] {
    --in-sub-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
}

#RBPCConfigDiv #tabContent4 .INSubTab:hover {
    color: #13203A;
}

#RBPCConfigDiv #tabContent4 .INSubTab.isSelected {
    color: #13203A;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .1);
}

#RBPCConfigDiv #tabContent4 .INSubTab:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 1px;
}

/* Punto de salud del complemento en la subpestaña Correo (lo pone config.mail.renderHealth) */
#RBPCConfigDiv #tabContent4 .INSubTab[data-health="isOk"]::after,
#RBPCConfigDiv #tabContent4 .INSubTab[data-health="isWarn"]::after,
#RBPCConfigDiv #tabContent4 .INSubTab[data-health="isError"]::after {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #1BAF7A;
}

#RBPCConfigDiv #tabContent4 .INSubTab[data-health="isWarn"]::after { background: #E8A317; }
#RBPCConfigDiv #tabContent4 .INSubTab[data-health="isError"]::after { background: #D6455D; }

/* En Correo cada tarjeta tiene un solo interruptor: sin línea debajo (se juntaba con el borde de la lista) */
#RBPCConfigDiv #tabContent4 .INPane[data-pane="mail"] .INCard > .line label {
    border-bottom: 0;
}

/* Salud del complemento */
#RBPCConfigDiv #tabContent4 .MLHealth {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: 14px;
    align-items: start;
    padding: 12px 0 2px;
}

#RBPCConfigDiv #tabContent4 .MLHealthDot {
    width: 10px;
    height: 10px;
    margin-top: 5px;
    border-radius: 50%;
    background: #C5CFDD;
}

#RBPCConfigDiv #tabContent4 .MLHealth.isOk .MLHealthDot {
    background: #1BAF7A;
    box-shadow: 0 0 0 4px rgba(27, 175, 122, .14);
}

#RBPCConfigDiv #tabContent4 .MLHealth.isWarn .MLHealthDot {
    background: #E8A317;
    box-shadow: 0 0 0 4px rgba(232, 163, 23, .16);
}

#RBPCConfigDiv #tabContent4 .MLHealth.isError .MLHealthDot {
    background: #D6455D;
    box-shadow: 0 0 0 4px rgba(214, 69, 93, .14);
}

#RBPCConfigDiv #tabContent4 .MLHealth.isLoading .MLHealthDot {
    animation: mlHealthPulse 1.2s ease-in-out infinite;
}

@keyframes mlHealthPulse {
    50% { opacity: .35; }
}

#RBPCConfigDiv #tabContent4 .MLHealthText {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #5D6B82;
}

#RBPCConfigDiv #tabContent4 .MLHealthText strong {
    font-size: 14px;
    font-weight: 600;
    color: #13203A;
}

#RBPCConfigDiv #tabContent4 .MLHealth.isError .MLHealthText span:first-of-type {
    color: #B23149;
}

/* Botones de la pestaña */
#RBPCConfigDiv #tabContent4 .MLButtons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 0;
}

#RBPCConfigDiv #tabContent4 .MLButton {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 34px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    color: #ffffff;
    text-decoration: none;
    white-space: nowrap;
    background: var(--brand);
    border: 1px solid transparent;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent4 .MLButton:hover {
    background: color-mix(in srgb, var(--brand) 86%, #000);
}

#RBPCConfigDiv #tabContent4 .MLButton.isSecondary {
    color: #13203A;
    background: #ffffff;
    border-color: #D9E1EC;
}

#RBPCConfigDiv #tabContent4 .MLButton.isSecondary:hover {
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
    background: color-mix(in srgb, var(--brand) 4%, #fff);
}

#RBPCConfigDiv #tabContent4 .MLButton.isSoft {
    height: 36px;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 8%, #fff);
}

#RBPCConfigDiv #tabContent4 .MLButton.isSoft::before {
    content: "";
    width: 13px;
    height: 13px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #tabContent4 .MLButton.isSoft:hover {
    background: color-mix(in srgb, var(--brand) 14%, #fff);
}

/* Nuevo Outlook: disponible próximamente */
#RBPCConfigDiv #tabContent4 .MLButton.isDisabled,
#RBPCConfigDiv #tabContent4 .MLButton.isDisabled:hover {
    color: #8A96A8;
    background: #F3F5F9;
    border-color: #E3E8EF;
    cursor: not-allowed;
}

#RBPCConfigDiv #tabContent4 .MLDeploy p.isSoon {
    color: #6B7789;
}

#RBPCConfigDiv #tabContent4 .MLSoon {
    display: inline-block;
    margin: 0 4px 0 2px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    color: #8A5A00;
    background: #FFF4D6;
    border-radius: 999px;
    vertical-align: 1px;
}

#RBPCConfigDiv #tabContent4 .MLHealth .MLButton {
    height: 30px;
    padding: 0 12px;
}

/* Destinatarios bloqueados */
#RBPCConfigDiv #mailBlockedBox {
    margin: 4px 0 0;
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid #E8EDF4;
    border-radius: 10px;
    scrollbar-width: thin;
    scrollbar-color: #D5DDE8 transparent;
    transition: opacity .15s ease;
}

#RBPCConfigDiv #tabContent4.isMailBlockOff #mailBlockedBox {
    opacity: .55;
}

#RBPCConfigDiv #mailBlockedList {
    margin: 0;
    padding: 0;
    list-style: none;
}

#RBPCConfigDiv #mailBlockedList li.MLRecipient {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 8px 6px 12px;
    font-size: 13.5px;
    color: #13203A;
    border-bottom: 1px solid #EEF1F6;
}

#RBPCConfigDiv #mailBlockedList li.MLRecipient:last-child {
    border-bottom: 0;
}

#RBPCConfigDiv #mailBlockedList li.MLRecipient:hover {
    background: #F7F9FC;
}

/* Icono: arroba para direcciones, globo para dominios */
#RBPCConfigDiv #mailBlockedList li.MLRecipient::before {
    content: "";
    flex: none;
    width: 16px;
    height: 16px;
    background: #8E9AAD;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #mailBlockedList li.MLRecipient.isDomain::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/svg%3E");
}

#RBPCConfigDiv #mailBlockedList .MLRecipientText {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#RBPCConfigDiv #mailBlockedList .MLRecipientKind {
    flex: none;
    font-size: 12px;
    color: #7A879C;
}

#RBPCConfigDiv #tabContent4 .MLRemove {
    position: relative;
    flex: none;
    width: 30px;
    height: 30px;
    color: #8E9AAD;
    border-radius: 8px;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent4 .MLRemove::before {
    content: "";
    position: absolute;
    inset: 7px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2M10 11v6M14 11v6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2M10 11v6M14 11v6'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv #tabContent4 .MLRemove:hover {
    color: #C2304A;
    background: #FDF1F3;
}

#RBPCConfigDiv #tabContent4.hasNoBlockedRecipients #mailBlockedBox .INEmpty {
    display: block;
    margin: 0;
    padding: 16px 12px;
    font-size: 13px;
    color: #69768C;
}

#RBPCConfigDiv #tabContent4:not(.hasNoBlockedRecipients) #mailBlockedBox .INEmpty {
    display: none;
}

/* Formulario para añadir destinatarios (en línea, sin ventana) */
#RBPCConfigDiv #tabContent4 .MLAddForm {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 12px 0 0;
    padding: 14px;
    background: #F7F9FC;
    border-radius: 10px;
}

#RBPCConfigDiv #tabContent4 .MLAddForm label {
    font-size: 12.5px;
    line-height: 1.5;
    color: #5D6B82;
}

#RBPCConfigDiv #tabContent4 .MLAddForm code {
    padding: 0 4px;
    font-family: Consolas, "Cascadia Mono", monospace;
    font-size: 12px;
    color: #13203A;
    background: #EAEFF5;
    border-radius: 4px;
}

#RBPCConfigDiv #tabContent4 .MLAddForm textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 96px;
    padding: 8px 10px;
    font-family: Consolas, "Cascadia Mono", monospace;
    font-size: 13px;
    line-height: 1.5;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    resize: vertical;
}

#RBPCConfigDiv #tabContent4 .MLAddForm textarea:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .15);
}

#RBPCConfigDiv #tabContent4 .MLAddError {
    margin: 0;
    font-size: 12.5px;
    color: #B23149;
}

#RBPCConfigDiv #tabContent4 .MLAddActions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

/* Instalación */
#RBPCConfigDiv #tabContent4 .MLDeploy p {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.55;
    color: #5D6B82;
}

#RBPCConfigDiv #tabContent4 .MLDeploy p strong {
    font-weight: 600;
    color: #13203A;
}

@media (prefers-reduced-motion: reduce) {
    #RBPCConfigDiv #tabContent4 .MLHealth.isLoading .MLHealthDot {
        animation: none;
    }

    #RBPCConfigDiv #mailBlockedBox {
        transition: none;
    }
}

/* --- Discovery: pestañas Supervisión (#tabContent5; 0_Tab_supervision.js, configRender.setSupervision) y Certificados
   (#tabContent6; 0_Tab_certificates.js, configRender.setCertificates), con las mismas filas ---
   Cabecera como las demás pestañas; una tarjeta con las tres funciones (control de presencia, capturas de pantalla,
   portapapeles) en filas: icono de color, título y explicación, "Configurar" e interruptor. Apagada, el icono va en gris. */
#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) {
    height: auto;
    padding-top: 20px;
    background: transparent;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .innerContent {
    padding: 0;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .APHeader {
    display: flex;
    margin-bottom: 16px;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVSpacer {
    display: none !important;
}

/* Cada función: rejilla icono | texto | Configurar | interruptor */
#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature {
    --sv-color: #5D6B82;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto auto;
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 3px;
    align-items: center;
    padding: 18px 24px;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-top: 0;
}

/* Las tres filas forman una sola tarjeta */
#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) #presenceConfigDiv {
    border-top: 1px solid #E8EDF4;
    border-radius: 14px 14px 0 0;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) #printConfigDiv {
    border-radius: 0 0 14px 14px;
}

/* Opción secundaria bajo la explicación (Impresiones: «Guardar el nombre de los documentos»): interruptor pequeño */
#RBPCConfigDiv #tabContent5 .SVFeature .line.SVSubOption {
    display: block;
    grid-column: 2;
    grid-row: 3;
    margin-top: 8px;
}

#RBPCConfigDiv #tabContent5 .SVFeature .SVSubOption label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #5D6B82;
    cursor: pointer;
}

#RBPCConfigDiv #tabContent5 .SVFeature .SVSubOption input[type="checkbox"] {
    flex: none;
    width: 30px;
    height: 18px;
}

#RBPCConfigDiv #tabContent5 .SVFeature .SVSubOption input[type="checkbox"]::after {
    top: 3px;
    left: 3px;
    width: 12px;
    height: 12px;
}

#RBPCConfigDiv #tabContent5 .SVFeature .SVSubOption input[type="checkbox"]:checked::after {
    transform: translateX(12px);
}

#RBPCConfigDiv #tabContent5 .SVFeature .SVSubOption input[type="checkbox"]:disabled,
#RBPCConfigDiv #tabContent5 .SVFeature .SVSubOption input[type="checkbox"]:disabled + span {
    opacity: .5;
    cursor: default;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature .line,
#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature label {
    display: contents;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature::before {
    content: "";
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 40px;
    height: 40px;
    background: #F1F4F9 var(--sv-icon-off) no-repeat center / 20px;
    border-radius: 10px;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature.isOn::before {
    background-color: var(--sv-soft);
    background-image: var(--sv-icon-on);
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVTitle {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    font-size: 14px;
    font-weight: 600;
    color: #13203A;
    cursor: pointer;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .tabContent5Description {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin: 0;
    font-size: 12.5px;
    font-style: normal;
    line-height: 1.5;
    color: #69768C;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .tabContent5Link {
    grid-column: 3;
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    margin: 0;
    padding: 0 12px;
    font-size: 0;
    color: #13203A !important;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

/* El texto del enlace ("Configurar control de presencia"...) se acorta a "Configurar": el título ya dice qué */
#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .tabContent5Link::after {
    content: "Configurar";
    font-size: 13px;
    font-weight: 600;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .tabContent5Link::before {
    content: "";
    width: 14px;
    height: 14px;
    background: #5D6B82;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 4h-7M10 4H3M21 12h-9M8 12H3M21 20h-5M12 20H3M14 2v4M8 10v4M16 18v4'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 4h-7M10 4H3M21 12h-9M8 12H3M21 20h-5M12 20H3M14 2v4M8 10v4M16 18v4'/%3E%3C/svg%3E") no-repeat center / contain;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .tabContent5Link:hover {
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
    background: color-mix(in srgb, var(--brand) 4%, #fff);
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    grid-column: 4;
    grid-row: 1 / span 2;
    width: 38px;
    height: 22px;
    margin: 0;
    background: #D5DDE8;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: background-color .15s ease;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature input[type="checkbox"]::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .25);
    transition: transform .15s ease;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature input[type="checkbox"]:checked {
    background: var(--brand);
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature input[type="checkbox"]:checked::after {
    transform: translateX(16px);
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature input[type="checkbox"]:focus-visible,
#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .tabContent5Link:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Iconos (gris apagada, color encendida) */
#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature.isPresence {
    --sv-soft: #E3F6EE;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='m16 11 2 2 4-4'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231BAF7A' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='m16 11 2 2 4-4'/%3E%3C/svg%3E");
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature.isScreenshots {
    --sv-soft: #FCE8ED;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3Z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E0466B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3Z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E");
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature.isClipboard {
    --sv-soft: #EFE8FC;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='2' width='8' height='4' rx='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='M12 11h4M12 16h4M8 11h.01M8 16h.01'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C4DDB' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='2' width='8' height='4' rx='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='M12 11h4M12 16h4M8 11h.01M8 16h.01'/%3E%3C/svg%3E");
}

/* Impresiones (Lucide printer) */
#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature.isPrint {
    --sv-soft: #E0F2FE;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V3h12v6'/%3E%3Cpath d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/%3E%3Crect x='6' y='14' width='12' height='8' rx='1'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230EA5E9' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V3h12v6'/%3E%3Cpath d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/%3E%3Crect x='6' y='14' width='12' height='8' rx='1'/%3E%3C/svg%3E");
}

/* «Ver el registro de impresiones»: abre Logs de acceso, no configura nada */
#RBPCConfigDiv #tabContent5 .SVFeature #printOpenLog::after {
    content: "Ver registro";
}

#RBPCConfigDiv #tabContent5 .SVFeature #printOpenLog::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3E%3C/svg%3E") no-repeat center / contain;
}

@media (prefers-reduced-motion: reduce) {
    #RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature input[type="checkbox"],
    #RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature input[type="checkbox"]::after {
        transition: none;
    }
}

/* --- Discovery: pestaña Certificados (#tabContent6) ---
   Usa las filas de Supervisión (bloque anterior). Aquí sólo lo propio: esquinas de la tarjeta (primera y última fila),
   iconos (actividad, candado, servidor), el texto del botón y el resumen de permisos bajo la explicación. */
#RBPCConfigDiv #tabContent6 #kspMonitorDiv {
    border-top: 1px solid #E8EDF4;
    border-radius: 14px 14px 0 0;
}

#RBPCConfigDiv #tabContent6 #kspServerDiv {
    border-radius: 0 0 14px 14px;
}

#RBPCConfigDiv #tabContent6 #configKspPermissions::after {
    content: "Usuarios y permisos";
}

#RBPCConfigDiv #tabContent6 #configKspScope::after {
    content: "Elegir equipos";
}

#RBPCConfigDiv #tabContent6 .kspSummary {
    display: block;
    margin-top: 4px;
    font-weight: 600;
    color: #3A475E;
}

#RBPCConfigDiv #tabContent6 .kspSummary:empty {
    display: none;
}

/* Sin «Pedir contraseña», los permisos no se usan: el resumen se atenúa */
#RBPCConfigDiv #tabContent6 #kspPasswordDiv:not(.isOn) .kspSummary {
    font-weight: 400;
    color: #8E9AAD;
}

/* Licencia sin el módulo «Certificados de firma»: aviso (.CLNotice, como Nube) y filas atenuadas y sin interacción */
#RBPCConfigDiv #tabContent6 .SVFeature.isUnlicensed {
    opacity: .55;
    pointer-events: none;
}

#RBPCConfigDiv #tabContent6 .SVFeature.isKspMonitor {
    --sv-color: #0EA5E9;
    --sv-soft: #E0F2FE;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-4l-3 9L9 3l-3 9H2'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230EA5E9' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-4l-3 9L9 3l-3 9H2'/%3E%3C/svg%3E");
}

#RBPCConfigDiv #tabContent6 .SVFeature.isKspPassword {
    --sv-color: #4F46E5;
    --sv-soft: #EEF0FF;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4M12 15v2'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234F46E5' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4M12 15v2'/%3E%3C/svg%3E");
}

#RBPCConfigDiv #tabContent6 .SVFeature.isKspServer {
    --sv-color: #12A08A;
    --sv-soft: #E2F5F1;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='7' rx='2'/%3E%3Crect x='3' y='14' width='18' height='7' rx='2'/%3E%3Cpath d='M7 6.5h.01M7 17.5h.01'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312A08A' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='7' rx='2'/%3E%3Crect x='3' y='14' width='18' height='7' rx='2'/%3E%3Cpath d='M7 6.5h.01M7 17.5h.01'/%3E%3C/svg%3E");
}

/* --- Discovery: pestaña Nube (#tabContent7; 0_Tab_cloud.js, config.cloud.render) ---
   Arriba, una tarjeta por proveedor (Microsoft 365, Google Drive, Dropbox y Box; las pinta el JS en #cloudProviders) con
   un icono con su inicial y su color (no son los logotipos oficiales), el estado y los botones; Google y Box abren dentro
   de la tarjeta los pasos para su administrador y los campos de la cuenta. Debajo, las filas del conector (las de
   Supervisión): esquinas de la tarjeta, campos de límite y sitios en lugar de interruptor e iconos. Sin ninguna cuenta
   conectada, las opciones se pueden preparar pero se ven atenuadas. */
:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviders {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProvider {
    --cl-color: #5D6B82;
    --cl-letter: "";
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 14px;
    row-gap: 10px;
    align-items: center;
    padding: 16px 18px;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-radius: 14px;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProvider.is-m365 { --cl-color: #0F6CBD; --cl-letter: "M"; }
:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProvider.is-google { --cl-color: #1E8E3E; --cl-letter: "G"; }
:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProvider.is-dropbox { --cl-color: #0061FE; --cl-letter: "D"; }
:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProvider.is-box { --cl-color: #0B5CD5; --cl-letter: "b"; }

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviderIcon {
    position: relative;
    grid-row: 1;
    width: 40px;
    height: 40px;
    background: var(--cl-color);
    border-radius: 10px;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviderIcon::before {
    content: var(--cl-letter);
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
}

/* Punto de estado sobre el icono: verde conectado, ámbar con error, gris sin conectar */
:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviderIcon::after {
    content: "";
    position: absolute;
    right: -3px;
    bottom: -3px;
    width: 12px;
    height: 12px;
    background: #C5CFDD;
    border: 2px solid #ffffff;
    border-radius: 50%;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProvider.isConnected .CLProviderIcon::after { background: #12A27A; }
:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProvider.isError .CLProviderIcon::after { background: #E8A317; }

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProvider.isOff .CLProviderIcon,
:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProvider.isLoading .CLProviderIcon {
    opacity: .55;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviderText {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviderText strong {
    font-size: 14px;
    font-weight: 600;
    color: #13203A;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviderText span {
    font-size: 12.5px;
    line-height: 1.45;
    color: #69768C;
    overflow-wrap: anywhere;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviderActions {
    grid-column: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviderActions:empty {
    display: none;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLBusy {
    font-size: 12.5px;
    color: #69768C;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLButton {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 600;
    color: #ffffff !important;
    text-decoration: none;
    white-space: nowrap;
    background: var(--brand);
    border: 1px solid var(--brand);
    border-radius: 8px;
    cursor: pointer;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLButton:hover {
    background: color-mix(in srgb, var(--brand) 86%, #000);
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLButton.isSecondary {
    color: #13203A !important;
    background: #ffffff;
    border-color: #D9E1EC;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLButton.isSecondary:hover {
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLButton.isBusy {
    opacity: .7;
    pointer-events: none;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLButton:focus-visible,
#RBPCConfigDiv #tabContent7 .CLFooter a:focus-visible,
:is(#RBPCConfigDiv #tabContent7, #CCDialog) :is(.CLNumber, .CLText, .CLProviderForm input):focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Formulario de Google y Box: los pasos del administrador y la cuenta */
:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviderForm {
    grid-column: 1 / -1;
    padding: 14px 16px;
    background: #F7F9FC;
    border-radius: 10px;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviderForm ol {
    margin: 0 0 12px;
    padding-left: 18px;
    font-size: 12.5px;
    line-height: 1.55;
    color: #3A475E;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviderForm li + li {
    margin-top: 6px;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviderForm code {
    padding: 1px 5px;
    font-family: Consolas, "Cascadia Mono", monospace;
    font-size: 12px;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #E4ECF8;
    border-radius: 4px;
    user-select: all;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviderForm .CLScopes {
    display: block;
    margin-top: 6px;
    padding: 6px 8px;
    overflow-wrap: anywhere;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLHint {
    display: block;
    margin-top: 4px;
    color: #69768C;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLFormFields {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLFormFields label {
    display: flex;
    flex: 1 1 180px;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #3A475E;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) :is(.CLNumber, .CLText, .CLProviderForm input) {
    height: 34px;
    padding: 0 10px;
    font: inherit;
    font-size: 13px;
    font-weight: 400;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    box-sizing: border-box;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) :is(.CLNumber, .CLText, .CLProviderForm input):focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .14);
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLFormError {
    margin: 10px 0 0;
    font-size: 12.5px;
    color: #A8243A;
}

:is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLFormActions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}

#RBPCConfigDiv :is(#tabContent6, #tabContent7) :is(.CLNotice, .CLFormError, .SVFeature).hidden {
    display: none !important;
}

:is(#RBPCConfigDiv #tabContent6, #RBPCConfigDiv #tabContent7, #CCDialog) .CLNotice {
    margin: -4px 0 16px;
    padding: 10px 14px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #13203A;
    background: color-mix(in srgb, var(--brand) 7%, #fff);
    border-radius: 10px;
}

/* Tarjeta de opciones del conector: primera y última fila */
#RBPCConfigDiv #tabContent7 #cloudConnectorDiv {
    border-top: 1px solid #E8EDF4;
    border-radius: 14px 14px 0 0;
}

#RBPCConfigDiv #tabContent7 .SVFeature:not(.hidden):last-of-type,
#RBPCConfigDiv #tabContent7 #cloudLimitDiv:has(+ #cloudOneDriveDiv.hidden) {
    border-radius: 0 0 14px 14px;
}

#RBPCConfigDiv #tabContent7 .CLSummary {
    display: block;
    margin-top: 4px;
    font-weight: 600;
    color: #3A475E;
}

#RBPCConfigDiv #tabContent7 .CLSummary:empty {
    display: none;
}

/* Límite y sitios: un campo en lugar del interruptor */
#RBPCConfigDiv #tabContent7 :is(.CLNumber, .CLText) {
    grid-column: 3 / span 2;
    grid-row: 1 / span 2;
}

#RBPCConfigDiv #tabContent7 .CLNumber {
    width: 110px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

#RBPCConfigDiv #tabContent7 .CLText {
    width: 220px;
}

#RBPCConfigDiv #tabContent7.isDisconnected .SVFeature {
    background: #FBFCFE;
}

#RBPCConfigDiv #tabContent7.isDisconnected .SVFeature :is(.SVTitle, .tabContent5Description) {
    opacity: .7;
}

#RBPCConfigDiv #tabContent7 .CLFooter {
    margin: 14px 2px 0;
    font-size: 12.5px;
    line-height: 1.5;
    color: #69768C;
}

#RBPCConfigDiv #tabContent7 .CLFooter a {
    margin-left: 4px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
}

#RBPCConfigDiv #tabContent7 .CLFooter a:hover {
    text-decoration: underline;
}

/* Iconos de las filas (Lucide: enchufe, documento, compartir, enlace roto, indicador, nube y globo) */
#RBPCConfigDiv #tabContent7 .SVFeature.isCLConnector {
    --sv-soft: #E0F2FE;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22v-5'/%3E%3Cpath d='M9 8V2'/%3E%3Cpath d='M15 8V2'/%3E%3Cpath d='M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230EA5E9' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22v-5'/%3E%3Cpath d='M9 8V2'/%3E%3Cpath d='M15 8V2'/%3E%3Cpath d='M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z'/%3E%3C/svg%3E");
}

#RBPCConfigDiv #tabContent7 .SVFeature.isCLModified {
    --sv-soft: #EEF0FF;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 13H8M16 17H8M16 13h-2'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234F46E5' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 13H8M16 17H8M16 13h-2'/%3E%3C/svg%3E");
}

#RBPCConfigDiv #tabContent7 .SVFeature.isCLShared {
    --sv-soft: #E2F5F1;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cpath d='m8.59 13.51 6.83 3.98M15.41 6.51l-6.82 3.98'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312A08A' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cpath d='m8.59 13.51 6.83 3.98M15.41 6.51l-6.82 3.98'/%3E%3C/svg%3E");
}

#RBPCConfigDiv #tabContent7 .SVFeature.isCLRemoveLinks {
    --sv-soft: #FCE8ED;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 17H7A5 5 0 0 1 7 7'/%3E%3Cpath d='M15 7h2a5 5 0 0 1 4 8'/%3E%3Cpath d='M8 12h4'/%3E%3Cpath d='m2 2 20 20'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E0466B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 17H7A5 5 0 0 1 7 7'/%3E%3Cpath d='M15 7h2a5 5 0 0 1 4 8'/%3E%3Cpath d='M8 12h4'/%3E%3Cpath d='m2 2 20 20'/%3E%3C/svg%3E");
}

#RBPCConfigDiv #tabContent7 .SVFeature.isCLLimit {
    --sv-soft: #F1F4F9;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235D6B82' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 14 4-4'/%3E%3Cpath d='M3.34 19a10 10 0 1 1 17.32 0'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235D6B82' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 14 4-4'/%3E%3Cpath d='M3.34 19a10 10 0 1 1 17.32 0'/%3E%3C/svg%3E");
}

#RBPCConfigDiv #tabContent7 .SVFeature.isCLOneDrive {
    --sv-soft: #EFE8FC;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237357C8' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3C/svg%3E");
}

#RBPCConfigDiv #tabContent7 .SVFeature.isCLSites {
    --sv-soft: #F1F4F9;
    --sv-icon-off: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235D6B82' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/svg%3E");
    --sv-icon-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235D6B82' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/svg%3E");
}

@media (max-width: 1500px) {
    #RBPCConfigDiv #tabContent7 .CLProviders {
        grid-template-columns: minmax(0, 1fr);
    }

    #RBPCConfigDiv #tabContent7 .CLText {
        width: 170px;
    }
}

/* --- Discovery › Certificados › «Equipos que reciben los certificados» (kspScopeDialog) ---
   Es la ventana «Ámbito de la política» (.scopeDialog: título, opciones, buscador, tarjetas con casillas y pie) más
   ancha y con los certificados del servidor a la izquierda; a la derecha, el mismo selector. */
.scopeDialog.kspScopeDialog.windowsStyleWindow {
    width: min(1040px, calc(100vw - 32px)) !important;
}

.kspScopeDialog .windowsTitleText::after {
    content: none !important;
}

.kspScopeDialog .SDSubtitle {
    margin: 4px 0 0 !important;
    font-size: 13px;
    color: #69768C !important;
}

.scopeDialog.kspScopeDialog .win10content {
    display: block;
}

.kspScopeDialog .KSBody {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 20px;
    min-height: 420px;
}

.kspScopeDialog .KSCertificates {
    align-self: start;
    max-height: 520px;
    padding: 6px;
    overflow-y: auto;
    background: #F8FAFC;
    border: 1px solid #E8EDF4;
    border-radius: 12px;
}

.kspScopeDialog .KSLoading {
    padding: 12px;
    font-size: 13px;
    color: #69768C;
}

.scopeDialog.kspScopeDialog .win10content a.KSCertificate {
    display: block;
    margin: 0;
    padding: 9px 12px;
    line-height: 1.35;
    color: #13203A;
    text-decoration: none;
    border-radius: 8px;
}

.scopeDialog.kspScopeDialog .win10content a.KSCertificate:hover {
    background: #EEF2F7;
}

.scopeDialog.kspScopeDialog .win10content a.KSCertificate.isSelected {
    background: color-mix(in srgb, var(--brand) 9%, #fff);
}

.kspScopeDialog .KSCertName {
    display: block;
    overflow: hidden;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.kspScopeDialog .KSCertificate.isSelected .KSCertName {
    color: var(--brand);
}

.kspScopeDialog .KSCertMeta {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #69768C;
}

/* Derecha: la rejilla de «Ámbito de la política» (opciones, buscador y las dos tarjetas) */
.kspScopeDialog .KSScope {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-content: start;
    min-width: 0;
}

.kspScopeDialog .KSScope fieldset {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.45fr);
}

.kspScopeDialog .KSScope .SDList .IAListContent {
    max-height: 260px;
}

.kspScopeDialog .KSEmpty {
    grid-column: 1 / -1;
    align-self: center;
    justify-self: center;
    max-width: 460px;
    padding: 40px 24px;
    text-align: center;
}

.kspScopeDialog .KSEmpty strong {
    display: block;
    font-size: 14.5px;
    color: #13203A;
}

.scopeDialog.kspScopeDialog .KSEmpty p {
    margin: 6px 0 0;
    color: #69768C;
}

.kspScopeDialog .KSEmpty.isError strong {
    color: #D6455D;
}

.kspScopeDialog .bottombuttons a.hidden {
    display: none !important;
}

@media (max-width: 860px) {
    .kspScopeDialog .KSBody {
        grid-template-columns: minmax(0, 1fr);
    }

    .kspScopeDialog .KSCertificates {
        max-height: 160px;
    }
}

/* --- Discovery › Certificados › «Usuarios y permisos de firma» (kspPermissionsDialog; ventana de ajustes) ---
   Dos columnas: certificados de la empresa a la izquierda y, del elegido, los usuarios con su interruptor «puede firmar»
   y una fecha de fin opcional. Vacíos y errores dentro de la ventana, sin alert(). */
.windowsStyleWindow.isSettingsV2.kspPermissionsDialog {
    width: min(820px, calc(100vw - 32px)) !important;
}

.kspPermissionsDialog .KPIntro {
    margin-top: 0 !important;
}

.kspPermissionsDialog .KPBody {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    min-height: 300px;
    border: 1px solid #E8EDF4;
    border-radius: 12px;
    overflow: hidden;
}

.kspPermissionsDialog .KPCertificates {
    padding: 6px;
    overflow-y: auto;
}

/* Columna de certificados: buscador fijo arriba y la lista con scroll debajo */
.kspPermissionsDialog .KPCertColumn {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: #F8FAFC;
    border-right: 1px solid #E8EDF4;
}

.kspPermissionsDialog .KPCertColumn .KPCertificates {
    flex: 1 1 auto;
    min-height: 0;
}

.kspPermissionsDialog .KPCertColumn .KPSearch {
    padding: 8px 8px 2px;
}

.kspPermissionsDialog .KPUserSearchBox {
    margin-bottom: 4px;
}

.kspPermissionsDialog.isSettingsV2 .win10content input.listSearchInput {
    width: 100%;
    height: 36px;
    margin: 0;
    padding: 0 12px 0 36px;
    font-size: 13px;
}

.kspPermissionsDialog .isFilteredOut {
    display: none !important;
}

.kspPermissionsDialog .KPLoading {
    padding: 12px;
    font-size: 13px;
    color: #69768C;
}

.kspPermissionsDialog.isSettingsV2 .win10content a.KPCertificate {
    display: block;
    padding: 9px 12px;
    font-weight: 400;
    color: #13203A;
    text-decoration: none;
    border-radius: 8px;
}

.kspPermissionsDialog.isSettingsV2 .win10content a.KPCertificate:hover {
    text-decoration: none;
    background: #EEF2F7;
}

.kspPermissionsDialog.isSettingsV2 .win10content a.KPCertificate.isSelected {
    background: color-mix(in srgb, var(--brand) 9%, #fff);
}

.kspPermissionsDialog .KPCertName {
    display: block;
    overflow: hidden;
    font-size: 13.5px;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.kspPermissionsDialog.isSettingsV2 .win10content a.KPCertificate.isSelected .KPCertName {
    color: var(--brand);
}

.kspPermissionsDialog .KPCertMeta {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #69768C;
}

.kspPermissionsDialog .KPCertMeta.isExpired {
    color: #D6455D;
}

.kspPermissionsDialog .KPUsers {
    min-width: 0;
    padding: 16px 18px;
    overflow-y: auto;
}

.kspPermissionsDialog .KPUsersHead h4 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #0E1A33;
    overflow-wrap: anywhere;
}

.kspPermissionsDialog.isSettingsV2 .win10content .KPUsersHead p {
    margin: 2px 0 12px;
    font-size: 12.5px;
}

/* Título del certificado | «Quitar de la lista» (certificados que ya no existen) */
.kspPermissionsDialog .KPUsersHeadTitle {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.kspPermissionsDialog.isSettingsV2 .win10content a.KPRetire,
.kspPermissionsDialog.isSettingsV2 .win10content a.KPRestore {
    flex: none;
    font-size: 12.5px;
    font-weight: 600;
    color: #D6455D;
    text-decoration: none;
    white-space: nowrap;
}

.kspPermissionsDialog.isSettingsV2 .win10content a.KPRestore {
    color: var(--brand);
}

.kspPermissionsDialog.isSettingsV2 .win10content a.KPRetire:hover,
.kspPermissionsDialog.isSettingsV2 .win10content a.KPRestore:hover {
    text-decoration: underline;
}

.kspPermissionsDialog.isSettingsV2 .win10content a.KPRetire.isDisabled,
.kspPermissionsDialog.isSettingsV2 .win10content a.KPRestore.isDisabled {
    opacity: .45;
    pointer-events: none;
}

/* Quitados de la lista: plegados al final de la lista de certificados */
.kspPermissionsDialog .KPRetired {
    margin-top: 10px;
    padding: 8px 12px 0;
    border-top: 1px solid #EEF1F6;
}

.kspPermissionsDialog .KPRetired summary {
    cursor: pointer;
    font-size: 12px;
    color: #69768C;
}

.kspPermissionsDialog .KPRetiredItem {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 0;
}

.kspPermissionsDialog .KPRetiredItem .KPCertName {
    min-width: 0;
    font-weight: 400;
    color: #69768C;
}

/* Cada usuario: nombre | «Hasta» | fecha | interruptor */
.kspPermissionsDialog .KPUser {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    align-items: center;
    column-gap: 10px;
    padding: 9px 0;
    border-top: 1px solid #EEF1F6;
}

.kspPermissionsDialog .KPUser:first-child {
    border-top: 0;
}

.kspPermissionsDialog.isSettingsV2 .win10content .KPUser label {
    display: contents;
    margin: 0;
    padding: 0;
    min-height: 0;
}

.kspPermissionsDialog.isSettingsV2 .win10content .KPUser label > input[type="checkbox"] {
    position: relative !important;
    top: auto;
    grid-column: 4;
    grid-row: 1;
    margin: 0 0 0 8px !important;
}

.kspPermissionsDialog .KPUserName {
    grid-column: 1;
    grid-row: 1;
    overflow: hidden;
    font-size: 14px;
    font-weight: 600;
    color: #13203A;
    white-space: nowrap;
    text-overflow: ellipsis;
    cursor: pointer;
}

.kspPermissionsDialog .KPUser:not(.isAllowed) .KPUserName {
    font-weight: 500;
    color: #5D6B82;
}

.kspPermissionsDialog .KPUntil > span {
    grid-column: 2;
    grid-row: 1;
    font-size: 12.5px;
    font-weight: 500;
    color: #69768C;
}

.kspPermissionsDialog.isSettingsV2 .win10content input.KPUntilDate {
    grid-column: 3;
    grid-row: 1;
    box-sizing: border-box;
    width: 148px;
    min-height: 32px;
    margin: 0;
    padding: 4px 8px;
    font: inherit;
    font-size: 13px;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.kspPermissionsDialog .KPUser:not(.isAllowed) .KPUntil > span,
.kspPermissionsDialog .KPUser:not(.isAllowed) input.KPUntilDate {
    visibility: hidden;
}

.kspPermissionsDialog.isSettingsV2 .win10content .KPNote {
    margin: 14px 0 0;
    font-size: 12.5px;
}

.kspPermissionsDialog .KPEmpty {
    grid-column: 1 / -1;
    align-self: center;
    justify-self: center;
    max-width: 440px;
    padding: 28px 24px;
    text-align: center;
}

.kspPermissionsDialog .KPUsers .KPEmpty {
    padding: 28px 0;
}

.kspPermissionsDialog .KPEmpty strong {
    display: block;
    font-size: 14.5px;
    color: #13203A;
}

.kspPermissionsDialog.isSettingsV2 .win10content .KPEmpty p {
    margin: 6px 0 0;
}

.kspPermissionsDialog .KPEmpty.isError strong {
    color: #D6455D;
}

@media (max-width: 760px) {
    .kspPermissionsDialog .KPBody {
        grid-template-columns: minmax(0, 1fr);
    }

    .kspPermissionsDialog .KPCertificates {
        max-height: 160px;
    }

    .kspPermissionsDialog .KPCertColumn {
        border-right: 0;
        border-bottom: 1px solid #E8EDF4;
    }
}

/* --- Discovery: ventanas de ajustes (UI.enhanceSettingsWindow; .windowsStyleWindow.isSettingsV2) ---
   Control de presencia, capturas, portapapeles, tráfico web y sus listas, filtros, aplicaciones ignoradas, usuarios y
   horarios. Mismo lenguaje que las opciones del equipo: ventana centrada, título arriba, contenido con scroll, opciones
   con interruptor, listas con borde fino y pie fijo con "Listo" (o Cancelar + su acción). */
:root {
    --settings-windows-v2: 1;
}

.windowsStyleWindow.isSettingsV2 {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: min(640px, calc(100vw - 32px)) !important;
    min-width: 0;
    max-width: none;
    height: auto !important;
    max-height: calc(100vh - 48px);
    margin: 0 !important;
    padding: 0;
    overflow: hidden;
    font-size: 14px;
    color: #3A475E;
    background: #ffffff;
    border: 0;
    border-radius: 14px;
    box-shadow: 0 24px 64px -16px rgba(14, 26, 51, .38), 0 0 0 100vmax rgba(14, 26, 51, .26);
    transform: translate(-50%, -50%) !important;
    user-select: auto;
}

/* Al abrirse, jQuery (fadeIn) le pone display: block en línea y el pie fijo se salía por abajo en pantallas bajas */
.windowsStyleWindow.isSettingsV2[style*="display: block"] {
    display: flex !important;
}

.windowsStyleWindow.isSettingsV2.customizeCFDialog,
.windowsStyleWindow.isSettingsV2.usersDialog {
    width: min(820px, calc(100vw - 32px)) !important;
}

.windowsStyleWindow.isSettingsV2 a,
.windowsStyleWindow.isSettingsV2 div,
.windowsStyleWindow.isSettingsV2 p {
    cursor: auto;
}

/* Título */
.isSettingsV2 .windowsTitleBar {
    flex: none;
    height: auto;
    padding: 24px 28px 14px;
    background: none;
    border-bottom: 1px solid #EEF1F6;
    cursor: default;
}

.isSettingsV2 .windowsTitleText {
    float: none;
    width: auto;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #0E1A33;
}

/* Se cierra con el pie ("Listo" / "Cancelar"); si una ventana no tuviera pie, la X sigue visible */
/* Cruz de cierre siempre visible arriba a la derecha (también con pie Listo / Cancelar) */
.isSettingsV2 .windowsTitleBar {
    position: relative;
    padding-right: 64px;
}

.isSettingsV2 .windowsTitleBar #windowButtons {
    position: absolute;
    top: 18px;
    right: 18px;
    display: flex;
    gap: 4px;
}

.isSettingsV2 .windowsTitleBar #windowButtons > a:not(.windowCloseButton) {
    display: none;
}

.isSettingsV2 .windowsTitleBar .windowCloseButton {
    position: relative;
    display: block;
    float: none;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    color: #69768C;
    background: none;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
}

.isSettingsV2 .windowsTitleBar .windowCloseButton img {
    display: none;
}

.isSettingsV2 .windowsTitleBar .windowCloseButton::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.isSettingsV2 .windowsTitleBar .windowCloseButton:hover {
    color: #0E1A33;
    background: #F1F4F9;
}

.isSettingsV2 .windowsTitleBar .windowCloseButton:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Contenido con scroll propio */
.isSettingsV2 .win10windowWrapper {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.isSettingsV2 .win10windowWrapper > .clear {
    display: none;
}

.isSettingsV2 .win10content {
    flex: 1;
    min-height: 0;
    height: auto !important;
    padding: 18px 28px 22px !important;
    overflow-y: auto;
    font-size: 14px;
    background: #ffffff;
    scrollbar-width: thin;
    scrollbar-color: #D5DDE8 transparent;
}

.isSettingsV2 .win10content br {
    display: none;
}

.isSettingsV2 .win10content p {
    margin: 4px 0 14px;
    font-size: 13px;
    font-style: normal;
    line-height: 1.5;
    color: #69768C;
}

.isSettingsV2 .win10content a {
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
    cursor: pointer;
}

.isSettingsV2 .win10content a:hover {
    text-decoration: underline;
}

/* Opciones: texto a la izquierda, interruptor a la derecha. El texto sigue en línea (algunos llevan enlaces dentro,
   como "Todos los dominios (1 excepciones)"), así que el control se posiciona en lugar de usar flex */
.isSettingsV2 .win10content label {
    position: relative;
    display: block;
    margin: 14px 0 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    color: #13203A;
    cursor: pointer;
}

.isSettingsV2 .win10content label:has(> input[type="checkbox"]) {
    min-height: 22px;
    padding-right: 60px;
}

.isSettingsV2 .win10content label > input[type="checkbox"] {
    position: absolute !important;
    top: 50%;
    right: 0;
    margin-top: -11px !important;
}

.isSettingsV2 .win10content label:has(> input[type="radio"]) {
    padding-left: 28px;
}

.isSettingsV2 .win10content label > input[type="radio"] {
    position: absolute !important;
    top: 1px;
    left: 0;
}

.isSettingsV2 .win10content input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    flex: none;
    width: 38px;
    height: 22px;
    margin: 0;
    background: #D5DDE8;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: background-color .15s ease;
}

.isSettingsV2 .win10content input[type="checkbox"]::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .25);
    transition: transform .15s ease;
}

.isSettingsV2 .win10content input[type="checkbox"]:checked {
    background: var(--brand);
}

.isSettingsV2 .win10content input[type="checkbox"]:checked::after {
    transform: translateX(16px);
}

.isSettingsV2 .win10content input[type="checkbox"]:disabled {
    cursor: not-allowed;
}

/* Opción elegible (radio) */
.isSettingsV2 .win10content input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    width: 18px;
    height: 18px;
    margin: 0;
    background: #ffffff;
    border: 1.5px solid #AEBBCD;
    border-radius: 50%;
    cursor: pointer;
}

.isSettingsV2 .win10content input[type="radio"]:checked {
    border: 5px solid var(--brand);
}

.isSettingsV2 .win10content label:has(> input[type="radio"]) {
    font-weight: 500;
}

.isSettingsV2 .win10content label a {
    margin: 0 2px;
}

.isSettingsV2 .win10content input:focus-visible,
.isSettingsV2 .SWButton:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Sub-opciones (dependen de la anterior): sangría con línea */
.isSettingsV2 .sublabel,
.isSettingsV2 .CCDsublabel {
    margin: 0 0 6px 2px;
    padding: 0 0 0 16px;
    border-left: 2px solid #EEF1F6;
}

.isSettingsV2 .sublabel label,
.isSettingsV2 .CCDsublabel label {
    margin-top: 10px;
    font-weight: 500;
}

.isSettingsV2 .disabled,
.isSettingsV2 .disabled p {
    color: inherit !important;
    opacity: .5;
}

/* Títulos de sección y explicaciones */
.isSettingsV2 .sectionTitle,
.isSettingsV2 .win10content h3 {
    margin: 22px 0 2px;
    font-size: 12.5px;
    font-weight: 600;
    color: #69768C;
}

.isSettingsV2 .sectionTitle:first-child {
    margin-top: 4px;
}

.isSettingsV2 .optionExplanation {
    margin: 6px 0 4px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #69768C;
}

.isSettingsV2 .proxyScopeOptions label {
    margin-top: 10px;
}

.isSettingsV2 .separator {
    height: 1px;
    margin: 18px 0;
    background: #EEF1F6;
}

/* Textos de introducción de las listas */
.isSettingsV2 .DialogTopTxt,
.isSettingsV2 #filtersDialogTopTxt,
.isSettingsV2 #ignoredAppsDialogTopTxt {
    margin: 0 0 14px;
    padding: 12px 14px;
    background: #F7F9FC;
    border-radius: 10px;
}

.isSettingsV2 .DialogTopTxt p,
.isSettingsV2 #filtersDialogTopTxt p,
.isSettingsV2 #ignoredAppsDialogTopTxt p {
    margin: 0;
    color: #3A475E;
}

.isSettingsV2 .DialogTopTxt p + p,
.isSettingsV2 #filtersDialogTopTxt p + p,
.isSettingsV2 #ignoredAppsDialogTopTxt p + p {
    margin-top: 4px;
    color: #69768C;
}

/* Campos */
.isSettingsV2 .win10content input[type="text"],
.isSettingsV2 .win10content input[type="number"],
.isSettingsV2 .win10content input[type="time"],
.isSettingsV2 .win10content select,
.isSettingsV2 .win10content textarea {
    box-sizing: border-box;
    min-height: 36px;
    padding: 6px 10px;
    font: inherit;
    font-size: 13.5px;
    font-weight: 400;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    outline: none;
}

.isSettingsV2 .win10content textarea {
    width: 100% !important;
    min-height: 180px;
    line-height: 1.5;
}

.isSettingsV2 .win10content input[type="number"] {
    width: 90px;
    margin-left: 4px;
}

.isSettingsV2 .win10content input[type="text"]:focus,
.isSettingsV2 .win10content input[type="number"]:focus,
.isSettingsV2 .win10content select:focus,
.isSettingsV2 .win10content textarea:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

/* Pestañas internas (Lista blanca / Lista negra, General / Disparadores) */
.isSettingsV2 .tabMenu.tabMenuFilters {
    margin: -6px 0 16px;
    border-bottom: 1px solid #E8EDF4;
}

.isSettingsV2 .tabMenuFilters ul {
    display: flex;
    gap: 22px;
    margin: 0;
    padding: 0;
    line-height: normal;
}

.isSettingsV2 .tabMenuFilters .CNFtab {
    float: none;
    height: auto !important;
    min-width: 0;
    margin: 0;
    padding: 10px 2px 11px;
    font-size: 13.5px;
    font-weight: 500;
    color: #5D6B82;
    background: none !important;
    border: 0;
    border-radius: 0;
    cursor: pointer;
}

.isSettingsV2 .tabMenuFilters .CNFtabFiltersSelected {
    font-weight: 600;
    color: var(--brand);
    box-shadow: inset 0 -2px 0 var(--brand);
}

/* Listas (aplicaciones ignoradas, extensiones, disparadores, usuarios...) */
.isSettingsV2 :is(#IAListTitle, #filtersListTitle, #filtersListBTitle, #triggersListTitle, #DomainListTitle, #GlobalDomainListTitle, #AppsListTitle, #AppsExceptionsListTitle) {
    margin: 0 0 8px;
    padding: 0;
    font-size: 13px;
    font-weight: 600;
    color: #13203A;
    background: none;
    border: 0;
}

.isSettingsV2 :is(#IAListContent, #filtersListContent, #filtersListBContent, #triggersListContent, #DomainListContent, #GlobalDomainListContent, #AppsListContent, #AppsExceptionsListContent):not(textarea) {
    height: auto !important;
    max-height: 260px;
    min-height: 120px;
    overflow-y: auto;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-radius: 10px;
}

.isSettingsV2 :is(#IAListContent, #filtersListContent, #filtersListBContent, #triggersListContent, #DomainListContent, #GlobalDomainListContent, #AppsListContent, #AppsExceptionsListContent) ul {
    margin: 0;
    padding: 4px;
    list-style: none;
}

.isSettingsV2 :is(#IAListContent, #filtersListContent, #filtersListBContent, #triggersListContent, #DomainListContent, #GlobalDomainListContent, #AppsListContent, #AppsExceptionsListContent) li {
    padding: 8px 10px;
    font-size: 13.5px;
    line-height: 1.4;
    color: #13203A;
    background: none;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
}

.isSettingsV2 :is(#IAListContent, #filtersListContent, #filtersListBContent, #triggersListContent, #DomainListContent, #GlobalDomainListContent, #AppsListContent, #AppsExceptionsListContent) li:hover {
    background: #F3F6FA;
}

.isSettingsV2 :is(#IAListContent, #filtersListContent, #filtersListBContent, #triggersListContent, #DomainListContent, #GlobalDomainListContent, #AppsListContent, #AppsExceptionsListContent) li[class*="Selected"] {
    font-weight: 600;
    color: color-mix(in srgb, var(--brand) 79%, #000) !important;
    background: color-mix(in srgb, var(--brand) 8%, #fff) !important;
}

/* Departamentos: buscador encima de la lista */
.departmentsDialog.isSettingsV2 #DDSearch {
    margin: 0 0 10px;
}

/* Excepciones de carpetas: la ruta y, debajo, qué excluye en palabras (o el aviso si deja sin protección casi todo).
   Anula la regla antigua y global «#IAListContent li span» (config.customizeClipboardFilters.css: flotante a la derecha,
   300 px, gris claro y en una línea) */
.DLPDirectoryExceptionsDialog #IAListContent li :is(.IAMask, .IAMaskText) {
    float: none;
    width: auto;
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
}

.DLPDirectoryExceptionsDialog #IAListContent .IAMask {
    display: block;
    color: inherit;
    word-break: break-all;
}

.DLPDirectoryExceptionsDialog #IAListContent .IAMaskText {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: #5D6B82;
}

.DLPDirectoryExceptionsDialog #IAListContent .IAMaskText.isDanger {
    color: #B42318;
}

.DLPDirectoryExceptionsDialog #IAListContent .IAMaskText.isDanger::before {
    content: "⚠ ";
}

.isSettingsV2 :is(#IAList, #filtersList, #filtersListB, #triggersList, #DomainList, #GlobalDomainList, #AppsList, #AppsExceptionsList) {
    float: none;
    width: auto !important;
    height: auto !important;
    margin: 0;
    border: 0;
}

/* Botones de las listas (Añadir / Eliminar) */
.isSettingsV2 :is(#IAListButtons, #filtersListButtons, #filtersListBButtons, #triggersListButtons, #DomainListButtons, #GlobalDomainListButtons, #AppsListButtons, #AppsExceptionsListButtons) {
    display: flex;
    gap: 8px;
    float: none;
    width: auto;
    margin: 10px 0 0;
    padding: 0;
}

.isSettingsV2 :is(#IAListButtons, #filtersListButtons, #filtersListBButtons, #triggersListButtons, #DomainListButtons, #GlobalDomainListButtons, #AppsListButtons, #AppsExceptionsListButtons) ul {
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.isSettingsV2 :is(#IAListButtons, #filtersListButtons, #filtersListBButtons, #triggersListButtons, #DomainListButtons, #GlobalDomainListButtons, #AppsListButtons, #AppsExceptionsListButtons) a.hoverBtn,
.isSettingsV2 .win10content a.hoverBtn {
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 34px;
    padding: 0 14px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    color: #13203A;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    cursor: pointer;
}

.isSettingsV2 :is(#IAListButtons, #filtersListButtons, #filtersListBButtons, #triggersListButtons, #DomainListButtons, #GlobalDomainListButtons, #AppsListButtons, #AppsExceptionsListButtons) a.hoverBtn:hover,
.isSettingsV2 .win10content a.hoverBtn:hover {
    text-decoration: none;
    background: #F3F6FA;
}

.isSettingsV2 a.hoverBtn.popoverBtn {
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    border-color: color-mix(in srgb, var(--brand) 8%, #fff);
}

.isSettingsV2 a.hoverBtn.popoverBtn:hover {
    background: color-mix(in srgb, var(--brand) 14%, #fff);
}

/* Parámetros > Excepciones globales de dominios: «Añadir dominios por defecto» (a.button antiguo) como botón
   secundario, igual que los de las demás listas */
/* El separador antiguo (.clear) contaba como elemento de la fila y desplazaba el botón */
.isSettingsV2 #GlobalDomainListButtons > .clear {
    display: none;
}

.isSettingsV2 #GlobalDomainListButtons #GlobalDomainListAddDefaultBtn {
    float: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    height: 34px;
    margin: 0;
    padding: 0 14px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    color: #13203A;
    text-decoration: none;
    text-shadow: none;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    box-shadow: none;
    cursor: pointer;
}

.isSettingsV2 #GlobalDomainListButtons #GlobalDomainListAddDefaultBtn::before {
    content: "";
    width: 15px;
    height: 15px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 12H3M16 6H3M16 18H3M18 9v6M21 12h-6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 12H3M16 6H3M16 18H3M18 9v6M21 12h-6'/%3E%3C/svg%3E") no-repeat center / contain;
}

.isSettingsV2 #GlobalDomainListButtons #GlobalDomainListAddDefaultBtn:hover {
    background: #F3F6FA;
    text-decoration: none;
}

.isSettingsV2 #GlobalDomainListButtons #GlobalDomainListAddDefaultBtn:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Menús "Añadir" */
.isSettingsV2 .popover,
.popover.isPortal {
    min-width: 220px;
    padding: 6px;
    font-size: 13.5px;
    line-height: normal;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-radius: 12px;
    box-shadow: 0 16px 40px -12px rgba(14, 26, 51, .28);
}

.isSettingsV2 .popover ul,
.popover.isPortal ul {
    margin: 0;
    padding: 0;
}

.isSettingsV2 .popover ul li,
.popover.isPortal ul li {
    padding: 9px 12px;
    color: #13203A;
    border-radius: 8px;
    cursor: pointer;
}

.isSettingsV2 .popover ul li:hover,
.popover.isPortal ul li:hover {
    color: var(--brand) !important;
    background: #F3F6FA;
}

/* Capturas: calidad (deslizador) */
.isSettingsV2 .slider {
    width: 100%;
    margin: 10px 0 4px;
    accent-color: var(--brand);
}

.isSettingsV2 .sliderlabels {
    display: flex;
    justify-content: space-between;
    font-size: 12.5px;
    color: #69768C;
}

.isSettingsV2 .tabScreenshotsContent > p:not(.paux) {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #13203A;
}

.isSettingsV2 .tabScreenshotsContent > p + p {
    margin-top: 4px;
    font-weight: 400;
    color: #3A475E;
}

/* Botones heredados dentro del contenido (Guardar cambios de las listas va al pie) */
.isSettingsV2 .win10content .bottombuttons {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

/* Capturas: sin los márgenes heredados de la ventana antigua */
.isSettingsV2 .tabContentContainer {
    width: auto;
    height: auto;
    padding: 0;
    background: none;
}

.isSettingsV2 #screenshotsTriggerDiv {
    width: auto;
    margin: 0;
}

.isSettingsV2 .tabScreenshotsContent .separator {
    margin: 18px 0;
}

.isSettingsV2 .tabScreenshotsContent p.paux {
    margin: 0 0 6px;
    padding: 12px 14px;
    font-weight: 400;
    color: #3A475E !important;
    background: #F7F9FC;
    border-radius: 10px;
}

.isSettingsV2 .sliderlabel {
    padding: 0;
}

.isSettingsV2 #screenshotsTriggerDiv #triggersList {
    margin-top: 18px;
}

/* Usuarios y horarios: lista a la izquierda, ficha del usuario a la derecha */
.windowsStyleWindow.isSettingsV2.usersDialog {
    right: auto;
}

.isSettingsV2 .usersCentral {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 20px;
    height: auto;
    padding: 0;
}

.isSettingsV2 .usersCentral + .clear {
    display: none;
}

.isSettingsV2 .usersCentralLeft,
.isSettingsV2 .usersCentralRight {
    float: none;
    width: auto;
    height: auto;
    min-width: 0;
}

.isSettingsV2 .usersCentralLeft1 {
    height: auto;
    margin: 0 0 8px;
    line-height: normal;
    text-align: left;
}

.isSettingsV2 .usersCentralLeft1 p {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #13203A;
}

.isSettingsV2 .usersCentralLeft2 {
    height: 360px;
    border: 1px solid #E8EDF4;
    border-radius: 10px;
}

.isSettingsV2 .usersCentralLeft2 ul {
    height: 100%;
    margin: 0;
    padding: 4px;
    overflow-y: auto;
    list-style: none;
    scrollbar-width: thin;
}

.isSettingsV2 .usersCentralLeft2 li {
    height: auto;
    padding: 8px 10px;
    font-size: 13.5px;
    line-height: 1.4;
    color: #13203A;
    border-radius: 8px;
    cursor: pointer;
}

.isSettingsV2 .usersCentralLeft2 li:hover {
    background: #F3F6FA;
}

.isSettingsV2 .usersCentralLeft2 li.selected,
.isSettingsV2 .usersCentralLeft2 li.usersListItemSelected {
    font-weight: 600;
    color: color-mix(in srgb, var(--brand) 79%, #000) !important;
    background: color-mix(in srgb, var(--brand) 8%, #fff);
}

.isSettingsV2 .usersCentralLeft3 {
    display: flex;
    gap: 8px;
    height: auto;
    padding: 10px 0 0;
}

.isSettingsV2 .usersCentralLeft3 a {
    float: none;
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    color: #13203A;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.isSettingsV2 .usersCentralLeft3 a#udBtnNuevo {
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    border-color: color-mix(in srgb, var(--brand) 8%, #fff);
}

.isSettingsV2 .usersCentralRight1 {
    height: auto;
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    color: #0E1A33;
}

.isSettingsV2 .usersCentralRight2 {
    height: auto;
    max-height: 420px;
    margin: 0;
    padding: 0 18px;
    overflow-y: auto;
    border: 1px solid #E8EDF4;
    border-radius: 10px;
}

.isSettingsV2 .usersCentralRight2:empty {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 360px;
}

.isSettingsV2 .usersCentralRight2:empty::before {
    content: "Selecciona un usuario para ver su ficha.";
    font-size: 13px;
    color: #69768C;
}

.isSettingsV2 .usersCentralSection {
    padding: 14px 0;
    font-size: 13.5px;
    border-bottom: 1px solid #EEF1F6;
}

.isSettingsV2 .usersCentralLastSection {
    border-bottom: 0;
}

.isSettingsV2 .usersCentralSectionTitle {
    margin: 0 0 4px !important;
    font-size: 12.5px !important;
    font-weight: 600;
    color: #69768C !important;
}

.isSettingsV2 .usersCentralSection label {
    margin-top: 6px;
}

.isSettingsV2 .usersCentralSectionLine {
    margin: 6px 0 0 !important;
    padding: 0 !important;
}

.isSettingsV2 .usersCentralSection .configButton {
    display: inline-flex;
    align-items: center;
    height: 34px;
    margin: 4px 0 0;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    color: #13203A;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    cursor: pointer;
}

.isSettingsV2 .usersCentralSection .configButton:hover {
    text-decoration: none;
    background: #F3F6FA;
}

.isSettingsV2 .usersCentralSection input.UDFecha,
.isSettingsV2 .usersCentralSection #UDObs {
    width: 100%;
    margin-top: 8px;
}

.isSettingsV2 .usersCentralSection input:disabled {
    color: #8E9AAD;
    background: #F7F9FC;
}

.isSettingsV2 #UDScheduleDiv {
    margin: 8px 0;
    padding: 0;
    list-style: none;
}

.isSettingsV2 #UDScheduleDiv li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    background: #F7F9FC;
    border-radius: 8px;
}

.isSettingsV2 #UDScheduleDiv li + li {
    margin-top: 6px;
}

.isSettingsV2 #UDScheduleDiv .UDSpan1,
.isSettingsV2 #UDScheduleDiv .UDSpan2 {
    float: none;
    width: auto;
}

@media (max-width: 760px) {
    .isSettingsV2 .usersCentral {
        grid-template-columns: 1fr;
    }
}

/* Pie fijo */
.isSettingsV2 .SWFoot {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 28px;
    background: #F7F9FC;
    border-top: 1px solid #EEF1F6;
}

.isSettingsV2 .SWFoot .SWButton {
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    height: 38px;
    margin: 0;
    padding: 0 18px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    background-image: none;
    border-radius: 8px;
    box-shadow: none;
    cursor: pointer;
}

.isSettingsV2 .SWFoot .SWButton::before,
.isSettingsV2 .SWFoot .SWButton::after {
    display: none;
}

.isSettingsV2 .SWFoot .SWButton.isPrimary {
    color: #ffffff;
    background-color: var(--brand);
    border: 1px solid var(--brand);
}

.isSettingsV2 .SWFoot .SWButton.isPrimary:hover {
    background-color: color-mix(in srgb, var(--brand) 89%, #000);
}

.isSettingsV2 .SWFoot .SWButton.isSecondary {
    color: #13203A;
    background-color: #ffffff;
    border: 1px solid #D9E1EC;
}

.isSettingsV2 .SWFoot .SWButton.isSecondary:hover {
    background-color: #F3F6FA;
}

@media (prefers-reduced-motion: reduce) {
    .isSettingsV2 .win10content input[type="checkbox"],
    .isSettingsV2 .win10content input[type="checkbox"]::after {
        transition: none;
    }
}

/* --- Discovery: marco del equipo con la captura de pantalla (#RBPCImgDiv en la columna, #RBPCImgDiv2 en el resumen) ---
   Sustituye las imágenes antiguas (desktop_empty.png / laptop_empty.png) por un marco dibujado con CSS, centrado:
   pantalla 16:10 con bisel fino oscuro, esquinas redondeadas y cámara; sobremesa con cuello y base con sombra;
   portátil con barbilla y base metálica con muesca de apertura. La captura de pantalla va dentro. */
/* Imagen del equipo apagado o sin conexión (pcInfo.offlineImage): estilo Windows 11 */
:root {
}

#RBPCTop #RBPCImgDiv,
#RBPCConfigDiv #RBPCImgDiv2 {
    --mon-w: 192px;
    --bezel: 3px;
    --mon-h: calc(var(--mon-w) * .625);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    float: none;
    align-self: center;
    width: 100%;
    height: auto;
    margin: 4px 0 18px;
    padding: 0 0 30px;
    zoom: 1;
    transform: none;
    /* Cámara en el centro del marco superior */
    background: radial-gradient(circle, #46516A 0 1.4px, transparent 1.9px) no-repeat 50% 1px / 6px 6px !important;
}

#RBPCConfigDiv #RBPCImgDiv2 {
    --mon-w: 232px;
    margin: 0;
    padding-bottom: 34px;
}

/* Pantalla con la captura */
#RBPCTop #RBPCImg,
#RBPCConfigDiv #RBPCImg2 {
    position: relative;
    z-index: 1;
    display: block;
    box-sizing: content-box;
    width: var(--mon-w);
    height: var(--mon-h);
    margin: 0;
    object-fit: cover;
    background: #0F1625;
    border: var(--bezel) solid #161C29;
    border-radius: 8px;
    box-shadow: 0 0 0 1px #2B3446, 0 1px 0 1px rgba(255, 255, 255, .04) inset, 0 16px 28px -16px rgba(14, 26, 51, .5);
}

/* Sobremesa: cuello y base */
#RBPCTop #RBPCImgDiv.desktopTemplateImage::before,
#RBPCConfigDiv #RBPCImgDiv2.desktopTemplateImage2::before {
    content: "";
    position: absolute;
    /* Del borde inferior de la pantalla (empieza 3 px por detrás de ella) hasta la base, sea cual sea el tamaño */
    top: calc(var(--mon-h) + var(--bezel) * 2 - 3px);
    bottom: 6px;
    left: 50%;
    width: calc(var(--mon-w) * .18);
    background: linear-gradient(90deg, #A7B2C2, #CFD7E2 45%, #B3BECC);
    transform: translateX(-50%);
    clip-path: polygon(22% 0, 78% 0, 100% 100%, 0 100%);
}

#RBPCTop #RBPCImgDiv.desktopTemplateImage::after,
#RBPCConfigDiv #RBPCImgDiv2.desktopTemplateImage2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: calc(var(--mon-w) * .52);
    height: 7px;
    background: linear-gradient(180deg, #DCE2EA, #B6C1CF);
    border-radius: 4px 4px 7px 7px;
    box-shadow: 0 6px 10px -4px rgba(14, 26, 51, .35);
    transform: translateX(-50%);
}

/* Portátil: pantalla algo menor, barbilla y base metálica más ancha que la pantalla con muesca de apertura */
#RBPCTop #RBPCImgDiv.laptopTemplateImage,
#RBPCConfigDiv #RBPCImgDiv2.laptopTemplateImage2 {
    --mon-w: 176px;
    padding-bottom: 12px;
}

#RBPCConfigDiv #RBPCImgDiv2.laptopTemplateImage2 {
    --mon-w: 204px;
}

#RBPCTop #RBPCImgDiv.laptopTemplateImage #RBPCImg,
#RBPCConfigDiv #RBPCImgDiv2.laptopTemplateImage2 #RBPCImg2 {
    border-bottom-width: 7px;
    border-radius: 8px 8px 3px 3px;
}

#RBPCTop #RBPCImgDiv.laptopTemplateImage::after,
#RBPCConfigDiv #RBPCImgDiv2.laptopTemplateImage2::after {
    content: "";
    position: absolute;
    bottom: 2px;
    left: 50%;
    width: calc((var(--mon-w) + var(--bezel) * 2) * 1.2);
    height: 10px;
    background:
        linear-gradient(#97A3B4, #97A3B4) no-repeat 50% 0 / 38px 3px,
        linear-gradient(180deg, #E3E8EF, #B2BDCB);
    border-radius: 2px 2px 12px 12px / 2px 2px 8px 8px;
    box-shadow: 0 6px 10px -4px rgba(14, 26, 51, .35);
    transform: translateX(-50%);
}

/* Vista en directo: toda la pantalla del equipo se puede pulsar (PCInfo.js, pcInfo.openLiveView) */
#RBPCTop #RBPCImg,
#RBPCConfigDiv #RBPCImgDiv2 {
    cursor: pointer;
}

/* Botón de ampliar: cubre la pantalla con el icono centrado */
#RBPCTop #RBPCImgMaximize,
#RBPCConfigDiv #RBPCImgMaximize2 {
    top: var(--bezel);
    left: 50%;
    width: var(--mon-w);
    height: var(--mon-h);
    margin: 0 0 0 calc(var(--mon-w) / -2);
    padding: calc(var(--mon-h) / 2 - 14px) calc(var(--mon-w) / 2 - 14px);
    box-sizing: border-box;
    object-fit: contain;
    background: rgba(14, 22, 37, .45);
    border-radius: 6px;
}

/* --- Informes de monitorización ("Logs de acceso" del equipo; reportsDialog.js, .reportsDialogFullScreen) ---
   Pantalla completa con el lenguaje de la consola: cabecera con título y X; pestañas subrayadas; filtros en una
   tarjeta con la etiqueta encima de cada campo; Consultar (principal), Exportar y Gráfica como botones con su menú;
   tabla limpia con cabecera fija que ocupa el resto del alto. */
.reportsDialog.reportsDialogFullScreen {
    --rd-ink: #0E1A33;
    --rd-text: #3A475E;
    --rd-muted: #69768C;
    --rd-line: #E8EDF4;
    --rd-soft: #F7F9FC;
    --rd-field: #D9E1EC;
    --rd-blue: var(--brand);
    inset: 0;
    z-index: 800;
    display: flex;
    flex-direction: column;
    width: 100% !important;
    height: 100% !important;
    padding: 0;
    color: var(--rd-text);
    background: #ffffff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    user-select: auto;
}

/* fadeIn le pone display: block en línea */
.reportsDialog.reportsDialogFullScreen[style*="display: block"] {
    display: flex !important;
}

.reportsDialog.reportsDialogFullScreen a,
.reportsDialog.reportsDialogFullScreen div,
.reportsDialog.reportsDialogFullScreen p {
    cursor: auto;
}

/* Cabecera */
.reportsDialog .windowsTitleBarReportsDialog {
    position: relative;
    flex: none;
    display: flex;
    align-items: center;
    height: 64px;
    padding: 0 24px;
    background: #ffffff;
    cursor: default;
}

.reportsDialog .windowsTitleBarReportsDialog .windowsTitleText {
    float: none;
    width: auto;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--rd-ink);
}

.reportsDialog .windowsTitleBarReportsDialog #windowButtons {
    position: absolute;
    top: 50%;
    right: 20px;
    float: none;
    margin-top: -16px;
}

.reportsDialog .windowsTitleBarReportsDialog .windowCloseButton {
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    margin: 0;
    color: var(--rd-muted);
    border-radius: 8px;
    cursor: pointer;
}

.reportsDialog .windowsTitleBarReportsDialog .windowCloseButton img {
    display: none;
}

.reportsDialog .windowsTitleBarReportsDialog .windowCloseButton::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.reportsDialog .windowsTitleBarReportsDialog .windowCloseButton:hover {
    color: var(--rd-ink);
    background: #F1F4F9;
}

/* Cuerpo: ocupa el resto del alto */
.reportsDialog .win10windowWrapper {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.reportsDialog .win10windowWrapper > .clear {
    display: none;
}

.reportsDialog .win10content.reportsContent {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    height: auto !important;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #ffffff !important;
}

/* Pestañas subrayadas */
.reportsDialog #reportTabs {
    flex: none;
    padding: 0 24px;
    font-size: 13.5px;
    border-bottom: 1px solid var(--rd-line);
}

.reportsDialog #reportTabs ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 24px;
    margin: 0;
    padding: 0;
    line-height: normal;
}

.reportsDialog #reportTabs .CNFtab,
.reportsDialog #reportTabs .CNFtabSelected {
    float: none;
    height: auto !important;
    min-width: 0;
    margin: 0;
    padding: 0;
    text-align: left;
    background: none !important;
    border: 0;
    border-radius: 0;
}

.reportsDialog #reportTabs .CNFtab a {
    display: block;
    height: auto;
    margin-bottom: -1px;
    padding: 12px 2px 13px;
    font-weight: 500;
    color: #5D6B82;
    cursor: pointer;
}

.reportsDialog #reportTabs .CNFtab:hover a {
    color: var(--rd-ink);
}

.reportsDialog #reportTabs .CNFtabSelected a {
    font-weight: 600;
    color: var(--rd-blue);
    box-shadow: inset 0 -2px 0 var(--rd-blue);
}

/* Contenido de cada pestaña: filtros, botones y tabla hasta abajo */
/* Antes cada pestaña medía 100vh y las demás quedaban fuera de la vista; aquí se ocultan todas menos la activa */
.reportsDialog .CNFtabReportContent {
    display: none;
    flex: 1;
    min-height: 0;
    height: auto;
    padding: 20px 24px 20px;
    background: #ffffff;
}

/* Sólo la pestaña visible: la primera al abrir (sin estilo en línea) o la que el cambio de pestaña muestra */
.reportsDialog #CNFtabReportContent1:not([style*="display: none"]),
.reportsDialog .CNFtabReportContent[style*="display: block"] {
    display: flex !important;
    flex-direction: column;
}

/* Filtros */
.reportsDialog .RDFiltersDiv {
    flex: none;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 14px 16px;
    width: auto;
    height: auto;
    margin: 0 0 14px;
    padding: 16px 18px 18px;
    font-size: 13px;
    background: var(--rd-soft);
    border: 0;
    border-radius: 12px;
}

.reportsDialog .RDFiltersDiv > .clear,
.reportsDialog .RDFiltersAndButtonsDiv > .clear {
    display: none;
}

.reportsDialog .RDFiltersLabel {
    flex-basis: 100%;
    float: none;
    margin: 0 0 -2px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rd-ink);
    background: none;
}

.reportsDialog .RDFiltersDiv1,
.reportsDialog .RDFiltersDiv2[style*="display: block"] {
    display: flex !important;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 14px 16px;
    flex-basis: 100%;
}

.reportsDialog .RDFilterGroup,
.reportsDialog .RDFilterGroupWidex2 {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 16px;
    float: none;
    width: auto;
}

.reportsDialog .RDFilterItem {
    display: flex;
    flex-direction: column;
    gap: 6px;
    height: auto;
    margin: 0;
}

.reportsDialog .RDFilterItem p {
    float: none;
    width: auto !important;
    margin: 0;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--rd-muted);
}

.reportsDialog .RDFiltersDiv input[type="text"],
.reportsDialog .RDFiltersDiv select {
    box-sizing: border-box;
    width: 180px;
    height: 36px;
    margin: 0 !important;
    padding: 0 10px;
    font: inherit;
    font-size: 13.5px;
    line-height: normal;
    color: var(--rd-ink);
    background-color: #ffffff;
    border: 1px solid var(--rd-field);
    border-radius: 8px;
    outline: none;
}

.reportsDialog .RDFiltersDiv select {
    padding-right: 30px;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2369768C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 14px;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

.reportsDialog .RDFiltersDiv input.datePicker {
    width: 150px;
    padding-right: 32px;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2369768C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") no-repeat right 10px center / 15px;
}

.reportsDialog #RDT6FilterWindow {
    width: 280px;
}

.reportsDialog .RDFiltersDiv input[type="text"]:focus,
.reportsDialog .RDFiltersDiv select:focus {
    border-color: var(--rd-blue);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

/* Filtrar por equipo: como un desplegable */
.reportsDialog .RDPCFilter .button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: 180px;
    height: 36px;
    margin: 0;
    padding: 0 30px 0 10px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--rd-ink);
    text-decoration: none;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2369768C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 14px;
    border: 1px solid var(--rd-field);
    border-radius: 8px;
    box-shadow: none;
}

.reportsDialog .RDPCFilter.filterActive .RDPCFilterTitle .button {
    color: var(--rd-blue);
    background-color: color-mix(in srgb, var(--brand) 4%, #fff);
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
}

.reportsDialog .RDPCFilterBadge {
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    border-radius: 999px;
}

/* Se abre al pasar el ratón: un puente invisible bajo el botón cubre el hueco de 4 px hasta la lista (si no, al
   bajar el ratón se cerraba) y sigue abierta mientras el ratón esté en cualquier parte del filtro */
.reportsDialog .RDPCFilterTitle {
    position: relative;
}

.reportsDialog .RDPCFilterTitle::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 10px;
}

.reportsDialog .RDPCFilter:hover > .RDPCFilterContent {
    display: block;
}

.reportsDialog .RDPCFilterContent {
    top: calc(100% + 4px);
    width: 280px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid var(--rd-line);
    border-radius: 12px;
    box-shadow: 0 16px 40px -12px rgba(14, 26, 51, .28);
}

.reportsDialog .RDPCFilterSearch {
    padding: 10px;
    border-bottom: 1px solid #EEF1F6;
}

.reportsDialog .RDPCFilterSearchInput {
    height: 34px !important;
    border: 1px solid var(--rd-field) !important;
    border-radius: 8px !important;
    font-size: 13px !important;
}

.reportsDialog .RDPCFilterSectionTitle {
    padding: 8px 12px 4px;
    font-size: 12px;
    letter-spacing: 0;
    text-transform: none;
    color: var(--rd-muted);
}

.reportsDialog .RDPCFilterPCList li,
.reportsDialog .RDPCFilterDeptList li {
    padding: 0 12px;
    line-height: 32px;
}

.reportsDialog .RDPCFilterPCList li:hover,
.reportsDialog .RDPCFilterDeptList li:hover {
    background: #F3F6FA;
}

.reportsDialog .RDPCFilterPCList input,
.reportsDialog .RDPCFilterDeptList input {
    accent-color: var(--rd-blue);
}

.reportsDialog .RDPCFilterActions {
    padding: 8px 12px;
    border-top: 1px solid #EEF1F6;
}

/* Botones: Consultar (principal), Exportar, Gráfica... con su menú */
.reportsDialog .RDButtonsDiv {
    flex: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    height: auto;
    margin: 0 0 14px;
}

.reportsDialog .RDButton {
    display: inline-flex;
    float: none;
    width: auto;
    height: 38px;
    line-height: normal;
    text-align: left;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid var(--rd-field);
    border-radius: 8px;
}

/* Minimizar sólo aparece tras Maximizar (lo muestra el JS); antes la regla de .RDButton lo dejaba siempre visible */
.reportsDialog .RDButtonMin {
    display: none;
}

.reportsDialog .RDButtonMin[style*="display: block"],
.reportsDialog .RDButtonMin[style*="display: inline"] {
    display: inline-flex !important;
}

.reportsDialog .RDButtonMax[style*="display: block"] {
    display: inline-flex !important;
}

.reportsDialog .RDButton:hover {
    background: #F3F6FA;
    border-color: var(--rd-field);
}

.reportsDialog .RDButton a.RDButtonMain {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    float: none;
    width: auto;
    height: 100%;
    padding: 0 14px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--rd-ink);
    text-decoration: none;
    background-image: none !important;
    cursor: pointer;
}

.reportsDialog .RDButton a.RDButtonMain::before {
    content: "";
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: var(--rd-icon) no-repeat center / contain;
    mask: var(--rd-icon) no-repeat center / contain;
}

.reportsDialog .RDButtonSearch {
    --rd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
    background: var(--rd-blue);
    border-color: var(--rd-blue);
}

.reportsDialog .RDButtonSearch:hover {
    background: color-mix(in srgb, var(--brand) 89%, #000);
    border-color: color-mix(in srgb, var(--brand) 89%, #000);
}

.reportsDialog .RDButtonSearch a.RDButtonMain {
    color: #ffffff;
}

.reportsDialog .RDButtonExcel {
    --rd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
}

.reportsDialog .RDButtonGraph {
    --rd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 20h18M7 16v-5M12 16V7M17 16v-8'/%3E%3C/svg%3E");
}

.reportsDialog .RDButtonMax,
.reportsDialog .RDButtonMin {
    --rd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5'/%3E%3C/svg%3E");
}

.reportsDialog .RDButtonMin {
    --rd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4v5H4M15 4v5h5M9 20v-5H4M15 20v-5h5'/%3E%3C/svg%3E");
}

.reportsDialog .RDButtonDownload {
    --rd-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
}

/* Menú del botón (flecha) */
.reportsDialog .RDButton a.RDButtonMore {
    float: none;
    width: 30px;
    height: 100%;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235D6B82' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / 14px !important;
    border-left: 1px solid var(--rd-field);
    border-radius: 0;
    cursor: pointer;
}

.reportsDialog .RDButtonSearch a.RDButtonMore {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    border-left-color: rgba(255, 255, 255, .35);
}

.reportsDialog .RDButton a.RDButtonMore:hover {
    background-color: rgba(14, 26, 51, .06) !important;
}

.reportsDialog #RDButtonDownload6b {
    font-size: 13px;
    color: var(--rd-muted);
}

/* Menús desplegables de los botones */
.reportsDialog .popover {
    min-width: 240px;
    padding: 6px;
    font-size: 13.5px;
    line-height: normal;
    background: #ffffff;
    border: 1px solid var(--rd-line);
    border-radius: 12px;
    box-shadow: 0 16px 40px -12px rgba(14, 26, 51, .28);
}

.reportsDialog .popover ul {
    margin: 0;
    padding: 0;
}

.reportsDialog .popover ul li {
    padding: 9px 12px;
    color: var(--rd-ink);
    border-radius: 8px;
    cursor: pointer;
}

.reportsDialog .popover ul li:hover {
    color: var(--rd-blue) !important;
    background: #F3F6FA;
}

/* Tabla: ocupa el resto del alto, con la cabecera fija */
.reportsDialog .RDTableDiv {
    flex: 1;
    min-height: 0;
    height: auto;
    margin: 0;
    overflow: auto;
    background: #ffffff;
    border: 1px solid var(--rd-line);
    border-radius: 12px;
    scrollbar-width: thin;
    scrollbar-color: #D5DDE8 transparent;
}

.reportsDialog .RDTable {
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.reportsDialog .RDTable th {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 11px 14px;
    font-size: 12.5px;
    font-weight: 600 !important;
    text-align: left;
    white-space: nowrap;
    color: var(--rd-muted);
    background: var(--rd-soft);
    border: 0;
    border-bottom: 1px solid var(--rd-line);
}

.reportsDialog .RDTable th:hover {
    background: #EEF2F8;
}

.reportsDialog .RDTable tr {
    font-size: 13.5px;
}

.reportsDialog .RDTable td {
    padding: 10px 14px;
    color: var(--rd-ink);
    white-space: nowrap;
    border: 0;
    border-bottom: 1px solid #EEF1F6;
}

.reportsDialog .RDTable tbody tr:hover td {
    background: var(--rd-soft);
}

.reportsDialog .RDTable .selectedRow td,
.reportsDialog .RDTable .selectedRow:hover td {
    color: var(--rd-ink) !important;
    background: color-mix(in srgb, var(--brand) 8%, #fff) !important;
}

.reportsDialog .RDTable .selectedRow,
.reportsDialog .RDTable .selectedRow:hover {
    color: var(--rd-ink) !important;
    background: color-mix(in srgb, var(--brand) 8%, #fff) !important;
}

.reportsDialog .RDTable .lastColumn,
.reportsDialog .RDTable .lastColumn:hover {
    background: transparent;
    border-right: 0;
}

.reportsDialog .RDTable th.lastColumn {
    background: var(--rd-soft);
}

/* Columna de capturas: icono de cámara */
.reportsDialog .RDTable .thcam,
.reportsDialog .RDTable .picCell {
    width: 36px;
    padding: 0 0 0 10px !important;
}

.reportsDialog .picCell a {
    width: 22px;
    height: 22px;
    background: var(--rd-blue);
    background-image: none;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1Z'/%3E%3Ccircle cx='12' cy='13.5' r='3.5'/%3E%3C/svg%3E") no-repeat center / 18px;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1Z'/%3E%3Ccircle cx='12' cy='13.5' r='3.5'/%3E%3C/svg%3E") no-repeat center / 18px;
}

.reportsDialog .selectedRow .picCell a {
    background-image: none;
}

/* Filas especiales: incidencias (antes en amarillo), totales y usuario en control de presencia */
.reportsDialog .RDTable .incidencia td,
.reportsDialog .RDTable tr.incidencia {
    color: #8A5B00 !important;
    background: #FEF4E2 !important;
}

.reportsDialog .RDTable .totalweek td,
.reportsDialog .RDTable .totalmonth td,
.reportsDialog .RDTable tr.totalweek,
.reportsDialog .RDTable tr.totalmonth {
    font-weight: 600;
    background: #EEF1F6 !important;
}

.reportsDialog .RDTable .userTitle {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--rd-ink);
}

.reportsDialog .RDTable .userTitle td {
    padding-top: 18px;
}

/* Cargar más */
.reportsDialog .loadMoreDiv {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 14px 0;
    line-height: normal;
}

.reportsDialog .loadMoreBtn {
    margin: 0;
    border: 0;
}

.reportsDialog .loadModeLnk {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 16px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--rd-ink);
    text-decoration: none;
    background: #ffffff;
    border: 1px solid var(--rd-field);
    border-radius: 8px;
}

.reportsDialog .loadModeLnk:hover {
    background: #F3F6FA;
}

/* Informes de monitorización, diseño integrado (reportsDialog.enhanceV2; .reportsDialog.isV2): la ventana se coloca
   dentro de la consola (bajo la cabecera y junto a la barra lateral, que siguen visibles), con ruta y subtítulo,
   pestañas con icono, filtros en línea (etiqueta a la izquierda), "Limpiar filtros", número de registros y una tabla
   más compacta con "Permitido" como etiqueta. Se cierra al ir a otro apartado. */
:root {
    --reports-v2: 1;
}

.reportsDialog.reportsDialogFullScreen.isV2 {
    top: 56px !important;
    left: 172px !important;
    right: 0;
    bottom: 0;
    width: auto !important;
    height: auto !important;
    /* Sin transición: al abrirse se deslizaba desde la izquierda (efecto de barra lateral) */
    transition: none !important;
}

/* Sin línea de separación con la barra lateral (quitada a petición del usuario) */
.reportsDialog.reportsDialogFullScreen.isV2::before {
    display: none;
}

body.menuCollapsed .reportsDialog.reportsDialogFullScreen.isV2 {
    left: 68px !important;
}

/* Cabecera: ruta, título y subtítulo */
.reportsDialog.isV2 .windowsTitleBarReportsDialog {
    display: block;
    height: auto;
    padding: 18px 28px 10px;
    /* Transparente para que se vea la línea de separación de la izquierda */
    background: transparent;
}

.reportsDialog.isV2 .RDBreadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 6px;
    font-size: 12.5px;
    color: var(--rd-muted);
}

.reportsDialog.isV2 .RDBreadcrumb span::before {
    content: "›";
    color: #AEBBCD;
}

.reportsDialog.isV2 .windowsTitleBarReportsDialog .windowsTitleText {
    font-size: 22px;
    font-weight: 750;
    letter-spacing: -.2px;
}

.reportsDialog.isV2 .RDSubtitle {
    margin: 4px 0 0;
    font-size: 13.5px;
    color: var(--rd-muted);
}

.reportsDialog.isV2 .windowsTitleBarReportsDialog #windowButtons {
    top: 22px;
    margin-top: 0;
}

/* Pestañas con icono */
.reportsDialog.isV2 #reportTabs {
    padding: 0 28px;
    /* Sin línea bajo las pestañas: sólo el subrayado azul de la activa */
    border-bottom: 0;
}

.reportsDialog.isV2 #reportTabs ul {
    gap: 0 26px;
}

.reportsDialog.isV2 #reportTabs .CNFtab a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.reportsDialog.isV2 #reportTabs .CNFtab a::before {
    content: "";
    flex: none;
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: var(--tab-icon) no-repeat center / contain;
    mask: var(--tab-icon) no-repeat center / contain;
}

.reportsDialog.isV2 .CNFtabReport1 { --tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1.5'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .CNFtabReport2 { --tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 3v5h5'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .CNFtabReport3 { --tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .CNFtabReport8 { --tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 20V4M3 8l4-4 4 4M17 4v16M13 16l4 4 4-4'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .CNFtabReport4 { --tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .CNFtabReport7 { --tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='4' width='12' height='17' rx='2'/%3E%3Cpath d='M9 4V3h6v1'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .CNFtabReport5 { --tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .CNFtabReport6 { --tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1Z'/%3E%3Ccircle cx='12' cy='13.5' r='3.5'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .CNFtabReport9 { --tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z'/%3E%3Ccircle cx='16.5' cy='7.5' r='.5' fill='%23000'/%3E%3C/svg%3E"); }

/* Logs de acceso › Nube (#CNFtabReportContent10; reportsDialog.getCloudReport / renderCloudReport): icono de nube en la
   pestaña, carpeta bajo el nombre del fichero, origen como etiqueta pequeña y la acción de la política junto al resultado */
.reportsDialog.isV2 .CNFtabReport10 { --tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3C/svg%3E"); }

.reportsDialog.isV2 .RDPill.isMuted {
    color: #7A879C;
}

.reportsDialog .RDCloudTable .RDCloudPath {
    display: block;
    max-width: 320px;
    overflow: hidden;
    font-size: 12px;
    color: #7A879C;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.reportsDialog .RDCloudTable .RDCloudSource {
    display: inline-block;
    margin-right: 4px;
    padding: 0 6px;
    font-size: 11px;
    font-weight: 600;
    line-height: 18px;
    color: #3A475E;
    background: #F1F4F9;
    border-radius: 4px;
}

.reportsDialog .RDCloudTable .RDCloudAction {
    font-size: 12px;
    color: #7A879C;
}

.reportsDialog .RDCloudTable td a {
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
}

/* Logs de acceso › Correo (#CNFtabReportContent11; reportsDialog.getMailReport / renderMailReport): icono de sobre en la
   pestaña, usuario bajo el equipo, destinatarios como líneas (los bloqueados en rojo), resultado con la política o el
   motivo debajo, datos detectados como etiquetas y cada adjunto con los datos detectados en él */
.reportsDialog.isV2 .CNFtabReport12 { --tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V3h12v6'/%3E%3Cpath d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/%3E%3Crect x='6' y='14' width='12' height='8' rx='1'/%3E%3C/svg%3E"); }

/* Impresiones: la tabla usa la de Correo (.RDMailTable); sólo el documento sin nombre y las páginas */
.reportsDialog .RDPrintTable .RDPrintHidden {
    color: #7A879C;
    font-style: italic;
}

.reportsDialog .RDPrintTable .RDPrintPages {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.reportsDialog.isV2 .CNFtabReport11 { --tab-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }

.reportsDialog.isV2 .RDPill.isWarn {
    color: #8A5B00;
    background: #FEF4E2;
}

.reportsDialog .RDMailTable .RDCloudPath {
    display: block;
    max-width: 260px;
    overflow: hidden;
    font-size: 12px;
    color: #7A879C;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.reportsDialog .RDMailTable .RDCloudAction {
    font-size: 12px;
    color: #7A879C;
}

.reportsDialog .RDMailTable .RDMailRecipient {
    display: block;
    max-width: 260px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.reportsDialog .RDMailTable .RDMailRecipient.isBlocked {
    font-weight: 600;
    color: #A8243A;
}

.reportsDialog .RDMailTable .RDMailMore {
    font-size: 12px;
    color: #7A879C;
}

.reportsDialog .RDMailTable .RDMailChip {
    display: inline-block;
    margin: 0 4px 3px 0;
    padding: 0 7px;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 19px;
    color: #3A475E;
    white-space: nowrap;
    background: #F1F4F9;
    border-radius: 4px;
}

.reportsDialog .RDMailTable tr.incidencia .RDMailChip {
    color: #8A5B00;
    background: #FDEFD3;
}

.reportsDialog .RDMailTable .RDMailAttachment + .RDMailAttachment {
    margin-top: 4px;
}

.reportsDialog .RDMailTable .RDMailAttachmentName {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 260px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.reportsDialog .RDMailTable .RDMailAttachmentName::before {
    content: "";
    flex: none;
    width: 13px;
    height: 13px;
    background: #8E9AAD;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E") no-repeat center / contain;
}

.reportsDialog .RDMailTable .RDMailAttachment.hasData .RDMailAttachmentName {
    font-weight: 600;
}

.reportsDialog .RDMailTable .RDMailAttachmentData {
    display: block;
    margin: 2px 0 0 19px;
}

.reportsDialog .RDCloudTable td a:hover {
    text-decoration: underline;
}

/* Contenido más denso */
.reportsDialog.isV2 .CNFtabReportContent {
    padding: 16px 28px 18px;
}

/* Filtros en línea: etiqueta a la izquierda, sin tarjeta */
.reportsDialog.isV2 .RDFiltersDiv {
    gap: 12px 28px;
    margin: 0 0 6px;
    padding: 0 0 14px;
    background: none;
    border-radius: 0;
}

.reportsDialog.isV2 .RDFiltersLabel {
    flex: 0 0 calc(100% - 160px);
    margin: 0;
    font-size: 13.5px;
}

.reportsDialog.isV2 .RDClearFilters {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    margin-left: auto;
    font-size: 13px;
    font-weight: 600;
    color: var(--rd-blue);
    text-decoration: none;
    cursor: pointer;
}

.reportsDialog.isV2 .RDClearFilters::before {
    content: "";
    width: 14px;
    height: 14px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M20 11a8 8 0 1 0-2.3 5.7'/%3E%3Cpath d='M20 4v7h-7'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M20 11a8 8 0 1 0-2.3 5.7'/%3E%3Cpath d='M20 4v7h-7'/%3E%3C/svg%3E") no-repeat center / contain;
}

.reportsDialog.isV2 .RDFilterGroup,
.reportsDialog.isV2 .RDFilterGroupWidex2 {
    flex-direction: column;
    gap: 10px;
}

.reportsDialog.isV2 .RDFilterItem {
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.reportsDialog.isV2 .RDFilterItem p {
    min-width: 56px;
    font-size: 13px;
    font-weight: 500;
    color: var(--rd-text);
}

.reportsDialog.isV2 .RDFilterItem p.RDFilterItempShort {
    min-width: 0;
}

.reportsDialog.isV2 .RDFiltersDiv input[type="text"],
.reportsDialog.isV2 .RDFiltersDiv select,
.reportsDialog.isV2 .RDPCFilter .button {
    width: 210px;
    height: 34px;
}

.reportsDialog.isV2 .RDFiltersDiv input.datePicker {
    width: 150px;
    padding-left: 34px;
    padding-right: 10px;
    background-position: left 11px center;
}

.reportsDialog.isV2 .RDFiltersDiv input::placeholder {
    color: #A3AEBF;
}

/* Filtrar por equipo con icono de equipo */
.reportsDialog.isV2 .RDPCFilter .button::before {
    content: "";
    flex: none;
    width: 15px;
    height: 15px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Botones y número de registros */
.reportsDialog.isV2 .RDButtonsDiv {
    margin: 0 0 12px;
}

.reportsDialog.isV2 .RDCount {
    margin-left: auto;
    font-size: 13px;
    color: var(--rd-muted);
}

/* Tabla más compacta */
.reportsDialog.isV2 .RDTable th {
    padding: 9px 12px;
    font-size: 12px;
}

.reportsDialog.isV2 .RDTable tr {
    font-size: 13px;
}

.reportsDialog.isV2 .RDTable td {
    padding: 5px 12px;
}

.reportsDialog.isV2 .RDTable .thcam,
.reportsDialog.isV2 .RDTable .picCell {
    width: 30px;
}

/* Permitido: Sí / No como etiqueta */
.reportsDialog.isV2 .RDPill {
    display: inline-block;
    min-width: 34px;
    padding: 2px 10px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    border-radius: 999px;
}

.reportsDialog.isV2 .RDPill.isYes {
    color: #0B7A55;
    background: #E3F6EE;
}

.reportsDialog.isV2 .RDPill.isNo {
    color: #A8243A;
    background: #FBE9EC;
}

.reportsDialog.isV2 .loadMoreDiv {
    margin: 10px 0;
}

/* Logs de acceso, tablas limpias: sin caja exterior (integradas con el fondo), cabecera blanca con línea fina,
   filas más aireadas con separadores suaves, "Permitido" como punto de color + texto y "Cargar más" discreto. */
.reportsDialog.isV2 .RDTableDiv {
    background: transparent;
    border: 0;
    border-radius: 0;
}

.reportsDialog.isV2 .RDTable th,
.reportsDialog.isV2 .RDTable th.lastColumn {
    padding: 10px 16px;
    font-size: 12px;
    font-weight: 600 !important;
    letter-spacing: 0;
    color: #69768C;
    background: #ffffff;
    border-bottom: 1px solid #E3E9F1;
}

.reportsDialog.isV2 .RDTable th:first-child,
.reportsDialog.isV2 .RDTable td:first-child {
    padding-left: 4px;
}

.reportsDialog.isV2 .RDTable th:hover {
    color: #13203A;
    background: #ffffff;
}

.reportsDialog.isV2 .RDTable tr {
    font-size: 13.5px;
}

.reportsDialog.isV2 .RDTable td {
    height: 24px;
    padding: 10px 16px;
    font-variant-numeric: tabular-nums;
    color: #13203A;
    border-bottom: 1px solid #F1F4F8;
}

.reportsDialog.isV2 .RDTable tbody tr:hover td {
    background: #F8FAFC;
}

.reportsDialog.isV2 .RDTable .selectedRow td,
.reportsDialog.isV2 .RDTable .selectedRow:hover td {
    background: color-mix(in srgb, var(--brand) 6%, #fff) !important;
}

/* Columna de capturas: sin relleno a la izquierda extra */
.reportsDialog.isV2 .RDTable .thcam,
.reportsDialog.isV2 .RDTable .picCell {
    padding-left: 4px !important;
}

/* Permitido: punto + texto, sin pastilla */
.reportsDialog.isV2 .RDPill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 0;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    background: none !important;
    border-radius: 0;
}

.reportsDialog.isV2 .RDPill::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.reportsDialog.isV2 .RDPill.isYes {
    color: #047857;
}

.reportsDialog.isV2 .RDPill.isNo {
    color: #BE123C;
}

/* Filas especiales, más suaves */
.reportsDialog.isV2 .RDTable .incidencia td,
.reportsDialog.isV2 .RDTable tr.incidencia {
    color: #92400E !important;
    background: #FFFBEB !important;
}

.reportsDialog.isV2 .RDTable .totalweek td,
.reportsDialog.isV2 .RDTable .totalmonth td,
.reportsDialog.isV2 .RDTable tr.totalweek,
.reportsDialog.isV2 .RDTable tr.totalmonth {
    font-weight: 600;
    background: #F8FAFC !important;
}

.reportsDialog.isV2 .RDTable .userTitle td {
    padding-top: 22px;
    padding-bottom: 8px;
    border-bottom: 1px solid #E3E9F1;
}

/* Cargar más: enlace discreto centrado */
.reportsDialog.isV2 .loadMoreDiv {
    margin: 14px 0 6px;
}

.reportsDialog.isV2 .loadModeLnk {
    height: 32px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    background: transparent;
    border: 0;
    border-radius: 8px;
}

.reportsDialog.isV2 .loadModeLnk:hover {
    background: color-mix(in srgb, var(--brand) 6%, #fff);
}

/* Maximizar (capturas): la ventana ocupa toda la pantalla, por encima de la cabecera y la barra lateral */
.reportsDialog.reportsDialogFullScreen.isV2.isMaximized {
    top: 0 !important;
    left: 0 !important;
    z-index: 1500;
}

.reportsDialog.reportsDialogFullScreen.isV2.isMaximized::before {
    display: none;
}

.reportsDialog.isV2.isMaximized #CNFtabReportContent6 {
    padding-top: 14px;
}

/* Pantallas medianas: las ocho pestañas caben en una línea */
@media (max-width: 1500px) {
    .reportsDialog.isV2 #reportTabs ul {
        gap: 0 16px;
    }

    .reportsDialog.isV2 #reportTabs .CNFtab a {
        gap: 6px;
        font-size: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .reportsDialog.reportsDialogFullScreen.isV2 {
        transition: none;
    }
}

/* Informes de monitorización, Capturas de pantalla (reportsDialog.screenshotsViewerV2): filtros en una fila con los
   botones a la derecha; visor con la captura grande (flechas y ampliar), detalles a la derecha y barra inferior con
   controles, posición y miniaturas. */
/* Filtros y botones en la misma fila. show() deja el estilo en línea vacío, así que basta con que no esté oculto */
.reportsDialog.isV2 #CNFtabReportContent6 .RDFiltersAndButtonsDiv:not([style*="display: none"]) {
    display: flex !important;
    align-items: flex-end;
    gap: 16px;
    margin: 0 0 14px;
}

.reportsDialog.isV2 #CNFtabReportContent6 .RDFiltersDiv {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.reportsDialog.isV2 #CNFtabReportContent6 .RDFiltersLabel,
.reportsDialog.isV2 #CNFtabReportContent6 .RDClearFilters,
.reportsDialog.isV2 #CNFtabReportContent6 .RDCount {
    display: none;
}

.reportsDialog.isV2 #CNFtabReportContent6 .RDFilterGroup,
.reportsDialog.isV2 #CNFtabReportContent6 .RDFilterGroupWidex2 {
    flex-direction: row;
    gap: 12px;
}

.reportsDialog.isV2 #CNFtabReportContent6 .RDFilterItem {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.reportsDialog.isV2 #CNFtabReportContent6 .RDFilterItem p {
    min-width: 0;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--rd-muted);
}

.reportsDialog.isV2 #CNFtabReportContent6 .RDFiltersDiv select,
.reportsDialog.isV2 #CNFtabReportContent6 .RDFiltersDiv input[type="text"],
.reportsDialog.isV2 #CNFtabReportContent6 #RDT6FilterWindow {
    width: 170px;
}

.reportsDialog.isV2 #CNFtabReportContent6 .RDButtonsDiv {
    flex: none;
    margin: 0;
}

/* El visor ocupa el alto que queda (Maximizar le pone una altura en línea) */
.reportsDialog.isV2 #CNFtabReportContent6 .RDTableDiv.hasViewer {
    height: auto !important;
    padding: 0;
    overflow: hidden;
    background: none;
    border: 0;
    border-radius: 0;
}

.reportsDialog.isV2 .RDTableDiv.hasViewer > #RDTG6TitleDiv,
.reportsDialog.isV2 .RDTableDiv.hasViewer > #RDTG6ControlsDiv {
    display: none;
}

.reportsDialog.isV2 .SCViewer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 14px;
    height: 100%;
}

/* Captura */
.reportsDialog.isV2 .SCStage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    overflow: hidden;
    background: #0E1625;
    border-radius: 12px;
}

.reportsDialog.isV2 #RDTG6ScreenshotsDiv {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.reportsDialog.isV2 #RDTG6ScreenshotsImg {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    object-fit: contain;
}

.reportsDialog.isV2 .SCNav,
.reportsDialog.isV2 .SCZoom {
    position: absolute;
    display: block;
    color: #13203A;
    background: rgba(255, 255, 255, .92);
    border-radius: 50%;
    box-shadow: 0 4px 14px rgba(14, 26, 51, .25);
    cursor: pointer;
}

.reportsDialog.isV2 .SCNav {
    top: 50%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
}

.reportsDialog.isV2 .SCNav.isPrev {
    left: 14px;
}

.reportsDialog.isV2 .SCNav.isNext {
    right: 14px;
}

.reportsDialog.isV2 .SCZoom {
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
}

.reportsDialog.isV2 .SCNav::before,
.reportsDialog.isV2 .SCZoom::before {
    content: "";
    position: absolute;
    inset: 11px;
    background: currentColor;
    -webkit-mask: var(--sc-icon) no-repeat center / contain;
    mask: var(--sc-icon) no-repeat center / contain;
}

.reportsDialog.isV2 .SCNav.isPrev { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .SCNav.isNext { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .SCZoom { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-7 7M10 20H4v-6M4 20l7-7'/%3E%3C/svg%3E"); }

.reportsDialog.isV2 .SCNav:hover,
.reportsDialog.isV2 .SCZoom:hover {
    background: #ffffff;
}

.reportsDialog.isV2 .SCNav.isDisabled {
    opacity: .35;
    pointer-events: none;
}

/* Detalles */
.reportsDialog.isV2 .SCInfo {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 18px;
    overflow-y: auto;
    background: #ffffff;
    border: 1px solid var(--rd-line);
    border-radius: 12px;
}

.reportsDialog.isV2 .SCFile {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

/* Varias pantallas (screenLayout.js): «Pantalla 1 · 2 · Todas» en el visor de capturas y en la vista en directo.
   Sin varias pantallas (o con capturas antiguas) el selector no se muestra. */
.SLScreens {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.SLScreens.isEmpty {
    display: none !important;
}

.SLScreens .SLLabel {
    margin-right: 4px;
    font-size: 12.5px;
    font-weight: 600;
    color: #5D6B82;
}

.SLScreens .SLBtn {
    height: 30px;
    padding: 0 11px;
    border: 1px solid #E3E9F1;
    border-radius: 8px;
    background: #FFFFFF;
    color: #13203A;
    font: 600 12.5px/1 inherit;
    cursor: pointer;
}

.SLScreens .SLBtn small {
    font-weight: 400;
    color: #7A879C;
}

.SLScreens .SLBtn:hover {
    background: #F3F6FA;
}

.SLScreens .SLBtn.isActive {
    border-color: color-mix(in srgb, var(--brand) 40%, #fff);
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    color: color-mix(in srgb, var(--brand) 79%, #000);
}

.SLScreens .SLBtn.isActive small {
    color: inherit;
}

.SLScreens .SLBtn:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--brand) 55%, #fff);
    outline-offset: 1px;
}

.reportsDialog.isV2 .SCScreens {
    margin: 12px 0 2px;
}

.modalFullScreen .SVBar #SVScreens {
    margin-right: 8px;
}

.reportsDialog.isV2 .SCFileIcon {
    flex: none;
    width: 36px;
    height: 36px;
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    position: relative;
    border-radius: 9px;
}

.reportsDialog.isV2 .SCFileIcon::before {
    content: "";
    position: absolute;
    inset: 9px;
    background: var(--brand);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cpath d='m21 16-5-5-9 9'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cpath d='m21 16-5-5-9 9'/%3E%3C/svg%3E") no-repeat center / contain;
}

.reportsDialog.isV2 .SCFileName {
    overflow: hidden;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--rd-ink);
}

.reportsDialog.isV2 .SCHighlight {
    display: none;
    align-self: flex-start;
    margin: 12px 0 0;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    color: #8A5B00;
    background: #FEF4E2;
    border-radius: 999px;
}

.reportsDialog.isV2 .SCViewer.isHighlight .SCHighlight {
    display: inline-block;
}

.reportsDialog.isV2 .SCMeta {
    margin: 16px 0;
    padding: 14px 0 0;
    border-top: 1px solid #EEF1F6;
}

.reportsDialog.isV2 .SCMeta > div {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 10px;
    padding: 7px 0;
    font-size: 13px;
}

.reportsDialog.isV2 .SCMeta dt {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--rd-muted);
}

.reportsDialog.isV2 .SCMeta dt::before {
    content: "";
    flex: none;
    width: 14px;
    height: 14px;
    background: #8E9AAD;
    -webkit-mask: var(--sc-icon) no-repeat center / contain;
    mask: var(--sc-icon) no-repeat center / contain;
}

.reportsDialog.isV2 .SCMeta dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--rd-ink);
}

.reportsDialog.isV2 .SCMeta .isDate { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .SCMeta .isPc { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .SCMeta .isUser { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .SCMeta .isApp { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1.5'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .SCMeta .isWindow { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9h18'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .SCMeta .isFormat { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 3v5h5'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 .SCMeta .isSize { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-7 7M10 20H4v-6M4 20l7-7'/%3E%3C/svg%3E"); }

.reportsDialog.isV2 .SCDownload {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: auto;
    height: 40px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--rd-blue);
    text-decoration: none;
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border: 1px solid color-mix(in srgb, var(--brand) 19%, #fff);
    border-radius: 10px;
    cursor: pointer;
}

.reportsDialog.isV2 .SCDownload::before {
    content: "";
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") no-repeat center / contain;
}

.reportsDialog.isV2 .SCDownload:hover {
    text-decoration: none;
    background: color-mix(in srgb, var(--brand) 8%, #fff);
}

/* Barra inferior: controles, posición y miniaturas */
.reportsDialog.isV2 .SCBar {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
    padding: 10px 14px;
    background: #ffffff;
    border: 1px solid var(--rd-line);
    border-radius: 12px;
}

.reportsDialog.isV2 #RDTG6ControlsButtons {
    display: flex;
    align-items: center;
    gap: 6px;
    float: none;
    width: auto;
}

.reportsDialog.isV2 .RDTGControl {
    position: relative;
    float: none;
    width: 34px;
    height: 34px;
    margin: 0;
    color: #3A475E;
    background: #F1F4F9 !important;
    border-radius: 50%;
    cursor: pointer;
}

.reportsDialog.isV2 .RDTGControl::before {
    content: "";
    position: absolute;
    inset: 10px;
    background: currentColor;
    -webkit-mask: var(--sc-icon) no-repeat center / contain;
    mask: var(--sc-icon) no-repeat center / contain;
}

.reportsDialog.isV2 .RDTGControl:hover {
    background: #E5EAF2 !important;
}

.reportsDialog.isV2 #RDTG6Control1 { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M11 6v12L3 12ZM21 6v12l-8-6Z'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 #RDTG6Control2 { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M6 5h2v14H6ZM19 5v14L9 12Z'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 #RDTG6Control4 { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M16 5h2v14h-2ZM5 5v14l10-7Z'/%3E%3C/svg%3E"); }
.reportsDialog.isV2 #RDTG6Control5 { --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M13 6v12l8-6ZM3 6v12l8-6Z'/%3E%3C/svg%3E"); }

/* Reproducir / pausa: botón principal azul */
.reportsDialog.isV2 #RDTG6Control3 {
    width: 42px;
    height: 42px;
    color: #ffffff;
    background: var(--rd-blue) !important;
    --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M7 4.5v15a1 1 0 0 0 1.5.9l12-7.5a1 1 0 0 0 0-1.7l-12-7.5A1 1 0 0 0 7 4.5Z'/%3E%3C/svg%3E");
}

.reportsDialog.isV2 #RDTG6Control3::before {
    inset: 13px 12px 13px 14px;
}

.reportsDialog.isV2 #RDTG6Control3:hover {
    background: color-mix(in srgb, var(--brand) 89%, #000) !important;
}

.reportsDialog.isV2 #RDTG6Control3.RDTGControlPause {
    --sc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Crect x='6' y='5' width='4' height='14' rx='1'/%3E%3Crect x='14' y='5' width='4' height='14' rx='1'/%3E%3C/svg%3E");
}

.reportsDialog.isV2 #RDTG6Control3.RDTGControlPause::before {
    inset: 13px;
}

.reportsDialog.isV2 .SCWhen {
    display: flex;
    flex: none;
    flex-direction: column;
    gap: 2px;
    min-width: 140px;
}

.reportsDialog.isV2 .SCWhenDate {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--rd-ink);
}

.reportsDialog.isV2 .SCWhenPos {
    font-size: 12px;
    color: var(--rd-muted);
}

.reportsDialog.isV2 .SCThumbs {
    display: flex;
    flex: 1;
    gap: 8px;
    min-width: 0;
    padding: 2px;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: #D5DDE8 transparent;
}

.reportsDialog.isV2 .SCThumb {
    position: relative;
    flex: none;
    width: 104px;
    height: 60px;
    overflow: hidden;
    background: #EEF1F6;
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
}

.reportsDialog.isV2 .SCThumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.reportsDialog.isV2 .SCThumb:hover {
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
}

.reportsDialog.isV2 .SCThumb.isCurrent {
    border-color: var(--rd-blue);
}

/* Evento destacado: punto ámbar en la miniatura */
.reportsDialog.isV2 .SCThumb.isHighlight::after {
    content: "";
    position: absolute;
    top: 5px;
    right: 5px;
    width: 8px;
    height: 8px;
    background: #E8A317;
    border: 2px solid #ffffff;
    border-radius: 50%;
}

@media (max-width: 1400px) {
    .reportsDialog.isV2 .SCViewer {
        grid-template-columns: minmax(0, 1fr) 260px;
    }
}

/* Informes: gráfica de Aplicaciones / Páginas web (reportsDialog.renderRankingV2): ranking de barras horizontales */
.reportsDialog.isV2 .RKChart {
    padding: 20px 24px 24px;
}

.reportsDialog.isV2 .RKHead {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 18px;
}

.reportsDialog.isV2 .RKHead h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--rd-ink);
}

.reportsDialog.isV2 .RKHead p {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--rd-muted);
}

.reportsDialog.isV2 .RKBack {
    flex: none;
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--rd-ink);
    text-decoration: none;
    background: #ffffff;
    border: 1px solid var(--rd-field);
    border-radius: 8px;
    cursor: pointer;
}

.reportsDialog.isV2 .RKBack:hover {
    background: #F3F6FA;
}

.reportsDialog.isV2 .RKList {
    margin: 0;
    padding: 0;
    list-style: none;
}

.reportsDialog.isV2 .RKRow {
    display: grid;
    grid-template-columns: 28px minmax(160px, 1.1fr) minmax(120px, 1.6fr) 96px 56px;
    align-items: center;
    gap: 14px;
    padding: 9px 4px;
    border-bottom: 1px solid #EEF1F6;
}

.reportsDialog.isV2 .RKRow:last-child {
    border-bottom: 0;
}

.reportsDialog.isV2 .RKRow:hover {
    background: var(--rd-soft);
}

.reportsDialog.isV2 .RKRank {
    font-size: 12.5px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: right;
    color: var(--rd-muted);
}

.reportsDialog.isV2 .RKText {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.reportsDialog.isV2 .RKText strong {
    overflow: hidden;
    font-size: 13.5px;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--rd-ink);
}

.reportsDialog.isV2 .RKText small {
    font-size: 12px;
    color: var(--rd-muted);
}

/* Barra fina con extremo redondeado sobre una pista gris */
.reportsDialog.isV2 .RKBar {
    height: 8px;
    overflow: hidden;
    background: #EEF1F6;
    border-radius: 4px;
}

.reportsDialog.isV2 .RKBar i {
    display: block;
    height: 100%;
    background: var(--rd-blue);
    border-radius: 4px;
}

.reportsDialog.isV2 .RKRow.isOther .RKBar i {
    background: #AEBBCD;
}

.reportsDialog.isV2 .RKRow.isOther .RKText strong {
    font-weight: 500;
    color: var(--rd-text);
}

.reportsDialog.isV2 .RKValue,
.reportsDialog.isV2 .RKShare {
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.reportsDialog.isV2 .RKValue {
    font-weight: 600;
    color: var(--rd-ink);
}

.reportsDialog.isV2 .RKShare {
    color: var(--rd-muted);
}

/* Calendario (jQuery UI) con el mismo estilo */
.ui-datepicker {
    padding: 8px;
    font-family: inherit;
    font-size: 13px;
    background: #ffffff;
    border: 1px solid #E8EDF4 !important;
    border-radius: 12px;
    box-shadow: 0 16px 40px -12px rgba(14, 26, 51, .28);
}

.ui-datepicker .ui-datepicker-header {
    color: #0E1A33;
    background: none;
    border: 0;
}

.ui-datepicker td a.ui-state-default {
    text-align: center;
    color: #13203A;
    background: none;
    border: 0;
    border-radius: 6px;
}

.ui-datepicker td a.ui-state-hover {
    background: #F3F6FA;
}

.ui-datepicker td a.ui-state-active,
.ui-datepicker td a.ui-state-highlight {
    color: #ffffff;
    background: var(--brand);
}

/* --- Listas de distribuidores y empresas: sin el triángulo de "Equipos con incidencias" ---
   A petición del usuario, el aviso sólo se ve dentro de la empresa (en la lista de equipos), no al buscar o
   recorrer distribuidores y empresas. */
.LBItemRAlt.led img[src*="alerta.svg"],
.LBItemWarn {
    display: none !important;
}

/* --- Informes (_sections/reports.ascx, 3_Reports/dlpReports.js, _js_no_minify/dlpReports_charts.js) ---
   --reports-section-v2 activa en el JS el estilo de las gráficas y el ranking de tipos de datos. Rejilla de tarjetas:
   [Nivel de alertas + Productividad | Tipos de datos personales], [Actividad | Datos sensibles], [Alertas DLP];
   filtros en una barra limpia; selectores Tiempo/Agrupado como control segmentado; tabla de alertas como la de logs.
   Los colores de las gráficas están en _personalizaciones/dlp.edorteam.com/colors.json. */
:root {
    --reports-section-v2: 1;
}

.ETSmenuReports[style*="display: block"] {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
    /* Más aire a los lados para que el contenido no quede pegado a la barra lateral ni al borde derecho */
    padding: 6px 32px 32px 20px;
}

.ETSmenuReports > h2 {
    grid-column: 1 / -1;
    margin: 0;
    padding: 6px 0 0;
    font-size: 22px;
    font-weight: 750;
    letter-spacing: -.2px;
    color: #0E1A33;
}

.ETSmenuReports > h2::after {
    content: "Actividad, datos sensibles y alertas DLP de la empresa o del equipo que elijas.";
    display: block;
    margin-top: 4px;
    font-size: 13.5px;
    font-weight: 400;
    letter-spacing: 0;
    color: #69768C;
}

.ETSmenuReports > .clear,
.ETSmenuReports > br,
.ETSmenuReports .reportWidgetColumn > .clear,
.ETSmenuReports .widgetBottom,
.ETSmenuReports .reportWidget50 > .reportWidgetTitle:empty {
    display: none;
}

.ETSmenuReports .reportWidgetColumn,
.ETSmenuReports .flexParent {
    display: contents;
}

/* Filtros */
.ETSmenuReports .reportFilters {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 14px 18px;
    margin: 0 0 4px;
    padding: 0 0 18px;
    background: none;
    border: 0;
    border-bottom: 1px solid #EEF1F6;
    border-radius: 0;
}

.ETSmenuReports .reportFilters > .clear,
.ETSmenuReports .RFFilterGroup > .clear,
.ETSmenuReports .RFInputDiv > .clear {
    display: none;
}

.ETSmenuReports .RFFilterGroup {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 14px 16px;
    float: none;
    padding: 0;
}

.ETSmenuReports #reportFilterDateDiv:not([style*="display: block"]):not([style*="display: flex"]) {
    display: none;
}

.ETSmenuReports .RFInputDiv,
.ETSmenuReports .RFInputDiv2 {
    display: flex;
    flex-direction: column;
    gap: 6px;
    float: none;
    margin: 0;
}

.ETSmenuReports .RFInputDiv p,
.ETSmenuReports .RFInputDiv2 p {
    float: none;
    max-width: none;
    margin: 0;
    font-size: 12.5px;
    font-weight: 600;
    color: #69768C;
}

/* Equipo: foto/escudo + selector en una fila */
.ETSmenuReports #RFUserFilterDiv {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    column-gap: 10px;
    row-gap: 6px;
    align-items: center;
}

.ETSmenuReports #RFUserFilterDiv > p {
    grid-column: 1 / -1;
}

.ETSmenuReports #widgetContentProfilePicture {
    grid-row: 2;
    grid-column: 1;
    float: none;
    width: 36px;
    height: 36px;
    margin: 0;
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    border-radius: 50%;
}

.ETSmenuReports #widgetContentProfilePicture img {
    width: 36px;
    height: 36px;
    border: 0;
}

.ETSmenuReports .reportFilters select,
.ETSmenuReports .reportFilters input[type="date"],
.ETSmenuReports .reportFilters input[type="text"],
.ETSmenuReports #RFUserFilter_chosen .chosen-single {
    box-sizing: border-box;
    height: 36px;
    margin: 0;
    padding: 0 30px 0 12px;
    font: inherit;
    font-size: 13.5px;
    color: #13203A;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2369768C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 14px;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
}

/* Filtrar por equipo (selector "chosen"): texto centrado en vertical dentro del campo */
.ETSmenuReports #RFUserFilter_chosen .chosen-single {
    display: flex;
    align-items: center;
    line-height: normal;
}

.ETSmenuReports #RFUserFilter_chosen .chosen-single span {
    flex: 1;
    min-width: 0;
    margin: 0;
    line-height: 1.3;
}

.ETSmenuReports #RFUserFilter_chosen .chosen-single div {
    display: none;
}

.ETSmenuReports #RFUserFilter,
.ETSmenuReports #RFUserFilter_chosen {
    grid-row: 2;
    grid-column: 2;
    float: none;
    width: 220px !important;
}

.ETSmenuReports #RFDateFilter {
    width: 190px;
}

.ETSmenuReports .reportFilters input[type="date"] {
    width: 160px;
    padding-right: 12px;
    background-image: none;
}

.ETSmenuReports #RFInterval {
    width: 90px !important;
    padding-right: 12px;
    background-image: none;
}

.ETSmenuReports .reportFilters select:focus,
.ETSmenuReports .reportFilters input:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

.ETSmenuReports #applyFilterDiv {
    margin-left: auto;
    padding: 0;
}

.ETSmenuReports #RFApplyFilter {
    float: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 38px;
    margin: 0;
    padding: 0 18px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    color: #ffffff;
    text-decoration: none;
    background: var(--brand);
    background-image: none;
    border: 0;
    border-radius: 8px;
    box-shadow: none;
}

.ETSmenuReports #RFApplyFilter::before {
    content: "";
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h18l-7 8.5V19l-4 2v-7.5Z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h18l-7 8.5V19l-4 2v-7.5Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.ETSmenuReports #RFApplyFilter::after {
    display: none;
}

.ETSmenuReports #RFApplyFilter:hover {
    background: color-mix(in srgb, var(--brand) 89%, #000);
}

/* Tarjetas */
.ETSmenuReports .reportWidget50,
.ETSmenuReports .reportWidget100 {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 18px 20px 20px;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-radius: 14px;
}

.ETSmenuReports .reportWidget50-first {
    grid-column: span 5;
    order: 1;
}

.ETSmenuReports .reportWidget50:not(.reportWidget50-first) {
    grid-column: span 7;
    order: 2;
}

.ETSmenuReports .reportWidget100:has(#widgetContentActivity) {
    grid-column: span 6;
    order: 3;
}

.ETSmenuReports .reportWidget100:has(#widgetContentSensitiveData) {
    grid-column: span 6;
    order: 4;
}

.ETSmenuReports .reportWidget100:has(#widgetContentDLPLogs) {
    grid-column: 1 / -1;
    order: 5;
}

.ETSmenuReports .reportWidget-margintop {
    margin-top: 0;
}

/* Título de cada tarjeta, con el selector Tiempo / Agrupado a la derecha */
.ETSmenuReports .reportWidgetTitle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 0 12px;
    font-size: 15px;
    font-weight: 700;
    color: #0E1A33;
    background: none;
}

.ETSmenuReports .reportWidgetTitle > .clear {
    display: none;
}

.ETSmenuReports .reportWidgetTitle p {
    margin: 0;
}

/* Productividad dentro de la misma tarjeta que el nivel de alertas, separada por una línea */
.ETSmenuReports .reportWidget50-first .innerWidgetFlex + .reportWidgetTitle {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #EEF1F6;
}

.ETSmenuReports .widgetTypeSelector {
    display: flex;
    gap: 2px;
    float: none;
    margin: 0;
    padding: 3px;
    background: #F1F4F9;
    border-radius: 8px;
}

.ETSmenuReports .widgetTypeSelector li {
    float: none;
    margin: 0;
    order: 2;
}

.ETSmenuReports .widgetTypeSelector li:first-child {
    order: 1;
}

.ETSmenuReports .widgetTypeSelector a {
    display: block;
    padding: 5px 12px;
    font-size: 12.5px;
    font-weight: 600;
    color: #5D6B82;
    text-decoration: none;
    background: none;
    background-image: none;
    border: 0;
    border-radius: 6px;
}

/* La base lo marca con fondo verde, borde y check (con !important) */
.ETSmenuReports .widgetTypeSelector a.widgetTypeSelectorSelected {
    padding-right: 12px !important;
    color: #0E1A33;
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .12);
}

.ETSmenuReports .widgetTypeSelector a::after,
.ETSmenuReports .widgetTypeSelector a::before {
    display: none;
}

/* Gráficas: alto fijo para que las de tiempo se lean bien */
.ETSmenuReports #widgetContentActivity,
.ETSmenuReports #widgetContentSensitiveData {
    position: relative;
    height: 300px;
    padding: 0;
}

.ETSmenuReports #widgetContentActivity canvas,
.ETSmenuReports #widgetContentSensitiveData canvas {
    width: 100% !important;
    height: 100% !important;
}

.ETSmenuReports .widgetPadding {
    padding: 0;
}

.ETSmenuReports .widgetContentEmpty {
    padding: 40px 0;
    font-size: 13.5px;
    text-align: center;
    color: #69768C;
    background: none;
    border: 0;
}

/* Nivel de alertas: barra de severidad con los mismos colores que la gráfica */
.ETSmenuReports .gradient-bar-container {
    height: 8px;
    margin: 30px 12px 0;
    background: linear-gradient(to right, #9DB0C8, #E8C23A, #E8A317, #E5732B, #D6334E);
    border-radius: 4px;
}

.ETSmenuReports .indicator-arrow {
    border-top-color: #0E1A33;
}

.ETSmenuReports .indicator-label {
    font-size: 11.5px;
    font-weight: 600;
    color: #3A475E;
}

.ETSmenuReports .barsp {
    max-width: none;
    margin: 36px 0 0;
    padding: 0;
    font-size: 12.5px;
    text-align: center;
    color: #69768C;
}

/* Productividad: semicírculo azul con el porcentaje al lado (sin la aguja antigua) */
.ETSmenuReports .gaugeNeedle {
    display: none;
}

.ETSmenuReports .innerWidgetFlex:has(.gauge) {
    display: flex;
    align-items: center;
    gap: 18px;
}

.ETSmenuReports .gauge,
.ETSmenuReports .gaugetext {
    float: none;
    width: auto;
    margin: 0;
}

.ETSmenuReports .gauge {
    flex: none;
    width: 180px;
}

.ETSmenuReports .donut-text {
    font-size: 30px;
    font-weight: 750;
    letter-spacing: -.4px;
    color: #0E1A33;
}

.ETSmenuReports .gaugetext p {
    margin: 2px 0 0;
    padding: 0;
    font-size: 12.5px;
    line-height: 1.5;
    color: #69768C;
}

/* Tipos de datos personales: ranking (dlpReports_charts.renderTypesRankingV2) */
.ETSmenuReports #widgetSensitiveDataUser {
    padding: 0;
}

.ETSmenuReports .TYRanking {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ETSmenuReports .TYRow {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(100px, 1.6fr) 56px 44px;
    align-items: center;
    gap: 12px;
    padding: 9px 6px;
    font-size: 13.5px;
    color: #13203A;
    text-decoration: none;
    border-bottom: 1px solid #EEF1F6;
    border-radius: 6px;
}

.ETSmenuReports .TYRanking li:last-child .TYRow {
    border-bottom: 0;
}

.ETSmenuReports .TYRow:hover {
    text-decoration: none;
    background: #F7F9FC;
}

.ETSmenuReports .TYName {
    overflow: hidden;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ETSmenuReports .TYBar {
    height: 8px;
    overflow: hidden;
    background: #EEF1F6;
    border-radius: 4px;
}

.ETSmenuReports .TYBar i {
    display: block;
    height: 100%;
    background: var(--data);
    border-radius: 4px;
}

.ETSmenuReports .TYValue,
.ETSmenuReports .TYShare {
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.ETSmenuReports .TYValue {
    font-weight: 600;
}

.ETSmenuReports .TYShare {
    font-size: 12.5px;
    color: #69768C;
}

/* Alertas DLP: descarga e tabla como la de los logs */
.ETSmenuReports #RWidgetLogsDownload {
    position: relative;
    float: none;
    width: 34px;
    height: 34px;
    margin: 0;
    color: #5D6B82;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.ETSmenuReports #RWidgetLogsDownload .exportIcon {
    position: absolute;
    inset: 8px;
    width: auto;
    height: auto;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") no-repeat center / contain;
}

.ETSmenuReports #RWidgetLogsDownload:hover {
    color: #0E1A33;
    background: #F3F6FA;
}

/* Tipos de datos: las filas se reparten en el alto de la tarjeta y el total va al pie */
.ETSmenuReports .reportWidget50:not(.reportWidget50-first) #widgetSensitiveDataUser {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.ETSmenuReports .TYRanking {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

.ETSmenuReports .TYTotal {
    margin: 12px 0 0;
    padding: 12px 6px 0;
    font-size: 12.5px;
    color: #69768C;
    border-top: 1px solid #EEF1F6;
}

/* Informes, segundo nivel: cifras clave arriba (dlpReports.renderKpisV2), severidad y acción como etiquetas */
.ETSmenuReports .RKpis {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.ETSmenuReports .RKpi {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
    padding: 16px 18px;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-radius: 14px;
}

.ETSmenuReports .RKpiIcon {
    flex: none;
    width: 40px;
    height: 40px;
    background: var(--kpi-soft, color-mix(in srgb, var(--data) 8%, #fff)) var(--kpi-icon) no-repeat center / 20px;
    border-radius: 11px;
}

.ETSmenuReports .RKpi > div {
    min-width: 0;
}

.ETSmenuReports .RKpiLabel {
    margin: 0;
    font-size: 12.5px;
    font-weight: 500;
    color: #69768C;
}

.ETSmenuReports .RKpiValue {
    margin: 2px 0 0;
    overflow: hidden;
    font-size: 24px;
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: -.4px;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-variant-numeric: tabular-nums;
    color: #0E1A33;
}

.ETSmenuReports .RKpiNote {
    margin: 2px 0 0;
    overflow: hidden;
    font-size: 12px;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #8E9AAD;
}

/* Cargando: barra gris que respira */
.ETSmenuReports .RKpiLoading {
    display: inline-block;
    width: 70px;
    height: 20px;
    vertical-align: middle;
    background: linear-gradient(90deg, #EEF1F6 25%, #F7F9FC 50%, #EEF1F6 75%);
    background-size: 200% 100%;
    border-radius: 6px;
    animation: RKpiPulse 1.2s ease-in-out infinite;
}

@keyframes RKpiPulse {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

.ETSmenuReports .RKpi.is-time {
    --kpi-soft: color-mix(in srgb, var(--data) 8%, #fff);
    --kpi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

.ETSmenuReports .RKpi.is-productivity {
    --kpi-soft: #E3F6EE;
    --kpi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231BAF7A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l6-6 4 4 8-8'/%3E%3Cpath d='M14 7h7v7'/%3E%3C/svg%3E");
}

.ETSmenuReports .RKpi.is-sensitive {
    --kpi-soft: #EFE8FC;
    --kpi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C4DDB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='12' r='2.5'/%3E%3Cpath d='M14 10h4M14 14h4'/%3E%3C/svg%3E");
}

.ETSmenuReports .RKpi.is-alerts {
    --kpi-soft: #FEF4E2;
    --kpi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E8A317' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 2.4 17.6A2 2 0 0 0 4.1 20.6h15.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 9v4M12 17v.1'/%3E%3C/svg%3E");
}

.ETSmenuReports .RKpi.is-blocks {
    --kpi-soft: #FBE9EC;
    --kpi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D6334E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m5.6 5.6 12.8 12.8'/%3E%3C/svg%3E");
}

/* Tabla de alertas: severidad como chip de color y acción como etiqueta */
.ETSmenuReports .RSev {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    font-size: 12px;
    font-weight: 700;
    border-radius: 6px;
}

.ETSmenuReports .RSev.sev1 { color: #475569; background: #EEF1F6; }
.ETSmenuReports .RSev.sev2 { color: #7A5B00; background: #FBF3D2; }
.ETSmenuReports .RSev.sev3 { color: #8A5B00; background: #FEF0D5; }
.ETSmenuReports .RSev.sev4 { color: #9A4310; background: #FDE7DA; }
.ETSmenuReports .RSev.sev5 { color: #A8243A; background: #FBE3E7; }

.ETSmenuReports .RAction {
    display: inline-block;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    border-radius: 999px;
}

.ETSmenuReports .RAction.isLog { color: #3A475E; background: #EEF1F6; }
.ETSmenuReports .RAction.isBlock { color: #A8243A; background: #FBE9EC; }
.ETSmenuReports .RAction.isUnlock { color: #8A5B00; background: #FEF4E2; }

.ETSmenuReports a.RAction.isMessage {
    padding-right: 26px;
    color: color-mix(in srgb, var(--data) 79%, #000);
    text-decoration: none;
    background: color-mix(in srgb, var(--data) 8%, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230058C4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12Z'/%3E%3C/svg%3E") no-repeat right 9px center / 12px;
}

/* Nivel de alertas: la escala de severidad bajo las barras sobra (ya se ve en la gráfica) pero el indicador de la
   media se mantiene, más discreto */
.ETSmenuReports .gradient-bar-container {
    height: 6px;
    margin-top: 26px;
}

.ETSmenuReports .indicator-label {
    color: #0E1A33;
}

/* Pantallas medianas: las cinco cifras siguen en una fila, más compactas */
@media (max-width: 1400px) {
    .ETSmenuReports .RKpis {
        gap: 10px;
    }

    .ETSmenuReports .RKpi {
        gap: 10px;
        padding: 14px;
    }

    .ETSmenuReports .RKpiIcon {
        width: 32px;
        height: 32px;
        background-size: 17px;
        border-radius: 9px;
    }

    .ETSmenuReports .RKpiValue {
        font-size: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ETSmenuReports .RKpiLoading {
        animation: none;
    }
}

/* Informes, tercer nivel: minigráficas en las cifras, leyendas con totales, productividad con el % dentro */
.ETSmenuReports .RKpi {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 14px;
    row-gap: 12px;
    align-items: start;
}

.ETSmenuReports .RKpiViz {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-end;
    height: 30px;
}

.ETSmenuReports .RKpiViz:empty {
    display: none;
}

.ETSmenuReports .RKpiSpark {
    display: block;
    width: 100%;
    height: 30px;
    overflow: visible;
}

.ETSmenuReports .RKpiProgress,
.ETSmenuReports .RKpiSplit {
    display: flex;
    gap: 2px;
    width: 100%;
    height: 8px;
    margin-bottom: 4px;
    overflow: hidden;
    background: #EEF1F6;
    border-radius: 4px;
}

.ETSmenuReports .RKpiSplit {
    background: none;
}

.ETSmenuReports .RKpiProgress i,
.ETSmenuReports .RKpiSplit i {
    display: block;
    height: 100%;
}

.ETSmenuReports .RKpiProgress i {
    border-radius: 4px;
}

.ETSmenuReports .RKpiSplit i:first-child {
    border-radius: 4px 0 0 4px;
}

.ETSmenuReports .RKpiSplit i:last-child {
    border-radius: 0 4px 4px 0;
}

.ETSmenuReports .RKpiSplit i:only-child {
    border-radius: 4px;
}

/* Leyenda con totales (dlpReports_charts.renderTotalsLegend): fichas pulsables encima de la gráfica */
.ETSmenuReports .RLegend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
}

.ETSmenuReports .RLegendItem {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 32px;
    padding: 0 12px 0 10px;
    font: inherit;
    font-size: 12.5px;
    color: #3A475E;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-radius: 999px;
    cursor: pointer;
    transition: opacity .15s ease, border-color .15s ease;
}

.ETSmenuReports .RLegendItem:hover {
    border-color: #C9D3E0;
}

.ETSmenuReports .RLegendItem i {
    flex: none;
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.ETSmenuReports .RLegendItem strong {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #0E1A33;
}

.ETSmenuReports .RLegendItem small {
    font-size: 11.5px;
    font-variant-numeric: tabular-nums;
    color: #8E9AAD;
}

.ETSmenuReports .RLegendItem.isHidden {
    opacity: .45;
}

.ETSmenuReports .RLegendItem.isHidden i {
    background: #C9D3E0 !important;
}

.ETSmenuReports .RLegendItem:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Con la leyenda arriba, la gráfica algo más alta */
.ETSmenuReports #widgetContentActivity,
.ETSmenuReports #widgetContentSensitiveData {
    height: 290px;
}

/* Productividad: el porcentaje dentro del semicírculo */
.ETSmenuReports .innerWidgetFlex:has(.gauge) {
    position: relative;
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    align-items: end;
    gap: 20px;
}

.ETSmenuReports .gauge {
    position: relative;
    width: 200px;
}

.ETSmenuReports #widgetProductivity {
    height: 100px !important;
}

.ETSmenuReports .gaugetext {
    display: contents;
}

.ETSmenuReports #widgetProductivityText {
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 200px;
    font-size: 28px;
    text-align: center;
}

.ETSmenuReports .gaugetext p {
    grid-column: 2;
    align-self: center;
}

@media (prefers-reduced-motion: reduce) {
    .ETSmenuReports .RLegendItem {
        transition: none;
    }
}

/* Tipos de datos: barra de reparto arriba y color por tipo; filas a su altura natural */
.ETSmenuReports .TYShareBar {
    display: flex;
    gap: 2px;
    height: 12px;
    margin: 2px 0 16px;
    overflow: hidden;
    border-radius: 6px;
}

.ETSmenuReports .TYShareBar i {
    display: block;
    height: 100%;
}

.ETSmenuReports .TYRanking {
    flex: none;
    justify-content: flex-start;
}

.ETSmenuReports .TYRow {
    padding: 11px 6px;
}

.ETSmenuReports .TYName {
    display: flex;
    align-items: center;
    gap: 9px;
}

.ETSmenuReports .TYName i {
    flex: none;
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.ETSmenuReports .TYTotal {
    margin-top: auto;
}

@media (max-width: 1400px) {
    .ETSmenuReports .reportWidget50-first,
    .ETSmenuReports .reportWidget50:not(.reportWidget50-first),
    .ETSmenuReports .reportWidget100:has(#widgetContentActivity),
    .ETSmenuReports .reportWidget100:has(#widgetContentSensitiveData) {
        grid-column: span 6;
    }
}

/* Informes, cuarto nivel (referencia del usuario): cifras con gráfica de área y eje de horas, Tipos de datos con
   anillo y filas con icono y minicurva, Productividad en tarjeta propia con el reparto del tiempo */

/* Colocación: [Nivel de alertas | Tipos de datos] [Productividad] [Actividad | Datos sensibles] [Alertas DLP] */
.ETSmenuReports .reportWidget50-first,
.ETSmenuReports .reportWidget50:not(.reportWidget50-first) {
    grid-column: span 6;
}

.ETSmenuReports .RProdCard {
    grid-column: 1 / -1;
    order: 3;
}

.ETSmenuReports .reportWidget100:has(#widgetContentActivity) {
    order: 4;
}

.ETSmenuReports .reportWidget100:has(#widgetContentSensitiveData) {
    order: 5;
}

.ETSmenuReports .reportWidget100:has(#widgetContentDLPLogs) {
    order: 6;
}

/* Icono ⓘ junto a los títulos que tienen explicación (al pasar el ratón) */
.ETSmenuReports .reportWidgetTitle p[title]::after,
.ETSmenuReports .reportWidget50-first > .reportWidgetTitle:first-child p::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 8px;
    vertical-align: -2px;
    background: #AEBBCD;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5M12 7.8v.1'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5M12 7.8v.1'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ---- Cifras clave ---- */
.ETSmenuReports .RKpi {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 16px 16px 12px;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .04);
}

.ETSmenuReports .RKpiTop {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.ETSmenuReports .RKpiText {
    min-width: 0;
}

.ETSmenuReports .RKpiViz {
    display: block;
    width: 100%;
    height: auto;
    margin-top: auto;
}

/* Gráfica de área (dlpReports_charts.areaSvg) */
.ETSmenuReports .RAreaWrap {
    position: relative;
    width: 100%;
}

.ETSmenuReports .RArea {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.ETSmenuReports .RAreaDot {
    position: absolute;
    width: 5px;
    height: 5px;
    margin: -2.5px 0 0 -2.5px;
    background: #ffffff;
    border: 1.5px solid;
    border-radius: 50%;
    box-sizing: border-box;
}

.ETSmenuReports .RAreaDot.isLast {
    width: 9px;
    height: 9px;
    margin: -4.5px 0 0 -4.5px;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 1px rgba(14, 26, 51, .08);
}

.ETSmenuReports .RAreaAxis {
    position: relative;
    height: 14px;
    margin-top: 6px;
}

.ETSmenuReports .RAreaAxis span {
    position: absolute;
    top: 0;
    font-size: 10.5px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: #8E9AAD;
    transform: translateX(-50%);
}

.ETSmenuReports .RAreaAxis span:first-child {
    transform: none;
}

.ETSmenuReports .RAreaAxis span:last-child {
    transform: translateX(-100%);
}

/* Productividad en la fila de cifras: barra de 0 a 100 % con escala */
.ETSmenuReports .RKpiMeter {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 78px;
}

.ETSmenuReports .RKpiMeter .RKpiProgress {
    height: 12px;
    border-radius: 6px;
}

.ETSmenuReports .RKpiMeter .RKpiProgress i {
    border-radius: 6px;
}

.ETSmenuReports .RKpiScale {
    display: flex;
    justify-content: space-between;
    margin-top: 6px;
    font-size: 10.5px;
    color: #8E9AAD;
}

/* ---- Tipos de datos personales: anillo + filas ---- */
.ETSmenuReports .TYPanel {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    align-items: center;
    gap: 22px;
}

.ETSmenuReports .TYDonut {
    position: relative;
    width: 190px;
    height: 190px;
}

.ETSmenuReports .TYDonutCenter {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.ETSmenuReports .TYDonutCenter strong {
    font-size: 30px;
    font-weight: 750;
    line-height: 1.1;
    letter-spacing: -.4px;
    color: #0E1A33;
}

.ETSmenuReports .TYDonutCenter span {
    font-size: 12.5px;
    color: #69768C;
}

.ETSmenuReports .TYRanking {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 330px;
    overflow-y: auto;
    scrollbar-width: thin;
}

.ETSmenuReports .TYRanking li .TYRow,
.ETSmenuReports .TYRow {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    background: #F7F9FC;
    border: 0;
    border-radius: 12px;
}

.ETSmenuReports .TYRow:hover {
    background: #EEF3FA;
}

.ETSmenuReports .TYIcon {
    flex: none;
    width: 34px;
    height: 34px;
    background: #ffffff;
    border-radius: 9px;
    position: relative;
}

.ETSmenuReports .TYIcon::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: var(--ty-color, var(--data));
    -webkit-mask: var(--ty-icon) no-repeat center / contain;
    mask: var(--ty-icon) no-repeat center / contain;
}

.ETSmenuReports .TYIcon.is-doc { --ty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E"); }
.ETSmenuReports .TYIcon.is-id { --ty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='12' r='2.5'/%3E%3Cpath d='M14 10h4M14 14h4'/%3E%3C/svg%3E"); }
.ETSmenuReports .TYIcon.is-mail { --ty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.ETSmenuReports .TYIcon.is-phone { --ty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2' width='12' height='20' rx='2.5'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E"); }
.ETSmenuReports .TYIcon.is-pin { --ty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.ETSmenuReports .TYIcon.is-card { --ty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20M6 15h4'/%3E%3C/svg%3E"); }
.ETSmenuReports .TYIcon.is-bank { --ty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10 12 4l9 6M5 10v8M19 10v8M9 10v8M15 10v8M3 20h18'/%3E%3C/svg%3E"); }
.ETSmenuReports .TYIcon.is-health { --ty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-8-4.6-8-10.5A4.5 4.5 0 0 1 12 7a4.5 4.5 0 0 1 8 2.5C20 15.4 12 20 12 20Z'/%3E%3C/svg%3E"); }

.ETSmenuReports .TYMain {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.ETSmenuReports .TYHead {
    display: grid;
    grid-template-columns: minmax(90px, 1fr) minmax(60px, 1.2fr) auto 40px;
    align-items: center;
    gap: 12px;
}

.ETSmenuReports .TYName i {
    display: none;
}

.ETSmenuReports .TYSpark .RAreaWrap {
    opacity: .9;
}

.ETSmenuReports .TYMain .TYBar {
    height: 6px;
    background: #E3E9F1;
}

.ETSmenuReports .TYValue {
    font-size: 14px;
    font-weight: 700;
}

.ETSmenuReports .TYShareBar,
.ETSmenuReports .TYTotal {
    display: none;
}

/* ---- Productividad (tarjeta propia) ---- */
.ETSmenuReports .RProdBody {
    display: grid;
    grid-template-columns: 420px minmax(0, 1fr);
    align-items: center;
    gap: 32px;
}

.ETSmenuReports .RProdCard .innerWidgetFlex:has(.gauge) {
    padding-right: 32px;
    border-right: 1px solid #EEF1F6;
}

.ETSmenuReports .RTimeSplitTitle {
    margin: 0 0 12px;
    font-size: 13.5px;
    font-weight: 700;
    color: #0E1A33;
}

.ETSmenuReports .RTimeSplitTitle span {
    margin-left: 8px;
    font-weight: 500;
    color: #8E9AAD;
}

.ETSmenuReports .RTimeSplitBar {
    display: flex;
    gap: 3px;
    height: 14px;
    overflow: hidden;
    border-radius: 7px;
}

.ETSmenuReports .RTimeSplitBar i {
    display: block;
    height: 100%;
}

.ETSmenuReports .RTimeSplitList {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 10px 24px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

.ETSmenuReports .RTimeSplitList li {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 8px;
    align-items: center;
}

.ETSmenuReports .RTimeSplitList li i {
    width: 10px;
    height: 10px;
    border-radius: 3px;
}

.ETSmenuReports .RTimeSplitList li span {
    overflow: hidden;
    font-size: 12.5px;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #5D6B82;
}

.ETSmenuReports .RTimeSplitList li strong {
    grid-column: 2;
    grid-row: 2;
    font-size: 14px;
    font-weight: 700;
    color: #0E1A33;
}

.ETSmenuReports .RTimeSplitList li small {
    grid-column: 3;
    grid-row: 1 / span 2;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    color: #8E9AAD;
}

.ETSmenuReports .RTimeSplitEmpty {
    font-size: 13px;
    color: #69768C;
}

@media (max-width: 1400px) {
    .ETSmenuReports .TYPanel {
        grid-template-columns: 150px minmax(0, 1fr);
        gap: 16px;
    }

    .ETSmenuReports .TYDonut {
        width: 150px;
        height: 150px;
    }

    .ETSmenuReports .TYHead {
        grid-template-columns: minmax(80px, 1fr) auto 36px;
    }

    .ETSmenuReports .TYSpark {
        display: none;
    }

    .ETSmenuReports .RProdBody {
        grid-template-columns: 360px minmax(0, 1fr);
        gap: 24px;
    }

    .ETSmenuReports .RAreaAxis span:nth-child(2),
    .ETSmenuReports .RAreaAxis span:nth-child(4) {
        display: none;
    }
}

/* Informes, versión limpia: iconos duotono (relleno translúcido + trazo fino) sin cajas, paleta sobria y secciones
   integradas con el fondo (sin tarjetas): separadas por espacio y líneas finas. */

/* ---- Iconos duotono: ::before = relleno al 16 %, ::after = trazo ---- */
.ETSmenuReports .RKpiIcon,
.ETSmenuReports .TYIcon {
    position: relative;
    flex: none;
    width: 24px;
    height: 24px;
    background: none !important;
    border-radius: 0;
}

.ETSmenuReports .RKpiIcon::before,
.ETSmenuReports .RKpiIcon::after,
.ETSmenuReports .TYIcon::before,
.ETSmenuReports .TYIcon::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ic, #4F46E5);
    -webkit-mask: var(--ic-shape) no-repeat center / contain;
    mask: var(--ic-shape) no-repeat center / contain;
}

.ETSmenuReports .RKpiIcon::before,
.ETSmenuReports .TYIcon::before {
    opacity: .16;
}

.ETSmenuReports .RKpiIcon::after,
.ETSmenuReports .TYIcon::after {
    -webkit-mask-image: var(--ic-line);
    mask-image: var(--ic-line);
}

.ETSmenuReports .TYIcon {
    --ic: var(--ty-color, #4F46E5);
}

.ETSmenuReports .RKpi.is-time .RKpiIcon {
    --ic: #4F46E5;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='%23000'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E");
}

.ETSmenuReports .RKpi.is-productivity .RKpiIcon {
    --ic: #10B981;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 20v-5l6-6 4 4 8-8v15Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 15l6-6 4 4 8-8'/%3E%3Cpath d='M15 5h6v6'/%3E%3Cpath d='M3 20h18'/%3E%3C/svg%3E");
}

.ETSmenuReports .RKpi.is-sensitive .RKpiIcon {
    --ic: #8B5CF6;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 3 4.5 6v5.5c0 4.6 3.2 8.5 7.5 9.5 4.3-1 7.5-4.9 7.5-9.5V6Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4.5 6v5.5c0 4.6 3.2 8.5 7.5 9.5 4.3-1 7.5-4.9 7.5-9.5V6Z'/%3E%3Crect x='9.5' y='11' width='5' height='4' rx='1'/%3E%3Cpath d='M10.5 11V9.8a1.5 1.5 0 0 1 3 0V11'/%3E%3C/svg%3E");
}

.ETSmenuReports .RKpi.is-alerts .RKpiIcon {
    --ic: #F59E0B;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M10.3 3.9 2.4 17.6A2 2 0 0 0 4.1 20.6h15.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 2.4 17.6A2 2 0 0 0 4.1 20.6h15.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 9v4.5M12 17h.01'/%3E%3C/svg%3E");
}

.ETSmenuReports .RKpi.is-blocks .RKpiIcon {
    --ic: #E11D48;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M8.2 3h7.6L21 8.2v7.6L15.8 21H8.2L3 15.8V8.2Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.2 3h7.6L21 8.2v7.6L15.8 21H8.2L3 15.8V8.2Z'/%3E%3Cpath d='m9.5 9.5 5 5M14.5 9.5l-5 5'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-mail {
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect fill='%23000' x='3' y='5' width='18' height='14' rx='2.5'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='m3.5 7.5 8.5 6 8.5-6'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-phone {
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect fill='%23000' x='6.5' y='2.5' width='11' height='19' rx='2.5'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6.5' y='2.5' width='11' height='19' rx='2.5'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-pin {
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-card {
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect fill='%23000' x='2.5' y='5' width='19' height='14' rx='2.5'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2.5'/%3E%3Cpath d='M2.5 10h19M6.5 15h4'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-bank {
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 9.5 12 4l9 5.5Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9.5 12 4l9 5.5Z'/%3E%3Cpath d='M5.5 10v7.5M10 10v7.5M14 10v7.5M18.5 10v7.5M3 20h18'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-id {
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect fill='%23000' x='3' y='5' width='18' height='14' rx='2.5'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Ccircle cx='9' cy='11' r='2'/%3E%3Cpath d='M6 16c.6-1.5 1.7-2.2 3-2.2s2.4.7 3 2.2M14.5 10h3.5M14.5 13.5h3.5'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-health {
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 20s-8-4.6-8-10.5A4.5 4.5 0 0 1 12 7a4.5 4.5 0 0 1 8 2.5C20 15.4 12 20 12 20Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-8-4.6-8-10.5A4.5 4.5 0 0 1 12 7a4.5 4.5 0 0 1 8 2.5C20 15.4 12 20 12 20Z'/%3E%3Cpath d='M12 10v4.5M9.8 12.2h4.4'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-doc {
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M14 3H7.5A2.5 2.5 0 0 0 5 5.5v13A2.5 2.5 0 0 0 7.5 21h9a2.5 2.5 0 0 0 2.5-2.5V8Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7.5A2.5 2.5 0 0 0 5 5.5v13A2.5 2.5 0 0 0 7.5 21h9a2.5 2.5 0 0 0 2.5-2.5V8Z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 16.5h4'/%3E%3C/svg%3E");
}

/* ---- Sin tarjetas: todo integrado con el fondo ---- */
.ETSmenuReports[style*="display: block"] {
    row-gap: 0;
    column-gap: 48px;
}

.ETSmenuReports .reportWidget50,
.ETSmenuReports .reportWidget100,
.ETSmenuReports .RProdCard {
    padding: 28px 0 32px;
    background: transparent;
    border: 0;
    border-top: 1px solid #EEF1F6;
    border-radius: 0;
    box-shadow: none;
}

.ETSmenuReports .reportFilters {
    border-bottom: 0;
    padding-bottom: 8px;
}

/* Separaciones de la cabecera (sin row-gap en la rejilla) */
.ETSmenuReports > h2 {
    margin-bottom: 22px;
}

.ETSmenuReports .reportFilters {
    margin-bottom: 8px;
}

/* Título vacío que queda en la tarjeta de alertas al mover Productividad (tiene espacios, así que :empty no sirve) */
.ETSmenuReports .reportWidget50-first > .reportWidgetTitle:not(:has(p)) {
    display: none;
}

/* Sin botón "Aplicar filtros": equipo y periodo consultan al cambiar (dlpReports.js) */
.ETSmenuReports #applyFilterDiv {
    display: none !important;
}

/* "Exportar PDF" (dlpReportsPdf.js): a la derecha de la fila de filtros, botón secundario con icono de descarga */
.ETSmenuReports .RPdfButton {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    margin: 0 0 0 auto;
    padding: 0 14px;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    color: #13203A;
    background: #FFFFFF;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .04);
    cursor: pointer;
    transition: background-color .12s ease, border-color .12s ease;
}

.ETSmenuReports .RPdfButton::before {
    content: "";
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") no-repeat center / contain;
}

.ETSmenuReports .RPdfButton:hover {
    background: #F3F6FA;
    border-color: #C3CEDC;
}

.ETSmenuReports .RPdfButton:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.ETSmenuReports .RPdfButton:disabled {
    opacity: .55;
    cursor: default;
}

/* «Recalcular» (dlpReportsPdf.ensureButton): mismo botón secundario, a la izquierda de «Exportar PDF», con icono de
   recargar que gira mientras recalcula */
/* La fila de filtros ya separa los botones (gap) */
.ETSmenuReports .RRecalcButton + .RPdfButton {
    margin-left: 0;
}

.ETSmenuReports .RRecalcButton::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-2.64-6.36L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-2.64-6.36L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E") no-repeat center / contain;
}

.ETSmenuReports .RRecalcButton.isBusy::before {
    animation: rRecalcSpin .9s linear infinite;
}

@keyframes rRecalcSpin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .ETSmenuReports .RRecalcButton.isBusy::before {
        animation: none;
    }
}

/* Foto del equipo / empresa junto a "Filtrar por equipo": decorativa (sólo se veía aquí) y con dos confirm()
   del navegador; se quita. El JS deja de pedirla al servidor si está oculta. */
.ETSmenuReports #widgetContentProfilePicture {
    display: none !important;
}

.ETSmenuReports #RFUserFilterDiv #RFUserFilter,
.ETSmenuReports #RFUserFilterDiv #RFUserFilter_chosen {
    grid-column: 1 / -1;
}

/* Cifras clave: sin cajas, separadas por líneas verticales finas */
.ETSmenuReports .RKpis {
    gap: 0;
    padding: 12px 0 28px;
}

.ETSmenuReports .RKpi {
    padding: 4px 24px 0;
    background: transparent;
    border: 0;
    border-left: 1px solid #EEF1F6;
    border-radius: 0;
    box-shadow: none;
}

.ETSmenuReports .RKpi:first-child {
    padding-left: 0;
    border-left: 0;
}

.ETSmenuReports .RKpi:last-child {
    padding-right: 0;
}

.ETSmenuReports .RKpiTop {
    gap: 10px;
}

.ETSmenuReports .RKpiValue {
    font-size: 26px;
}

/* Tipos de datos: filas sin fondo, con línea fina */
.ETSmenuReports .TYRanking {
    gap: 0;
}

.ETSmenuReports .TYRanking li .TYRow,
.ETSmenuReports .TYRow {
    padding: 11px 4px;
    background: transparent;
    border-bottom: 1px solid #F1F4F8;
    border-radius: 0;
}

.ETSmenuReports .TYRanking li:last-child .TYRow {
    border-bottom: 0;
}

.ETSmenuReports .TYRow:hover {
    background: #F8FAFC;
}

/* Leyendas: sólo punto y texto */
.ETSmenuReports .RLegend {
    gap: 4px 18px;
}

.ETSmenuReports .RLegendItem {
    height: auto;
    padding: 4px 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.ETSmenuReports .RLegendItem:hover {
    border: 0;
    opacity: .8;
}

/* Productividad: separador vertical más suave */
.ETSmenuReports .RProdCard .innerWidgetFlex:has(.gauge) {
    border-right-color: #F1F4F8;
}

/* Severidad (chips y barra) con la paleta nueva */
.ETSmenuReports .gradient-bar-container {
    background: linear-gradient(to right, #94A3B8, #FCD34D, #F59E0B, #F97316, #E11D48);
}

.ETSmenuReports .RSev.sev1 { color: #475569; background: #F1F5F9; }
.ETSmenuReports .RSev.sev2 { color: #854D0E; background: #FEF9C3; }
.ETSmenuReports .RSev.sev3 { color: #92400E; background: #FEF3C7; }
.ETSmenuReports .RSev.sev4 { color: #9A3412; background: #FFEDD5; }
.ETSmenuReports .RSev.sev5 { color: #9F1239; background: #FFE4E6; }

.ETSmenuReports .RAction.isBlock { color: #9F1239; background: #FFE4E6; }
.ETSmenuReports .RAction.isUnlock { color: #92400E; background: #FEF3C7; }
.ETSmenuReports a.RAction.isMessage { color: #4338CA; background-color: color-mix(in srgb, var(--data) 7%, #fff); }

@media (max-width: 1400px) {
    .ETSmenuReports[style*="display: block"] {
        column-gap: 32px;
    }

    .ETSmenuReports .RKpi {
        padding: 4px 16px 0;
    }

    .ETSmenuReports .RKpiValue {
        font-size: 21px;
    }
}

/* --- Ventanas de detalle (dlp_popups: .popupWrapper / .popupPopup) ---
   Accesos a un tipo de dato, actividad de una hora o categoría, mensaje de una alerta... Mismo lenguaje que el resto
   de ventanas: centrada, título y X arriba, contenido con scroll, tablas limpias con cabecera fija, total destacado,
   ordenación y paginación como botones. */
.popupWrapper {
    z-index: 1000;
    background: rgba(14, 26, 51, .32);
}

.popupWrapper .popupPopup {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: min(1000px, calc(100vw - 48px));
    max-width: none;
    height: auto;
    max-height: calc(100vh - 64px);
    overflow: hidden;
    color: #3A475E;
    background: #ffffff;
    border: 0;
    border-radius: 14px;
    box-shadow: 0 24px 64px -16px rgba(14, 26, 51, .38);
}

.popupWrapper .popupPopup > .clear,
.popupWrapper .popupTopBar > .clear {
    display: none;
}

.popupWrapper .popupTopBar {
    flex: none;
    display: flex;
    align-items: center;
    gap: 16px;
    height: auto;
    padding: 20px 20px 16px 24px;
    background: #ffffff;
    border-bottom: 1px solid #EEF1F6;
}

.popupWrapper .popupTitle {
    flex: 1;
    float: none;
    min-width: 0;
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    color: #0E1A33;
}

.popupWrapper .popupClose {
    position: relative;
    flex: none;
    float: none;
    width: 32px;
    height: 32px;
    color: #69768C;
    background: none;
    border-radius: 8px;
}

.popupWrapper .popupClose::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.popupWrapper .popupClose:hover {
    color: #0E1A33;
    background: #F1F4F9;
}

.popupWrapper .popupContentWrapper {
    flex: 1;
    min-height: 0;
    height: auto;
    padding: 18px 24px 22px;
    overflow-y: auto;
    font-size: 14px;
    scrollbar-width: thin;
    scrollbar-color: #D5DDE8 transparent;
}

.popupWrapper .popupContent > p {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.55;
    color: #3A475E;
}

.popupWrapper .popupContent strong {
    font-weight: 600;
    color: #0E1A33;
}

/* Tablas de detalle */
.popupWrapper .popupContent .progress-table {
    width: 100%;
    border: 1px solid #E8EDF4;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 10px;
    overflow: hidden;
}

.popupWrapper .popupContent .progress-table th {
    position: sticky;
    top: -18px;
    z-index: 1;
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 600;
    text-align: left;
    white-space: nowrap;
    color: #69768C;
    background: #F7F9FC;
    border: 0;
    border-bottom: 1px solid #E8EDF4;
}

.popupWrapper .popupContent .progress-table td {
    padding: 9px 12px;
    font-size: 13px;
    color: #13203A;
    border: 0;
    border-bottom: 1px solid #EEF1F6;
}

.popupWrapper .popupContent .progress-table tr:hover td {
    background: #F7F9FC;
}

/* Última fila: total */
.popupWrapper .popupContent .progress-table tr:last-child td {
    font-weight: 700;
    color: #0E1A33;
    background: #F7F9FC;
    border-bottom: 0;
}

/* Columnas ordenables (Hora, Instancias) */
.popupWrapper .SDOrdenableColumn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #69768C;
    text-decoration: none;
}

.popupWrapper .SDOrdenableColumn::after {
    content: "";
    width: 12px;
    height: 12px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M6 13l6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M6 13l6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
}

.popupWrapper .SDOrdenableColumn:hover {
    color: var(--brand);
    text-decoration: none;
}

/* Paginación */
.popupWrapper #SDPagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 14px 0 0;
}

.popupWrapper #SDPagination a,
.popupWrapper #SDPagination p {
    float: none;
    margin: 0;
}

.popupWrapper #SDPagination a {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 600;
    color: #13203A;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.popupWrapper #SDPagination a:hover {
    background: #F3F6FA;
}

.popupWrapper #SDPagination p {
    padding: 0 6px;
    font-size: 13px;
    color: #69768C;
    border: 0;
}

/* Tooltips de las celdas (ruta completa, usuario...) */
.popupWrapper .tooltip {
    position: relative;
    display: inline-block;
    max-width: 280px;
    overflow: visible;
    cursor: default;
}

.popupWrapper .tooltip .tooltiptext {
    width: max-content;
    max-width: 360px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    color: #ffffff;
    background: #0E1A33;
    border-radius: 8px;
    white-space: normal;
    word-break: break-all;
}

/* --- Parámetros generales (_sections/parameters.ascx, 4_Parameters/parameters.js) ---
   Mismo lenguaje que Informes: título y subtítulo, pestañas subrayadas con el estado de sincronización a la derecha,
   cada opción en una fila (icono duotono, título, explicación y botón "Configurar"), casillas como interruptores y
   todo integrado con el fondo, separado por líneas finas. Sólo CSS: el marcado y el JS no cambian. */
.ETSmenuParameters > .win10windowWrapper {
    width: auto;
    max-width: none;
    /* Más aire a los lados, como en Informes */
    padding: 6px 32px 40px 20px;
}

.ETSmenuParameters > .win10windowWrapper > h2 {
    margin: 0 0 18px;
    padding: 6px 0 0;
    font-size: 22px;
    font-weight: 750;
    letter-spacing: -.2px;
    color: #0E1A33;
}

.ETSmenuParameters > .win10windowWrapper > h2::after {
    content: "Datos de la empresa, personalización, registros, excepciones de las políticas DLP e instalación del agente.";
    display: block;
    margin-top: 4px;
    font-size: 13.5px;
    font-weight: 400;
    letter-spacing: 0;
    color: #69768C;
}

#parametersTabWrapper {
    position: relative;
    max-width: none;
    margin: 0;
}

#parametersTabWrapper > .clear {
    display: none;
}

/* Pestañas subrayadas */
#parametersTabWrapper .tabMenuFilters {
    margin: 0 0 8px;
    border-bottom: 1px solid #EEF1F6;
}

#parametersTabWrapper .tabMenuFilters ul {
    display: flex;
    gap: 26px;
    margin: 0;
    padding: 0;
}

#parametersTabWrapper .CNFtab,
#parametersTabWrapper .CNFtabSelected {
    float: none;
    height: auto !important;
    min-width: 0;
    margin: 0 0 -1px;
    padding: 12px 2px 13px;
    font-size: 13.5px;
    font-weight: 500;
    color: #5D6B82;
    background: none !important;
    border: 0;
    border-radius: 0;
    cursor: pointer;
}

#parametersTabWrapper .CNFtab:hover {
    color: #0E1A33;
}

#parametersTabWrapper .CNFtabFiltersSelected {
    font-weight: 600;
    color: var(--brand);
    box-shadow: inset 0 -2px 0 var(--brand);
}

/* Sincronizar cambios / Todo sincronizado, a la derecha de las pestañas */
#parametersTabWrapper #configSaveChanges {
    position: absolute;
    top: 6px;
    right: 0;
    float: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 34px;
    margin: 0;
    padding: 0 16px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    color: #ffffff;
    background: var(--brand);
    background-image: none;
    border: 0;
    border-radius: 8px;
    box-shadow: none;
}

#parametersTabWrapper #configSaveChanges::after {
    display: none;
}

#parametersTabWrapper #configSaveChanges.saveChangesSyncOk,
#parametersTabWrapper #configSaveChanges.saveChangesSyncProgress {
    padding: 0 4px !important;
    background: none !important;
    border: 0 !important;
    cursor: default;
}

#parametersTabWrapper #configSaveChanges.saveChangesSyncOk {
    color: #059669 !important;
}

#parametersTabWrapper #configSaveChanges.saveChangesSyncProgress {
    color: var(--brand) !important;
}

#parametersTabWrapper #configSaveChanges.saveChangesSyncOk::before,
#parametersTabWrapper #configSaveChanges.saveChangesSyncProgress::before {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

#parametersTabWrapper #configSaveChanges.saveChangesSyncOk::before {
    content: "Todo sincronizado";
    padding-left: 22px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23059669' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1.2 14.2-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4-7 7Z'/%3E%3C/svg%3E") no-repeat left center / 16px;
}

/* Contenido de las pestañas */
#parametersTabWrapper .tabContentContainer,
#parametersTabWrapper .tabParametersContent {
    width: auto;
    height: auto;
    padding: 0;
    background: none;
}

#parametersTabWrapper .innerContent {
    width: auto !important;
    margin: 0;
    padding: 0;
}

#tabParametersContent1 {
    margin-top: 0;
}

/* Filas de opción (General y Personalización): icono | título y explicación | botón */
#tabParametersContent1 .tabParametersContent3Box,
#tabParametersContent2 .tabParametersContent2Box {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 3px;
    align-items: center;
    height: auto;
    padding: 18px 0;
    border-bottom: 1px solid #EEF1F6;
}

#tabParametersContent1 .tabParametersContent3Box .line,
#tabParametersContent2 .tabParametersContent2Box .line {
    display: contents;
}

#tabParametersContent2 .tabParametersContent2Box > div[style*="margin-top"] {
    display: none !important;
}

#tabParametersContent1 .tabParametersContent3Box h3,
#tabParametersContent2 .tabParametersContent2Box h3 {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0;
    font-size: 14.5px;
    font-weight: 700;
    color: #0E1A33;
}

#tabParametersContent1 .tabParametersDescription,
#tabParametersContent2 .tabParametersDescription {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #69768C;
}

#tabParametersContent1 .tabParametersContent3Box .consoleLink,
#tabParametersContent2 .tabParametersContent2Box .consoleLink {
    grid-column: 3;
    grid-row: 1 / span 2;
}

/* Icono duotono a la izquierda de cada fila */
#tabParametersContent1 .tabParametersContent3Box::before,
#tabParametersContent2 .tabParametersContent2Box::before,
#tabParametersContent1 .tabParametersContent3Box::after,
#tabParametersContent2 .tabParametersContent2Box::after {
    content: "";
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 26px;
    height: 26px;
    margin-left: 4px;
    background: var(--ic, #4F46E5);
    -webkit-mask: var(--ic-shape) no-repeat center / contain;
    mask: var(--ic-shape) no-repeat center / contain;
}

#tabParametersContent1 .tabParametersContent3Box::before,
#tabParametersContent2 .tabParametersContent2Box::before {
    opacity: .16;
}

#tabParametersContent1 .tabParametersContent3Box::after,
#tabParametersContent2 .tabParametersContent2Box::after {
    -webkit-mask-image: var(--ic-line);
    mask-image: var(--ic-line);
}

/* Botones de las filas: secundarios y discretos */
.ETSmenuParameters .consoleLink.button {
    float: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 34px;
    margin: 0;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    color: #13203A;
    text-decoration: none;
    background: #ffffff;
    background-image: none;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    box-shadow: none;
}

.ETSmenuParameters .consoleLink.button::after {
    content: "";
    width: 14px;
    height: 14px;
    margin-right: -4px;
    background: #8E9AAD;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
}

.ETSmenuParameters .consoleLink.button:hover {
    text-decoration: none;
    background: #F3F6FA;
    border-color: #C9D3E0;
}

/* Personalización: una sola lista (antes dos columnas) */
#tabParametersContent2 .innerContent {
    display: block !important;
}

#tabParametersContent2 .tabParametersContent2DivFleft {
    float: none;
    width: auto;
    padding: 0;
}

#tabParametersContent2 .innerContent > div[style] {
    display: none;
}

/* Secciones de General: registros, permisos y avisos */
#tabParametersContent1-1 h3,
#tabParametersContent3 .tabParametersContent3Box > .line > h3 {
    margin: 30px 0 4px;
    font-size: 15px;
    font-weight: 700;
    color: #0E1A33;
}

#tabParametersContent1-1 br,
#tabParametersContent3 br {
    display: none;
}

/* Interruptores (casillas) con su explicación debajo */
.ETSmenuParameters #tabParametersContent1-1 label,
.ETSmenuParameters #tabParametersContent3 label {
    position: relative;
    display: block;
    margin: 0;
    padding: 14px 64px 0 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    color: #13203A;
    cursor: pointer;
}

.ETSmenuParameters #tabParametersContent1-1 label > input[type="checkbox"],
.ETSmenuParameters #tabParametersContent3 label > input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
    top: 14px;
    right: 0;
    width: 38px;
    height: 22px;
    margin: 0;
    background: #D5DDE8;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: background-color .15s ease;
}

.ETSmenuParameters #tabParametersContent1-1 label > input[type="checkbox"]::after,
.ETSmenuParameters #tabParametersContent3 label > input[type="checkbox"]::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .25);
    transition: transform .15s ease;
}

.ETSmenuParameters #tabParametersContent1-1 label > input[type="checkbox"]:checked,
.ETSmenuParameters #tabParametersContent3 label > input[type="checkbox"]:checked {
    background: var(--brand);
}

.ETSmenuParameters #tabParametersContent1-1 label > input[type="checkbox"]:checked::after,
.ETSmenuParameters #tabParametersContent3 label > input[type="checkbox"]:checked::after {
    transform: translateX(16px);
}

.ETSmenuParameters label > input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.ETSmenuParameters .configCheckboxFooter {
    margin: 4px 0 0;
    padding: 0 64px 14px 0;
    font-size: 13px;
    line-height: 1.5;
    color: #69768C;
    border-bottom: 1px solid #EEF1F6;
}

.ETSmenuParameters .configCheckboxFooter + .configCheckboxFooter,
.ETSmenuParameters p.configCheckboxFooter:has(+ .configCheckboxFooter),
.ETSmenuParameters p.configCheckboxFooter:has(+ ul) {
    border-bottom: 0;
    padding-bottom: 4px;
}

.ETSmenuParameters .customColorLink {
    padding: 0;
    font-weight: 700;
    color: var(--brand);
}

/* Explicaciones sueltas de la pestaña General (los permisos del distribuidor pasaron a su propia fila con ventana
   el 16/10/2026; las reglas de sus controles sueltos se quitaron de aquí) */
#tabParametersContent1-1 > p[style] {
    min-height: 0 !important;
    margin: 0;
    padding: 4px 0 14px;
    font-size: 13.5px;
    line-height: 1.5;
    color: #3A475E;
    border-bottom: 1px solid #EEF1F6;
}

/* Excepciones: cada excepción como fila igual que en las otras pestañas (icono, título, explicación y botón).
   El enlace y su explicación son dos .line hermanas: rejilla con "dense" para ponerlas en la misma fila. */
#tabParametersContent3 .tabParametersContent3DivFleft {
    float: none;
    width: auto;
}

#tabParametersContent3 .tabParametersContent3Box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-auto-flow: row dense;
    height: auto;
}

#tabParametersContent3 .tabParametersContent3Box > * {
    grid-column: 1 / -1;
}

#tabParametersContent3 .tabParametersContent3Box > div[style*="margin-top"] {
    display: none !important;
}

#tabParametersContent3 .line:has(> .consoleLink) {
    grid-column: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0;
    padding: 18px 0;
    border-bottom: 1px solid #EEF1F6;
}

#tabParametersContent3 .line:has(> .consoleLink) + .line {
    grid-column: 1;
    position: relative;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 18px 24px 18px 56px;
    border-bottom: 1px solid #EEF1F6;
}

#tabParametersContent3 .line:has(> .consoleLink) + .line .tabParametersDescription {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #69768C;
}

#tabParametersContent3 .line:has(> .consoleLink) + .line .tabParametersDescription::before {
    display: block;
    margin-bottom: 3px;
    font-size: 14.5px;
    font-weight: 700;
    color: #0E1A33;
}

#tabParametersContent3 .line:has(> #configExcepcionesCarpetas) + .line .tabParametersDescription::before { content: "Carpetas"; }
#tabParametersContent3 .line:has(> #configExcepcionesProgramas) + .line .tabParametersDescription::before { content: "Programas"; }
#tabParametersContent3 .line:has(> #configExcepcionesDominios) + .line .tabParametersDescription::before { content: "Dominios"; }

#tabParametersContent3 .line:has(> .consoleLink) + .line::before,
#tabParametersContent3 .line:has(> .consoleLink) + .line::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 4px;
    width: 26px;
    height: 26px;
    margin-top: -13px;
    background: var(--ic, #4F46E5);
    -webkit-mask: var(--ic-shape) no-repeat center / contain;
    mask: var(--ic-shape) no-repeat center / contain;
}

#tabParametersContent3 .line:has(> .consoleLink) + .line::before {
    opacity: .16;
}

#tabParametersContent3 .line:has(> .consoleLink) + .line::after {
    -webkit-mask-image: var(--ic-line);
    mask-image: var(--ic-line);
}

/* Modo relajado: ejemplos en dos columnas, más compactos */
.ETSmenuParameters .configCheckboxFooterUl {
    columns: 2;
    column-gap: 32px;
    margin: 6px 0 10px;
    padding: 0 64px 0 18px;
    border-bottom: 0;
}

.ETSmenuParameters .configCheckboxFooterUl li {
    margin: 0 0 4px;
    font-size: 12.5px;
    color: #69768C;
}

@media (prefers-reduced-motion: reduce) {
    .ETSmenuParameters label > input[type="checkbox"],
    .ETSmenuParameters label > input[type="checkbox"]::after {
        transition: none;
    }
}

#tabParametersContent1 .tabParametersContent3Box:has(#configCompany) {
    --ic: #4F46E5;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4 21V5.5A1.5 1.5 0 0 1 5.5 4h7A1.5 1.5 0 0 1 14 5.5V21Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5.5A1.5 1.5 0 0 1 5.5 4h7A1.5 1.5 0 0 1 14 5.5V21M14 9h4.5A1.5 1.5 0 0 1 20 10.5V21M2.5 21h19M7.5 8h3M7.5 11.5h3M7.5 15h3M17 13v.01M17 16.5v.01'/%3E%3C/svg%3E");
}

#tabParametersContent1 .tabParametersContent3Box:has(#configSMS) {
    --ic: #0EA5E9;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4 5.5A1.5 1.5 0 0 1 5.5 4h13A1.5 1.5 0 0 1 20 5.5v10a1.5 1.5 0 0 1-1.5 1.5H9l-5 4Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A1.5 1.5 0 0 1 5.5 4h13A1.5 1.5 0 0 1 20 5.5v10a1.5 1.5 0 0 1-1.5 1.5H9l-5 4Z'/%3E%3Cpath d='M8 9h8M8 12.5h5'/%3E%3C/svg%3E");
}

/* Permisos del distribuidor: fila propia desde el 16/10/2026 (antes eran controles sueltos, sin icono) */
#tabParametersContent1 .tabParametersContent3Box:has(#configModifyDistributorPermissions) {
    --ic: #8B5CF6;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 11.5a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z'/%3E%3Cpath fill='%23000' d='M2 20.5a7 7 0 0 1 14 0v1H2Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='m16 11 2 2 4-4'/%3E%3C/svg%3E");
}

#tabParametersContent1 .tabParametersContent3Box:has(#config2FA) {
    --ic: #10B981;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 3 4.5 6v5.5c0 4.6 3.2 8.5 7.5 9.5 4.3-1 7.5-4.9 7.5-9.5V6Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4.5 6v5.5c0 4.6 3.2 8.5 7.5 9.5 4.3-1 7.5-4.9 7.5-9.5V6Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

#tabParametersContent2 .tabParametersContent2Box:has(#configAppGroups) {
    --ic: #4F46E5;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect fill='%23000' x='3.5' y='3.5' width='7' height='7' rx='2'/%3E%3Crect fill='%23000' x='13.5' y='13.5' width='7' height='7' rx='2'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='7' height='7' rx='2'/%3E%3Crect x='13.5' y='3.5' width='7' height='7' rx='2'/%3E%3Crect x='3.5' y='13.5' width='7' height='7' rx='2'/%3E%3Crect x='13.5' y='13.5' width='7' height='7' rx='2'/%3E%3C/svg%3E");
}

#tabParametersContent2 .tabParametersContent2Box:has(#configDepartments) {
    --ic: #0EA5E9;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle fill='%23000' cx='9' cy='8' r='3.5'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0M16 4.6a3.5 3.5 0 0 1 0 6.8M18 14.2a6.5 6.5 0 0 1 3.5 5.8'/%3E%3C/svg%3E");
}

#tabParametersContent2 .tabParametersContent2Box:has(#configUsers) {
    --ic: #8B5CF6;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle fill='%23000' cx='12' cy='8' r='4'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 21a7.5 7.5 0 0 1 15 0'/%3E%3C/svg%3E");
}

#tabParametersContent2 .tabParametersContent2Box:has(#configFilters) {
    --ic: #F59E0B;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M5 4.5A1.5 1.5 0 0 1 6.5 3H19v15H6.5A1.5 1.5 0 0 0 5 19.5Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19.5v-15A1.5 1.5 0 0 1 6.5 3H19v15H6.5a1.5 1.5 0 0 0 0 3H19'/%3E%3Cpath d='M9 7.5h6M9 11h4'/%3E%3C/svg%3E");
}

#tabParametersContent2 .tabParametersContent2Box:has(#configAgenda) {
    --ic: #E11D48;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect fill='%23000' x='4.5' y='3' width='14' height='18' rx='2'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='3' width='14' height='18' rx='2'/%3E%3Ccircle cx='11.5' cy='10' r='2.5'/%3E%3Cpath d='M7.5 16.5a4 4 0 0 1 8 0M2.5 7h2M2.5 12h2M2.5 17h2'/%3E%3C/svg%3E");
}

#tabParametersContent3 .line:has(> #configExcepcionesCarpetas) + .line {
    --ic: #F59E0B;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 6.5A1.5 1.5 0 0 1 4.5 5H9l2 2.5h8.5A1.5 1.5 0 0 1 21 9v9.5a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 18.5Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6.5A1.5 1.5 0 0 1 4.5 5H9l2 2.5h8.5A1.5 1.5 0 0 1 21 9v9.5a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 18.5Z'/%3E%3Cpath d='m10 13.5 1.5 1.5 3-3'/%3E%3C/svg%3E");
}

#tabParametersContent3 .line:has(> #configExcepcionesProgramas) + .line {
    --ic: #4F46E5;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect fill='%23000' x='3' y='4' width='18' height='16' rx='2.5'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2.5'/%3E%3Cpath d='M3 8.5h18M6.5 6.2h.01M9 6.2h.01M9 13l-2 2 2 2M15 13l2 2-2 2'/%3E%3C/svg%3E");
}

#tabParametersContent3 .line:has(> #configExcepcionesDominios) + .line {
    --ic: #0EA5E9;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle fill='%23000' cx='12' cy='12' r='9'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/svg%3E");
}

/* --- Explorador de archivos del equipo (fileBrowserDialog: "Buscar aplicación" / "Buscar carpeta") ---
   Ventana de configuración (isSettingsV2: título, X, Escape) con barra de navegación (atrás, ruta, recargar), árbol a
   la izquierda, lista con iconos de trazo por tipo de archivo y pie con la selección, el tipo y Cancelar / Abrir. */
.fileBrowserDialog.isSettingsV2 {
    width: min(980px, calc(100vw - 32px)) !important;
    height: min(660px, calc(100vh - 48px)) !important;
    max-height: none !important;
}

.fileBrowserDialog.isSettingsV2 .win10windowWrapper {
    flex: 1;
    min-height: 0;
    padding: 0 !important;
    overflow: hidden !important;
}

.fileBrowserDialog.isSettingsV2 .fileBrowserDialogContent {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0 !important;
}

.fileBrowserDialog.isSettingsV2 .fileBrowserDialogContent > .clear,
.fileBrowserDialog.isSettingsV2 #FBDbottomDiv .clear {
    display: none;
}

/* Barra de navegación */
.fileBrowserDialog.isSettingsV2 .FBDtopBar {
    display: flex;
    align-items: center;
    gap: 8px;
    height: auto;
    padding: 12px 20px;
    background: #ffffff;
    border-bottom: 1px solid #EEF1F6;
}

.fileBrowserDialog.isSettingsV2 .FBDBackImg,
.fileBrowserDialog.isSettingsV2 .FBDReload {
    position: relative;
    flex: none;
    float: none;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    box-sizing: border-box;
}

.fileBrowserDialog.isSettingsV2 .FBDBackImg::before,
.fileBrowserDialog.isSettingsV2 .FBDReload::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: #3A475E;
    pointer-events: none;
    -webkit-mask: var(--fbd-ic) no-repeat center / contain;
    mask: var(--fbd-ic) no-repeat center / contain;
}

.fileBrowserDialog.isSettingsV2 .FBDBackImg {
    --fbd-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7M19 12H5'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 .FBDReload {
    --fbd-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 .FBDBackImg a,
.fileBrowserDialog.isSettingsV2 .FBDReload img {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    background: none !important;
    border: 0;
    opacity: 0;
    cursor: pointer;
}

.fileBrowserDialog.isSettingsV2 .FBDBackImg:hover,
.fileBrowserDialog.isSettingsV2 .FBDReload:hover {
    background: #F3F6FA;
    border-color: #C9D3E0;
}

.fileBrowserDialog.isSettingsV2 .FBDPath {
    flex: 1;
    float: none;
    min-width: 0;
    width: auto;
    height: 34px;
    margin: 0;
    background: #F8FAFC;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    box-sizing: border-box;
    overflow: hidden;
}

.fileBrowserDialog.isSettingsV2 .FBDPath ul {
    display: flex;
    align-items: center;
    height: 100%;
    margin: 0;
    padding: 0 6px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    background: none;
}

.fileBrowserDialog.isSettingsV2 .FBDPath li {
    display: inline-flex;
    align-items: center;
    flex: none;
    float: none;
    height: 26px;
    padding: 0 8px;
    font-size: 13px;
    line-height: 26px;
    white-space: nowrap;
    color: #3A475E;
    background: none;
    border-radius: 6px;
    cursor: pointer;
}

.fileBrowserDialog.isSettingsV2 .FBDPath li:not(:last-child)::after {
    content: "";
    width: 14px;
    height: 14px;
    margin: 0 -6px 0 6px;
    background: #A3AEC0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") no-repeat center / contain;
}

.fileBrowserDialog.isSettingsV2 .FBDPath li:last-child {
    font-weight: 600;
    color: #0E1A33;
}

.fileBrowserDialog.isSettingsV2 .FBDPath li:hover {
    background: #EAF0F7;
}

/* Zona central: árbol | lista */
.fileBrowserDialog.isSettingsV2 .FBDCentral {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    height: auto;
    background: #ffffff;
}

.fileBrowserDialog.isSettingsV2 .FBDCentralLeft {
    float: none;
    width: auto;
    height: auto;
    padding: 10px 8px;
    background: #FAFBFD;
    border-right: 1px solid #EEF1F6;
    overflow: auto;
}

.fileBrowserDialog.isSettingsV2 .FBDCentralLeft ul {
    margin: 0;
    padding: 0;
    font-size: 13.5px;
}

.fileBrowserDialog.isSettingsV2 .FBDCentralLeft li > span {
    display: flex;
    align-items: center;
    width: auto;
    min-height: 32px;
    line-height: 1.3;
    border-radius: 7px;
}

.fileBrowserDialog.isSettingsV2 .FBDCentralLeft li > span:hover {
    background: #EEF2F7;
}

.fileBrowserDialog.isSettingsV2 .FBDCentralLeft li > span.FBDCentralLeftSelected,
.fileBrowserDialog.isSettingsV2 .FBDCentralLeftSelected {
    background: color-mix(in srgb, var(--brand) 8%, #fff) !important;
}

.fileBrowserDialog.isSettingsV2 .FBDCentralLeftSelected .FBDLiTag {
    font-weight: 600;
    color: var(--brand) !important;
}

.fileBrowserDialog.isSettingsV2 .FBDLiArrow {
    flex: none;
    float: none;
    width: 22px;
    height: 32px;
    padding: 0;
    background: #A3AEC0 !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") no-repeat center / 14px;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") no-repeat center / 14px;
    cursor: pointer;
}

.fileBrowserDialog.isSettingsV2 .FBDLiArrowExpanded {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 .FBDLiArrow:hover {
    background: #3A475E !important;
}

.fileBrowserDialog.isSettingsV2 .FBDLiTag {
    flex: 1;
    min-width: 0;
    display: block;
    margin: 0;
    padding: 6px 8px 6px 26px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #13203A !important;
    text-decoration: none !important;
    background-repeat: no-repeat;
    background-position: 2px center;
    background-size: 17px;
    cursor: pointer;
}

/* Lista de archivos */
.fileBrowserDialog.isSettingsV2 .FBDCentralRight {
    display: flex;
    flex-direction: column;
    float: none;
    width: auto;
    height: auto;
    min-height: 0;
}

.fileBrowserDialog.isSettingsV2 #sortBar {
    display: flex;
    flex: none;
    width: auto;
    padding: 0 20px;
    background: #ffffff;
    border-bottom: 1px solid #EEF1F6;
}

.fileBrowserDialog.isSettingsV2 .FBDCentralRight > .clear {
    display: none;
}

.fileBrowserDialog.isSettingsV2 .sortBarItem {
    float: none;
    width: auto;
    padding: 10px 0;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    color: #69768C;
    border: 0;
}

.fileBrowserDialog.isSettingsV2 .sortBarItem:hover {
    background: none;
}

/* La lista no muestra el tipo: sobra la columna */
.fileBrowserDialog.isSettingsV2 .sortBarItem2 {
    display: none;
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList {
    flex: 1;
    min-height: 0;
    height: auto;
    padding: 6px 10px 10px;
    overflow-y: auto;
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList ul {
    margin: 0;
    padding: 0;
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li {
    height: 36px;
    margin: 0;
    padding: 0 12px 0 42px;
    overflow: hidden;
    font-size: 13.5px;
    line-height: 36px;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #13203A;
    background-repeat: no-repeat;
    background-position: 14px center;
    background-size: 18px;
    border-radius: 8px;
    cursor: pointer;
    user-select: none;
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li:hover {
    background-color: #F3F6FA;
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListItemSelected,
.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListItemSelected:hover {
    font-weight: 600;
    color: var(--brand);
    background-color: color-mix(in srgb, var(--brand) 8%, #fff) !important;
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList ul:empty::before {
    content: "No hay archivos de este tipo en esta carpeta.";
    display: block;
    padding: 40px 0;
    font-size: 13.5px;
    text-align: center;
    color: #8E9AAD;
}

/* Pie: selección, tipo y botones */
.fileBrowserDialog.isSettingsV2 #FBDbottomDiv {
    display: flex;
    flex: none;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 14px 20px;
    background: #FAFBFD;
    border-top: 1px solid #EEF1F6;
}

.fileBrowserDialog.isSettingsV2 #FBDbottomDiv1 {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 10px;
    float: none;
    width: auto;
    min-width: 0;
}

.fileBrowserDialog.isSettingsV2 #FBDbottomDiv1-1 {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 10px;
    float: none;
    width: auto;
    min-width: 0;
    height: auto;
    line-height: normal;
}

.fileBrowserDialog.isSettingsV2 #FBDbottomDiv1-Label {
    float: none;
    width: auto;
    font-size: 13px;
    font-weight: 600;
    color: #3A475E;
}

.fileBrowserDialog.isSettingsV2 #FBDbottomDiv1-1Name {
    flex: 1;
    float: none;
    min-width: 0;
    width: auto !important;
    height: 36px;
    padding: 0 12px;
    font-size: 13.5px;
    line-height: 34px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    box-sizing: border-box;
}

.fileBrowserDialog.isSettingsV2 #FBDbottomDiv1-1Name:empty::before {
    content: "Selecciona un elemento de la lista";
    color: #A3AEC0;
}

.fileBrowserDialog.isSettingsV2 #FBDbottomDiv1-2 {
    flex: none;
    float: none;
    width: auto;
}

.fileBrowserDialog.isSettingsV2 #FBDbottomDiv1-2 select {
    height: 36px;
    max-width: 240px;
    padding: 0 32px 0 12px;
    font: inherit;
    font-size: 13px;
    color: #13203A;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2369768C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 14px;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    -webkit-appearance: none;
    appearance: none;
}

.fileBrowserDialog.isSettingsV2 #FBDbottomDiv2 {
    display: flex;
    flex-direction: row-reverse;
    flex: none;
    gap: 8px;
    float: none;
    margin: 0;
}

.fileBrowserDialog.isSettingsV2 #FBDbottomDiv2 a {
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 96px;
    height: 36px;
    margin: 0;
    padding: 0 18px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none !important;
}

.fileBrowserDialog.isSettingsV2 #FBDbottomDiv2 #FBDOpen {
    color: #ffffff !important;
    background: var(--brand);
    border: 1px solid var(--brand);
}

.fileBrowserDialog.isSettingsV2 #FBDbottomDiv2 #FBDOpen:hover {
    background: color-mix(in srgb, var(--brand) 75%, #000);
    border-color: color-mix(in srgb, var(--brand) 75%, #000);
}

.fileBrowserDialog.isSettingsV2 #FBDbottomDiv2 #FBDCancel {
    color: #13203A !important;
    background: #ffffff;
    border: 1px solid #D9E1EC;
}

.fileBrowserDialog.isSettingsV2 #FBDbottomDiv2 #FBDCancel:hover {
    background: #F3F6FA;
    border-color: #C9D3E0;
}

@media (max-width: 760px) {
    .fileBrowserDialog.isSettingsV2 .FBDCentral {
        grid-template-columns: minmax(0, 1fr);
    }

    .fileBrowserDialog.isSettingsV2 .FBDCentralLeft {
        display: none;
    }

    .fileBrowserDialog.isSettingsV2 #FBDbottomDiv,
    .fileBrowserDialog.isSettingsV2 #FBDbottomDiv1 {
        flex-wrap: wrap;
    }
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListDirectory {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F59E0B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 .FBDLiFolder > span > .FBDLiTag {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F59E0B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListPdf {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E11D48' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListDoc {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563EB' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListXls {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310B981' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M8 13h2M14 13h2M8 17h2M14 17h2'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListMdb {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238B5CF6' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M3 5v14a9 3 0 0 0 18 0V5'/%3E%3Cpath d='M3 12a9 3 0 0 0 18 0'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListTxt {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListImg {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230EA5E9' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.09-3.09a2 2 0 0 0-2.82 0L6 21'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListZip {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F59E0B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 6h.01M10 10h.01M10 14h.01M10 18h.01'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListExe {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234F46E5' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='M2 8h20M6 4v4M10 4v4'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListUnknown {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListDisc {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11Z'/%3E%3Cpath d='M6 16h.01M10 16h.01'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 .FBDLiDrive > span > .FBDLiTag {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11Z'/%3E%3Cpath d='M6 16h.01M10 16h.01'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListmainDisc {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11Z'/%3E%3Cpath d='M6 16h.01M10 16h.01'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 .FBDLimainDrive > span > .FBDLiTag {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12H2'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11Z'/%3E%3Cpath d='M6 16h.01M10 16h.01'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListDesktop {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 .FBDLiDesktop > span > .FBDLiTag {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListDocuments {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238B5CF6' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 .FBDLiDocuments > span > .FBDLiTag {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238B5CF6' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListDownloads {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310B981' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5M12 15V3'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 .FBDLiDownloads > span > .FBDLiTag {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310B981' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5M12 15V3'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 #FBDRightFileList li.RightListMyPC {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16'/%3E%3C/svg%3E");
}

.fileBrowserDialog.isSettingsV2 .FBDLiPC > span > .FBDLiTag {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070F5' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16'/%3E%3C/svg%3E");
}

/* Discovery (Ficheros y Supervisión): iconos de trazo sin pastilla de color, como en Parámetros e Informes */
#RBPCConfigDiv #tabContent3 .APIcon {
    width: 24px;
    height: 24px;
    background: none;
    border-radius: 0;
}

#RBPCConfigDiv #tabContent3 .APIcon::before {
    width: 22px;
    height: 22px;
    background: var(--ap-color, var(--brand));
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature::before {
    width: 22px;
    height: 22px;
    margin-left: 6px;
    background: #8E9AAD;
    border-radius: 0;
    -webkit-mask: var(--sv-icon-off) no-repeat center / contain;
    mask: var(--sv-icon-off) no-repeat center / contain;
}

#RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature.isOn::before {
    background: var(--sv-color, var(--brand));
}

#RBPCConfigDiv #tabContent5 .SVFeature.isPresence { --sv-color: #10B981; }
#RBPCConfigDiv #tabContent5 .SVFeature.isScreenshots { --sv-color: #E11D48; }
#RBPCConfigDiv #tabContent5 .SVFeature.isClipboard { --sv-color: #8B5CF6; }
#RBPCConfigDiv #tabContent5 .SVFeature.isPrint { --sv-color: #0EA5E9; }

/* Informes: iconos de trazo uniforme (estilo Lucide, 1,75 px) sin relleno, como en Parámetros generales.
   Cada cifra mantiene el color de su gráfica y cada tipo de dato el de su fila. */
.ETSmenuReports .RKpiIcon::before,
.ETSmenuReports .TYIcon::before {
    display: none;
}

.ETSmenuReports .RKpiIcon,
.ETSmenuReports .TYIcon {
    width: 22px;
    height: 22px;
}

.ETSmenuReports .RKpiIcon::after,
.ETSmenuReports .TYIcon::after {
    -webkit-mask: var(--ic-pro) no-repeat center / contain;
    mask: var(--ic-pro) no-repeat center / contain;
}

.ETSmenuReports .RKpi.is-time .RKpiIcon {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
}

.ETSmenuReports .RKpi.is-productivity .RKpiIcon {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 7 13.5 15.5 8.5 10.5 2 17'/%3E%3Cpath d='M16 7h6v6'/%3E%3C/svg%3E");
}

.ETSmenuReports .RKpi.is-sensitive .RKpiIcon {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
}

.ETSmenuReports .RKpi.is-alerts .RKpiIcon {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E");
}

.ETSmenuReports .RKpi.is-blocks .RKpiIcon {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m4.9 4.9 14.2 14.2'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-mail {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-phone {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2'/%3E%3Cpath d='M12 18h.01'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-pin {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-5.54 10.19-7.4 11.8a1 1 0 0 1-1.2 0C9.54 20.19 4 15 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-card {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-bank {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 22h18M6 18v-7M10 18v-7M14 18v-7M18 18v-7'/%3E%3Cpath d='M12 2 20 7H4Z'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-id {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Ccircle cx='9' cy='11' r='2'/%3E%3Cpath d='M6.17 15a3 3 0 0 1 5.66 0M16 10h2M16 14h2'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-health {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3Cpath d='M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27'/%3E%3C/svg%3E");
}

.ETSmenuReports .TYIcon.is-doc {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
}

/* Informes, paleta sobria: azul de marca + grises; el color cálido sólo para riesgo/severidad.
   Iconos en gris pizarra (cifras clave y tipos de datos). */
.ETSmenuReports .RKpi .RKpiIcon,
.ETSmenuReports .RKpi[class*="is-"] .RKpiIcon {
    --ic: #475569 !important;
}

.ETSmenuReports .TYIcon {
    --ic: #64748B !important;
}

.ETSmenuReports .gradient-bar-container {
    background: linear-gradient(to right, #CBD5E1, #94A3B8, #F5A524, #E8590C, #D92D4B);
}

/* Parámetros generales, pestaña General: iconos de Datos de la empresa, Límite de SMS y 2FA con trazo uniforme
   (estilo Lucide) en azul de marca, sin pastilla ni caja, en lugar del duotono. Igual en Personalización y Excepciones. */
#tabParametersContent1 .tabParametersContent3Box::before,
#tabParametersContent2 .tabParametersContent2Box::before {
    display: none;
}

#tabParametersContent1 .tabParametersContent3Box::after,
#tabParametersContent2 .tabParametersContent2Box::after {
    justify-self: start;
    width: 22px;
    height: 22px;
    margin-left: 4px;
    background: var(--brand);
    -webkit-mask: var(--ic-pro) no-repeat center / contain;
    mask: var(--ic-pro) no-repeat center / contain;
}

#tabParametersContent3 .line:has(> .consoleLink) + .line::before {
    display: none;
}

#tabParametersContent3 .line:has(> .consoleLink) + .line::after {
    left: 4px;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    background: var(--brand);
    -webkit-mask: var(--ic-pro) no-repeat center / contain;
    mask: var(--ic-pro) no-repeat center / contain;
}

#tabParametersContent1 .tabParametersContent3Box:has(#configCompany) {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z'/%3E%3Cpath d='M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M10 6h4M10 10h4M10 14h4M10 18h4'/%3E%3C/svg%3E");
}

#tabParametersContent1 .tabParametersContent3Box:has(#configSMS) {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2Z'/%3E%3Cpath d='M13 8H7M17 12H7'/%3E%3C/svg%3E");
}

#tabParametersContent2 .tabParametersContent2Box:has(#configAppGroups) {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3C/svg%3E");
}

#tabParametersContent2 .tabParametersContent2Box:has(#configDepartments) {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}

#tabParametersContent2 .tabParametersContent2Box:has(#configUsers) {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

#tabParametersContent2 .tabParametersContent2Box:has(#configFilters) {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2Z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7Z'/%3E%3C/svg%3E");
}

#tabParametersContent2 .tabParametersContent2Box:has(#configAgenda) {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 18a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Ccircle cx='12' cy='10' r='2'/%3E%3Cpath d='M8 2v2M16 2v2'/%3E%3C/svg%3E");
}

#tabParametersContent3 .line:has(> #configExcepcionesCarpetas) + .line {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3Cpath d='m9 13 2 2 4-4'/%3E%3C/svg%3E");
}

#tabParametersContent3 .line:has(> #configExcepcionesProgramas) + .line {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='M2 8h20M6 4v4M10 4v4'/%3E%3C/svg%3E");
}

#tabParametersContent3 .line:has(> #configExcepcionesDominios) + .line {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/svg%3E");
}

#tabParametersContent1 .tabParametersContent3Box:has(#config2FA) {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

#tabParametersContent1 .tabParametersContent3Box:has(#configModifyDistributorPermissions) {
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='m16 11 2 2 4-4'/%3E%3C/svg%3E");
}

/* --- Políticas DLP, paso 1: cabecera y barra de herramientas (_sections/politicasDLP.ascx) ---
   Rejilla: título y subtítulo a la izquierda; "Añadir grupo" (plantilla / en blanco) y el estado de sincronización a
   la derecha (antes una barra flotante fija); debajo, "Editar columnas" y "Filtrar por equipo" como botones
   secundarios con icono y menús desplegables limpios. Sólo CSS: el marcado y el JS no cambian. */
.ETSmenuPoliticasDLP #PDLPTopTitle {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    column-gap: 24px;
    row-gap: 18px;
    float: none;
    width: auto;
    margin: 0 0 22px;
    padding: 6px 0 0;
}

.ETSmenuPoliticasDLP #PDLPTopTitle > .clear,
.ETSmenuPoliticasDLP #PDLPTopTitle + .clear {
    display: none;
}

.ETSmenuPoliticasDLP .PDLPTopTitleH2 {
    grid-column: 1;
    grid-row: 1;
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    font-size: 22px;
    font-weight: 750;
    letter-spacing: -.2px;
    line-height: 1.25;
    color: #0E1A33;
}

.ETSmenuPoliticasDLP .PDLPTopTitleH2::after {
    content: "Define qué datos se protegen, qué ocurre al detectarlos y a quién se avisa.";
    display: block;
    margin-top: 4px;
    font-size: 13.5px;
    font-weight: 400;
    letter-spacing: 0;
    color: #69768C;
}

/* Acciones de la derecha: [Desde plantilla] [En blanco] [Sincronización] */
.ETSmenuPoliticasDLP #PDLPTopButtons {
    grid-column: 2;
    grid-row: 1;
    position: static;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 8px;
    width: auto;
    margin: 0;
    padding: 4px 0 0;
    background: none;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    z-index: auto;
}

.ETSmenuPoliticasDLP #PDLPTopButtons[style*="display: none"] {
    display: none !important;
}

.ETSmenuPoliticasDLP #PDLPTopButtons > a {
    float: none !important;
    margin: 0 !important;
}

.ETSmenuPoliticasDLP #PDLPTopButtons .DLPPolicyAddDLPGroup {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    color: #13203A !important;
    text-decoration: none !important;
    background: #ffffff none !important;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.ETSmenuPoliticasDLP #PDLPTopButtons .DLPPolicyAddDLPGroup::before {
    content: "";
    width: 16px;
    height: 16px;
    background: #3A475E;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
}

.ETSmenuPoliticasDLP #PDLPTopButtons #DLPPolicyAddDLPGroupTemplate::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='9' rx='1'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1'/%3E%3Crect x='3' y='16' width='7' height='5' rx='1'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='9' rx='1'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1'/%3E%3Crect x='3' y='16' width='7' height='5' rx='1'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP #PDLPTopButtons .DLPPolicyAddDLPGroup:hover {
    background-color: #F3F6FA !important;
    border-color: #C9D3E0;
}

/* Sincronizar cambios (pendiente) / Todo sincronizado, como en Parámetros generales */
.ETSmenuPoliticasDLP #PDLPButtonSaveChanges {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    margin-left: 8px !important;
    padding: 0 16px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    color: #ffffff;
    background: var(--brand) none;
    border: 0;
    border-radius: 8px;
    box-shadow: none;
}

.ETSmenuPoliticasDLP #PDLPButtonSaveChanges::before {
    content: "";
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16'/%3E%3Cpath d='M3 21v-5h5'/%3E%3Cpath d='M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16'/%3E%3Cpath d='M3 21v-5h5'/%3E%3Cpath d='M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E") no-repeat center / contain;
}

.ETSmenuPoliticasDLP #PDLPButtonSaveChanges::after {
    display: none;
}

.ETSmenuPoliticasDLP #PDLPButtonSaveChanges:hover {
    background-color: color-mix(in srgb, var(--brand) 75%, #000);
}

.ETSmenuPoliticasDLP #PDLPButtonSaveChanges.saveChangesSyncOk,
.ETSmenuPoliticasDLP #PDLPButtonSaveChanges.saveChangesSyncProgress {
    padding: 0 4px !important;
    background: none !important;
    border: 0 !important;
    cursor: default;
}

.ETSmenuPoliticasDLP #PDLPButtonSaveChanges.saveChangesSyncOk {
    color: #059669 !important;
}

.ETSmenuPoliticasDLP #PDLPButtonSaveChanges.saveChangesSyncOk::before {
    content: "Todo sincronizado";
    width: auto;
    height: auto;
    padding-left: 22px;
    font-size: 13.5px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23059669'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1.2 14.2-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4-7 7Z'/%3E%3C/svg%3E") no-repeat left center / 16px;
    -webkit-mask: none;
    mask: none;
}

.ETSmenuPoliticasDLP #PDLPButtonSaveChanges.saveChangesSyncProgress {
    color: var(--brand) !important;
}

.ETSmenuPoliticasDLP #PDLPButtonSaveChanges.saveChangesSyncProgress::before {
    content: "Sincronizando...";
    width: auto;
    height: auto;
    font-size: 13.5px;
    background: none;
    -webkit-mask: none;
    mask: none;
}

/* Barra de herramientas: Editar columnas / Filtrar por equipo */
.ETSmenuPoliticasDLP #PDLPVisualizationButtons {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.ETSmenuPoliticasDLP #PDLPVisualizationButtons[style*="display: none"] {
    display: none !important;
}

.ETSmenuPoliticasDLP #PDLPVisualizationButton .button,
.ETSmenuPoliticasDLP #PDLPFilterButton > #PDLPFilterButtonTitle > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    height: 34px;
    margin: 0;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    color: #13203A !important;
    text-decoration: none !important;
    background: #ffffff none !important;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    box-shadow: none;
}

.ETSmenuPoliticasDLP #PDLPVisualizationButton .button::before,
.ETSmenuPoliticasDLP #PDLPFilterButtonTitle > a::before {
    content: "";
    flex: none;
    width: 16px;
    height: 16px;
    background: #5D6B82;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M9 3v18M15 3v18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M9 3v18M15 3v18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.ETSmenuPoliticasDLP #PDLPFilterButtonTitle > a::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 3H2l8 9.46V19l4 2v-8.54Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 3H2l8 9.46V19l4 2v-8.54Z'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP #PDLPVisualizationButton .button::after,
.ETSmenuPoliticasDLP #PDLPFilterButtonTitle > a::after {
    content: "";
    flex: none;
    width: 14px;
    height: 14px;
    margin-right: -2px;
    background: #8E9AAD;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
}

.ETSmenuPoliticasDLP #PDLPVisualizationButton:hover .button,
.ETSmenuPoliticasDLP #PDLPFilterButton:hover > #PDLPFilterButtonTitle > a {
    background-color: #F3F6FA !important;
    border-color: #C9D3E0;
}

/* Filtro activo: botón en azul suave y contador */
.ETSmenuPoliticasDLP #PDLPFilterButton.filterActive > #PDLPFilterButtonTitle > a {
    color: var(--brand) !important;
    background-color: color-mix(in srgb, var(--brand) 6%, #fff) !important;
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
}

.ETSmenuPoliticasDLP #PDLPFilterButton.filterActive #PDLPFilterButtonTitle > a::before {
    background: var(--brand);
}

.ETSmenuPoliticasDLP #PDLPFilterBadge {
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    color: #ffffff;
    background: var(--brand);
    border-radius: 999px;
}

.ETSmenuPoliticasDLP #PDLPFilterButton.filterActive #PDLPFilterBadge {
    display: inline-block;
}

/* Menús desplegables (se abren al pasar el ratón): tarjeta blanca con sombra suave; un "puente" invisible evita
   que se cierren al bajar el ratón por el hueco */
.ETSmenuPoliticasDLP #PDLPVisualizationButtonContent,
.ETSmenuPoliticasDLP #PDLPFilterButtonContent {
    top: calc(100% + 6px);
    padding: 6px;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(14, 26, 51, .12), 0 2px 6px rgba(14, 26, 51, .06);
    z-index: 30;
}

.ETSmenuPoliticasDLP #PDLPVisualizationButtonContent::before,
.ETSmenuPoliticasDLP #PDLPFilterButtonContent::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 0;
    right: 0;
    height: 8px;
}

.ETSmenuPoliticasDLP #PDLPVisualizationButtonContent {
    width: 200px;
}

/* El puente de arriba (::before) queda recortado en «Filtrar por equipo» (overflow: hidden) y la lista se cerraba
   al bajar el ratón por el hueco de 6 px. Puente bajo el botón y lista abierta mientras el ratón esté en el filtro */
.ETSmenuPoliticasDLP #PDLPFilterButtonTitle,
.ETSmenuPoliticasDLP #PDLPVisualizationButtonTitle {
    position: relative;
}

.ETSmenuPoliticasDLP #PDLPFilterButtonTitle::after,
.ETSmenuPoliticasDLP #PDLPVisualizationButtonTitle::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 12px;
}

.ETSmenuPoliticasDLP #PDLPFilterButton:hover > #PDLPFilterButtonContent,
.ETSmenuPoliticasDLP #PDLPVisualizationButton:hover > #PDLPVisualizationButtonContent {
    display: block !important;
}

.ETSmenuPoliticasDLP #PDLPVisualizationButtonContent ul {
    margin: 0;
    padding: 0;
}

.ETSmenuPoliticasDLP #PDLPVisualizationButtonContent li {
    padding: 0;
    line-height: normal;
}

.ETSmenuPoliticasDLP #PDLPVisualizationButtonContent label,
.ETSmenuPoliticasDLP #PDLPFilterPCList li label,
.ETSmenuPoliticasDLP #PDLPFilterDeptList li label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    font-size: 13px;
    font-weight: 500;
    color: #13203A;
    border-radius: 7px;
    cursor: pointer;
}

.ETSmenuPoliticasDLP #PDLPVisualizationButtonContent label:hover,
.ETSmenuPoliticasDLP #PDLPFilterPCList li label:hover,
.ETSmenuPoliticasDLP #PDLPFilterDeptList li label:hover {
    background: #F3F6FA;
}

.ETSmenuPoliticasDLP #PDLPFilterPCList li,
.ETSmenuPoliticasDLP #PDLPFilterDeptList li {
    padding: 0;
    line-height: normal;
}

.ETSmenuPoliticasDLP #PDLPFilterPCList li:hover,
.ETSmenuPoliticasDLP #PDLPFilterDeptList li:hover {
    background: none;
}

/* Casillas propias */
.ETSmenuPoliticasDLP #PDLPVisualizationButtonContent input[type="checkbox"],
.ETSmenuPoliticasDLP #PDLPFilterButtonContent input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    position: relative;
    width: 16px;
    height: 16px;
    margin: 0;
    background: #ffffff;
    border: 1.5px solid #C2CCDA;
    border-radius: 4px;
    cursor: pointer;
}

.ETSmenuPoliticasDLP #PDLPVisualizationButtonContent input[type="checkbox"]:checked,
.ETSmenuPoliticasDLP #PDLPFilterButtonContent input[type="checkbox"]:checked {
    background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") no-repeat center / 11px;
    border-color: var(--brand);
}

.ETSmenuPoliticasDLP #PDLPFilterButtonContent {
    width: 280px;
    padding: 0;
    overflow: hidden;
}

.ETSmenuPoliticasDLP #PDLPFilterSearch {
    padding: 10px;
    border-bottom: 1px solid #EEF1F6;
}

.ETSmenuPoliticasDLP #PDLPFilterSearchInput {
    height: 34px;
    padding: 0 10px 0 32px;
    font-size: 13px;
    color: #13203A;
    background: #F8FAFC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 10px center / 15px;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.ETSmenuPoliticasDLP #PDLPFilterSearchInput:focus {
    outline: none;
    background-color: #ffffff;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

.ETSmenuPoliticasDLP #PDLPFilterLoading {
    padding: 14px;
    font-size: 13px;
    font-style: normal;
    color: #8E9AAD;
}

.ETSmenuPoliticasDLP #PDLPFilterLists {
    max-height: 300px;
    padding: 4px 6px;
}

.ETSmenuPoliticasDLP .PDLPFilterSectionTitle {
    padding: 10px 10px 4px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: #69768C;
}

.ETSmenuPoliticasDLP #PDLPFilterActions {
    padding: 10px 14px;
    text-align: right;
    background: #FAFBFD;
    border-top: 1px solid #EEF1F6;
}

.ETSmenuPoliticasDLP #PDLPFilterActions a {
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
}

@media (max-width: 1100px) {
    .ETSmenuPoliticasDLP #PDLPTopTitle {
        grid-template-columns: minmax(0, 1fr);
    }

    .ETSmenuPoliticasDLP #PDLPTopButtons {
        grid-column: 1;
        grid-row: 2;
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .ETSmenuPoliticasDLP #PDLPVisualizationButtons {
        grid-row: 3;
    }
}

/* --- Políticas DLP, fin paso 1 */

/* --- Políticas DLP, paso 2: cabecera de cada grupo ---
   Sin caja gris: flecha para plegar, nombre, número de políticas (.PDLPGroupCount, oculto en el CSS base) y, al pasar
   el ratón, editar / eliminar grupo; a la derecha, Añadir / Duplicar / Mover / Eliminar como botones compactos con
   icono (los tres últimos se activan al seleccionar una política). */
.ETSmenuPoliticasDLP #PDLPPoliciesGroups {
    clear: both;
}

.ETSmenuPoliticasDLP .PDLPPoliciesGroup {
    margin: 0 0 28px;
}

.ETSmenuPoliticasDLP .PDLPPoliciesGroup > .clear {
    display: none;
}

.ETSmenuPoliticasDLP .PDLPTopTitleHeader {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    cursor: pointer;
    float: none;
    width: auto;
    min-height: 40px;
    padding: 0 0 12px;
    background: none;
    border: 0;
    border-bottom: 1px solid #E3E9F1;
}

.ETSmenuPoliticasDLP .PDLPTopTitleGroupH2 {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1 1 100%;
    min-width: 0;
    float: none;
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: #0E1A33;
}

.ETSmenuPoliticasDLP .PDLPTopTitleGroupH2 > span:not(.PDLPGroupCount) {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Plegar / desplegar: flecha (abajo abierto, derecha plegado) */
.ETSmenuPoliticasDLP .minimize-maximize {
    flex: none;
    float: none;
    width: 28px;
    height: 28px;
    margin: 0 0 0 -6px !important;
    background: #69768C !important;
    border-radius: 6px;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / 16px;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / 16px;
    transition: transform .15s ease;
}

.ETSmenuPoliticasDLP .minimize-maximize.maximize {
    transform: rotate(-90deg);
}

.ETSmenuPoliticasDLP .minimize-maximize:hover {
    background: #0E1A33 !important;
}

.ETSmenuPoliticasDLP .PDLPGroupCount {
    display: inline-flex;
    align-items: center;
    flex: none;
    height: 22px;
    margin-left: 4px;
    padding: 0 8px;
    font-size: 12px;
    font-weight: 600;
    color: #5D6B82;
    background: #F1F4F8;
    border-radius: 999px;
}

/* Editar / eliminar grupo: iconos que aparecen al pasar por la cabecera */
.ETSmenuPoliticasDLP .PDLPGroupAction {
    flex: none;
    float: none;
    width: 28px;
    height: 28px;
    margin: 0 !important;
    background: #8E9AAD !important;
    border-radius: 6px;
    opacity: 0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.17 6.81a1 1 0 0 0-3.99-3.99L3.84 16.17a2 2 0 0 0-.5.83l-1.32 4.35a.5.5 0 0 0 .62.62l4.35-1.32a2 2 0 0 0 .83-.5Z'/%3E%3Cpath d='m15 5 4 4'/%3E%3C/svg%3E") no-repeat center / 15px;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.17 6.81a1 1 0 0 0-3.99-3.99L3.84 16.17a2 2 0 0 0-.5.83l-1.32 4.35a.5.5 0 0 0 .62.62l4.35-1.32a2 2 0 0 0 .83-.5Z'/%3E%3Cpath d='m15 5 4 4'/%3E%3C/svg%3E") no-repeat center / 15px;
    transition: opacity .12s ease;
}

.ETSmenuPoliticasDLP .PDLPGroupEdit {
    margin-left: 4px !important;
}

.ETSmenuPoliticasDLP .PDLPGroupRemove {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2M10 11v6M14 11v6'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2M10 11v6M14 11v6'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP .PDLPTopTitleHeader:hover .PDLPGroupAction,
.ETSmenuPoliticasDLP .PDLPTopTitleGroupH2Hover .PDLPGroupAction,
.ETSmenuPoliticasDLP .PDLPGroupAction:focus-visible {
    opacity: 1 !important;
}

.ETSmenuPoliticasDLP .PDLPGroupEdit:hover {
    background: var(--brand) !important;
}

.ETSmenuPoliticasDLP .PDLPGroupRemove:hover {
    background: #D92D4B !important;
}

/* Botón «Añadir» del grupo: en su propia línea, debajo del nombre y antes de la tabla (Duplicar, Mover y Eliminar
   están en el detalle de la política) */
.ETSmenuPoliticasDLP .PDLPButtons {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1 1 100%;
    float: none;
    margin: 0;
}

.ETSmenuPoliticasDLP .PDLPButtons[style*="display: none"] {
    display: none !important;
}

.ETSmenuPoliticasDLP .PDLPButtons a.button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    float: none;
    height: 32px;
    margin: 0 !important;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    color: #13203A;
    text-decoration: none;
    background: #ffffff none !important;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    filter: none;
}

.ETSmenuPoliticasDLP .PDLPButtons a.button::before {
    content: "";
    flex: none;
    width: 15px;
    height: 15px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
}

.ETSmenuPoliticasDLP .PDLPButtons a.buttonIconAdd {
    color: var(--brand);
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
}

.ETSmenuPoliticasDLP .PDLPButtons a.button:hover {
    background-color: #F3F6FA !important;
    border-color: #C9D3E0;
}

.ETSmenuPoliticasDLP .PDLPButtons a.buttonIconAdd:hover {
    background-color: color-mix(in srgb, var(--brand) 6%, #fff) !important;
    border-color: var(--brand);
}

.ETSmenuPoliticasDLP .PDLPItemsList {
    margin: 0;
}

@media (prefers-reduced-motion: reduce) {
    .ETSmenuPoliticasDLP .minimize-maximize,
    .ETSmenuPoliticasDLP .PDLPGroupAction {
        transition: none;
    }
}

/* --- Políticas DLP, fin paso 2 */

/* --- Políticas DLP, paso 3: tabla de políticas ---
   Sin cajas ni filas alternas; cabecera fina; descripción en negrita y condición en gris; Severidad con punto de color
   (gris → ámbar → rojo) y Acción con icono (registro, bloqueo, cifrado, apagado) en selectores limpios; aviso,
   ámbito y cumplimiento compactos; el lápiz de editar se coloca en la esquina de la celda (sólo al pasar el ratón,
   como antes) y "Edición pendiente" pasa a una nota ámbar discreta. */
.ETSmenuPoliticasDLP .PDLPItemsList .RDTableDiv2 {
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    overflow: visible !important;
}

.ETSmenuPoliticasDLP .PDLPItemsList .progress-table {
    width: 100%;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 0;
}

.ETSmenuPoliticasDLP .PDLPItemsList .progress-table th {
    padding: 12px 12px 10px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
    color: #69768C;
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #E3E9F1;
}

.ETSmenuPoliticasDLP .PDLPItemsList .progress-table td {
    position: relative;
    padding: 14px 12px;
    font-size: 13.5px;
    line-height: 1.45;
    vertical-align: top;
    color: #3A475E;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #F1F4F8;
}

.ETSmenuPoliticasDLP .PDLPItemsList .progress-table th:first-child,
.ETSmenuPoliticasDLP .PDLPItemsList .progress-table td:first-child {
    padding-left: 4px;
}

/* Anchos */
.ETSmenuPoliticasDLP .PDLPItemsList .PDLPCol7 { width: 25%; }
.ETSmenuPoliticasDLP .PDLPItemsList .PDLPCol1 { width: 25%; }
.ETSmenuPoliticasDLP .PDLPItemsList .PDLPCol2 { width: 118px; min-width: 118px; }
.ETSmenuPoliticasDLP .PDLPItemsList .PDLPCol3 { width: 196px; min-width: 196px; }
.ETSmenuPoliticasDLP .PDLPItemsList .PDLPCol4 { min-width: 150px; }
.ETSmenuPoliticasDLP .PDLPItemsList .PDLPCol5 { min-width: 120px; white-space: nowrap; }
.ETSmenuPoliticasDLP .PDLPItemsList .PDLPCol6 { min-width: 150px; }

/* Filas: sin alternar; hover suave y seleccionada en azul */
.ETSmenuPoliticasDLP .PDLPRow,
.ETSmenuPoliticasDLP .PDLPRow.pairRow,
.ETSmenuPoliticasDLP .PDLPRow.oddRow {
    background: transparent;
    cursor: pointer;
}

.ETSmenuPoliticasDLP .PDLPRow:hover td {
    background: #F8FAFC;
}

.ETSmenuPoliticasDLP .PDLPRow.PDLPRowSelected,
.ETSmenuPoliticasDLP .PDLPRow.PDLPRowSelected td {
    background: color-mix(in srgb, var(--brand) 6%, #fff) !important;
}

.ETSmenuPoliticasDLP .PDLPRow.PDLPRowSelected td:first-child {
    box-shadow: inset 2px 0 0 var(--brand);
}

/* Contenido: el lápiz va en la esquina, sin restar ancho */
.ETSmenuPoliticasDLP .PDLPRow .colContent {
    float: none;
    display: block;
    width: auto;
    padding-right: 22px;
}

.ETSmenuPoliticasDLP .PDLPRow .PDLPColEdit {
    position: absolute;
    top: 12px;
    right: 6px;
    float: none;
    width: 24px;
    height: 24px;
}

.ETSmenuPoliticasDLP .PDLPRow .PDLPColEdit a {
    display: block;
    width: 24px;
    height: 24px;
    background: #8E9AAD;
    border-radius: 6px;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.17 6.81a1 1 0 0 0-3.99-3.99L3.84 16.17a2 2 0 0 0-.5.83l-1.32 4.35a.5.5 0 0 0 .62.62l4.35-1.32a2 2 0 0 0 .83-.5Z'/%3E%3Cpath d='m15 5 4 4'/%3E%3C/svg%3E") no-repeat center / 14px;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.17 6.81a1 1 0 0 0-3.99-3.99L3.84 16.17a2 2 0 0 0-.5.83l-1.32 4.35a.5.5 0 0 0 .62.62l4.35-1.32a2 2 0 0 0 .83-.5Z'/%3E%3Cpath d='m15 5 4 4'/%3E%3C/svg%3E") no-repeat center / 14px;
}

.ETSmenuPoliticasDLP .PDLPRow .PDLPColEdit a:hover {
    background: var(--brand);
}

.ETSmenuPoliticasDLP .PDLPRow .PDLPColEdit img {
    display: none;
}

/* Descripción y condición */
.ETSmenuPoliticasDLP .PDLPRow .PDLPCol7 .colContent {
    font-weight: 600;
    color: #0E1A33;
}

.ETSmenuPoliticasDLP .PDLPRow .PDLPCol1 .colContent {
    font-size: 13px;
    color: #5D6B82;
}

.ETSmenuPoliticasDLP .PDLPRow .PDLPCol1 .colContent b,
.ETSmenuPoliticasDLP .PDLPRow .PDLPCol1 .colContent strong {
    font-weight: 600;
    color: #13203A;
}

/* Edición pendiente: nota ámbar discreta */
.ETSmenuPoliticasDLP .PDLPRow .editPendingMessage {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 8px 0 0;
    padding: 6px 10px;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.4;
    color: #92400E;
    background: #FFFBEB none;
    border: 0;
    border-radius: 8px;
}

.ETSmenuPoliticasDLP .PDLPRow .editPendingMessage::before {
    content: "";
    flex: none;
    width: 14px;
    height: 14px;
    margin-top: 1px;
    background: #D97706;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Severidad y Acción: selectores limpios con punto / icono según el valor elegido */
.ETSmenuPoliticasDLP .PDLPRow select.PDLPColSeverity,
.ETSmenuPoliticasDLP .PDLPRow select.PDLPColAction {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 32px;
    margin: -5px 0 0;
    padding: 0 28px 0 30px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    color: #13203A;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"), var(--pdlp-mark, none);
    background-repeat: no-repeat, no-repeat;
    background-position: right 9px center, 11px center;
    background-size: 13px, 14px;
    border: 1px solid #E3E9F1;
    border-radius: 8px;
    cursor: pointer;
}

.ETSmenuPoliticasDLP .PDLPRow select.PDLPColSeverity {
    background-size: 13px, 9px;
    background-position: right 9px center, 12px center;
}

.ETSmenuPoliticasDLP .PDLPRow select.PDLPColSeverity:hover,
.ETSmenuPoliticasDLP .PDLPRow select.PDLPColAction:hover {
    border-color: #C9D3E0;
}

.ETSmenuPoliticasDLP .PDLPRow select.PDLPColSeverity:focus,
.ETSmenuPoliticasDLP .PDLPRow select.PDLPColAction:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

.ETSmenuPoliticasDLP .PDLPRow select.PDLPColSeverity:has(option[value='1']:checked) {
    --pdlp-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4' fill='%23CBD5E1'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP .PDLPRow select.PDLPColSeverity:has(option[value='2']:checked) {
    --pdlp-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4' fill='%2394A3B8'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP .PDLPRow select.PDLPColSeverity:has(option[value='3']:checked) {
    --pdlp-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4' fill='%23F5A524'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP .PDLPRow select.PDLPColSeverity:has(option[value='4']:checked) {
    --pdlp-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4' fill='%23E8590C'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP .PDLPRow select.PDLPColSeverity:has(option[value='5']:checked) {
    --pdlp-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='4' fill='%23D92D4B'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP .PDLPRow select.PDLPColAction:has(option[value='1']:checked) {
    --pdlp-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235D6B82' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP .PDLPRow select.PDLPColAction:has(option[value='2']:checked) {
    --pdlp-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23BE123C' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m4.9 4.9 14.2 14.2'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP .PDLPRow select.PDLPColAction:has(option[value='3']:checked) {
    --pdlp-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23BE123C' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP .PDLPRow select.PDLPColAction:has(option[value='4']:checked) {
    --pdlp-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23BE123C' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v10'/%3E%3Cpath d='M18.4 6.6a9 9 0 1 1-12.77.04'/%3E%3C/svg%3E");
}

/* Aviso: sin destinatarios, guion discreto */
.ETSmenuPoliticasDLP .PDLPRow .PDLPCol4 .colContent:empty::before {
    content: "Sin aviso";
    color: #A3AEC0;
}

/* Cumplimiento: norma como etiqueta y controles en línea */
.ETSmenuPoliticasDLP .PDLPRow .PDLPCol6 .colContent {
    font-size: 12.5px;
    line-height: 1.5;
    color: #5D6B82;
}

.ETSmenuPoliticasDLP .PDLPRow .PDLPCol6 .colContent strong {
    display: inline-block;
    margin: 0 6px 4px 0;
    padding: 1px 7px;
    font-size: 11.5px;
    font-weight: 700;
    color: #3A475E;
    background: #EEF2F7;
    border-radius: 6px;
}

.ETSmenuPoliticasDLP .PDLPRow .PDLPCol6 .colContent ul {
    display: inline;
    margin: 0;
    padding: 0;
}

.ETSmenuPoliticasDLP .PDLPRow .PDLPCol6 .colContent li {
    display: inline;
    list-style: none;
}

.ETSmenuPoliticasDLP .PDLPRow .PDLPCol6 .colContent li + li::before {
    content: " · ";
    color: #A3AEC0;
}

.ETSmenuPoliticasDLP .PDLPRow .PDLPCol6 .colContent ul::after {
    content: "";
    display: block;
}

@media (max-width: 1400px) {
    .ETSmenuPoliticasDLP .PDLPItemsList .PDLPCol2 { width: 108px; min-width: 108px; }
    .ETSmenuPoliticasDLP .PDLPItemsList .PDLPCol3 { width: 200px; min-width: 200px; }
    .ETSmenuPoliticasDLP .PDLPItemsList .PDLPCol4 { min-width: 0; width: 13%; }
    .ETSmenuPoliticasDLP .PDLPItemsList .PDLPCol5 { min-width: 0; width: 92px; white-space: normal; }
    .ETSmenuPoliticasDLP .PDLPItemsList .PDLPCol6 { min-width: 0; width: 12%; }
    .ETSmenuPoliticasDLP .PDLPItemsList .progress-table th,
    .ETSmenuPoliticasDLP .PDLPItemsList .progress-table td { padding-left: 8px; padding-right: 8px; }
    .ETSmenuPoliticasDLP .PDLPRow select.PDLPColAction { padding-right: 24px; background-position: right 7px center, 9px center; }
}

/* --- Políticas DLP, fin paso 3 */

/* --- Políticas DLP, paso 4: estado vacío (sin políticas) ---
   Las dos formas de empezar como opciones claras: icono de trazo en lugar de ilustración, título, explicación y
   flecha; "Desde plantillas" marcada como recomendada. */
.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty {
    margin: 8px 0 0;
    max-width: 920px;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty > p {
    margin: 0 0 16px;
    font-size: 15px;
    font-weight: 600;
    color: #0E1A33;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    max-width: none;
    margin: 0;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton a {
    position: relative;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    column-gap: 16px;
    row-gap: 6px;
    align-content: start;
    min-height: 0;
    padding: 22px 52px 22px 22px;
    text-align: left;
    color: inherit;
    text-decoration: none !important;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
    transition: border-color .15s ease, background-color .15s ease;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton a:hover {
    background: color-mix(in srgb, var(--brand) 3%, #fff);
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton a:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton img {
    display: none;
}

/* Icono */
.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton a::before {
    content: "";
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 26px;
    height: 26px;
    margin-top: 2px;
    background: var(--brand);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='9' rx='1'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1'/%3E%3Crect x='3' y='16' width='7' height='5' rx='1'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='9' rx='1'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1'/%3E%3Crect x='3' y='16' width='7' height='5' rx='1'/%3E%3C/svg%3E") no-repeat center / contain;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmptySelectorManual::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 4h-7M10 4H3M21 12h-9M8 12H3M21 20h-5M12 20H3M14 2v4M8 10v4M16 18v4'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 4h-7M10 4H3M21 12h-9M8 12H3M21 20h-5M12 20H3M14 2v4M8 10v4M16 18v4'/%3E%3C/svg%3E") !important;
}

/* Flecha a la derecha */
.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    background: #A3AEC0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
    transition: transform .15s ease, background-color .15s ease;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton a:hover::after {
    background: var(--brand);
    transform: translateX(3px);
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton h3 {
    grid-column: 2;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    color: #0E1A33;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmptySelectorTemplate h3::after {
    content: "Recomendado";
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 8px;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 6%, #fff);
    border-radius: 999px;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton p {
    grid-column: 2;
    margin: 0;
    font-size: 13.5px;
    line-height: 1.55;
    color: #69768C;
}

@media (max-width: 900px) {
    .ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton a,
    .ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton a::after {
        transition: none;
    }
}

/* --- Políticas DLP, fin paso 4 */

/* --- Políticas DLP, paso 5a: ventana "Plantillas de políticas DLP" (DLPPolicies_Templates_Dialog.js) ---
   Ventana blanca grande: título y X; categorías a la izquierda con icono (seleccionada en azul suave); a la derecha
   la explicación de la categoría y cada plantilla como fila con casilla propia, descripción y opciones (bloquear,
   avisar al usuario, avisar al administrador); la fila marcada se resalta. Pie fijo con "Salir sin guardar" y
   "Añadir plantillas seleccionadas". */
.DLPPolicyTemplatesDialog.windowsStyleWindow {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    display: flex !important;
    flex-direction: column;
    width: min(1040px, calc(100vw - 32px)) !important;
    height: min(720px, calc(100vh - 48px)) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #ffffff;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(14, 26, 51, .22), 0 2px 8px rgba(14, 26, 51, .08);
    transform: translate(-50%, -50%);
}

.DLPPolicyTemplatesDialog.windowsStyleWindow[style*="display: none"] {
    display: none !important;
}

.DLPPolicyTemplatesDialog .windowsTitleBar {
    position: relative;
    flex: none;
    height: auto;
    padding: 22px 64px 18px 28px;
    background: #ffffff;
    border-bottom: 1px solid #EEF1F6;
    cursor: default;
}

.DLPPolicyTemplatesDialog .windowsTitleText {
    float: none;
    width: auto !important;
    max-width: none !important;
    margin: 0;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #0E1A33;
}

.DLPPolicyTemplatesDialog .windowsTitleText::after {
    content: "Elige las plantillas que quieres añadir como un grupo nuevo. Después podrás personalizarlas.";
    display: block;
    margin-top: 4px;
    font-size: 13px;
    font-weight: 400;
    color: #69768C;
}

.DLPPolicyTemplatesDialog #windowButtons {
    position: absolute;
    top: 18px;
    right: 18px;
    float: none;
}

.DLPPolicyTemplatesDialog .windowCloseButton {
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    margin: 0;
    color: #69768C;
    background: none;
    border-radius: 8px;
}

.DLPPolicyTemplatesDialog .windowCloseButton img {
    display: none;
}

.DLPPolicyTemplatesDialog .windowCloseButton::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.DLPPolicyTemplatesDialog .windowCloseButton:hover {
    color: #0E1A33;
    background: #F1F4F9;
}

.DLPPolicyTemplatesDialog .win10windowWrapper {
    flex: 1;
    min-height: 0;
    height: auto;
    padding: 0 !important;
}

.DLPPolicyTemplatesDialog .win10content {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    height: 100% !important;
    padding: 0 !important;
    font-size: 13.5px;
    background: #ffffff;
}

.DLPPolicyTemplatesDialog p,
.DLPPolicyTemplatesDialog a {
    margin-left: 0;
}

/* Categorías */
.DLPPolicyTemplatesDialog #DLPPTD_MainLeft {
    float: none;
    width: auto;
    height: auto;
    min-height: 0;
    padding: 18px 12px;
    overflow-y: auto;
    background: #FAFBFD;
    border-right: 1px solid #EEF1F6;
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftTop {
    display: none;
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom {
    height: auto;
    overflow: visible;
    border: 0;
    border-radius: 0;
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom h3,
.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom h3[style] {
    margin: 0 0 6px !important;
    padding: 0 10px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    color: #69768C;
    background: none;
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom ul {
    margin: 0 0 18px;
    padding: 0;
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom li a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 36px;
    padding: 0 10px;
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.3;
    color: #13203A !important;
    border-radius: 8px;
    cursor: pointer;
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom li a::before {
    content: "";
    flex: none;
    width: 17px;
    height: 17px;
    background: #69768C;
    -webkit-mask: var(--cat-icon) no-repeat center / contain;
    mask: var(--cat-icon) no-repeat center / contain;
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom li a:hover {
    background: #EEF2F7;
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom li a.DLPPTDselected {
    font-weight: 600;
    color: var(--brand) !important;
    background: color-mix(in srgb, var(--brand) 8%, #fff);
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom li a.DLPPTDselected::before {
    background: var(--brand);
}

/* Plantillas */
.DLPPolicyTemplatesDialog #DLPPTD_MainRight {
    display: flex;
    flex-direction: column;
    float: none;
    width: auto;
    height: auto;
    min-height: 0;
}

.DLPPolicyTemplatesDialog #DLPPTD_MainRightBottom {
    flex: 1;
    min-height: 0;
    height: auto;
    padding: 18px 28px 24px;
    overflow-y: auto;
}

.DLPPolicyTemplatesDialog .DLPPTDCategoryHeader {
    margin: 0 0 8px;
    padding: 0;
    font-size: 14px;
    background: none;
    border: 0;
}

.DLPPolicyTemplatesDialog .DLPPTDCategoryHeader p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #3A475E;
}

.DLPPolicyTemplatesDialog .templateRow {
    margin: 0;
    padding: 16px 12px;
    border: 0;
    border-bottom: 1px solid #F1F4F8;
    border-radius: 10px;
}

.DLPPolicyTemplatesDialog .templateRow:hover {
    background: #F8FAFC;
}

.DLPPolicyTemplatesDialog .templateRow:has(.templateCheckbox:checked) {
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border-bottom-color: transparent;
}

.DLPPolicyTemplatesDialog .templateRow label {
    font-size: 14px;
}

.DLPPolicyTemplatesDialog .templateRowTitle label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}

.DLPPolicyTemplatesDialog .templateRowTitle p {
    float: none;
    width: auto;
    margin: 0;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.4;
    color: #0E1A33;
}

.DLPPolicyTemplatesDialog .templateRowTitle .clear {
    display: none;
}

.DLPPolicyTemplatesDialog .templateDescription {
    margin: 4px 0 0 30px;
    font-size: 13px;
    line-height: 1.55;
    color: #69768C;
}

/* Fila informativa (sin casilla): nota gris con icono */
.DLPPolicyTemplatesDialog .templateRow[data-id=""] {
    position: relative;
    margin: 4px 0 8px;
    padding: 14px 16px 14px 44px;
    background: #F8FAFC;
    border-bottom: 0;
}

.DLPPolicyTemplatesDialog .templateRow[data-id=""]::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 16px;
    width: 16px;
    height: 16px;
    background: #69768C;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") no-repeat center / contain;
}

.DLPPolicyTemplatesDialog .templateRow[data-id=""] .templateDescription {
    margin-left: 0 !important;
}

.DLPPolicyTemplatesDialog .templateRow[data-id=""] .templateDescription p {
    margin: 0;
    color: #5D6B82;
}

.DLPPolicyTemplatesDialog .templateWarnings {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    margin: 10px 0 0 30px;
}

.DLPPolicyTemplatesDialog .templateWarnings label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    color: #3A475E;
    cursor: pointer;
}

/* Casillas propias */
.DLPPolicyTemplatesDialog input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    float: none;
    position: relative;
    width: 18px;
    height: 18px;
    margin: 1px 0 0 !important;
    background: #ffffff;
    border: 1.5px solid #C2CCDA;
    border-radius: 5px;
    cursor: pointer;
}

.DLPPolicyTemplatesDialog .templateWarnings input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0 !important;
    border-radius: 4px;
}

.DLPPolicyTemplatesDialog input[type="checkbox"]:checked {
    background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") no-repeat center / 12px;
    border-color: var(--brand);
}

.DLPPolicyTemplatesDialog .templateWarnings input[type="checkbox"]:checked {
    background-size: 10px;
}

.DLPPolicyTemplatesDialog input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Pie */
.DLPPolicyTemplatesDialog .DLPPTD_MainRightBottomButtons {
    display: flex;
    flex: none;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    padding: 14px 28px;
    background: #FAFBFD;
    border-top: 1px solid #EEF1F6;
}

.DLPPolicyTemplatesDialog .DLPPTD_MainRightBottomButtons a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none;
    height: 38px;
    margin: 0;
    padding: 0 18px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    color: #13203A;
    text-decoration: none;
    background: #ffffff none;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.DLPPolicyTemplatesDialog .DLPPTD_MainRightBottomButtons a.button:hover {
    background-color: #F3F6FA;
    border-color: #C9D3E0;
}

.DLPPolicyTemplatesDialog .DLPPTD_MainRightBottomButtons a.buttonAction {
    color: #ffffff;
    background: var(--brand) none;
    border-color: var(--brand);
}

.DLPPolicyTemplatesDialog .DLPPTD_MainRightBottomButtons a.buttonAction:hover {
    background-color: color-mix(in srgb, var(--brand) 75%, #000);
    border-color: color-mix(in srgb, var(--brand) 75%, #000);
}

@media (max-width: 760px) {
    .DLPPolicyTemplatesDialog .win10content {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr);
    }

    .DLPPolicyTemplatesDialog #DLPPTD_MainLeft {
        max-height: 180px;
        border-right: 0;
        border-bottom: 1px solid #EEF1F6;
    }
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom a[data-cat='general_data'] {
    --cat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1Z'/%3E%3C/svg%3E");
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom a[data-cat='general_mail'] {
    --cat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom a[data-cat='general_print'] {
    --cat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V2h12v7'/%3E%3Cpath d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/%3E%3Crect x='6' y='14' width='12' height='8' rx='1'/%3E%3C/svg%3E");
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom a[data-cat='general_certificates'] {
    --cat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='15.5' r='5.5'/%3E%3Cpath d='m21 2-9.6 9.6'/%3E%3Cpath d='m15.5 7.5 3 3L22 7l-3-3'/%3E%3C/svg%3E");
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom a[data-cat='general_folders'] {
    --cat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E");
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom a[data-cat='general_labels'] {
    --cat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.59 2.59A2 2 0 0 0 11.17 2H4a2 2 0 0 0-2 2v7.17a2 2 0 0 0 .59 1.41l8.7 8.7a2.43 2.43 0 0 0 3.42 0l6.58-6.58a2.43 2.43 0 0 0 0-3.42Z'/%3E%3Ccircle cx='7.5' cy='7.5' r='.5'/%3E%3C/svg%3E");
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom a[data-cat='general_cyberattack'] {
    --cat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E");
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom a[data-cat='general_force_encrypt'] {
    --cat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom a[data-cat='general_log'] {
    --cat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E");
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom a[data-cat='general_ai'] {
    --cat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.94 15.5A2 2 0 0 0 8.5 14.06l-6.14-1.58a.5.5 0 0 1 0-.96L8.5 9.94A2 2 0 0 0 9.94 8.5l1.58-6.14a.5.5 0 0 1 .96 0L14.06 8.5A2 2 0 0 0 15.5 9.94l6.14 1.58a.5.5 0 0 1 0 .96L15.5 14.06a2 2 0 0 0-1.44 1.44l-1.58 6.14a.5.5 0 0 1-.96 0z'/%3E%3Cpath d='M20 3v4'/%3E%3Cpath d='M22 5h-4'/%3E%3Cpath d='M4 17v2'/%3E%3Cpath d='M5 18H3'/%3E%3C/svg%3E");
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom a[data-cat='ens'] {
    --cat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E");
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom a[data-cat='iso27001'] {
    --cat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

/* --- Políticas DLP, fin paso 5a */

/* --- Políticas DLP, paso 5b: ventana "Condiciones de la política" (DLPPolicies_CreateOrEdit_Dialog.js) ---
   Ventana centrada con pie fijo (antes los botones quedaban fuera de la vista); cada bloque de condiciones es una
   tarjeta clara con su título encima; cada condición en una fila (tipo · valor · eliminar) con campos limpios;
   "Añadir condición" como enlace con icono y "Añadir condiciones alternativas" como botón discontinuo. */
.newDlpPolicyDialog.windowsStyleWindow {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    display: flex !important;
    flex-direction: column;
    width: min(880px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 48px);
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #ffffff;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(14, 26, 51, .22), 0 2px 8px rgba(14, 26, 51, .08);
    transform: translate(-50%, -50%);
}

.newDlpPolicyDialog.windowsStyleWindow[style*="display: none"] {
    display: none !important;
}

.newDlpPolicyDialog .windowsTitleBar {
    position: relative;
    flex: none;
    height: auto;
    padding: 22px 64px 18px 28px;
    background: #ffffff;
    border-bottom: 1px solid #EEF1F6;
    cursor: default;
}

.newDlpPolicyDialog .windowsTitleText {
    float: none;
    width: auto !important;
    margin: 0;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #0E1A33;
}

.newDlpPolicyDialog .windowsTitleText::after {
    content: "Define cuándo se aplica la política. Dentro de cada bloque deben cumplirse todas las condiciones.";
    display: block;
    margin-top: 4px;
    font-size: 13px;
    font-weight: 400;
    color: #69768C;
}

.newDlpPolicyDialog #windowButtons {
    position: absolute;
    top: 18px;
    right: 18px;
    float: none;
}

.newDlpPolicyDialog .windowCloseButton {
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    margin: 0;
    color: #69768C;
    background: none;
    border-radius: 8px;
}

.newDlpPolicyDialog .windowCloseButton img,
.newDlpPolicyDialog .DLPPolicyGroupDelete img,
.newDlpPolicyDialog .DLPPolicyConditionDelete img {
    display: none;
}

.newDlpPolicyDialog .windowCloseButton::before,
.newDlpPolicyDialog .DLPPolicyGroupDelete::before,
.newDlpPolicyDialog .DLPPolicyConditionDelete::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.newDlpPolicyDialog .windowCloseButton:hover {
    color: #0E1A33;
    background: #F1F4F9;
}

.newDlpPolicyDialog .win10windowWrapper {
    display: flex !important;
    flex-direction: column !important;
    flex: 1;
    min-height: 0;
    height: auto;
    padding: 0 !important;
}

.newDlpPolicyDialog .win10content {
    flex: 1;
    min-height: 0;
    height: auto !important;
    padding: 20px 28px 24px !important;
    overflow-y: auto;
    font-size: 13.5px;
    background: #ffffff;
}

.newDlpPolicyDialog p,
.newDlpPolicyDialog a {
    margin-left: 0;
}

/* Títulos de cada bloque */
.newDlpPolicyDialog .DLPPolicyGroupDescription {
    margin: 22px 0 8px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.4;
    color: #0E1A33;
}

.newDlpPolicyDialog .win10content > .DLPPolicyGroupDescription:first-child {
    margin-top: 0;
}

/* Nombre de la política (encima de las condiciones) */
.newDlpPolicyDialog .DLPPolicyNameField {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0 0 4px;
    font-size: 13.5px;
    font-weight: 600;
    color: #0E1A33;
}

.newDlpPolicyDialog .DLPPolicyNameField input {
    box-sizing: border-box;
    width: 100%;
    height: 38px;
    padding: 0 12px;
    font: 400 14px/1.4 proxima-nova, "Inter", sans-serif;
    color: #13203A;
    background: #FFFFFF;
    border: 1px solid #DCE3EE;
    border-radius: 8px;
    outline: none;
}

.newDlpPolicyDialog .DLPPolicyNameField input:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .15);
}

.newDlpPolicyDialog .DLPPolicyGroupDescription strong {
    font-weight: 700;
    color: var(--brand);
}

/* "Y además..." va entero en <strong>: sin color */
.newDlpPolicyDialog .DLPPolicyGroupDescription strong:only-child {
    font-weight: 600;
    color: inherit;
}

.newDlpPolicyDialog .win10content > .DLPPolicyGroupDescription:first-child strong {
    font-weight: 700;
    color: var(--brand);
}

/* Bloque de condiciones */
.newDlpPolicyDialog .DLPpolicyGroup {
    position: relative;
    margin: 0;
    padding: 14px 16px 10px;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
}

.newDlpPolicyDialog .DLPpolicyGroup > .clear {
    display: none;
}

.newDlpPolicyDialog .DLPPolicyGroupDelete {
    position: absolute;
    top: -38px;
    right: 0;
    float: none;
    width: 30px;
    height: 30px;
    color: #8E9AAD;
    border-radius: 7px;
}

.newDlpPolicyDialog .DLPPolicyGroupDelete:hover {
    color: #BE123C;
    background: #FFF1F3;
}

.newDlpPolicyDialog .DLPpolicyConditionField {
    float: none;
    width: auto;
}

/* Cada condición: tipo · valor · eliminar */
.newDlpPolicyDialog .DLPpolicyCondition {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) 32px;
    gap: 8px;
    align-items: start;
    margin: 0 0 8px;
}

.newDlpPolicyDialog .DLPpolicyCondition > .clear:not(.DLPPolicyRecommendation) {
    display: none;
}

.newDlpPolicyDialog .DLPpolicyCondition .DLPpolicyConditionSelect {
    grid-column: 1;
    grid-row: 1;
    float: none;
    width: 100%;
}

.newDlpPolicyDialog .DLPpolicyCondition .DLPpolicyConditionAuxDiv {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    gap: 8px;
    float: none;
    width: auto;
    min-width: 0;
}

.newDlpPolicyDialog .DLPpolicyCondition .DLPpolicyConditionAuxDiv:empty {
    display: block;
}

/* «Incluir ficheros cifrados (.cryx)» de «Fichero o portapapeles contiene»: en su propia línea, bajo el número y el tipo */
.newDlpPolicyDialog .DLPpolicyCondition .DLPpolicyConditionAuxDiv:has(.DLPPolicyIncludeEncrypted) {
    flex-wrap: wrap;
}

.newDlpPolicyDialog .DLPpolicyCondition .DLPPolicyIncludeEncrypted {
    flex-basis: 100%;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    color: #7A879C;
    cursor: pointer;
}

.newDlpPolicyDialog .DLPpolicyCondition .DLPPolicyIncludeEncrypted input {
    margin: 0;
}

/* Condición sin valor que explica a qué se aplica («El origen es una impresión») */
.newDlpPolicyDialog .DLPpolicyCondition .DLPConditionNote {
    align-self: center;
    font-size: 12.5px;
    color: #7A879C;
}

.newDlpPolicyDialog .DLPpolicyCondition .DLPPolicyConditionDelete {
    position: relative;
    grid-column: 3;
    grid-row: 1;
    display: block;
    width: 32px;
    height: 36px;
    color: #A3AEC0;
    border-radius: 7px;
}

.newDlpPolicyDialog .DLPpolicyCondition .DLPPolicyConditionDelete::before {
    inset: 10px 9px;
}

.newDlpPolicyDialog .DLPpolicyCondition .DLPPolicyConditionDelete:hover {
    color: #BE123C;
    background: #FFF1F3;
}

.newDlpPolicyDialog .DLPpolicyCondition .DLPPolicyRecommendation {
    grid-column: 1 / -1;
}

/* Campos */
.newDlpPolicyDialog select,
.newDlpPolicyDialog input[type="text"],
.newDlpPolicyDialog textarea {
    box-sizing: border-box;
    height: 36px;
    margin: 0;
    padding: 0 10px;
    font: inherit;
    font-size: 13.5px;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.newDlpPolicyDialog select {
    padding-right: 30px;
    -webkit-appearance: none;
    appearance: none;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 13px;
    cursor: pointer;
}

.newDlpPolicyDialog .DLPpolicyConditionSelect {
    font-weight: 600;
}

.newDlpPolicyDialog .DLPpolicyConditionAuxDiv input[type="text"] {
    float: none;
    flex: 1;
    min-width: 0;
}

.newDlpPolicyDialog .DLPpolicyConditionAuxDiv input[type="text"].inputNum {
    flex: none;
    width: 64px;
    text-align: center;
}

.newDlpPolicyDialog .DLPpolicyConditionAuxDiv select {
    flex: 1;
    float: none;
    width: auto;
    min-width: 0;
}

.newDlpPolicyDialog .DLPpolicyConditionAuxDiv textarea {
    flex: 1;
    width: 100%;
    height: 84px !important;
    min-height: 0 !important;
    padding: 8px 10px;
    line-height: 1.45;
    resize: vertical;
}

.newDlpPolicyDialog select:hover,
.newDlpPolicyDialog input[type="text"]:hover,
.newDlpPolicyDialog textarea:hover {
    border-color: #C9D3E0;
}

.newDlpPolicyDialog select:focus,
.newDlpPolicyDialog input[type="text"]:focus,
.newDlpPolicyDialog textarea:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

/* Horario: enlace como botón con reloj */
.newDlpPolicyDialog .DLPPolicySetScheduleTxt {
    margin: 0;
}

.newDlpPolicyDialog .DLPPolicySetSchedule {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none !important;
    background: color-mix(in srgb, var(--brand) 6%, #fff);
    border-radius: 8px;
}

.newDlpPolicyDialog .DLPPolicySetSchedule::before {
    content: "";
    flex: none;
    width: 15px;
    height: 15px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Recomendación de dominio (estilo en línea en el JS) */
.newDlpPolicyDialog .DLPPolicyRecommendation {
    position: relative;
    margin: 0 0 4px !important;
    padding: 10px 12px 10px 36px !important;
    font-size: 12.5px !important;
    line-height: 1.5;
    color: #92400E;
    background: #FFFBEB !important;
    border: 0 !important;
    border-radius: 8px !important;
}

.newDlpPolicyDialog .DLPPolicyRecommendation::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 12px;
    width: 15px;
    height: 15px;
    background: #D97706;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E") no-repeat center / contain;
}

.newDlpPolicyDialog .DLPPolicyRecommendation .addDomainConditionLink {
    margin-left: 4px;
    font-weight: 700;
    color: var(--brand);
}

/* Añadir condición / condiciones alternativas */
.newDlpPolicyDialog .DLPPolicyGroupAddCondition {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 2px 0 2px -6px;
    padding: 6px 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none !important;
    background: none;
    border-radius: 6px;
}

.newDlpPolicyDialog .DLPPolicyGroupAddCondition::before,
.newDlpPolicyDialog .DLPPolicyGroupAddConditionGroup::before {
    content: "";
    flex: none;
    width: 14px;
    height: 14px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center / contain;
}

.newDlpPolicyDialog .DLPPolicyGroupAddCondition:hover {
    background: color-mix(in srgb, var(--brand) 6%, #fff);
}

.newDlpPolicyDialog .DLPPolicyGroupAddConditionGroup {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 42px;
    margin: 4px 0 0;
    padding: 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none !important;
    background: none;
    border: 1px dashed #B9C6D8;
    border-radius: 12px;
}

.newDlpPolicyDialog .DLPPolicyGroupAddConditionGroup:hover {
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border-color: var(--brand);
}

/* "O bien..." que queda tras el último bloque sin bloque detrás: se oculta (sólo hace de texto del siguiente) */
.newDlpPolicyDialog #DLPpolicyOtherConditionsGroups > .DLPPolicyGroupDescription:has(+ .DLPPolicyGroupAddConditionGroup) {
    display: none;
}

/* Pie fijo */
.newDlpPolicyDialog .bottombuttons {
    display: flex;
    flex: none;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    padding: 14px 28px;
    background: #FAFBFD;
    border-top: 1px solid #EEF1F6;
}

.newDlpPolicyDialog .bottombuttons a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none;
    height: 38px;
    margin: 0;
    padding: 0 18px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    color: #13203A;
    text-decoration: none;
    background: #ffffff none;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.newDlpPolicyDialog .bottombuttons a.button:hover {
    background-color: #F3F6FA;
    border-color: #C9D3E0;
}

.newDlpPolicyDialog .bottombuttons a.buttonAction {
    color: #ffffff;
    background: var(--brand) none;
    border-color: var(--brand);
}

.newDlpPolicyDialog .bottombuttons a.buttonAction:hover {
    background-color: color-mix(in srgb, var(--brand) 75%, #000);
    border-color: color-mix(in srgb, var(--brand) 75%, #000);
}

.newDlpPolicyDialog > .clear {
    display: none;
}

@media (max-width: 760px) {
    .newDlpPolicyDialog .DLPpolicyCondition {
        grid-template-columns: minmax(0, 1fr) 32px;
    }

    .newDlpPolicyDialog .DLPpolicyCondition .DLPpolicyConditionAuxDiv {
        grid-column: 1;
        grid-row: 2;
    }
}

/* --- Políticas DLP, fin paso 5b */

/* --- Buscador de las listas de equipos y departamentos (UI.listSearch en UI.js) ---
   Ámbito de la política, Departamentos y Equipos del departamento. Campo como el de "Exportar configuración";
   cada ventana lo coloca en su bloque. */
.listSearchInput {
    box-sizing: border-box;
    width: 100%;
    height: 38px;
    margin: 0;
    padding: 0 12px 0 36px;
    font: inherit;
    font-size: 13.5px;
    color: #13203A;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2369768C' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 12px center / 15px;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.listSearchInput:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

.listSearchInput:disabled {
    background-color: #FAFBFD;
    cursor: default;
}

li.listSearchHidden {
    display: none !important;
}

li.listSearchEmpty,
li.listSearchEmpty:hover {
    padding: 14px 10px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #8E9AAD !important;
    background: none !important;
    cursor: default !important;
}

/* --- Buscador de listas, fin */

/* --- Políticas DLP, paso 5c: ventana "Ámbito de la política" (DLPPolicies_ScopeDialog.js) ---
   Las tres opciones (todos / ningún equipo / los siguientes) como opciones grandes con radio propio; Equipos y
   Departamentos como dos tarjetas con "Seleccionar todos" en la cabecera y casillas propias; pie fijo. */
.scopeDialog.windowsStyleWindow {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    display: flex !important;
    flex-direction: column;
    width: min(720px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 48px);
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #ffffff;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(14, 26, 51, .22), 0 2px 8px rgba(14, 26, 51, .08);
    transform: translate(-50%, -50%);
}

.scopeDialog.windowsStyleWindow[style*="display: none"] {
    display: none !important;
}

.scopeDialog .windowsTitleBar {
    position: relative;
    flex: none;
    height: auto;
    padding: 22px 64px 18px 28px;
    background: #ffffff;
    border-bottom: 1px solid #EEF1F6;
    cursor: default;
}

.scopeDialog .windowsTitleText {
    float: none;
    width: auto !important;
    margin: 0;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #0E1A33;
}

.scopeDialog .windowsTitleText::after {
    content: "Elige a qué equipos y departamentos se aplica esta política.";
    display: block;
    margin-top: 4px;
    font-size: 13px;
    font-weight: 400;
    color: #69768C;
}

.scopeDialog #windowButtons {
    position: absolute;
    top: 18px;
    right: 18px;
    float: none;
}

.scopeDialog .windowCloseButton {
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    margin: 0;
    color: #69768C;
    background: none;
    border-radius: 8px;
}

.scopeDialog .windowCloseButton img {
    display: none;
}

.scopeDialog .windowCloseButton::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.scopeDialog .windowCloseButton:hover {
    color: #0E1A33;
    background: #F1F4F9;
}

.scopeDialog .win10windowWrapper {
    display: flex !important;
    flex-direction: column !important;
    flex: 1;
    min-height: 0;
    height: auto;
    padding: 0 !important;
}

.scopeDialog .win10content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-content: start;
    flex: 1;
    min-height: 0;
    height: auto !important;
    padding: 20px 28px 24px !important;
    overflow-y: auto;
    font-size: 13.5px;
    background: #ffffff;
}

.scopeDialog .win10content > .clear,
.scopeDialog .SDPCSelectDiv > .clear {
    display: none;
}

/* Opciones de ámbito */
.scopeDialog fieldset {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
}

.scopeDialog legend {
    float: left;
    grid-column: 1 / -1;
    width: 100%;
    margin: 0 0 8px;
    padding: 0;
    font-size: 13.5px;
    font-weight: 600;
    color: #0E1A33;
}

.scopeDialog fieldset > div {
    margin: 0;
}

.scopeDialog fieldset label {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 100%;
    min-height: 46px;
    box-sizing: border-box;
    padding: 10px 14px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.3;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 10px;
    cursor: pointer;
}

.scopeDialog fieldset label:hover {
    border-color: #C9D3E0;
}

.scopeDialog fieldset label:has(input:checked) {
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border-color: var(--brand);
}

.scopeDialog input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    width: 18px;
    height: 18px;
    margin: 0;
    background: #ffffff;
    border: 1.5px solid #C2CCDA;
    border-radius: 50%;
    cursor: pointer;
}

.scopeDialog input[type="radio"]:checked {
    border: 5px solid var(--brand);
}

/* Listas de equipos y departamentos */
.scopeDialog .SDPCSelectDiv,
.scopeDialog #SDPCSelectDiv {
    display: flex;
    flex-direction: column;
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
}

.scopeDialog .SDPCSelectDiv > label {
    display: flex;
    align-items: center;
    gap: 10px;
    order: 0;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #13203A;
    background: #FAFBFD;
    border-bottom: 1px solid #EEF1F6;
    cursor: pointer;
}

.scopeDialog .SDList {
    float: none;
    width: auto;
    margin: 0;
    border: 0;
}

.scopeDialog .SDList .IAListTitle {
    display: none;
}

.scopeDialog .SDList .IAListContent {
    height: auto !important;
    max-height: 280px;
    padding: 6px;
    overflow-y: auto;
    background: #ffffff;
    border: 0 !important;
}

.scopeDialog .SDList ul {
    margin: 0;
    padding: 0;
}

.scopeDialog .SDList li {
    height: auto;
    padding: 0;
    line-height: normal;
    background: none !important;
    border: 0 !important;
}

.scopeDialog .SDList li label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    font-size: 13.5px;
    color: #13203A;
    border-radius: 7px;
    cursor: pointer;
}

.scopeDialog .SDList li label:hover {
    background: #F3F6FA;
}

.scopeDialog .SDList li label:has(input:checked) {
    font-weight: 600;
}

/* Lista desactivada (todos / ningún equipo): atenuada como antes */
.scopeDialog .SDDisabled {
    opacity: .45;
}

/* Buscador: debajo de las opciones, a lo ancho de las dos tarjetas */
.scopeDialog #SDSearch {
    grid-column: 1 / -1;
}

/* Casillas propias */
.scopeDialog input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    position: relative;
    width: 16px;
    height: 16px;
    margin: 0;
    background: #ffffff;
    border: 1.5px solid #C2CCDA;
    border-radius: 4px;
    cursor: pointer;
}

.scopeDialog input[type="checkbox"]:checked {
    background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") no-repeat center / 11px;
    border-color: var(--brand);
}

.scopeDialog input:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Pie fijo */
.scopeDialog .bottombuttons {
    display: flex;
    flex: none;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    padding: 14px 28px;
    background: #FAFBFD;
    border-top: 1px solid #EEF1F6;
}

.scopeDialog .bottombuttons a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none;
    height: 38px;
    margin: 0;
    padding: 0 18px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    color: #13203A;
    text-decoration: none;
    background: #ffffff none;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.scopeDialog .bottombuttons a.button:hover {
    background-color: #F3F6FA;
    border-color: #C9D3E0;
}

.scopeDialog .bottombuttons a.buttonAction {
    color: #ffffff;
    background: var(--brand) none;
    border-color: var(--brand);
}

.scopeDialog .bottombuttons a.buttonAction:hover {
    background-color: color-mix(in srgb, var(--brand) 75%, #000);
    border-color: color-mix(in srgb, var(--brand) 75%, #000);
}

.scopeDialog > .clear,
.scopeDialog .win10windowWrapper > .clear {
    display: none;
}

@media (max-width: 640px) {
    .scopeDialog .win10content,
    .scopeDialog fieldset {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* --- Políticas DLP, fin paso 5c */

/* --- Políticas DLP, paso 5d: ventana "Configurar alertas" (DLPPolicies_AlertsDialog.js) ---
   Dos bloques: "Aviso en el equipo" (pop-up al usuario, desbloqueo con contraseña y mensaje opcional) y "Avisar por
   email o SMS" (contactos de la agenda con casilla propia e icono de correo o móvil); pie fijo. */
.msgconfigDialog.windowsStyleWindow {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    display: flex !important;
    flex-direction: column;
    width: min(620px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 48px);
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #ffffff;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(14, 26, 51, .22), 0 2px 8px rgba(14, 26, 51, .08);
    transform: translate(-50%, -50%);
}

.msgconfigDialog.windowsStyleWindow[style*="display: none"] {
    display: none !important;
}

.msgconfigDialog .windowsTitleBar {
    position: relative;
    flex: none;
    height: auto;
    padding: 22px 64px 18px 28px;
    background: #ffffff;
    border-bottom: 1px solid #EEF1F6;
    cursor: default;
}

.msgconfigDialog .windowsTitleText {
    float: none;
    width: auto !important;
    margin: 0;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #0E1A33;
}

.msgconfigDialog .windowsTitleText::after {
    content: "Elige a quién se avisa cuando se cumple esta política.";
    display: block;
    margin-top: 4px;
    font-size: 13px;
    font-weight: 400;
    color: #69768C;
}

.msgconfigDialog #windowButtons {
    position: absolute;
    top: 18px;
    right: 18px;
    float: none;
}

.msgconfigDialog .windowCloseButton {
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    margin: 0;
    color: #69768C;
    background: none;
    border-radius: 8px;
}

.msgconfigDialog .windowCloseButton img {
    display: none;
}

.msgconfigDialog .windowCloseButton::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.msgconfigDialog .windowCloseButton:hover {
    color: #0E1A33;
    background: #F1F4F9;
}

.msgconfigDialog .win10windowWrapper {
    display: flex !important;
    flex-direction: column !important;
    flex: 1;
    min-height: 0;
    height: auto;
    padding: 0 !important;
}

.msgconfigDialog .win10content {
    flex: 1;
    min-height: 0;
    height: auto !important;
    padding: 20px 28px 24px !important;
    overflow-y: auto;
    font-size: 13.5px;
    background: #ffffff;
}

.msgconfigDialog .win10windowWrapper > .clear,
.msgconfigDialog > .clear,
.msgconfigDialog #MCDSelectDiv > .clear,
.msgconfigDialog #MCDSelectDiv br {
    display: none;
}

.msgconfigDialog #MCDSelectDiv {
    display: flex;
    flex-direction: column;
}

/* Bloque 1: aviso en el equipo */
.msgconfigDialog #MCDSelectDiv::before {
    content: "Aviso en el equipo";
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 700;
    color: #0E1A33;
}

.msgconfigDialog #MCDSelectDiv > label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    font-size: 13.5px;
    font-weight: 600;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 10px;
    cursor: pointer;
}

.msgconfigDialog #MCDSelectDiv > label:has(input:checked) {
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
}

.msgconfigDialog #MCDSelectDivSubCheck {
    margin: 8px 0 0 14px;
    padding-left: 14px;
    border-left: 2px solid #E3E9F1;
}

.msgconfigDialog #MCDSelectDivSubCheck label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    font-size: 13px;
    color: #3A475E;
    cursor: pointer;
}

.msgconfigDialog #MCDSelectDiv > p {
    margin: 16px 0 6px;
    font-size: 13px;
    font-weight: 600;
    color: #3A475E;
}

.msgconfigDialog #MCDCustomMessage {
    box-sizing: border-box;
    width: 100%;
    min-height: 84px;
    margin: 0;
    padding: 10px 12px;
    font: inherit;
    font-size: 13.5px;
    line-height: 1.5;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    resize: vertical;
}

.msgconfigDialog #MCDCustomMessage::placeholder {
    color: #A3AEC0;
}

.msgconfigDialog #MCDCustomMessage:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

/* Bloque 2: avisar por email o SMS (el segundo <p> hace de título) */
.msgconfigDialog #MCDSelectDiv > p:last-of-type {
    margin: 26px 0 10px;
    padding-top: 20px;
    font-size: 14px;
    font-weight: 700;
    color: #0E1A33;
    border-top: 1px solid #EEF1F6;
}

.msgconfigDialog #IAList {
    float: none;
    width: auto;
    height: auto !important;
    min-height: 0 !important;
    margin: 0;
    overflow: hidden;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
}

.msgconfigDialog #IAListTitle {
    display: none;
}

.msgconfigDialog #IAListContent {
    height: auto !important;
    min-height: 0 !important;
    max-height: 260px;
    padding: 6px;
    overflow-y: auto;
    border: 0 !important;
}

.msgconfigDialog #IAListContent ul {
    margin: 0;
    padding: 0;
}

.msgconfigDialog #IAListContent ul:empty::before {
    content: "No hay contactos en la agenda. Añádelos en Parámetros generales > Personalización > Agenda.";
    display: block;
    padding: 16px 10px;
    font-size: 13px;
    color: #8E9AAD;
}

.msgconfigDialog #IAListContent li {
    height: auto;
    padding: 0;
    line-height: normal;
    background: none !important;
    border: 0 !important;
}

.msgconfigDialog #IAListContent li label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    font-size: 13.5px;
    color: #13203A;
    border-radius: 7px;
    cursor: pointer;
}

.msgconfigDialog #IAListContent li label::after {
    content: "";
    flex: none;
    width: 16px;
    height: 16px;
    margin-left: auto;
    background: #A3AEC0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E") no-repeat center / contain;
}

.msgconfigDialog #IAListContent li label:has(.MCDPhoneCheckbox)::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2'/%3E%3Cpath d='M12 18h.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2'/%3E%3Cpath d='M12 18h.01'/%3E%3C/svg%3E");
}

.msgconfigDialog #IAListContent li label:hover {
    background: #F3F6FA;
}

.msgconfigDialog #IAListContent li label:has(input:checked) {
    font-weight: 600;
}

.msgconfigDialog #IAListContent li label:has(input:checked)::after {
    background: var(--brand);
}

/* Casillas propias */
.msgconfigDialog input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    position: relative;
    width: 16px;
    height: 16px;
    margin: 0;
    background: #ffffff;
    border: 1.5px solid #C2CCDA;
    border-radius: 4px;
    cursor: pointer;
}

.msgconfigDialog input[type="checkbox"]:checked {
    background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") no-repeat center / 11px;
    border-color: var(--brand);
}

.msgconfigDialog input:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Pie fijo */
.msgconfigDialog .bottombuttons {
    display: flex;
    flex: none;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    padding: 14px 28px;
    background: #FAFBFD;
    border-top: 1px solid #EEF1F6;
}

.msgconfigDialog .bottombuttons a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none;
    height: 38px;
    margin: 0;
    padding: 0 18px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    color: #13203A;
    text-decoration: none;
    background: #ffffff none;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.msgconfigDialog .bottombuttons a.button:hover {
    background-color: #F3F6FA;
    border-color: #C9D3E0;
}

.msgconfigDialog .bottombuttons a.buttonAction {
    color: #ffffff;
    background: var(--brand) none;
    border-color: var(--brand);
}

.msgconfigDialog .bottombuttons a.buttonAction:hover {
    background-color: color-mix(in srgb, var(--brand) 75%, #000);
    border-color: color-mix(in srgb, var(--brand) 75%, #000);
}

/* --- Políticas DLP, fin paso 5d */

/* --- Políticas DLP: configuración estándar RGPD (dlpPolicies.standardPack; paquete _dlpPoliciesTemplates/_packs) --- */
:root {
    --dlp-standard-pack: 1;
    --dlp-ai-templates: 1;
    --dlp-templates-all-pcs: 1;
}

/* Estado vacío: tres opciones; la estándar es la recomendada */
.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty {
    max-width: 1100px;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton.hasStandard {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmptySelectorStandard::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") !important;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmptySelectorStandard {
    border-color: color-mix(in srgb, var(--brand) 39%, #fff) !important;
    background: color-mix(in srgb, var(--brand) 3%, #fff) !important;
}

.ETSmenuPoliticasDLP .hasStandard #PDLPPoliciesGroupsEmptySelectorTemplate h3::after {
    display: none;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmptySelectorStandard h3::after {
    content: "Recomendado";
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 8px;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 6%, #fff);
    border-radius: 999px;
}

@media (max-width: 1100px) {
    .ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton.hasStandard {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Ventana de vista previa */
.DLPStandardDialog.windowsStyleWindow {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    display: flex !important;
    flex-direction: column;
    width: min(760px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 48px);
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #ffffff;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(14, 26, 51, .22), 0 2px 8px rgba(14, 26, 51, .08);
    transform: translate(-50%, -50%);
    z-index: 950;
}

.DLPStandardDialog.windowsStyleWindow[style*="display: none"] {
    display: none !important;
}

.DLPStandardDialog .windowsTitleBar {
    position: relative;
    flex: none;
    height: auto;
    padding: 22px 64px 16px 28px;
    background: #ffffff;
    border-bottom: 1px solid #EEF1F6;
}

.DLPStandardDialog .windowsTitleText {
    float: none;
    width: auto !important;
    max-width: none !important;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #0E1A33;
}

.DLPStandardDialog .windowsTitleText::before {
    content: "";
    flex: none;
    width: 22px;
    height: 22px;
    background: var(--brand);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") no-repeat center / contain;
}

.DLPStandardDialog #windowButtons {
    position: absolute;
    top: 18px;
    right: 18px;
    float: none;
}

.DLPStandardDialog .windowCloseButton {
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    color: #69768C;
    border-radius: 8px;
}

.DLPStandardDialog .windowCloseButton::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.DLPStandardDialog .windowCloseButton:hover {
    color: #0E1A33;
    background: #F1F4F9;
}

.DLPStandardDialog .win10windowWrapper {
    display: flex !important;
    flex-direction: column !important;
    flex: 1;
    min-height: 0;
    padding: 0 !important;
}

.DLPStandardDialog .win10content {
    flex: 1;
    min-height: 0;
    height: auto !important;
    padding: 18px 28px 22px !important;
    overflow-y: auto;
    font-size: 13.5px;
    background: #ffffff;
}

.DLPStandardDialog .DSSummary {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.5;
    color: #3A475E;
}

/* Nivel */
.DLPStandardDialog .DSLevels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 20px;
}

.DLPStandardDialog .DSLevel {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
    cursor: pointer;
}

.DLPStandardDialog .DSLevel:has(input:checked) {
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border-color: var(--brand);
}

.DLPStandardDialog .DSLevel input {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    background: #ffffff;
    border: 1.5px solid #C2CCDA;
    border-radius: 50%;
    cursor: pointer;
}

.DLPStandardDialog .DSLevel input:checked {
    border: 5px solid var(--brand);
}

.DLPStandardDialog .DSLevel span {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.DLPStandardDialog .DSLevel b {
    font-size: 14px;
    color: #0E1A33;
}

.DLPStandardDialog .DSLevel small {
    font-size: 12.5px;
    line-height: 1.45;
    color: #69768C;
}

/* Políticas que se crearán */
.DLPStandardDialog .DSListTitle {
    margin: 0 0 6px;
    font-size: 13px;
    font-weight: 600;
    color: #3A475E;
}

.DLPStandardDialog .DSList {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
}

.DLPStandardDialog .DSList li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    border-top: 1px solid #F1F4F8;
}

.DLPStandardDialog .DSList li:first-child {
    border-top: 0;
}

.DLPStandardDialog .DSItemText {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.DLPStandardDialog .DSItemText b {
    font-size: 13.5px;
    color: #0E1A33;
}

.DLPStandardDialog .DSItemText small {
    font-size: 12px;
    line-height: 1.4;
    color: #69768C;
}

.DLPStandardDialog .DSAction {
    flex: none;
    max-width: 46%;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
    text-align: right;
    color: #3A475E;
    background: #F1F4F8;
    border-radius: 999px;
}

.DLPStandardDialog .DSAction.isBlock {
    color: #ffffff;
    background: #1E3A5F;
}

.DLPStandardDialog .DSNotes {
    margin: 0;
    padding: 12px 14px 12px 38px;
    list-style: none;
    background: #F8FAFC;
    border-radius: 10px;
    position: relative;
}

.DLPStandardDialog .DSNotes::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 14px;
    width: 15px;
    height: 15px;
    background: #69768C;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") no-repeat center / contain;
}

.DLPStandardDialog .DSNotes li {
    margin: 0 0 4px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #5D6B82;
}

.DLPStandardDialog .DSNotes li:last-child {
    margin: 0;
}

.DLPStandardDialog .DSNotes b {
    color: #13203A;
}

.DLPStandardDialog .bottombuttons {
    display: flex;
    flex: none;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    padding: 14px 28px;
    background: #FAFBFD;
    border-top: 1px solid #EEF1F6;
}

.DLPStandardDialog .bottombuttons a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none;
    height: 38px;
    margin: 0;
    padding: 0 18px;
    font-size: 13.5px;
    font-weight: 600;
    color: #13203A;
    text-decoration: none;
    background: #ffffff none;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.DLPStandardDialog .bottombuttons a.button:hover {
    background-color: #F3F6FA;
}

.DLPStandardDialog .bottombuttons a.buttonAction {
    color: #ffffff;
    background: var(--brand) none;
    border-color: var(--brand);
}

.DLPStandardDialog .bottombuttons a.buttonAction:hover {
    background-color: color-mix(in srgb, var(--brand) 75%, #000);
    border-color: color-mix(in srgb, var(--brand) 75%, #000);
}

.DLPStandardDialog .bottombuttons a.isBusy {
    opacity: .6;
    pointer-events: none;
}

@media (max-width: 640px) {
    .DLPStandardDialog .DSLevels {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* En la ventana de plantillas: explicación del paquete y botón */
.DLPPolicyTemplatesDialog .DSPackIntro {
    margin-top: 12px;
}

.DLPPolicyTemplatesDialog .DSPackLevels {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}

.DLPPolicyTemplatesDialog .DSPackLevels li {
    padding: 12px 14px;
    margin-bottom: 8px;
    font-size: 14px;
    color: #0E1A33;
    background: #F8FAFC;
    border-radius: 10px;
}

.DLPPolicyTemplatesDialog .DSPackLevels small {
    display: block;
    margin-top: 4px;
    font-size: 12.5px;
    line-height: 1.45;
    color: #69768C;
}

.DLPPolicyTemplatesDialog .DSPackOpen {
    display: inline-flex;
    align-items: center;
    height: 38px;
    padding: 0 18px;
    font-size: 13.5px;
    font-weight: 600;
    color: #ffffff !important;
    text-decoration: none !important;
    background: var(--brand);
    border-radius: 8px;
}

.DLPPolicyTemplatesDialog .DSPackOpen:hover {
    background: color-mix(in srgb, var(--brand) 75%, #000);
}

.DLPPolicyTemplatesDialog #DLPPTD_MainLeftBottom a[data-cat='general_standard'] {
    --cat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

/* Varios paquetes, contactos de aviso y estado en la tabla */
.DLPStandardDialog .DSStep {
    margin: 18px 0 8px;
    font-size: 13px;
    font-weight: 700;
    color: #0E1A33;
}

.DLPStandardDialog .win10content > .DSStep:first-child {
    margin-top: 0;
}

.DLPStandardDialog .DSPacks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.DLPStandardDialog .DSPack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    padding: 12px 14px;
    font: inherit;
    text-align: left;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 10px;
    cursor: pointer;
}

.DLPStandardDialog .DSPack:hover {
    border-color: #C9D3E0;
}

.DLPStandardDialog .DSPack.isActive {
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border-color: var(--brand);
}

.DLPStandardDialog .DSPack b {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: #0E1A33;
}

.DLPStandardDialog .DSPack.isActive b {
    color: var(--brand);
}

.DLPStandardDialog .DSPack small {
    font-size: 12px;
    line-height: 1.4;
    color: #69768C;
}

.DLPStandardDialog .DSPack i,
.DLPStandardDialog .DSLevel i {
    display: inline-flex;
    align-items: center;
    height: 18px;
    padding: 0 7px;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 6%, #fff);
    border-radius: 999px;
}

.DLPStandardDialog .DSPack em {
    margin-top: 2px;
    font-size: 11.5px;
    font-style: normal;
    font-weight: 600;
    color: #1E3A5F;
}

.DLPStandardDialog .DSSummary {
    margin: 12px 0 0;
    font-size: 13.5px;
    color: #3A475E;
}

.DLPStandardDialog .DSApplied p {
    margin: 12px 0 0;
    padding: 10px 12px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #1E3A5F;
    background: color-mix(in srgb, var(--brand) 6%, #fff);
    border-radius: 8px;
}

.DLPStandardDialog .DSLevels {
    margin-bottom: 0;
}

.DLPStandardDialog .DSList {
    margin-bottom: 0;
}

.DLPStandardDialog .DSHint {
    margin: 0 0 8px;
    font-size: 12.5px;
    color: #69768C;
}

.DLPStandardDialog .DSContactList {
    margin: 0 0 8px;
    padding: 0;
    list-style: none;
    border: 1px solid #E3E9F1;
    border-radius: 10px;
}

.DLPStandardDialog .DSContactList li + li {
    border-top: 1px solid #F1F4F8;
}

.DLPStandardDialog .DSContactList label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    cursor: pointer;
}

.DLPStandardDialog .DSContactList span {
    display: flex;
    flex-direction: column;
}

.DLPStandardDialog .DSContactList b {
    font-size: 13px;
    color: #0E1A33;
}

.DLPStandardDialog .DSContactList small {
    font-size: 12px;
    color: #69768C;
}

.DLPStandardDialog .DSContact {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    width: 16px;
    height: 16px;
    margin: 0;
    background: #ffffff;
    border: 1.5px solid #C2CCDA;
    border-radius: 4px;
    cursor: pointer;
}

.DLPStandardDialog .DSContact:checked {
    background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") no-repeat center / 11px;
    border-color: var(--brand);
}

.DLPStandardDialog .DSContact:disabled {
    opacity: .4;
    cursor: not-allowed;
}

.DLPStandardDialog .DSNewContact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    gap: 8px;
}

.DLPStandardDialog .DSNewContact input {
    box-sizing: border-box;
    height: 36px;
    padding: 0 12px;
    font: inherit;
    font-size: 13.5px;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.DLPStandardDialog .DSNewContact input:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

/* «¿Cuándo ve el empleado un aviso?» en la vista previa de la configuración estándar */
.DLPStandardDialog .DSPopups {
    box-sizing: border-box;
    width: 100%;
    max-width: 420px;
    height: 36px;
    margin: 0 0 18px;
    padding: 0 10px;
    font: inherit;
    font-size: 13.5px;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.DLPStandardDialog .DSPopups:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

.DLPStandardDialog .DSAddContact {
    display: inline-block;
    margin-top: 2px;
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
}

.DLPStandardDialog .DSError {
    margin: 8px 0 0;
    font-size: 12.5px;
    font-weight: 600;
    color: #1E3A5F;
}

.DLPStandardDialog .DSNotes {
    margin-top: 18px;
}

/* Ventana de plantillas */
.DLPPolicyTemplatesDialog .DSPackAudience {
    margin: 8px 0 0;
    font-size: 13px;
    color: #69768C;
}

.DLPPolicyTemplatesDialog .DSPackLevels i {
    margin-left: 6px;
    padding: 1px 7px;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 6%, #fff);
    border-radius: 999px;
}

/* Cabecera del grupo de un paquete: estado y cambio de nivel */
.ETSmenuPoliticasDLP .PDLPStdTag {
    display: inline-flex;
    align-items: center;
    flex: none;
    height: 22px;
    margin-left: 4px;
    padding: 0 8px;
    font-size: 12px;
    font-weight: 600;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 6%, #fff);
    border-radius: 999px;
}

.ETSmenuPoliticasDLP .PDLPStdChange {
    flex: none;
    margin-left: 8px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
    white-space: nowrap;
}

.ETSmenuPoliticasDLP .PDLPStdChange:hover {
    text-decoration: underline;
}

@media (max-width: 640px) {
    .DLPStandardDialog .DSPacks,
    .DLPStandardDialog .DSNewContact {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* --- Configuración estándar RGPD, fin */

/* --- Políticas DLP: asistente (DLPPolicies_Wizard.js + DLPPolicies_WizardEngine.js; reglas en _dlpPoliciesTemplates/_wizard) --- */
:root {
    --dlp-wizard: 1;
}

/* Estado vacío: cuatro opciones en 2 × 2; el asistente es la recomendada */
.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton.hasWizard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmptySelectorWizard::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8a2 2 0 0 1-1.3 1.3L3 12l5.8 1.9a2 2 0 0 1 1.3 1.3L12 21l1.9-5.8a2 2 0 0 1 1.3-1.3L21 12l-5.8-1.9a2 2 0 0 1-1.3-1.3Z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8a2 2 0 0 1-1.3 1.3L3 12l5.8 1.9a2 2 0 0 1 1.3 1.3L12 21l1.9-5.8a2 2 0 0 1 1.3-1.3L21 12l-5.8-1.9a2 2 0 0 1-1.3-1.3Z'/%3E%3C/svg%3E") !important;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmptySelectorWizard {
    border-color: color-mix(in srgb, var(--brand) 39%, #fff) !important;
    background: color-mix(in srgb, var(--brand) 3%, #fff) !important;
}

.ETSmenuPoliticasDLP .hasWizard #PDLPPoliciesGroupsEmptySelectorStandard {
    border-color: #E3E9F1 !important;
    background: #ffffff !important;
}

.ETSmenuPoliticasDLP .hasWizard #PDLPPoliciesGroupsEmptySelectorStandard:hover {
    border-color: color-mix(in srgb, var(--brand) 39%, #fff) !important;
    background: color-mix(in srgb, var(--brand) 3%, #fff) !important;
}

.ETSmenuPoliticasDLP .hasWizard #PDLPPoliciesGroupsEmptySelectorStandard h3::after,
.ETSmenuPoliticasDLP .hasWizard #PDLPPoliciesGroupsEmptySelectorTemplate h3::after {
    display: none;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmptySelectorWizard h3::after {
    content: "Recomendado";
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 8px;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 6%, #fff);
    border-radius: 999px;
}

@media (max-width: 1100px) {
    .ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty .largeMenuButton.hasWizard {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Botón de la cabecera */
.ETSmenuPoliticasDLP #PDLPTopButtons #DLPPolicyWizardButton::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8a2 2 0 0 1-1.3 1.3L3 12l5.8 1.9a2 2 0 0 1 1.3 1.3L12 21l1.9-5.8a2 2 0 0 1 1.3-1.3L21 12l-5.8-1.9a2 2 0 0 1-1.3-1.3Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8a2 2 0 0 1-1.3 1.3L3 12l5.8 1.9a2 2 0 0 1 1.3 1.3L12 21l1.9-5.8a2 2 0 0 1 1.3-1.3L21 12l-5.8-1.9a2 2 0 0 1-1.3-1.3Z'/%3E%3C/svg%3E");
}

/* Ventana */
.DLPWizardDialog.windowsStyleWindow {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    display: flex !important;
    flex-direction: column;
    width: min(880px, calc(100vw - 32px)) !important;
    height: min(760px, calc(100vh - 48px)) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #ffffff;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(14, 26, 51, .22), 0 2px 8px rgba(14, 26, 51, .08);
    transform: translate(-50%, -50%);
    z-index: 950;
}

.DLPWizardDialog.windowsStyleWindow[style*="display: none"] {
    display: none !important;
}

.DLPWizardDialog .windowsTitleBar {
    position: relative;
    flex: none;
    height: auto;
    padding: 22px 64px 0 28px;
    background: #ffffff;
}

.DLPWizardDialog .windowsTitleText {
    float: none;
    width: auto !important;
    max-width: none !important;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #0E1A33;
}

.DLPWizardDialog .windowsTitleText::before {
    content: "";
    flex: none;
    width: 22px;
    height: 22px;
    background: var(--brand);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8a2 2 0 0 1-1.3 1.3L3 12l5.8 1.9a2 2 0 0 1 1.3 1.3L12 21l1.9-5.8a2 2 0 0 1 1.3-1.3L21 12l-5.8-1.9a2 2 0 0 1-1.3-1.3Z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3-1.9 5.8a2 2 0 0 1-1.3 1.3L3 12l5.8 1.9a2 2 0 0 1 1.3 1.3L12 21l1.9-5.8a2 2 0 0 1 1.3-1.3L21 12l-5.8-1.9a2 2 0 0 1-1.3-1.3Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.DLPWizardDialog #windowButtons {
    position: absolute;
    top: 18px;
    right: 18px;
    float: none;
}

.DLPWizardDialog .windowCloseButton {
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    color: #69768C;
    border-radius: 8px;
}

.DLPWizardDialog .windowCloseButton::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.DLPWizardDialog .windowCloseButton:hover {
    color: #0E1A33;
    background: #F1F4F9;
}

.DLPWizardDialog .win10windowWrapper {
    display: flex !important;
    flex-direction: column !important;
    flex: 1;
    min-height: 0;
    padding: 0 !important;
}

/* Pasos */
.DLPWizardDialog .DWSteps {
    display: flex;
    flex: none;
    gap: 4px;
    margin: 0;
    padding: 16px 28px 0;
    list-style: none;
    border-bottom: 1px solid #EEF1F6;
    overflow-x: auto;
    scrollbar-width: none;
}

.DLPWizardDialog .DWSteps li {
    flex: none;
}

.DLPWizardDialog .DWSteps a,
.DLPWizardDialog .DWSteps span {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px 12px 0;
    margin-right: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #8A96AA;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
}

.DLPWizardDialog .DWSteps i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    color: #8A96AA;
    background: #F1F4F8;
    border-radius: 50%;
    font-variant-numeric: tabular-nums;
}

.DLPWizardDialog .DWSteps i .DWIcon {
    width: 13px;
    height: 13px;
    stroke-width: 2.5;
}

.DLPWizardDialog .DWSteps .isDone a {
    color: #3A475E;
}

.DLPWizardDialog .DWSteps .isDone a:hover {
    color: var(--brand);
}

.DLPWizardDialog .DWSteps .isDone i {
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 6%, #fff);
}

.DLPWizardDialog .DWSteps .isCurrent span {
    color: #0E1A33;
    border-bottom-color: var(--brand);
}

.DLPWizardDialog .DWSteps .isCurrent i {
    color: #ffffff;
    background: var(--brand);
}

/* Cuerpo */
.DLPWizardDialog .DWBody {
    flex: 1;
    min-height: 0;
    height: auto !important;
    padding: 22px 28px 26px !important;
    overflow-y: auto;
    font-size: 13.5px;
    color: #3A475E;
    background: #ffffff;
}

.DLPWizardDialog .DWIcon {
    flex: none;
    width: 20px;
    height: 20px;
}

.DLPWizardDialog .DWQ {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 26px 0 10px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    color: #0E1A33;
}

.DLPWizardDialog .DWBody > .DWQ:first-child {
    margin-top: 0;
}

.DLPWizardDialog .DWQ .DWIcon {
    width: 18px;
    height: 18px;
    color: var(--brand);
}

.DLPWizardDialog .DWQ > span {
    font-size: 12px;
    font-weight: 500;
    color: #8A96AA;
}

/* El color va con !important porque la regla antigua «.win10content p { color: #222 !important }» (modalDialog.css)
   pintaba de negro todas las pistas del asistente */
.DLPWizardDialog .DWHint {
    margin: 8px 0 0;
    font-size: 12.5px;
    line-height: 1.5;
    color: #69768C !important;
}

.DLPWizardDialog .DWQ + .DWHint {
    margin: -4px 0 10px;
}

/* Aviso en ámbar (p. ej. «También en lo que sólo se registra»: puede ser molesto) */
.DLPWizardDialog .DWHint.isWarn {
    color: #8A5A00 !important;
}

/* Tarjetas (sector y nivel) */
.DLPWizardDialog .DWSectors {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

/* Tarjetas de sector compactas (14 sectores): icono a la izquierda, nombre y una línea de ayuda */
.DLPWizardDialog .DWSectors .DWCard {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    column-gap: 10px;
    row-gap: 1px;
    align-items: center;
    padding: 10px 12px;
}

.DLPWizardDialog .DWSectors .DWCard > svg {
    grid-row: span 2;
    width: 20px;
    height: 20px;
}

.DLPWizardDialog .DWSectors .DWCard b {
    font-size: 13px;
    line-height: 1.3;
}

.DLPWizardDialog .DWSectors .DWCard small {
    overflow: hidden;
    font-size: 11.5px;
    line-height: 1.35;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Configuración estándar: paquetes agrupados y descripción en una línea */
.DLPStandardDialog .DSPackGroup {
    grid-column: 1 / -1;
    margin: 6px 0 0;
    font-size: 12px;
    font-weight: 600;
    color: #5D6B82;
}

.DLPStandardDialog .DSPackGroup:first-child {
    margin-top: 0;
}

.DLPStandardDialog .DSPack {
    min-width: 0;
}

.DLPStandardDialog .DSPack small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Resumen del perfil del sector elegido */
.DLPWizardDialog .DWProfile {
    display: flex;
    gap: 12px;
    margin: 12px 0 4px;
    padding: 12px 16px;
    color: #3A475E;
    background: color-mix(in srgb, var(--brand) 5%, #fff);
    border: 1px solid color-mix(in srgb, var(--brand) 16%, #fff);
    border-radius: 12px;
}

.DLPWizardDialog .DWProfile > svg {
    flex: none;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    color: var(--brand);
}

.DLPWizardDialog .DWProfile b {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    color: #13203A;
}

.DLPWizardDialog .DWProfile ul {
    margin: 0;
    padding-left: 16px;
    font-size: 12.5px;
    line-height: 1.55;
}

.DLPWizardDialog .DWLevels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.DLPWizardDialog .DWCard {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-width: 0;
    padding: 14px 16px 16px;
    font: inherit;
    text-align: left;
    color: #3A475E;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease;
}

.DLPWizardDialog .DWCard:hover {
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
}

.DLPWizardDialog .DWCard:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.DLPWizardDialog .DWCard .DWIcon {
    width: 22px;
    height: 22px;
    margin-bottom: 6px;
    color: #69768C;
}

.DLPWizardDialog .DWCard b {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 14px;
    color: #0E1A33;
}

.DLPWizardDialog .DWCard small {
    font-size: 12.5px;
    line-height: 1.45;
    color: #69768C;
}

.DLPWizardDialog .DWCard i {
    display: inline-flex;
    align-items: center;
    height: 19px;
    padding: 0 7px;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 6%, #fff);
    border-radius: 999px;
}

.DLPWizardDialog .DWCard.isOn {
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border-color: var(--brand);
    box-shadow: inset 0 0 0 1px var(--brand);
}

.DLPWizardDialog .DWCard.isOn .DWIcon {
    color: var(--brand);
}

/* Chips (certificaciones, servicios) */
.DLPWizardDialog .DWChips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.DLPWizardDialog .DWChip {
    position: relative;
    cursor: pointer;
}

.DLPWizardDialog .DWChip input,
.DLPWizardDialog .DWSegmented input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
}

.DLPWizardDialog .DWChip span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 34px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 600;
    color: #3A475E;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 999px;
}

.DLPWizardDialog .DWChip input:checked + span {
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border-color: var(--brand);
}

.DLPWizardDialog .DWChip input:checked + span::before {
    content: "";
    width: 12px;
    height: 12px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / contain;
}

.DLPWizardDialog .DWChip input:focus-visible + span,
.DLPWizardDialog .DWSegmented input:focus-visible + span {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Control segmentado */
.DLPWizardDialog .DWSegmented {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 2px;
    padding: 3px;
    background: #F1F4F8;
    border-radius: 10px;
}

.DLPWizardDialog .DWSegmented label {
    position: relative;
    cursor: pointer;
}

.DLPWizardDialog .DWSegmented span {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 600;
    color: #5D6B82;
    border-radius: 8px;
}

.DLPWizardDialog .DWSegmented label:hover span {
    color: #0E1A33;
}

.DLPWizardDialog .DWSegmented input:checked + span {
    color: var(--brand);
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(14, 26, 51, .12);
}

/* Listas con casilla (datos, contactos) */
.DLPWizardDialog .DWList {
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
}

.DLPWizardDialog .DWList li + li {
    border-top: 1px solid #F1F4F8;
}

.DLPWizardDialog .DWList label {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    cursor: pointer;
}

.DLPWizardDialog .DWList label > span {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.DLPWizardDialog .DWList b {
    font-size: 13.5px;
    color: #0E1A33;
}

.DLPWizardDialog .DWList small {
    font-size: 12px;
    line-height: 1.45;
    color: #69768C;
}

.DLPWizardDialog .DWCount {
    flex: none;
    margin-left: auto;
    padding: 3px 9px;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    color: #1E3A5F;
    background: color-mix(in srgb, var(--brand) 6%, #fff);
    border-radius: 999px;
    font-variant-numeric: tabular-nums;
}

.DLPWizardDialog .DWList input[type=checkbox],
.DLPWizardDialog .DWPolicyHead input[type=checkbox] {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    width: 16px;
    height: 16px;
    margin: 0;
    background: #ffffff;
    border: 1.5px solid #C2CCDA;
    border-radius: 4px;
    cursor: pointer;
}

.DLPWizardDialog .DWList input[type=checkbox]:checked,
.DLPWizardDialog .DWPolicyHead input[type=checkbox]:checked {
    background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") no-repeat center / 11px;
    border-color: var(--brand);
}

.DLPWizardDialog .DWList input[type=checkbox]:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.DLPWizardDialog input[type=checkbox]:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Carpetas y extensiones */
.DLPWizardDialog .DWTags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.DLPWizardDialog .DWTags:focus-within {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

.DLPWizardDialog .DWTag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 26px;
    padding: 0 4px 0 10px;
    font-size: 12.5px;
    font-weight: 600;
    color: #13203A;
    background: #F1F4F8;
    border-radius: 6px;
}

.DLPWizardDialog .DWTagRemove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    font-size: 15px;
    line-height: 1;
    color: #69768C;
    text-decoration: none;
    border-radius: 4px;
}

.DLPWizardDialog .DWTagRemove:hover {
    color: #0E1A33;
    background: #E3E9F1;
}

.DLPWizardDialog .DWTagInput {
    flex: 1;
    min-width: 180px;
    height: 28px;
    padding: 0 4px;
    font: inherit;
    font-size: 13px;
    color: #13203A;
    background: transparent;
    border: 0;
    outline: none;
}

.DLPWizardDialog .DWTagAdd,
.DLPWizardDialog .DWAddContact {
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
}

.DLPWizardDialog .DWTagAdd {
    padding: 0 6px;
}

.DLPWizardDialog .DWSuggest {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.DLPWizardDialog .DWAddSuggest {
    padding: 3px 9px;
    font-size: 12px;
    font-weight: 600;
    color: #5D6B82;
    text-decoration: none;
    border: 1px dashed #C9D3E0;
    border-radius: 6px;
}

.DLPWizardDialog .DWAddSuggest:hover {
    color: var(--brand);
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
}

/* Interruptor */
.DLPWizardDialog .DWSwitch {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}

.DLPWizardDialog .DWSwitch > span {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.DLPWizardDialog .DWSwitch b {
    font-size: 13.5px;
    color: #0E1A33;
}

.DLPWizardDialog .DWSwitch small {
    font-size: 12px;
    color: #69768C;
}

.DLPWizardDialog .DWSwitch input {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    flex: none;
    width: 34px;
    height: 20px;
    margin: 1px 0 0;
    background: #C9D3E0;
    border-radius: 999px;
    cursor: pointer;
    transition: background-color .15s ease;
}

.DLPWizardDialog .DWSwitch input::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .2);
    transition: transform .15s ease;
}

.DLPWizardDialog .DWSwitch input:checked {
    background: var(--brand);
}

.DLPWizardDialog .DWSwitch input:checked::after {
    transform: translateX(14px);
}

/* Avisos */
.DLPWizardDialog .DWContacts {
    margin-bottom: 8px;
}

.DLPWizardDialog .DWNewContact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    gap: 8px;
    margin-bottom: 8px;
}

.DLPWizardDialog .DWNewContact input {
    box-sizing: border-box;
    height: 36px;
    padding: 0 12px;
    font: inherit;
    font-size: 13.5px;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.DLPWizardDialog .DWNewContact input:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

.DLPWizardDialog .DWPreview {
    margin: 10px 0 0;
    padding: 10px 14px;
    font-size: 13px;
    line-height: 1.5;
    color: #3A475E;
    background: #F8FAFC;
    border-left: 3px solid #C9D8F0;
    border-radius: 0 8px 8px 0;
}

/* Revisión */
.DLPWizardDialog .DWNotice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 12px;
    padding: 12px 14px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #3A475E;
    background: #F8FAFC;
    border-radius: 10px;
}

.DLPWizardDialog .DWNotice .DWIcon {
    width: 16px;
    height: 16px;
    margin-top: 1px;
    color: #69768C;
}

.DLPWizardDialog .DWNotice ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.DLPWizardDialog .DWNotice li + li {
    margin-top: 4px;
}

.DLPWizardDialog .DWNotice.isError {
    color: #7A271A;
    background: #FEF3F2;
}

.DLPWizardDialog .DWNotice.isError .DWIcon {
    color: #B42318;
}

.DLPWizardDialog .DWNotice.isError b {
    display: block;
    margin-bottom: 4px;
    color: #7A271A;
}

.DLPWizardDialog .DWGroup {
    margin-top: 18px;
}

.DLPWizardDialog .DWGroup h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    font-size: 13.5px;
    font-weight: 700;
    color: #0E1A33;
}

.DLPWizardDialog .DWGroup h4 span {
    padding: 1px 8px;
    font-size: 11.5px;
    font-weight: 600;
    color: #5D6B82;
    background: #F1F4F8;
    border-radius: 999px;
}

.DLPWizardDialog .DWPolicies {
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
}

.DLPWizardDialog .DWPolicy + .DWPolicy {
    border-top: 1px solid #F1F4F8;
}

.DLPWizardDialog .DWPolicyHead {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px 4px;
    cursor: pointer;
}

.DLPWizardDialog .DWPolicyTitle {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.DLPWizardDialog .DWPolicyTitle b {
    font-size: 13.5px;
    color: #0E1A33;
}

.DLPWizardDialog .DWPolicyTitle small {
    font-size: 12px;
    color: #69768C;
}

.DLPWizardDialog .DWEffect {
    flex: none;
    margin-left: auto;
    max-width: 44%;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
    text-align: right;
    color: #3A475E;
    background: #F1F4F8;
    border-radius: 999px;
}

.DLPWizardDialog .DWEffect.is-avisar {
    color: color-mix(in srgb, var(--data) 78%, #000);
    background: color-mix(in srgb, var(--data) 6%, #fff);
}

.DLPWizardDialog .DWEffect.is-cifrar {
    color: #1E3A5F;
    background: #E3EBF7;
}

.DLPWizardDialog .DWEffect.is-bloquear {
    color: #ffffff;
    background: #1E3A5F;
}

.DLPWizardDialog .DWPolicy details {
    padding: 0 14px 10px 42px;
}

.DLPWizardDialog .DWPolicy summary {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: var(--brand);
    cursor: pointer;
    list-style: none;
}

.DLPWizardDialog .DWPolicy summary::-webkit-details-marker {
    display: none;
}

.DLPWizardDialog .DWPolicy summary::after {
    content: " ›";
}

.DLPWizardDialog .DWPolicy details[open] summary::after {
    content: " ⌄";
}

.DLPWizardDialog .DWPolicy details ul {
    margin: 6px 0 0;
    padding: 0 0 0 16px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #3A475E;
}

.DLPWizardDialog .DWPolicy.isOff .DWPolicyTitle,
.DLPWizardDialog .DWPolicy.isOff .DWEffect,
.DLPWizardDialog .DWPolicy.isOff details {
    opacity: .45;
}

.DLPWizardDialog .DWEmpty {
    padding: 24px;
    text-align: center;
    color: #69768C;
    border: 1px dashed #D9E1EC;
    border-radius: 12px;
}

.DLPWizardDialog .DWLegal {
    margin: 22px 0 0;
    padding-top: 14px;
    font-size: 12px;
    line-height: 1.5;
    color: #8A96AA;
    border-top: 1px solid #EEF1F6;
}

/* Pie */
.DLPWizardDialog .DWFoot {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    padding: 14px 28px;
    background: #FAFBFD;
    border-top: 1px solid #EEF1F6;
}

.DLPWizardDialog .DWFootNote,
.DLPWizardDialog .DWStepError {
    flex: 1;
    min-width: 0;
    margin: 0;
    text-align: left;
    font-size: 12.5px;
    line-height: 1.4;
    color: #8A96AA;
}

.DLPWizardDialog .DWStepError {
    font-weight: 600;
    color: #B42318;
}

.DLPWizardDialog .DWStepError:not([style*="none"]) ~ .DWFootNote {
    display: none;
}

.DLPWizardDialog .DWFoot a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    float: none;
    height: 38px;
    margin: 0;
    padding: 0 18px;
    font-size: 13.5px;
    font-weight: 600;
    color: #13203A;
    text-decoration: none;
    background: #ffffff none;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.DLPWizardDialog .DWFoot a.button:hover {
    background-color: #F3F6FA;
}

.DLPWizardDialog .DWFoot a.buttonAction {
    color: #ffffff;
    background: var(--brand) none;
    border-color: var(--brand);
}

.DLPWizardDialog .DWFoot a.buttonAction:hover {
    background-color: color-mix(in srgb, var(--brand) 75%, #000);
    border-color: color-mix(in srgb, var(--brand) 75%, #000);
}

.DLPWizardDialog .DWFoot a.isDisabled,
.DLPWizardDialog .DWFoot a.isBusy {
    opacity: .45;
    pointer-events: none;
}

@media (max-width: 760px) {
    .DLPWizardDialog .DWSectors {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .DLPWizardDialog .DWLevels,
    .DLPWizardDialog .DWNewContact {
        grid-template-columns: minmax(0, 1fr);
    }

    .DLPWizardDialog .DWFootNote {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .DLPWizardDialog .DWCard,
    .DLPWizardDialog .DWSwitch input,
    .DLPWizardDialog .DWSwitch input::after {
        transition: none;
    }
}

/* Paso «Horario y excepciones» y respuestas guardadas */
.DLPWizardDialog .DWOptional {
    margin: 0 0 4px;
}

.DLPWizardDialog .DWNotice a {
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
}

.DLPWizardDialog .DWSchedule {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 16px;
    margin: 12px 0 0 46px;
}

.DLPWizardDialog .DWDays {
    gap: 6px;
}

.DLPWizardDialog .DWDay span {
    justify-content: center;
    width: 36px;
    padding: 0;
}

.DLPWizardDialog .DWDay input:checked + span::before {
    display: none;
}

.DLPWizardDialog .DWTime {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #5D6B82;
}

.DLPWizardDialog .DWTime input {
    box-sizing: border-box;
    height: 34px;
    padding: 0 10px;
    font: inherit;
    font-size: 13.5px;
    font-weight: 500;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    font-variant-numeric: tabular-nums;
}

.DLPWizardDialog .DWTime input:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

.DLPWizardDialog .DWChip em {
    font-size: 11.5px;
    font-style: normal;
    font-weight: 600;
    color: #8A96AA;
}

.DLPWizardDialog .DWPcPicker {
    margin-top: 10px;
}

.DLPWizardDialog .DWPcPicker summary {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    cursor: pointer;
    list-style: none;
}

.DLPWizardDialog .DWPcPicker summary::-webkit-details-marker {
    display: none;
}

.DLPWizardDialog .DWPcPicker summary::after {
    content: " ›";
}

.DLPWizardDialog .DWPcPicker[open] summary::after {
    content: " ⌄";
}

.DLPWizardDialog .DWPcSearch {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 34px;
    margin: 8px 0 6px;
    padding: 0 12px;
    font: inherit;
    font-size: 13px;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.DLPWizardDialog .DWPcSearch:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

.DLPWizardDialog .DWPcList {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px 12px;
    max-height: 180px;
    margin: 0;
    padding: 8px 10px;
    overflow-y: auto;
    list-style: none;
    border: 1px solid #E3E9F1;
    border-radius: 10px;
}

.DLPWizardDialog .DWPcList label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 0;
    overflow: hidden;
    font-size: 12.5px;
    color: #13203A;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.DLPWizardDialog .DWPcList input {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    width: 15px;
    height: 15px;
    margin: 0;
    background: #ffffff;
    border: 1.5px solid #C2CCDA;
    border-radius: 4px;
    cursor: pointer;
}

.DLPWizardDialog .DWPcList input:checked {
    background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") no-repeat center / 10px;
    border-color: var(--brand);
}

.DLPWizardDialog .DWAddProc {
    padding: 3px 9px;
    font-size: 12px;
    font-weight: 600;
    color: #5D6B82;
    text-decoration: none;
    border: 1px dashed #C9D3E0;
    border-radius: 6px;
}

.DLPWizardDialog .DWAddProc:hover {
    color: var(--brand);
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
}

@media (max-width: 760px) {
    .DLPWizardDialog .DWSchedule {
        margin-left: 0;
    }

    .DLPWizardDialog .DWPcList {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Aviso para subir de nivel (Políticas DLP, encima de los grupos) */
.ETSmenuPoliticasDLP #DWReminder {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    padding: 12px 16px;
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border: 1px solid color-mix(in srgb, var(--brand) 19%, #fff);
    border-radius: 12px;
}

.ETSmenuPoliticasDLP #DWReminder .DWIcon {
    flex: none;
    width: 18px;
    height: 18px;
    color: var(--brand);
}

.ETSmenuPoliticasDLP #DWReminder p {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #13203A;
}

.ETSmenuPoliticasDLP #DWReminder .DWReminderGo {
    flex: none;
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 600;
    color: #ffffff;
    text-decoration: none;
    background: var(--brand);
    border-radius: 8px;
}

.ETSmenuPoliticasDLP #DWReminder .DWReminderGo:hover {
    background: color-mix(in srgb, var(--brand) 75%, #000);
}

.ETSmenuPoliticasDLP #DWReminder .DWReminderLater {
    flex: none;
    font-size: 13px;
    font-weight: 600;
    color: #5D6B82;
    text-decoration: none;
}

.ETSmenuPoliticasDLP #DWReminder .DWReminderLater:hover {
    color: #13203A;
}

@media (max-width: 900px) {
    .ETSmenuPoliticasDLP #DWReminder {
        flex-wrap: wrap;
    }
}

/* Estado vacío tras borrar todas las políticas: falta sincronizar (dlpPolicies.renderDLPConditions) */
.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty #PDLPPendingDelete {
    max-width: none;
    margin: 0 0 16px;
    font-weight: 400;
    padding: 12px 16px;
    font-size: 13px;
    line-height: 1.5;
    color: #13203A;
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border: 1px solid color-mix(in srgb, var(--brand) 19%, #fff);
    border-radius: 12px;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty #PDLPPendingDelete b {
    font-weight: 700;
}

/* Estado vacío con el asistente en el centro (dlpWizard.renderHero): tarjeta dividida (texto | ilustración SVG con
   tarjetas flotantes) y, debajo, las otras formas de empezar como tarjetas */
.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty.hasHero {
    max-width: 1180px;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 0;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty.hasHero > p:not(#PDLPPendingDelete),
.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty.hasHero > .largeMenuButton {
    display: none !important;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty.hasHero #PDLPPendingDelete {
    box-sizing: border-box;
    max-width: none;
    margin: 8px 0 16px;
}

.ETSmenuPoliticasDLP #DWHero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    box-sizing: border-box;
    min-height: 400px;
    margin: 24px 0 0;
    padding: 44px 32px 44px 56px;
    overflow: hidden;
    background:
        radial-gradient(60% 90% at 78% 45%, color-mix(in srgb, var(--brand) 11%, #fff) 0%, rgba(227, 237, 255, 0) 70%),
        linear-gradient(135deg, #FFFFFF 0%, color-mix(in srgb, var(--brand) 2%, #fff) 50%, color-mix(in srgb, var(--brand) 5%, #fff) 100%);
    border: 1px solid #E3E9F1;
    border-radius: 24px;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .04), 0 16px 40px rgba(30, 64, 140, .08);
}

/* Texto */
.ETSmenuPoliticasDLP #DWHero .DWHeroCopy {
    position: relative;
    z-index: 1;
    text-align: left;
}

.ETSmenuPoliticasDLP #DWHero .DWHeroIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 22px;
    color: var(--brand);
    background: #ffffff;
    border: 1px solid color-mix(in srgb, var(--brand) 14%, #fff);
    border-radius: 14px;
    box-shadow: 0 6px 16px rgb(var(--brand-rgb) / .12);
}

.ETSmenuPoliticasDLP #DWHero .DWHeroIcon .DWIcon {
    width: 24px;
    height: 24px;
}

.ETSmenuPoliticasDLP #DWHero h2 {
    max-width: 520px;
    margin: 0;
    padding: 0;
    text-align: left;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #0E1A33;
    text-wrap: balance;
}

.ETSmenuPoliticasDLP #DWHero .DWHeroText {
    max-width: 520px;
    margin: 14px 0 0;
    font-size: 15.5px;
    line-height: 1.6;
    color: #4E5B72;
}

.ETSmenuPoliticasDLP #DWHero .DWHeroData {
    margin: 18px 0 0;
}

.ETSmenuPoliticasDLP #DWHero .DWHeroDataTitle,
.ETSmenuPoliticasDLP #DWHero .DWHeroEmptyData {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #69768C;
}

.ETSmenuPoliticasDLP #DWHero .DWHeroDataTitle {
    margin-bottom: 8px;
    font-weight: 600;
}

.ETSmenuPoliticasDLP #DWHero .DWHeroData ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ETSmenuPoliticasDLP #DWHero .DWHeroData li {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    min-width: 72px;
    height: 32px;
    box-sizing: border-box;
    padding: 6px 12px;
    font-size: 13px;
    color: #5D6B82;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 999px;
}

.ETSmenuPoliticasDLP #DWHero .DWHeroData li b {
    font-size: 14px;
    font-weight: 700;
    color: #0E1A33;
    font-variant-numeric: tabular-nums;
}

.ETSmenuPoliticasDLP #DWHero .DWHeroData ul.isLoading li {
    min-width: 96px;
    background: linear-gradient(90deg, #F1F4F8 0%, #F8FAFC 50%, #F1F4F8 100%);
    background-size: 200% 100%;
    border-color: transparent;
    animation: DWHeroLoading 1.2s ease-in-out infinite;
}

@keyframes DWHeroLoading {
    from { background-position: 100% 0; }
    to { background-position: -100% 0; }
}

.ETSmenuPoliticasDLP #DWHero .DWHeroStart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 52px;
    margin-top: 26px;
    padding: 0 30px;
    font-size: 15.5px;
    font-weight: 600;
    color: #ffffff;
    text-decoration: none;
    background: var(--brand);
    border-radius: 12px;
    box-shadow: 0 8px 20px rgb(var(--brand-rgb) / .28);
    transition: background-color .15s ease, box-shadow .15s ease;
}

.ETSmenuPoliticasDLP #DWHero .DWHeroStart::after {
    content: "";
    width: 17px;
    height: 17px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
    transition: transform .15s ease;
}

.ETSmenuPoliticasDLP #DWHero .DWHeroStart:hover {
    background: color-mix(in srgb, var(--brand) 75%, #000);
    box-shadow: 0 10px 24px rgba(0, 86, 179, .3);
}

.ETSmenuPoliticasDLP #DWHero .DWHeroStart:hover::after {
    transform: translateX(3px);
}

.ETSmenuPoliticasDLP #DWHero .DWHeroStart:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 3px;
}

.ETSmenuPoliticasDLP #DWHero .DWHeroNote {
    margin: 12px 0 0;
    font-size: 13px;
    color: #8A96AA;
}

/* Ilustración */
.ETSmenuPoliticasDLP #DWHero .DWHeroArt {
    position: relative;
    align-self: stretch;
    min-height: 330px;
}

.ETSmenuPoliticasDLP #DWHero .DWHeroSvg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(100%, 440px);
    height: auto;
    transform: translate(-50%, -50%);
}

.ETSmenuPoliticasDLP #DWHero .DWFloat {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px 10px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    color: #13203A;
    white-space: nowrap;
    background: rgba(255, 255, 255, .86);
    border: 1px solid rgba(255, 255, 255, .95);
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(30, 64, 140, .14), 0 1px 2px rgba(14, 26, 51, .06);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.ETSmenuPoliticasDLP #DWHero .DWFloat > .DWIcon {
    width: 22px;
    height: 22px;
    color: var(--brand);
}

.ETSmenuPoliticasDLP #DWHero .DWFloat i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 20px;
    height: 20px;
    margin-left: 6px;
    color: #ffffff;
    background: #12A27A;
    border-radius: 50%;
}

.ETSmenuPoliticasDLP #DWHero .DWFloat i .DWIcon {
    width: 12px;
    height: 12px;
    stroke-width: 3;
}

.ETSmenuPoliticasDLP #DWHero .DWFloat.isData {
    top: 6%;
    left: 4%;
    transform: rotate(-5deg);
}

.ETSmenuPoliticasDLP #DWHero .DWFloat.isWho {
    top: 14%;
    right: 0;
    transform: rotate(4deg);
}

.ETSmenuPoliticasDLP #DWHero .DWFloat.isWhat {
    top: 60%;
    right: 2%;
    transform: rotate(-4deg);
}

/* Otras formas de empezar */
.ETSmenuPoliticasDLP #DWHeroOthers {
    margin: 30px 0 0;
}

.ETSmenuPoliticasDLP #DWHeroOthers h3 {
    margin: 0 0 14px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    color: #5D6B82;
}

.ETSmenuPoliticasDLP #DWHeroOthers .DWOthers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}

.ETSmenuPoliticasDLP #DWHeroOthers .DWOther {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 18px 18px 20px;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .03);
    transition: border-color .15s ease, box-shadow .15s ease;
}

.ETSmenuPoliticasDLP #DWHeroOthers .DWOther:hover {
    border-color: color-mix(in srgb, var(--brand) 27%, #fff);
    box-shadow: 0 8px 20px rgba(30, 64, 140, .08);
}

.ETSmenuPoliticasDLP #DWHeroOthers .DWOther:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.ETSmenuPoliticasDLP #DWHeroOthers .DWOtherIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 52px;
    height: 52px;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 7%, #fff);
    border-radius: 14px;
}

.ETSmenuPoliticasDLP #DWHeroOthers .DWOtherIcon.isAlt {
    color: #6D5BEF;
    background: #F2EFFF;
}

.ETSmenuPoliticasDLP #DWHeroOthers .DWOtherIcon .DWIcon {
    width: 24px;
    height: 24px;
}

.ETSmenuPoliticasDLP #DWHeroOthers .DWOtherText {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.ETSmenuPoliticasDLP #DWHeroOthers .DWOtherText b {
    font-size: 15px;
    font-weight: 700;
    color: color-mix(in srgb, var(--brand) 78%, #000);
}

.ETSmenuPoliticasDLP #DWHeroOthers .DWOtherText small {
    font-size: 13px;
    line-height: 1.45;
    color: #69768C;
}

.ETSmenuPoliticasDLP #DWHeroOthers .DWOther > .DWIcon {
    flex: none;
    width: 18px;
    height: 18px;
    color: color-mix(in srgb, var(--brand) 78%, #000);
    transition: transform .15s ease;
}

.ETSmenuPoliticasDLP #DWHeroOthers .DWOther:hover > .DWIcon {
    transform: translateX(3px);
}

@media (max-width: 1200px) {
    .ETSmenuPoliticasDLP #DWHero {
        padding-left: 40px;
    }

    .ETSmenuPoliticasDLP #DWHero h2 {
        font-size: 30px;
    }
}

@media (max-width: 980px) {
    .ETSmenuPoliticasDLP #DWHero {
        grid-template-columns: minmax(0, 1fr);
        padding: 36px 28px;
    }

    .ETSmenuPoliticasDLP #DWHero .DWHeroArt {
        display: none;
    }
}

@media (max-height: 820px) {
    .ETSmenuPoliticasDLP #PDLPPoliciesGroupsEmpty.hasHero {
        padding-top: 0;
    }

    .ETSmenuPoliticasDLP #DWHero {
        min-height: 340px;
        margin-top: 12px;
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .ETSmenuPoliticasDLP #DWHero .DWHeroIcon {
        width: 46px;
        height: 46px;
        margin-bottom: 16px;
    }

    .ETSmenuPoliticasDLP #DWHero h2 {
        font-size: 30px;
    }

    .ETSmenuPoliticasDLP #DWHero .DWHeroStart {
        height: 48px;
        margin-top: 20px;
    }

    .ETSmenuPoliticasDLP #DWHero .DWHeroArt {
        min-height: 280px;
    }

    .ETSmenuPoliticasDLP #DWHero .DWHeroSvg {
        width: min(100%, 370px);
    }

    .ETSmenuPoliticasDLP #DWHeroOthers {
        margin-top: 20px;
    }

    .ETSmenuPoliticasDLP #DWHeroOthers .DWOther {
        padding: 14px 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ETSmenuPoliticasDLP #DWHero .DWHeroData ul.isLoading li {
        animation: none;
    }

    .ETSmenuPoliticasDLP #DWHero .DWHeroStart,
    .ETSmenuPoliticasDLP #DWHero .DWHeroStart::after,
    .ETSmenuPoliticasDLP #DWHeroOthers .DWOther,
    .ETSmenuPoliticasDLP #DWHeroOthers .DWOther > .DWIcon {
        transition: none;
    }
}

/* Fondo de la pantalla sin políticas: capa fija detrás de la zona de contenido (de la barra lateral al borde, bajo la
   cabecera) con degradados blancos y azules. Sólo con body.DWHeroPage y dentro de Políticas DLP */
.DWHeroPage #DWHeroBg {
    position: fixed;
    top: 56px;
    right: 0;
    bottom: 0;
    left: 172px;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, #FFFFFF 0, rgba(255, 255, 255, 0) 160px),
        linear-gradient(180deg, #FFFFFF 0, rgba(255, 255, 255, 0) 90px),
        radial-gradient(900px 560px at 80% 12%, rgba(190, 216, 255, .55) 0%, rgba(190, 216, 255, 0) 70%),
        radial-gradient(760px 520px at 8% 92%, rgba(214, 208, 255, .35) 0%, rgba(214, 208, 255, 0) 70%),
        radial-gradient(1000px 640px at 48% 58%, rgba(226, 237, 255, .7) 0%, rgba(226, 237, 255, 0) 72%),
        linear-gradient(180deg, #FFFFFF 0%, color-mix(in srgb, var(--brand) 4%, #fff) 40%, color-mix(in srgb, var(--brand) 7%, #fff) 100%);
}

body.menuCollapsed.DWHeroPage #DWHeroBg {
    left: 68px;
}

#DWHeroBg {
    display: none;
}

.DWHeroPage #DWHeroBg {
    display: block;
}

/* El contenido del apartado por encima de la capa */
.DWHeroPage #DWHeroBg ~ * {
    position: relative;
    z-index: 1;
}

/* Sobre el degradado, las tarjetas un poco más marcadas */
/* Sobre el degradado, sin recuadros: el bloque y las otras formas de empezar se integran con el fondo. Las otras
   formas siguen siendo pulsables: al pasar el ratón aparece un fondo blanco translúcido (sin cambiar de tamaño) */
.DWHeroPage .ETSmenuPoliticasDLP #DWHero {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

.DWHeroPage .ETSmenuPoliticasDLP #DWHeroOthers .DWOther {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    transition: background .15s ease;
}

.DWHeroPage .ETSmenuPoliticasDLP #DWHeroOthers .DWOther:hover {
    background: rgba(255, 255, 255, .7);
    border-color: transparent;
    box-shadow: none;
}

.DWHeroPage .ETSmenuPoliticasDLP #PDLPPendingDelete {
    background: rgba(255, 255, 255, .8);
}

/* Tabla de políticas: etiqueta "Asistente" (dlpWizard.decorateRows) y su explicación (#DWWhy) */
.ETSmenuPoliticasDLP .DWOriginTag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 20px;
    margin: 6px 0 0;
    padding: 0 8px 0 6px;
    font: inherit;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 6%, #fff);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    vertical-align: middle;
}

.ETSmenuPoliticasDLP .DWOriginTag .DWIcon {
    width: 12px;
    height: 12px;
}

.ETSmenuPoliticasDLP .DWOriginTag:hover {
    background: color-mix(in srgb, var(--brand) 12%, #fff);
}

.ETSmenuPoliticasDLP .DWOriginTag:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.ETSmenuPoliticasDLP .DWOriginTag.isModified {
    color: #5D6B82;
    background: #F1F4F8;
}

#DWWhy {
    position: absolute;
    z-index: 960;
    box-sizing: border-box;
    width: 340px;
    max-width: calc(100vw - 32px);
    padding: 16px 18px;
    font-size: 13px;
    line-height: 1.5;
    color: #3A475E;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(14, 26, 51, .16), 0 2px 6px rgba(14, 26, 51, .06);
}

#DWWhy p {
    margin: 0;
}

#DWWhy .DWIcon {
    width: 16px;
    height: 16px;
    color: var(--brand);
}

#DWWhy .DWWhyTitle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #0E1A33;
}

#DWWhy .DWWhyMeta {
    margin-top: 2px;
    font-size: 12.5px;
    color: #69768C;
}

#DWWhy .DWWhyLabel {
    margin-top: 12px;
    font-size: 12px;
    font-weight: 600;
    color: #69768C;
}

#DWWhy ul {
    margin: 4px 0 0;
    padding: 0 0 0 16px;
}

#DWWhy li + li {
    margin-top: 4px;
}

#DWWhy .DWWhyState {
    margin-top: 12px;
    padding: 8px 10px;
    font-size: 12.5px;
    color: #1E3A5F;
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border-radius: 8px;
}

#DWWhy .DWWhyState.isModified {
    color: #5D6B82;
    background: #F8FAFC;
}

#DWWhy .DWWhyOpen {
    display: inline-block;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
}

#DWWhy .DWWhyOpen:hover {
    text-decoration: underline;
}

/* Aviso de condiciones que buscan tipos de dato que no existen en los diccionarios (DLPPolicies_DataTypes.js) */
:root {
    --dlp-datatype-check: 1;
}

.ETSmenuPoliticasDLP #PDLPTypeCheck {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 18px;
    padding: 14px 16px;
    background: #FFF8EB;
    border: 1px solid #F6DDA8;
    border-radius: 12px;
}

.ETSmenuPoliticasDLP #PDLPTypeCheck .PDLPTypeCheckIcon {
    flex: none;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    background: #B7791F;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E") no-repeat center / contain;
}

.ETSmenuPoliticasDLP #PDLPTypeCheck .PDLPTypeCheckText {
    flex: 1;
    min-width: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #5C3D0A;
}

.ETSmenuPoliticasDLP #PDLPTypeCheck .PDLPTypeCheckText p {
    margin: 0;
}

.ETSmenuPoliticasDLP #PDLPTypeCheck .PDLPTypeCheckText b {
    color: #3D2906;
}

.ETSmenuPoliticasDLP #PDLPTypeCheck ul {
    margin: 6px 0 0;
    padding: 0 0 0 18px;
}

.ETSmenuPoliticasDLP #PDLPTypeCheck li + li {
    margin-top: 2px;
}

.ETSmenuPoliticasDLP #PDLPTypeCheck .PDLPTypeCheckActions {
    display: flex;
    flex: none;
    align-items: center;
    gap: 14px;
}

.ETSmenuPoliticasDLP #PDLPTypeCheck .PDLPTypeCheckFix,
.ETSmenuPoliticasDLP #PDLPTypeCheck .PDLPTypeCheckCreate {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 600;
    color: #ffffff;
    text-decoration: none;
    background: var(--brand);
    border-radius: 8px;
}

.ETSmenuPoliticasDLP #PDLPTypeCheck .PDLPTypeCheckFix:hover,
.ETSmenuPoliticasDLP #PDLPTypeCheck .PDLPTypeCheckCreate:hover {
    background: color-mix(in srgb, var(--brand) 75%, #000);
}

.ETSmenuPoliticasDLP #PDLPTypeCheck .PDLPTypeCheckFix.isBusy {
    opacity: .6;
    pointer-events: none;
}

.ETSmenuPoliticasDLP #PDLPTypeCheck .PDLPTypeCheckLater {
    font-size: 13px;
    font-weight: 600;
    color: #7A5A1E;
    text-decoration: none;
}

.ETSmenuPoliticasDLP #PDLPTypeCheck .PDLPTypeCheckLater:hover {
    color: #3D2906;
}

@media (max-width: 1100px) {
    .ETSmenuPoliticasDLP #PDLPTypeCheck {
        flex-wrap: wrap;
    }
}

/* --- Asistente de políticas DLP, fin */


/* --- Departamentos: ventana "Equipos del departamento" (departmentsPCSelectorDialog.js) ---
   Mismo lenguaje que "Ámbito de la política": nombre en un campo limpio, equipos en una tarjeta con
   "Seleccionar todos" en la cabecera y casillas propias, pie fijo. */
.departmentsPCSelectorDialog.windowsStyleWindow {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    display: flex !important;
    flex-direction: column;
    width: min(560px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 48px);
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #ffffff;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(14, 26, 51, .22), 0 2px 8px rgba(14, 26, 51, .08);
    transform: translate(-50%, -50%);
}

.departmentsPCSelectorDialog.windowsStyleWindow[style*="display: none"] {
    display: none !important;
}

.departmentsPCSelectorDialog .windowsTitleBar {
    position: relative;
    flex: none;
    height: auto;
    padding: 22px 64px 18px 28px;
    background: #ffffff;
    border-bottom: 1px solid #EEF1F6;
    cursor: default;
}

.departmentsPCSelectorDialog .windowsTitleText {
    float: none;
    width: auto !important;
    margin: 0;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #0E1A33;
}

.departmentsPCSelectorDialog .windowsTitleText::after {
    content: "Ponle nombre al departamento y elige qué equipos forman parte de él.";
    display: block;
    margin-top: 4px;
    font-size: 13px;
    font-weight: 400;
    color: #69768C;
}

.departmentsPCSelectorDialog #windowButtons {
    position: absolute;
    top: 18px;
    right: 18px;
    float: none;
}

.departmentsPCSelectorDialog .windowCloseButton {
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    margin: 0;
    color: #69768C;
    background: none;
    border-radius: 8px;
}

.departmentsPCSelectorDialog .windowCloseButton img {
    display: none;
}

.departmentsPCSelectorDialog .windowCloseButton::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.departmentsPCSelectorDialog .windowCloseButton:hover {
    color: #0E1A33;
    background: #F1F4F9;
}

.departmentsPCSelectorDialog .win10windowWrapper {
    display: flex !important;
    flex-direction: column !important;
    flex: 1;
    min-height: 0;
    height: auto;
    padding: 0 !important;
}

.departmentsPCSelectorDialog .win10content {
    flex: 1;
    min-height: 0;
    height: auto !important;
    padding: 20px 28px 24px !important;
    overflow-y: auto;
    font-size: 13.5px;
    background: #ffffff;
}

.departmentsPCSelectorDialog .win10windowWrapper > .clear,
.departmentsPCSelectorDialog > .clear,
.departmentsPCSelectorDialog #DPCPCSelectDiv > .clear {
    display: none;
}

.departmentsPCSelectorDialog .win10content > p {
    margin: 0 0 6px;
    font-size: 13px;
    font-weight: 600;
    color: #3A475E;
}

.departmentsPCSelectorDialog #DPCDepartmentName {
    box-sizing: border-box;
    width: 100%;
    height: 38px;
    margin: 0 0 20px;
    padding: 0 12px;
    font: inherit;
    font-size: 14px;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.departmentsPCSelectorDialog #DPCDepartmentName:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

.departmentsPCSelectorDialog #DPCPCSelectDiv {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
}

.departmentsPCSelectorDialog #DPCPCSelectDiv > label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #13203A;
    background: #FAFBFD;
    border-bottom: 1px solid #EEF1F6;
    cursor: pointer;
}

.departmentsPCSelectorDialog #DPCSearch {
    width: auto;
    margin: 8px 8px 0;
}

.departmentsPCSelectorDialog #IAList {
    float: none;
    width: auto;
    height: auto !important;
    min-height: 0 !important;
    margin: 0;
    border: 0;
}

.departmentsPCSelectorDialog #IAListTitle {
    display: none;
}

.departmentsPCSelectorDialog #DPCListContent {
    height: auto !important;
    min-height: 0 !important;
    max-height: 320px;
    padding: 6px;
    overflow-y: auto;
    border: 0 !important;
}

.departmentsPCSelectorDialog #DPCListContent ul {
    margin: 0;
    padding: 0;
}

.departmentsPCSelectorDialog #DPCListContent ul:empty::before {
    content: "No hay equipos en esta empresa.";
    display: block;
    padding: 16px 10px;
    font-size: 13px;
    color: #8E9AAD;
}

.departmentsPCSelectorDialog #DPCListContent li {
    height: auto;
    padding: 0;
    line-height: normal;
    background: none !important;
    border: 0 !important;
}

.departmentsPCSelectorDialog #DPCListContent li label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    font-size: 13.5px;
    color: #13203A;
    border-radius: 7px;
    cursor: pointer;
}

.departmentsPCSelectorDialog #DPCListContent li label:hover {
    background: #F3F6FA;
}

.departmentsPCSelectorDialog #DPCListContent li label:has(input:checked) {
    font-weight: 600;
}

.departmentsPCSelectorDialog input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    position: relative;
    width: 16px;
    height: 16px;
    margin: 0;
    background: #ffffff;
    border: 1.5px solid #C2CCDA;
    border-radius: 4px;
    cursor: pointer;
}

.departmentsPCSelectorDialog input[type="checkbox"]:checked {
    background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") no-repeat center / 11px;
    border-color: var(--brand);
}

.departmentsPCSelectorDialog input:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.departmentsPCSelectorDialog .bottombuttons {
    display: flex;
    flex: none;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    padding: 14px 28px;
    background: #FAFBFD;
    border-top: 1px solid #EEF1F6;
}

.departmentsPCSelectorDialog .bottombuttons a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none;
    height: 38px;
    margin: 0;
    padding: 0 18px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    color: #13203A;
    text-decoration: none;
    background: #ffffff none;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.departmentsPCSelectorDialog .bottombuttons a.button:hover {
    background-color: #F3F6FA;
    border-color: #C9D3E0;
}

.departmentsPCSelectorDialog .bottombuttons a.buttonAction {
    color: #ffffff;
    background: var(--brand) none;
    border-color: var(--brand);
}

.departmentsPCSelectorDialog .bottombuttons a.buttonAction:hover {
    background-color: color-mix(in srgb, var(--brand) 75%, #000);
    border-color: color-mix(in srgb, var(--brand) 75%, #000);
}

/* --- Departamentos, fin */

/* --- Recomendador de exclusiones (AppExceptionRecommenderDialog.js; Excepciones de programas / carpetas) ---
   Ventana centrada: explicación como nota suave, lista en tarjeta con cabecera (aplicación o carpeta · veces
   analizada), filas con casilla propia (un clic en la fila la marca) y pie fijo con Cancelar / Añadir seleccionados. */
.AERDialog.windowsStyleWindow {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    display: flex !important;
    flex-direction: column;
    width: min(720px, calc(100vw - 32px)) !important;
    height: min(660px, calc(100vh - 48px)) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #ffffff;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(14, 26, 51, .22), 0 2px 8px rgba(14, 26, 51, .08);
    transform: translate(-50%, -50%);
}

.AERDialog.windowsStyleWindow[style*="display: none"] {
    display: none !important;
}

.AERDialog .windowsTitleBar {
    position: relative;
    flex: none;
    height: auto;
    padding: 22px 64px 18px 28px;
    background: #ffffff;
    border-bottom: 1px solid #EEF1F6;
    cursor: default;
}

.AERDialog .windowsTitleText {
    float: none;
    width: auto !important;
    margin: 0;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #0E1A33;
}

.AERDialog #windowButtons {
    position: absolute;
    top: 18px;
    right: 18px;
    float: none;
}

.AERDialog .windowCloseButton {
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    margin: 0;
    color: #69768C;
    background: none;
    border-radius: 8px;
}

.AERDialog .windowCloseButton img {
    display: none;
}

.AERDialog .windowCloseButton::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.AERDialog .windowCloseButton:hover {
    color: #0E1A33;
    background: #F1F4F9;
}

.AERDialog .win10windowWrapper {
    display: flex !important;
    flex-direction: column !important;
    flex: 1;
    min-height: 0;
    height: auto;
    padding: 0 !important;
}

.AERDialog .win10windowWrapper > .clear,
.AERDialog .win10content > .clear,
.AERDialog .AERDSelectDiv > .clear {
    display: none;
}

.AERDialog .win10content {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    height: auto !important;
    padding: 0 !important;
    font-size: 13.5px;
    background: #ffffff;
}

.AERDialog p,
.AERDialog a {
    margin-left: 0;
}

/* Explicación */
.AERDialog .DialogTopTxt {
    position: relative;
    flex: none;
    margin: 18px 28px 14px;
    padding: 12px 14px 12px 40px;
    background: #F8FAFC;
    border: 0;
    border-radius: 10px;
}

.AERDialog .DialogTopTxt::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 14px;
    width: 16px;
    height: 16px;
    background: #69768C;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") no-repeat center / contain;
}

.AERDialog .DialogTopTxt p {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: #5D6B82;
}

/* Lista */
.AERDialog .AERDSelectDiv {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    height: auto;
    margin: 0 28px 20px;
}

.AERDialog #SDList,
.AERDialog .AERDList {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    width: auto;
    height: auto !important;
    margin: 0;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
}

.AERDialog .AERDListTitle {
    display: flex;
    justify-content: space-between;
    flex: none;
    padding: 10px 16px;
    font-size: 12px;
    font-weight: 600;
    color: #69768C;
    background: #FAFBFD;
    border: 0;
    border-bottom: 1px solid #EEF1F6;
}

.AERDialog .AERDListTitle::after {
    content: "Veces analizada";
}

.AERDialog .AERDListContent {
    flex: 1;
    min-height: 0;
    height: auto !important;
    padding: 6px;
    overflow-y: auto;
}

.AERDialog .AERDListContent ul {
    margin: 0;
    padding: 0;
}

.AERDialog .AERDListContent ul:empty::before {
    content: "No hay recomendaciones por ahora: todavía no hay suficientes ficheros analizados.";
    display: block;
    padding: 18px 10px;
    font-size: 13px;
    color: #8E9AAD;
}

.AERDialog .AERDListContent ul li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    font-size: 13.5px;
    color: #13203A;
    background: none;
    border: 0;
    border-radius: 7px;
    cursor: pointer;
}

.AERDialog .AERDListContent ul li:hover {
    background: #F3F6FA;
}

.AERDialog .AERDListContent ul li:has(input:checked) {
    font-weight: 600;
    background: color-mix(in srgb, var(--brand) 4%, #fff);
}

.AERDialog #AERListContent li span {
    flex: none;
    float: none;
    margin-left: auto;
    font-size: 12.5px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    color: #8E9AAD;
}

.AERDialog input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    flex: none;
    position: relative;
    width: 16px;
    height: 16px;
    margin: 0;
    background: #ffffff;
    border: 1.5px solid #C2CCDA;
    border-radius: 4px;
    cursor: pointer;
}

.AERDialog input[type="checkbox"]:checked {
    background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") no-repeat center / 11px;
    border-color: var(--brand);
}

/* Pie fijo (los botones están dentro del contenido: se colocan al final) */
.AERDialog .bottombuttons {
    display: flex;
    flex: none;
    justify-content: flex-end;
    gap: 8px;
    margin: 0 !important;
    padding: 14px 28px;
    background: #FAFBFD;
    border-top: 1px solid #EEF1F6;
}

.AERDialog .bottombuttons a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none;
    height: 38px;
    margin: 0;
    padding: 0 18px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    color: #13203A;
    text-decoration: none;
    background: #ffffff none;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.AERDialog .bottombuttons a.button:hover {
    background-color: #F3F6FA;
    border-color: #C9D3E0;
}

.AERDialog .bottombuttons a.buttonAction {
    color: #ffffff;
    background: var(--brand) none;
    border-color: var(--brand);
}

.AERDialog .bottombuttons a.buttonAction:hover {
    background-color: color-mix(in srgb, var(--brand) 75%, #000);
    border-color: color-mix(in srgb, var(--brand) 75%, #000);
}

/* --- Recomendador de exclusiones, fin */

/* --- Logs de acceso > Control de presencia: ventana "Resolver incidencia" (checkinIncidenceDialog.js) ---
   Ventana compacta: entrada y salida con fecha y hora en la misma fila (iconos de calendario y reloj), observaciones
   y pie con Cancelar / Guardar (.CIIActions, sólo en el diseño nuevo). */
.checkinIncidenceDialog.windowsStyleWindow {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    display: flex !important;
    flex-direction: column;
    width: min(460px, calc(100vw - 32px)) !important;
    height: auto !important;
    max-height: calc(100vh - 48px);
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #ffffff;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(14, 26, 51, .22), 0 2px 8px rgba(14, 26, 51, .08);
    transform: translate(-50%, -50%);
    z-index: 1600;
}

.checkinIncidenceDialog.windowsStyleWindow[style*="display: none"] {
    display: none !important;
}

.checkinIncidenceDialog .windowsTitleBar {
    position: relative;
    flex: none;
    height: auto;
    padding: 22px 64px 18px 28px;
    background: #ffffff;
    border-bottom: 1px solid #EEF1F6;
    cursor: default;
}

.checkinIncidenceDialog .windowsTitleText {
    float: none;
    width: auto !important;
    margin: 0;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #0E1A33;
}

.checkinIncidenceDialog .windowsTitleText::after {
    content: "Corrige la hora de entrada o de salida y añade una observación.";
    display: block;
    margin-top: 4px;
    font-size: 13px;
    font-weight: 400;
    color: #69768C;
}

.checkinIncidenceDialog #windowButtons {
    position: absolute;
    top: 18px;
    right: 18px;
    float: none;
}

.checkinIncidenceDialog .windowCloseButton {
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    margin: 0;
    color: #69768C;
    background: none;
    border-radius: 8px;
}

.checkinIncidenceDialog .windowCloseButton img {
    display: none;
}

.checkinIncidenceDialog .windowCloseButton::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.checkinIncidenceDialog .windowCloseButton:hover {
    color: #0E1A33;
    background: #F1F4F9;
}

.checkinIncidenceDialog .win10windowWrapper {
    display: flex !important;
    flex-direction: column !important;
    flex: 1;
    min-height: 0;
    height: auto;
    padding: 0 !important;
}

.checkinIncidenceDialog .win10windowWrapper > .clear,
.checkinIncidenceDialog > .clear,
.checkinIncidenceDialog .win10content > .clear {
    display: none;
}

.checkinIncidenceDialog .win10content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px;
    gap: 8px 10px;
    align-content: start;
    height: auto !important;
    padding: 20px 28px 0 !important;
    overflow-y: auto;
    font-size: 13.5px;
    background: #ffffff;
}

.checkinIncidenceDialog .win10content > label {
    grid-column: 1 / -1;
    margin: 8px 0 0;
    font-size: 13px;
    font-weight: 600;
    color: #3A475E;
}

.checkinIncidenceDialog .win10content > label:first-child {
    margin-top: 0;
}

.checkinIncidenceDialog .win10content > label:has(#CIIObs) {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 12px;
}

.checkinIncidenceDialog input[type="text"],
.checkinIncidenceDialog #CIIDate1, .checkinIncidenceDialog #CIIDate2, .checkinIncidenceDialog #CIITime1, .checkinIncidenceDialog #CIITime2 {
    box-sizing: border-box;
    float: none;
    width: 100% !important;
    margin: 0 !important;
    height: 38px;
    margin: 0;
    padding: 0 12px;
    font: inherit;
    font-size: 14px;
    font-weight: 400;
    font-variant-numeric: tabular-nums;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

.checkinIncidenceDialog input.date, .checkinIncidenceDialog #CIIDate1, .checkinIncidenceDialog #CIIDate2,
.checkinIncidenceDialog input.time, .checkinIncidenceDialog #CIITime1, .checkinIncidenceDialog #CIITime2 {
    padding-left: 36px !important;
    background-repeat: no-repeat;
    background-position: 11px center;
    background-size: 16px;
}

.checkinIncidenceDialog input.date, .checkinIncidenceDialog #CIIDate1, .checkinIncidenceDialog #CIIDate2 {
    grid-column: 1;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
}

.checkinIncidenceDialog input.time, .checkinIncidenceDialog #CIITime1, .checkinIncidenceDialog #CIITime2 {
    grid-column: 2;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238E9AAD' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
}

.checkinIncidenceDialog input[type="text"]:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .12);
}

/* Guardar (diseño antiguo sin pie: botón suelto) */
.checkinIncidenceDialog .win10content > #CIISave {
    grid-column: 1 / -1;
    justify-self: end;
}

/* Pie */
.checkinIncidenceDialog .CIIActions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: 20px -28px 0;
    padding: 14px 28px;
    background: #FAFBFD;
    border-top: 1px solid #EEF1F6;
}

.checkinIncidenceDialog .CIIActions a,
.checkinIncidenceDialog .CIIActions #CIISave,
.checkinIncidenceDialog .win10content > #CIISave {
    float: none;
    width: auto !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 38px !important;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0 18px !important;
    font-size: 13.5px !important;
    font-weight: 600;
    color: #13203A !important;
    text-decoration: none;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    cursor: pointer !important;
}

.checkinIncidenceDialog .CIIActions a:hover {
    background: #F3F6FA;
    border-color: #C9D3E0;
}

.checkinIncidenceDialog #CIISave,
.checkinIncidenceDialog .CIIActions #CIISave {
    color: #ffffff !important;
    background: var(--brand);
    border-color: var(--brand);
}

.checkinIncidenceDialog #CIISave:hover,
.checkinIncidenceDialog .CIIActions #CIISave:hover {
    background: color-mix(in srgb, var(--brand) 75%, #000);
    border-color: color-mix(in srgb, var(--brand) 75%, #000);
}

/* --- Resolver incidencia, fin */

/* --- Formularios de distribuidor y empresa (alta y edición, #RBDistributors y #RBCompanies) ---
   Pantalla de creación enfocada: barra superior con la X, título y ayuda, secciones en dos columnas
   (qué es | campos) separadas por líneas finas, y barra de acciones fija abajo (Cancelar + acción principal).
   --form-v2 activa en el JS los textos por modo, los errores integrados y el aviso al guardar. */
:is(#RBDistributors, #RBCompanies) {
    --form-v2: 1;
    --fm-ink: #0E1A33;
    --fm-text: #3A475E;
    --fm-muted: #69768C;
    --fm-line: #E8EDF4;
    --fm-field: #D9E1EC;
    --fm-soft: #F7F9FC;
    --fm-blue: var(--brand);
    /* Margen lateral de la barra de acciones: alinea los botones con el borde derecho del formulario (920 px) */
    --fm-gutter: max(20px, calc((100vw - 920px) / 2));
}

:is(#RBDistributors, #RBCompanies).formPaddings {
    max-width: 920px;
    height: auto;
    padding: 48px 40px 112px;
    color: var(--fm-text);
}

:is(#RBDistributors, #RBCompanies) > br {
    display: none;
}

/* El panel derecho (formularios de alta/edición, estadísticas) empieza bajo la cabecera de la consola,
   que queda visible encima (logo, ruta, Ayuda y cuenta). 56 px = misma altura que usa #leftBox. */
#rightBox {
    position: fixed;
    top: 56px;
    height: calc(100vh - 56px);
    overscroll-behavior: contain;
}

/* Con el panel abierto (Datos de la empresa, alta de distribuidor…) la página de detrás no se desplaza: antes el panel
   era absolute sobre body y, si la página es más alta que la ventana, la rueda la movía y el panel se iba con ella
   (fixed: si la página ya estaba desplazada al abrirlo, el panel sigue bajo la cabecera).
   UI.showRightPanel* lo muestra con .show() (estilo en línea «display: block») y lo ocultan con .hide(). */
html:has(#rightBox[style*="display: block"]) {
    overflow: hidden;
}

/* La X para cerrar: sin barra propia (la cabecera de la consola ya está encima). Botón flotante a la altura
   del título, alineado con el borde derecho del formulario (920 px), que se queda visible al hacer scroll. */
#rightBox .RBCloseBar {
    position: sticky;
    top: 0;
    z-index: 3;
    height: 0;
    background: none;
    border: 0;
}

#rightBox .RBCloseBar a {
    top: 44px;
    right: max(16px, calc((100vw - 920px) / 2 - 8px));
    width: 36px;
    height: 36px;
    padding: 0;
    color: #69768C;
    background: rgba(255, 255, 255, .9);
    border-radius: 8px;
    transition: background-color .12s ease, color .12s ease;
}

/* En los formularios con barra de acciones (Cancelar) la X sobra: UI.form.setMode marca #rightBox */
#rightBox.hasFormActions .RBCloseBar {
    display: none !important;
}

#rightBox .RBCloseBar a::before {
    content: "";
    position: absolute;
    inset: 9px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

#rightBox .RBCloseBar a:hover {
    color: #0E1A33;
    background-color: #F1F4F9 !important;
}

#rightBox .RBCloseBar a:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 1px;
}

/* Título y ayuda (el JS pone "Nuevo distribuidor" / "Editar distribuidor") */
:is(#RBDistributors, #RBCompanies) > h2 {
    margin: 0;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -.02em;
    text-align: left;
    color: var(--fm-ink);
}

:is(#RBDistributors, #RBCompanies) > .DIModeHint {
    margin: 8px 0 0;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.5;
    color: var(--fm-muted);
}

/* Secciones: qué es (izquierda) | campos (derecha) */
:is(#RBDistributors, #RBCompanies) .DISection {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 48px;
    padding: 32px 0;
    border-top: 1px solid var(--fm-line);
}

:is(#RBDistributors, #RBCompanies) .DIModeHint + .DISection,
:is(#RBDistributors, #RBCompanies) > h2 + .DISection {
    margin-top: 32px;
}

:is(#RBDistributors, #RBCompanies) .DISectionHead {
    display: block;
}

:is(#RBDistributors, #RBCompanies) .DISectionHead h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--fm-ink);
}

:is(#RBDistributors, #RBCompanies) .DISectionHead p {
    margin: 6px 0 0;
    font-weight: 400;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--fm-muted);
}

:is(#RBDistributors, #RBCompanies) .DISectionBody {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

:is(#RBDistributors, #RBCompanies) .DIColumns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

:is(#RBDistributors, #RBCompanies) .DIField {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* Etiquetas */
:is(#RBDistributors, #RBCompanies) .DIField > p:not(.formFooter) {
    margin: 0 0 8px;
}

:is(#RBDistributors, #RBCompanies) .DILabelExtra {
    display: block;
}

:is(#RBDistributors, #RBCompanies) .DIField label,
:is(#RBDistributors, #RBCompanies) .DIField label b {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--fm-ink);
}

/* Campos */
:is(#RBDistributors, #RBCompanies) .inputText,
:is(#RBDistributors, #RBCompanies) select {
    box-sizing: border-box;
    width: 100%;
    height: 42px;
    margin: 0;
    padding: 0 14px;
    font: inherit;
    font-size: 14.5px;
    color: var(--fm-ink);
    background: #ffffff;
    border: 1px solid var(--fm-field);
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .04);
    outline: none;
    transition: border-color .12s ease, box-shadow .12s ease;
}

:is(#RBDistributors, #RBCompanies) .inputText::placeholder {
    color: #9AA5B5;
}

:is(#RBDistributors, #RBCompanies) .inputText:hover {
    border-color: #C3CEDC;
}

:is(#RBDistributors, #RBCompanies) .inputText:focus {
    border-color: var(--fm-blue);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .15);
}

:is(#RBDistributors, #RBCompanies) .inputText[aria-invalid="true"] {
    border-color: #D6455D;
    box-shadow: 0 0 0 3px rgba(214, 69, 93, .14);
}

/* La ayuda de la contraseña va pegada a las dos columnas */
:is(#RBDistributors, #RBCompanies) .DIColumns + .formFooter {
    margin-top: -12px;
}

/* Ayudas bajo los campos: texto secundario, sin cursiva */
:is(#RBDistributors, #RBCompanies) .formFooter {
    margin: 0;
    padding: 8px 0 0;
    font-size: 13px;
    font-style: normal;
    line-height: 1.5;
    color: var(--fm-muted) !important;
}

/* Secciones sólo de edición (usuarios adicionales, 2FA) y ayuda de contraseña de la edición.
   Con !important porque el JS de empresas oculta por id elementos con el mismo id que estos. */
:is(#RBDistributors, #RBCompanies):not(.isEditing) .DIEditOnly,
:is(#RBDistributors, #RBCompanies):not(.isEditing) #passwordFormFooter {
    display: none !important;
}

:is(#RBDistributors, #RBCompanies).isEditing #passwordFormFooter,
:is(#RBDistributors, #RBCompanies).isEditing #COAdditionalusersDiv {
    display: block !important;
}

/* Los títulos y ayudas antiguos de estas secciones ya están en la columna izquierda */
:is(#RBDistributors, #RBCompanies) #COAdditionalusersDiv > p:first-child,
:is(#RBDistributors, #RBCompanies) #COAdditionalusersDiv > .formFooter,
:is(#RBDistributors, #RBCompanies) .tab2FABoxDis .line:first-child,
:is(#RBDistributors, #RBCompanies) .tab2FABoxDis .line:last-child {
    display: none;
}

:is(#RBDistributors, #RBCompanies) .tab2FABoxDis {
    height: auto;
}

/* Usuarios adicionales: filas con email y acciones */
#RBDistributors #COAdditionaUsersDistributor ul {
    margin: 0 0 16px;
    padding: 0;
    border: 1px solid var(--fm-line);
    border-radius: 10px;
}

#RBDistributors #COAdditionaUsersDistributor ul:empty {
    display: none;
}

#RBDistributors #COAdditionaUsersDistributor li {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--fm-ink);
}

#RBDistributors #COAdditionaUsersDistributor li + li {
    border-top: 1px solid var(--fm-line);
}

#RBDistributors #COAdditionaUsersDistributor li:hover {
    background: var(--fm-soft);
}

#RBDistributors #COAdditionaUsersDistributor li a {
    margin: 0;
    padding: 0;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    color: var(--fm-blue);
}

#RBDistributors #COAdditionaUsersDistributor li a:first-of-type {
    margin-left: auto;
}

#RBDistributors #COAdditionaUsersDistributor li a.CORemoveAdditionalUser {
    color: #C2364B;
}

#RBDistributors #COAdditionaUsersDistributor li a:hover {
    text-decoration: underline;
}

/* "Añadir usuario" y "Configurar 2FA": botones secundarios con icono */
#RBDistributors #COAdditionaUsersDistributorAdd,
:is(#RBDistributors, #RBCompanies) #config2FADis {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    height: 38px;
    margin: 0;
    padding: 0 14px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    color: var(--fm-ink);
    background: #ffffff;
    border: 1px solid var(--fm-field);
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .04);
    cursor: pointer;
}

#RBDistributors #COAdditionaUsersDistributorAdd:hover,
:is(#RBDistributors, #RBCompanies) #config2FADis:hover {
    background: var(--fm-soft) !important;
    border-color: #C3CEDC;
}

#RBDistributors #COAdditionaUsersDistributorAdd::before,
:is(#RBDistributors, #RBCompanies) #config2FADis::before {
    content: "";
    width: 16px;
    height: 16px;
    background: var(--fm-muted);
    -webkit-mask: var(--fm-icon) no-repeat center / contain;
    mask: var(--fm-icon) no-repeat center / contain;
}

#RBDistributors #COAdditionaUsersDistributorAdd {
    --fm-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='4'/%3E%3Cpath d='M2 21a7 7 0 0 1 14 0M19 8v6M16 11h6'/%3E%3C/svg%3E");
}

:is(#RBDistributors, #RBCompanies) #config2FADis {
    --fm-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4 6v6c0 4.5 3.4 8.3 8 9 4.6-.7 8-4.5 8-9V6Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

/* Distribuidor padre: el JS lo deja oculto; si se muestra, mismo estilo que los campos */
:is(#RBDistributors, #RBCompanies) #DIParentDistP {
    margin: 0 0 8px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--fm-ink);
}

/* --- Formulario de empresa: piezas propias ---
   El markup conserva el orden antiguo (ECIJA); aquí se ordena: datos, acceso, notificaciones, licencia y módulos,
   usuarios adicionales, actualizaciones y datos, servidor. */
#RBCompanies .DIFormBody {
    display: flex;
    flex-direction: column;
    margin-top: 32px;
}

#RBCompanies .DIFormBody > #COLicenceDiv {
    order: 4;
}

#RBCompanies .DIFormBody > .DIEditOnly {
    order: 5;
}

#RBCompanies .DIFormBody > #COSectionAdvanced {
    order: 6;
}

#RBCompanies .DIFormBody > #COSectionServer {
    order: 7;
}

/* Etiquetas antiguas sustituidas por el título de la sección o por .DILabelExtra */
#RBCompanies .DIBaseLabel {
    display: none;
}

/* Secciones sin ningún campo visible para este perfil (las marca el JS) */
#RBCompanies [data-optional].isEmpty {
    display: none;
}

/* Desplegables con la misma forma que los campos */
:is(#RBDistributors, #RBCompanies) select {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2369768C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 14px;
    cursor: pointer;
}

:is(#RBDistributors, #RBCompanies) select:hover {
    border-color: #C3CEDC;
}

:is(#RBDistributors, #RBCompanies) select:focus {
    border-color: var(--fm-blue);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .15);
}

/* Licencia completa: límites como filas con su valor y "Modificar" */
#RBCompanies #COLicenceFullModeFooter p {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 400;
    color: var(--fm-text);
    border: 1px solid var(--fm-line);
}

#RBCompanies #COLicenceFullModeFooter p:first-child {
    border-radius: 10px 10px 0 0;
}

#RBCompanies #COLicenceFullModeFooter p + p {
    border-top: 0;
    border-radius: 0 0 10px 10px;
}

#RBCompanies #COLicenceFullModeFooter span {
    margin-left: auto;
    font-weight: 700;
    color: var(--fm-ink);
}

#RBCompanies #COLicenceFullModeFooter a,
#RBCompanies #CODemoReset {
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    color: var(--fm-blue);
}

#RBCompanies #COLicenceFullModeFooter a:hover,
#RBCompanies #CODemoReset:hover {
    text-decoration: underline;
}

/* Las explicaciones de la licencia van pegadas al desplegable */
#RBCompanies #COLicenceDemoModeFooter,
#RBCompanies #COLicenceFullModeFooter {
    margin-top: -8px;
}

/* Demo: días restantes (sólo al editar) y reinicio */
#RBCompanies #COLicenceDemoModeFooter br {
    display: none;
}

#RBCompanies .CODemoRemaining {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    font-weight: 600;
    color: var(--fm-ink);
}

#RBCompanies.isAdding .CODemoRemaining {
    display: none;
}

/* Módulos: lista con casillas */
#RBCompanies .COModulesList {
    border: 1px solid var(--fm-line);
    border-radius: 10px;
    overflow: hidden;
}

#RBCompanies .COModulesList > div + div {
    border-top: 1px solid var(--fm-line);
}

#RBCompanies .COModulesList label {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--fm-ink);
    cursor: pointer;
}

#RBCompanies .COModulesList label:hover {
    background: var(--fm-soft);
}

#RBCompanies .COModulesList input[type="checkbox"] {
    flex: none;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--fm-blue);
    cursor: pointer;
}

/* Empresa de demostración: casilla como las de los módulos, con su explicación debajo */
#RBCompanies #CODemoCompanyDiv {
    margin-top: 16px;
}

#RBCompanies .DIField label.CODemoCompanyCheck {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    font-size: 14px;
    border: 1px solid var(--fm-line);
    border-radius: 10px;
    cursor: pointer;
}

#RBCompanies label.CODemoCompanyCheck:hover {
    background: var(--fm-soft);
}

#RBCompanies label.CODemoCompanyCheck input[type="checkbox"] {
    flex: none;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--fm-blue);
    cursor: pointer;
}

#RBCompanies #COCif[readonly] {
    color: var(--fm-muted, var(--fm-ink));
    background: var(--fm-soft);
}

/* Servidor asignado: valor de sólo lectura */
#RBCompanies #COServerDiv > p {
    margin: 0 0 8px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--fm-ink);
}

#RBCompanies #COServerName {
    padding: 11px 14px;
    font-size: 14.5px;
    color: var(--fm-ink);
    background: var(--fm-soft);
    border: 1px solid var(--fm-line);
    border-radius: 8px;
}

#RBCompanies #COServerName:empty::before {
    content: "—";
    color: var(--fm-muted);
}

/* Barra de acciones fija abajo: aviso de error a la izquierda, Cancelar y acción principal a la derecha */
#rightBox .RBActions {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 14px var(--fm-gutter);
    background: rgba(255, 255, 255, .94);
    border-top: 1px solid var(--fm-line);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

#rightBox .RBActions .RBNotice {
    display: none;
    align-items: center;
    gap: 8px;
    min-width: 0;
    margin: 0 auto 0 0;
    font-size: 13.5px;
    font-weight: 600;
    color: #B4263E;
}

#rightBox .RBActions .RBNotice.isVisible {
    display: flex;
}

#rightBox .RBActions .RBNotice::before {
    content: "";
    flex: none;
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5M12 16.2v.1'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5M12 16.2v.1'/%3E%3C/svg%3E") no-repeat center / contain;
}

#rightBox .RBActions .RBActionCancel,
#rightBox .RBActions > .button {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto;
    height: 40px;
    margin: 0;
    padding: 0 18px;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    border-radius: 8px;
    transition: background-color .12s ease, border-color .12s ease;
}

#rightBox .RBActions .RBActionCancel {
    color: var(--fm-ink);
    background: #ffffff;
    border: 1px solid var(--fm-field);
}

#rightBox .RBActions .RBActionCancel:hover {
    background: var(--fm-soft);
    border-color: #C3CEDC;
}

#rightBox .RBActions > .button {
    color: #ffffff;
    background: var(--fm-blue);
    border: 0;
    box-shadow: 0 1px 2px rgba(0, 59, 140, .18), inset 0 1px 0 rgba(255, 255, 255, .14);
}

#rightBox .RBActions > .button:hover {
    background: color-mix(in srgb, var(--brand) 85%, #000);
}

#rightBox .RBActions > .button:active {
    background: color-mix(in srgb, var(--brand) 71%, #000);
}

#rightBox .RBActions .RBActionCancel:focus-visible,
#rightBox .RBActions > .button:focus-visible {
    outline: 2px solid var(--fm-blue);
    outline-offset: 2px;
}

#rightBox .RBActions > .button span {
    display: none;
}

/* Esperando respuesta: el botón muestra un indicador y no admite otro clic */
#rightBox .RBActions > .button.isBusy {
    pointer-events: none;
    opacity: .75;
}

#rightBox .RBActions > .button.isBusy::before {
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, .4);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: FMSpin .7s linear infinite;
}

@keyframes FMSpin {
    to {
        transform: rotate(360deg);
    }
}

/* Aviso de confirmación (UI.toast) */
#UIToast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: calc(100vw - 48px);
    padding: 12px 16px 12px 14px;
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    background: #0E1A33;
    border-radius: 10px;
    box-shadow: 0 12px 32px -8px rgba(14, 26, 51, .35);
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}

#UIToast.isVisible {
    opacity: 1;
    transform: none;
}

/* Avisos que antes eran alert() del navegador (UI.consoleAlerts): icono de información en ámbar, texto en varias
   líneas si hace falta. Se activa con la variable de :root */
:root {
    --console-alerts: 1;
}

#UIToast.isInfo {
    align-items: flex-start;
    max-width: min(460px, calc(100vw - 48px));
    font-weight: 500;
    line-height: 1.45;
    white-space: pre-line;
}

#UIToast.isInfo::before {
    margin-top: 1px;
    background: #F5B740;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v4'/%3E%3Cpath d='M12 16h.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v4'/%3E%3Cpath d='M12 16h.01'/%3E%3C/svg%3E");
}

#UIToast::before {
    content: "";
    flex: none;
    width: 18px;
    height: 18px;
    background: #3DD598;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E") no-repeat center / contain;
}

@media (max-width: 900px) {
    :is(#RBDistributors, #RBCompanies).formPaddings {
        padding: 32px 20px 112px;
    }

    :is(#RBDistributors, #RBCompanies) .DISection {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        padding: 24px 0;
    }

    #rightBox .RBActions {
        padding: 12px 20px;
    }
}

@media (max-width: 600px) {
    :is(#RBDistributors, #RBCompanies) .DIColumns {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(#RBDistributors, #RBCompanies) .inputText,
    #rightBox .RBCloseBar a,
    #UIToast {
        transition: none;
    }

    #rightBox .RBActions > .button.isBusy::before {
        animation-duration: 2s;
    }
}

/* --- Diálogos (modalDialog: límites de licencia, usuarios adicionales, 2FA, confirmaciones...) ---
   Ventana centrada, compacta, con el texto de la pregunta arriba, campos con el estilo de los formularios
   y botones abajo a la derecha (Cancelar + acción principal). Sólo .modalDialog: las ventanas grandes de
   informes y configuración (.windowsStyleWindow, .popupPopup) no cambian.
   modalDialog.js pone como título el texto del botón ("Guardar"): se oculta y manda la descripción. */
.modalDialogWrapper2 {
    z-index: 1000;
    background-color: transparent;
}

.modalDialog.windowsStyleWindow {
    --dl-ink: #0E1A33;
    --dl-text: #3A475E;
    --dl-muted: #69768C;
    --dl-line: #E8EDF4;
    --dl-field: #D9E1EC;
    --dl-soft: #F7F9FC;
    --dl-blue: var(--brand);
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1000;
    box-sizing: border-box;
    width: min(480px, calc(100vw - 32px));
    min-width: 0;
    max-width: none;
    max-height: calc(100vh - 48px);
    padding: 0;
    overflow-y: auto;
    color: var(--dl-text);
    background: #ffffff;
    border: 0;
    border-radius: 14px;
    /* La segunda sombra hace de fondo oscurecido (también en showComboBox, que no tiene envoltorio) */
    box-shadow: 0 24px 64px -16px rgba(14, 26, 51, .35), 0 0 0 100vmax rgba(14, 26, 51, .32);
    transform: translate(-50%, -50%);
    user-select: auto;
}

/* Cabecera: sólo la X, arriba a la derecha */
.modalDialog .windowsTitleBar {
    position: absolute;
    top: 14px;
    right: 14px;
    height: auto;
    padding: 0;
    background: none;
}

.modalDialog .windowsTitleText {
    display: none;
}

.modalDialog .windowCloseButton {
    position: relative;
    display: block;
    width: 32px;
    height: 32px;
    color: var(--dl-muted);
    border-radius: 8px;
    cursor: pointer;
}

.modalDialog .windowCloseButton img {
    display: none;
}

.modalDialog .windowCloseButton::before {
    content: "";
    position: absolute;
    inset: 8px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

.modalDialog .windowCloseButton:hover {
    color: var(--dl-ink);
    background: #F1F4F9;
}

/* Contenido: la descripción hace de título; las demás <p> son etiquetas de campo */
.modalDialog .modalDialogContent {
    padding: 24px 24px 8px;
    font-size: 14px;
}

.modalDialog .modalDialogContent br {
    display: none;
}

.modalDialog .modalDialogContent > p {
    margin: 18px 0 8px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--dl-ink);
}

.modalDialog .modalDialogContent > p:first-child {
    margin: 0 0 4px;
    padding-right: 32px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--dl-ink);
}

.modalDialog .modalDialogContent > p:empty {
    display: none;
}

.modalDialog .modalDialogContent h2 {
    margin: 20px 0 6px;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--dl-muted);
}

/* Texto explicativo bajo la descripción (modalDialog.show(..., { details })) */
.modalDialog .modalDialogDetails {
    margin: 10px 0 4px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--dl-text);
}

.modalDialog .modalDialogDetails ul {
    margin: 0;
    padding-left: 18px;
}

.modalDialog .modalDialogDetails li + li {
    margin-top: 6px;
}

.modalDialog .modalDialogDetails .modalDialogError {
    margin: 12px 0 0;
    font-weight: 600;
    color: #B4263E;
}

/* Acción destructiva (modalDialog.show(..., { danger: true })): botón principal en rojo */
.modalDialog.isDanger .bottombuttons a.modalDialogOk {
    background: #C2304A;
    border-color: #C2304A;
    box-shadow: 0 1px 2px rgba(122, 18, 36, .2), inset 0 1px 0 rgba(255, 255, 255, .14);
}

.modalDialog.isDanger .bottombuttons a.modalDialogOk:hover {
    background: #A8243A;
    border-color: #A8243A;
}

/* Campos */
.modalDialog .modalDialogContent input[type="text"],
.modalDialog .modalDialogContent input[type="password"],
.modalDialog .modalDialogContent select,
.modalDialog .modalDialogContent textarea {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0 14px;
    font: inherit;
    font-size: 14.5px;
    color: var(--dl-ink);
    background: #ffffff;
    border: 1px solid var(--dl-field);
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .04);
    outline: none;
    transition: border-color .12s ease, box-shadow .12s ease;
}

.modalDialog .modalDialogContent input[type="text"],
.modalDialog .modalDialogContent input[type="password"],
.modalDialog .modalDialogContent select {
    height: 42px;
}

.modalDialog .modalDialogContent textarea {
    min-height: 160px;
    padding: 10px 14px;
    line-height: 1.5;
    resize: vertical;
}

.modalDialog .modalDialogContent select {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2369768C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 14px;
    cursor: pointer;
}

.modalDialog .modalDialogContent input:hover,
.modalDialog .modalDialogContent select:hover,
.modalDialog .modalDialogContent textarea:hover {
    border-color: #C3CEDC;
}

.modalDialog .modalDialogContent input:focus,
.modalDialog .modalDialogContent select:focus,
.modalDialog .modalDialogContent textarea:focus {
    border-color: var(--dl-blue);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .15);
}

/* Casillas (p. ej. 2FA): una por fila, con la casilla en azul */
.modalDialog .modalDialogContent label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    font-size: 14px;
    line-height: 1.4;
    color: var(--dl-ink);
    cursor: pointer;
}

.modalDialog .modalDialogContent input[type="checkbox"] {
    flex: none;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--dl-blue);
}

/* Botones: Cancelar y acción principal, abajo a la derecha */
.modalDialog .bottombuttons,
.modalDialog .modalDialogButtons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    float: none;
    margin: 0;
    padding: 20px 24px 24px;
}

/* showComboBox pone primero "Aceptar" y luego "Cancelar" */
.modalDialog .modalDialogButtons {
    flex-direction: row-reverse;
    justify-content: flex-start;
}

.modalDialog .bottombuttons + .clear,
.modalDialog .modalDialogButtons + .clear {
    display: none;
}

.modalDialog .bottombuttons a,
.modalDialog .modalDialogButtons a {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    margin: 0;
    padding: 0 18px;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    color: var(--dl-ink);
    background: #ffffff;
    background-image: none;
    border: 1px solid var(--dl-field);
    border-radius: 8px;
    cursor: pointer;
    transition: background-color .12s ease, border-color .12s ease;
}

.modalDialog .bottombuttons a:hover,
.modalDialog .modalDialogButtons a:hover {
    background-color: var(--dl-soft);
    border-color: #C3CEDC;
}

.modalDialog .bottombuttons a.modalDialogOk,
.modalDialog .modalDialogButtons a.modalDialogOk {
    color: #ffffff;
    background: var(--dl-blue);
    border-color: var(--dl-blue);
    box-shadow: 0 1px 2px rgba(0, 59, 140, .18), inset 0 1px 0 rgba(255, 255, 255, .14);
}

.modalDialog .bottombuttons a.modalDialogOk:hover,
.modalDialog .modalDialogButtons a.modalDialogOk:hover {
    background: color-mix(in srgb, var(--brand) 85%, #000);
    border-color: color-mix(in srgb, var(--brand) 85%, #000);
}

.modalDialog .bottombuttons a:focus-visible,
.modalDialog .modalDialogButtons a:focus-visible,
.modalDialog .windowCloseButton:focus-visible {
    outline: 2px solid var(--dl-blue);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .modalDialog .modalDialogContent input,
    .modalDialog .modalDialogContent select,
    .modalDialog .modalDialogContent textarea,
    .modalDialog .bottombuttons a,
    .modalDialog .modalDialogButtons a {
        transition: none;
    }
}

/* --- Iconos de aplicaciones (appIcons.js): ficha con el color de la marca y un símbolo o letra --- */
.AppIco {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 22px;
    height: 22px;
    box-sizing: border-box;
    color: #ffffff;
    border-radius: 6px;
    box-shadow: inset 0 0 0 1px rgba(14, 26, 51, .06);
    vertical-align: middle;
}

.AppIco b {
    font-size: 11.5px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.02em;
}

.AppIco.isWide b {
    font-size: 9px;
    letter-spacing: -.03em;
}

.AppIco svg {
    width: 13px;
    height: 13px;
}

.AppIco.isLight {
    box-shadow: inset 0 0 0 1px #E3E9F1;
}

.AppIco.isLight svg {
    width: 16px;
    height: 16px;
}

.AppIco.isFallback {
    opacity: .9;
}

/* En las tablas de Logs de acceso: icono + nombre */
.reportsDialog .RDApp {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
    vertical-align: middle;
}

.reportsDialog .RDApp > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Icono real del ejecutable (lo sube el agente): la imagen tal cual, sin la ficha de color */
.AppIco.isReal,
#RBPCConfigDiv .APIcon.isReal {
    background: transparent;
    box-shadow: none;
}

.AppIco.isReal img,
.APIcon.isReal img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Panel de una alerta DLP: icono + ruta del programa */
#DIPanel .DIApp {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
}

#DIPanel .DIApp > span:last-child {
    min-width: 0;
    word-break: break-all;
}
/* --- Iconos de aplicaciones, fin */

/* --- Políticas DLP: filas compactas y panel de detalle (DLPPolicies_Detail.js) ---
   Cada política muestra su nombre, un resumen de lo que hace y, debajo, ámbito y aviso. Condición, Aviso, Ámbito y
   Cumplimiento salen de la tabla y pasan al panel lateral que se abre al pulsar la fila. */
:root {
    --dlp-compact-rows: 1;
}

body.PDLPCompactPage #PDLPVisualizationButton {
    display: none !important;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPCol1,
.ETSmenuPoliticasDLP .PDLPCompact .PDLPCol4,
.ETSmenuPoliticasDLP .PDLPCompact .PDLPCol5,
.ETSmenuPoliticasDLP .PDLPCompact .PDLPCol6 {
    display: none !important;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPCol7 {
    display: table-cell !important;
    width: auto;
}

.ETSmenuPoliticasDLP .PDLPCompact th.PDLPCol7 {
    font-size: 0;
}

.ETSmenuPoliticasDLP .PDLPCompact th.PDLPCol7::before {
    content: "Política";
    font-size: 12px;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPCol7 .PDLPColEdit {
    display: none !important;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPRow td {
    padding-top: 14px;
    padding-bottom: 14px;
    vertical-align: middle;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPCol7 .colContent {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #13203A;
    max-width: 880px;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPSummary {
    display: block;
    margin-top: 3px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
    color: #5D6B82;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPMeta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    margin-top: 7px;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPMetaItem {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 500;
    color: #7A879C;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPMetaItem::before {
    content: "";
    width: 14px;
    height: 14px;
    background: currentColor;
    -webkit-mask: var(--pdd-ico) center / contain no-repeat;
    mask: var(--pdd-ico) center / contain no-repeat;
    --pdd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='3' rx='2'/%3E%3Cline x1='8' x2='16' y1='21' y2='21'/%3E%3Cline x1='12' x2='12' y1='17' y2='21'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPMetaItem + .PDLPMetaItem::before {
    --pdd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.268 21a2 2 0 0 0 3.464 0'/%3E%3Cpath d='M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPMetaItem.isWarn {
    color: #B7791F;
}

/* Actividad de los últimos 30 días (DLPPolicies_Activity.js) */
:root {
    --dlp-policy-activity: 1;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPMetaItem.isActivity::before {
    --pdd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2'/%3E%3C/svg%3E");
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPMetaItem.isActivity {
    color: #3A475E;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPMetaItem.isActivity.isQuiet {
    color: #9AA6B8;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPMetaItem.isActivity.isNoisy {
    color: #B45309;
}

#PDLPDetail .PDAStats {
    display: flex;
    gap: 28px;
    margin: 2px 0 14px;
}

#PDLPDetail .PDAStats p {
    display: flex;
    flex-direction: column;
    margin: 0;
}

#PDLPDetail .PDAStats b {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    color: #13203A;
    font-variant-numeric: tabular-nums;
}

#PDLPDetail .PDAStats span {
    margin-top: 2px;
    font-size: 12px;
    color: #7A879C;
}

#PDLPDetail .PDABars {
    display: flex;
    align-items: flex-end;
    gap: 2px;
    height: 48px;
    padding-bottom: 1px;
    border-bottom: 1px solid #E3E9F1;
}

#PDLPDetail .PDABars i {
    flex: 1 1 0;
    min-width: 0;
    background: var(--data);
    border-radius: 2px 2px 0 0;
    opacity: .85;
}

#PDLPDetail .PDABars i:hover {
    opacity: 1;
}

#PDLPDetail .PDAAxis {
    display: flex;
    justify-content: space-between;
    margin: 4px 0 12px;
    font-size: 11px;
    color: #9AA6B8;
}

#PDLPDetail .PDASub {
    margin: 0 0 6px;
    font-size: 12px;
    font-weight: 600;
    color: #5D6B82;
}

#PDLPDetail .PDAPcs {
    margin: 0 0 10px;
    padding: 0;
    list-style: none;
}

#PDLPDetail .PDAPcs li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 0;
    font-size: 13px;
    color: #3A475E;
    border-bottom: 1px solid #F1F4F8;
}

#PDLPDetail .PDAPcs li:last-child {
    border-bottom: 0;
}

#PDLPDetail .PDAPcs b {
    font-variant-numeric: tabular-nums;
    color: #13203A;
}

#PDLPDetail .PDANoisy {
    margin: 10px 0 0;
    padding: 10px 12px;
    font-size: 12.5px;
    line-height: 1.45;
    color: #7A4A00;
    background: #FFF7E6;
    border-radius: 8px;
}

/* La última columna visible (Acción) lleva una flecha que indica que la fila se abre */
.ETSmenuPoliticasDLP .PDLPCompact .PDLPRow td.PDLPCol3 {
    position: relative;
    padding-right: 40px;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPRow td.PDLPCol3::after {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    background: #9AA6B8;
    opacity: .55;
    transition: opacity .15s, transform .15s;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPRow:hover td.PDLPCol3::after,
.ETSmenuPoliticasDLP .PDLPCompact .PDLPRow.PDLPRowOpen td.PDLPCol3::after {
    opacity: 1;
    background: var(--brand);
    transform: translateX(2px);
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPRow:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: -2px;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPRow.PDLPRowOpen td {
    background: color-mix(in srgb, var(--brand) 5%, #fff);
}

/* Cada grupo en una tabla cerrada: borde fino alrededor, esquinas redondeadas y algo de margen interior. La última
   fila no lleva línea (la cierra el borde) y sus celdas de los extremos se redondean para que el hover y la fila
   seleccionada no se salgan de las esquinas. `!important` porque consoleInterface.css pone `border: none !important`
   a todas las `.RDTableDiv2` */
.ETSmenuPoliticasDLP .PDLPTopTitleHeader {
    border-bottom: 0;
}

/* --- Informe de cumplimiento en PDF (DLPPolicies_CompliancePdf.js): botón de la cabecera con icono de documento --- */
:root {
    --dlp-compliance-pdf: 1;
}

.ETSmenuPoliticasDLP #PDLPTopButtons #DLPPolicyCompliancePdf::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M12 18v-6'/%3E%3Cpath d='m9 15 3 3 3-3'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M12 18v-6'/%3E%3Cpath d='m9 15 3 3 3-3'/%3E%3C/svg%3E");
}

/* Asistente, «Departamentos con más control»: el que ya tiene más libertad no se puede marcar */
.DLPWizardDialog .DWChip.isDisabled {
    opacity: .45;
    cursor: not-allowed;
}

/* --- Asistente, revisión: cómo queda la protección (dlpWizard.outcomeHtml) --- */
.DLPWizardDialog .DWOutcome {
    margin: 4px 0 18px;
    padding: 14px 16px;
    background: #FFFFFF;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
}

.DLPWizardDialog .DWOutcomeHead {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 12px;
    margin-bottom: 10px;
}

.DLPWizardDialog .DWOutcomeHead h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #13203A;
}

.DLPWizardDialog .DWOutcomeHead p {
    margin: 0;
    font-size: 13px;
    color: #5D6B82;
}

.DLPWizardDialog .DWPlanPdf {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    margin-left: auto;
    padding: 0 12px;
    font: inherit;
    font-size: 12.5px;
    font-weight: 600;
    color: #13203A;
    background: #FFFFFF;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    cursor: pointer;
}

.DLPWizardDialog .DWPlanPdf::before {
    content: "";
    width: 14px;
    height: 14px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") no-repeat center / contain;
}

.DLPWizardDialog .DWPlanPdf:hover {
    background: #F3F6FA;
}

.DLPWizardDialog .DWPlanPdf:disabled {
    opacity: .6;
    cursor: progress;
}

.DLPWizardDialog .DWOutcomeHead b {
    color: #13203A;
}

.DLPWizardDialog .DWCov {
    width: 100%;
    border-collapse: separate;
    border-spacing: 4px;
    margin: 0 -4px;
    table-layout: fixed;
}

.DLPWizardDialog .DWCov th {
    padding: 0 2px;
    font-size: 11.5px;
    font-weight: 600;
    text-align: center;
    color: #7A879C;
    background: none;
    border: 0;
}

.DLPWizardDialog .DWCov thead th:first-child {
    width: 172px;
}

.DLPWizardDialog .DWCov tbody th {
    font-size: 12.5px;
    text-align: left;
    color: #13203A;
    white-space: nowrap;
}

.DLPWizardDialog .DWCov td {
    padding: 0;
    background: none;
    border: 0;
}

.DLPWizardDialog .DWCovCell {
    display: block;
    padding: 6px 4px;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    border: 1px solid transparent;
    border-radius: 6px;
}

.DLPWizardDialog .DWCovCell.isBlock { color: #FFFFFF; background: var(--data); }
.DLPWizardDialog .DWCovCell.isWarn { color: color-mix(in srgb, var(--data) 72%, #000); background: color-mix(in srgb, var(--data) 14%, #fff); }
.DLPWizardDialog .DWCovCell.isLog { color: #5D6B82; background: #F1F4F8; }
.DLPWizardDialog .DWCovCell.isNone { color: #9AA6B8; font-weight: 500; background: #FFFFFF; border: 1px dashed #CBD5E1; }

.DLPWizardDialog .DWCovCell.isBetter {
    box-shadow: 0 0 0 2px #1BAF7A;
}

.DLPWizardDialog .DWOutcomeNotes {
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
}

.DLPWizardDialog .DWOutcomeNotes li {
    margin-top: 4px;
    font-size: 12.5px;
    line-height: 1.45;
    color: #5D6B82;
}

.DLPWizardDialog .DWOutcomeNotes li.isWarn {
    color: #7A4A00;
}

/* --- Edición en bloque (DLPPolicies_Bulk.js): casillas en las filas y barra de cambios abajo --- */
:root {
    --dlp-bulk: 1;
}

.ETSmenuPoliticasDLP .PDLPCompact .hasPBK {
    position: relative;
    padding-left: 46px !important;
}

.ETSmenuPoliticasDLP .PDLPCompact .PBKCheck {
    position: absolute;
    left: 16px;
    top: 16px;
    display: flex;
    width: 18px;
    height: 18px;
    margin: 0;
    cursor: pointer;
}

.ETSmenuPoliticasDLP .PDLPCompact thead .PBKCheck {
    top: 50%;
    margin-top: -9px;
}

.ETSmenuPoliticasDLP .PDLPCompact .PBKCheck input {
    width: 16px;
    height: 16px;
    margin: 1px;
    accent-color: var(--brand);
    cursor: pointer;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPRow.isBulkSelected td {
    background: color-mix(in srgb, var(--brand) 5%, #fff);
}

#PDLPBulkBar {
    position: fixed;
    left: 50%;
    bottom: 20px;
    z-index: 900;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px 14px;
    width: max-content;
    max-width: calc(100vw - 48px);
    padding: 14px 18px;
    transform: translateX(-50%);
    background: #FFFFFF;
    border: 1px solid #E3E9F1;
    border-radius: 14px;
    box-shadow: 0 24px 56px -20px rgba(14, 26, 51, .35);
}

#PDLPBulkBar .PBKCount {
    align-self: center;
    margin: 0 4px 0 0;
    font-size: 13.5px;
    color: #5D6B82;
    white-space: nowrap;
}

#PDLPBulkBar .PBKCount b {
    font-size: 15px;
    color: #13203A;
}

#PDLPBulkBar .PBKField {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
}

#PDLPBulkBar .PBKField span {
    font-size: 11.5px;
    font-weight: 600;
    color: #7A879C;
}

#PDLPBulkBar .PBKField select {
    height: 34px;
    width: 136px;
    max-width: 220px;
    padding: 0 8px;
    font: inherit;
    font-size: 13px;
    color: #13203A;
    background: #FFFFFF;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
}

#PDLPBulkBar .PBKActions {
    display: flex;
    gap: 8px;
}

#PDLPBulkBar .PBKActions button {
    height: 34px;
    padding: 0 14px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
}

#PDLPBulkBar .PBKApply {
    color: #FFFFFF;
    background: var(--brand);
    border: 1px solid var(--brand);
}

#PDLPBulkBar .PBKApply:disabled {
    opacity: .45;
    cursor: default;
}

#PDLPBulkBar .PBKDelete {
    color: #B42318;
    background: #FFFFFF;
    border: 1px solid #F1C9CF;
}

#PDLPBulkBar .PBKClose {
    color: #5D6B82;
    background: none;
    border: 0;
}

#PDLPBulkBar button:focus-visible,
#PDLPBulkBar select:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Centrada sobre la zona de contenido (a la derecha de la barra lateral de 172 px, o 68 px plegada) */
#PDLPBulkBar {
    left: calc(50% + 86px);
    max-width: calc(100vw - 172px - 48px);
}

body.menuCollapsed #PDLPBulkBar {
    left: calc(50% + 34px);
    max-width: calc(100vw - 68px - 48px);
}

/* Con la barra abierta, sitio abajo para que no tape la última política */
body.PBKOpen .ETSmenuPoliticasDLP {
    padding-bottom: 110px;
}

/* --- Buscador y filtros (DLPPolicies_Search.js), junto a "Filtrar por equipo" --- */
:root {
    --dlp-search: 1;
}

#PDLPSearchBar {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    min-width: 0;
    margin-left: 4px;
}

#PDLPSearchBar .srOnly {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

#PDLPSearchBar .PSBSearch {
    position: relative;
    display: block;
    width: 280px;
    margin: 0;
}

#PDLPSearchBar .PSBSearch::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    background: #9AA6B8;
    pointer-events: none;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat center / contain;
}

#PDLPSearchBar #PDLPSearchInput {
    box-sizing: border-box;
    width: 100%;
    height: 36px;
    margin: 0;
    padding: 0 12px 0 36px;
    font: inherit;
    font-size: 13.5px;
    color: #13203A;
    background: #FFFFFF;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    box-shadow: none;
    outline: none;
}

#PDLPSearchBar #PDLPSearchInput:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .15);
}

#PDLPSearchBar .PSBChips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

#PDLPSearchBar .PSBChip {
    height: 30px;
    padding: 0 12px;
    font: inherit;
    font-size: 12.5px;
    font-weight: 600;
    color: #3A475E;
    background: #FFFFFF;
    border: 1px solid #D9E1EC;
    border-radius: 999px;
    cursor: pointer;
}

#PDLPSearchBar .PSBChip:hover {
    background: #F3F6FA;
}

#PDLPSearchBar .PSBChip.isOn {
    color: color-mix(in srgb, var(--brand) 79%, #000);
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    border-color: #A9C8F5;
}

#PDLPSearchBar .PSBChip:focus-visible,
#PDLPSearchBar .PSBClear:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

#PDLPSearchBar .PSBCount {
    margin: 0 0 0 4px;
    font-size: 13px;
    color: #7A879C;
}

#PDLPSearchBar .PSBClear {
    padding: 0;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    background: none;
    border: 0;
    cursor: pointer;
}

/* Mientras se busca: se ocultan las filas y grupos sin coincidencias y se abren los grupos plegados */
.ETSmenuPoliticasDLP .PDLPSearchHidden {
    display: none !important;
}

.ETSmenuPoliticasDLP #PDLPPoliciesGroups.isSearching .PDLPItemsList {
    display: block !important;
}

#PDLPSearchEmpty {
    margin: 0 0 18px;
    padding: 18px;
    font-size: 13.5px;
    color: #5D6B82;
    text-align: center;
    background: #FFFFFF;
    border: 1px dashed #CBD5E1;
    border-radius: 12px;
}

#PDLPSearchEmpty a {
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
}

/* --- Revisión de la configuración (DLPPolicies_Review.js): avisos importantes en ámbar y sugerencias en gris --- */
:root {
    --dlp-review: 1;
}

#PDLPReview {
    margin: 0 0 18px;
    background: #FFFFFF;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
}

#PDLPReview .PRVHead {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 14px 18px 6px;
}

#PDLPReview .PRVHead h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #13203A;
}

#PDLPReview .PRVHead p {
    margin: 0;
    font-size: 13px;
    color: #7A879C;
}

#PDLPReview .PRVLater {
    margin-left: auto;
    font-size: 13px;
    font-weight: 600;
    color: #7A879C;
    text-decoration: none;
}

#PDLPReview .PRVLater:hover {
    color: #13203A;
}

#PDLPReview .PRVList {
    margin: 0;
    padding: 0 18px 8px;
    list-style: none;
}

#PDLPReview .PRVList li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid #EEF1F6;
}

#PDLPReview .PRVList li:first-child {
    border-top: 0;
}

#PDLPReview .PRVIcon {
    flex: none;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    background: #9AA6B8;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E") no-repeat center / contain;
}

#PDLPReview .isImportant .PRVIcon {
    background: #D97706;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
}

#PDLPReview .PRVText {
    flex: 1;
    min-width: 0;
}

#PDLPReview .PRVText p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #5D6B82;
}

#PDLPReview .PRVText .PRVTitle {
    margin-bottom: 2px;
    font-size: 13.5px;
    font-weight: 600;
    color: #13203A;
}

#PDLPReview .PRVPolicy {
    color: var(--brand);
    font-weight: 600;
    text-decoration: none;
}

#PDLPReview .PRVPolicy:hover {
    text-decoration: underline;
}

#PDLPReview .PRVFix {
    flex: none;
    height: 32px;
    padding: 0 14px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    color: #13203A;
    background: #FFFFFF;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    cursor: pointer;
}

#PDLPReview .isImportant .PRVFix {
    color: #FFFFFF;
    background: var(--brand);
    border-color: var(--brand);
}

#PDLPReview .PRVFix:hover {
    filter: brightness(.96);
}

/* --- Mapa de cobertura (DLPPolicies_Coverage.js) --- */
:root {
    --dlp-coverage: 1;
}

#PDLPCoverage {
    margin: 0 0 26px;
    background: #FFFFFF;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
}

#PDLPCoverage .PCVHead {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 22px;
    padding: 14px 18px;
}

#PDLPCoverage .PCVToggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    color: #13203A;
    background: none;
    border: 0;
    cursor: pointer;
}

#PDLPCoverage .PCVChevron {
    width: 16px;
    height: 16px;
    background: #7A879C;
    transform: rotate(-90deg);
    transition: transform .15s ease;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
}

#PDLPCoverage.isOpen .PCVChevron {
    transform: none;
}

#PDLPCoverage .PCVSummary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 13px;
    color: #5D6B82;
}

#PDLPCoverage .PCVSummary b {
    color: #13203A;
}

#PDLPCoverage .PCVBar {
    width: 90px;
    height: 6px;
    background: #E8EEF6;
    border-radius: 999px;
    overflow: hidden;
}

#PDLPCoverage .PCVBar i {
    display: block;
    height: 100%;
    background: var(--data);
    border-radius: 999px;
}

#PDLPCoverage .PCVLegend {
    display: flex;
    gap: 14px;
    margin: 0 0 0 auto;
    padding: 0;
    list-style: none;
    font-size: 12px;
    color: #7A879C;
}

#PDLPCoverage .PCVLegend li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

#PDLPCoverage .PCVLegend li::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 3px;
}

#PDLPCoverage .PCVLegend .isBlock::before { background: var(--data); }
#PDLPCoverage .PCVLegend .isWarn::before { background: color-mix(in srgb, var(--data) 27%, #fff); }
#PDLPCoverage .PCVLegend .isLog::before { background: #E3E9F1; }
#PDLPCoverage .PCVLegend .isNone::before { border: 1px dashed #B8C4D4; }

#PDLPCoverage .PCVBody {
    display: none;
    padding: 0 18px 16px;
}

#PDLPCoverage.isOpen .PCVBody {
    display: block;
}

#PDLPCoverage .PCVTable {
    width: 100%;
    border-collapse: separate;
    border-spacing: 6px;
    margin: 0 -6px;
    table-layout: fixed;
}

#PDLPCoverage .PCVTable th {
    padding: 0 4px 2px;
    font-size: 12px;
    font-weight: 600;
    text-align: left;
    color: #7A879C;
    background: none;
    border: 0;
}

#PDLPCoverage .PCVTable thead th {
    text-align: center;
}

#PDLPCoverage .PCVTable thead th:first-child {
    width: 190px;
    text-align: left;
}

#PDLPCoverage .PCVTable tbody th {
    vertical-align: middle;
    font-size: 13px;
    color: #13203A;
    white-space: nowrap;
}

#PDLPCoverage .PCVTable td {
    padding: 0;
    vertical-align: middle;
    background: none;
    border: 0;
}

#PDLPCoverage .PCVCell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    margin: 0;
    padding: 6px 8px;
    font: inherit;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.25;
    border: 1px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    transition: box-shadow .12s ease, transform .12s ease;
}

#PDLPCoverage .PCVCell:hover,
#PDLPCoverage .PCVCell.isActive {
    box-shadow: 0 0 0 2px rgb(var(--brand-rgb) / .28);
}

#PDLPCoverage .PCVCell:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

#PDLPCoverage .PCVCell.isBlock { color: #FFFFFF; background: var(--data); }
#PDLPCoverage .PCVCell.isWarn { color: color-mix(in srgb, var(--data) 72%, #000); background: color-mix(in srgb, var(--data) 14%, #fff); }
#PDLPCoverage .PCVCell.isLog { color: #5D6B82; background: #F1F4F8; }
#PDLPCoverage .PCVCell.isNone { color: #9AA6B8; font-weight: 500; background: #FFFFFF; border: 1px dashed #CBD5E1; }

#PDLPCoverage .PCVNote {
    margin-top: 2px;
    font-size: 11px;
    font-weight: 500;
    opacity: .85;
}

#PDLPCoverage .PCVMassive {
    margin: 10px 0 0;
    font-size: 13px;
    color: #5D6B82;
}

#PDLPCoverage .PCVMassive b {
    color: #13203A;
}

#PDLPCoverage .PCVHint {
    margin: 4px 0 0;
    font-size: 12px;
    color: #9AA6B8;
}

#PCVPop {
    position: fixed;
    z-index: 1100;
    width: 320px;
    padding: 14px 16px;
    background: #FFFFFF;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
    box-shadow: 0 18px 40px -16px rgba(14, 26, 51, .28);
}

#PCVPop .PCVPopTitle {
    margin: 0 0 8px;
    font-size: 13.5px;
    font-weight: 700;
    color: #13203A;
}

#PCVPop .PCVPopList {
    margin: 0;
    padding: 0;
    list-style: none;
}

#PCVPop .PCVPopList a {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 7px 8px;
    margin: 0 -8px;
    text-decoration: none;
    border-radius: 8px;
}

#PCVPop .PCVPopList a:hover {
    background: #F3F6FA;
}

#PCVPop .PCVPopList b {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #13203A;
}

#PCVPop .PCVPopList small {
    font-size: 12px;
    color: #7A879C;
}

#PCVPop .PCVDot {
    flex: none;
    width: 10px;
    height: 10px;
    margin-top: 4px;
    border-radius: 3px;
}

#PCVPop .PCVDot.isBlock { background: var(--data); }
#PCVPop .PCVDot.isWarn { background: color-mix(in srgb, var(--data) 27%, #fff); }
#PCVPop .PCVDot.isLog { background: #E3E9F1; }

#PCVPop .PCVPopHint {
    margin: 8px 0 0;
    font-size: 12.5px;
    line-height: 1.45;
    color: #5D6B82;
}

#PCVPop .PCVPopActions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

#PCVPop .PCVPopBtn {
    height: 32px;
    padding: 0 12px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    color: #FFFFFF;
    background: var(--brand);
    border: 1px solid var(--brand);
    border-radius: 8px;
    cursor: pointer;
}

#PCVPop .PCVPopBtn.isQuiet {
    color: var(--brand);
    background: #FFFFFF;
    border-color: #D9E1EC;
}

/* --- Revisión antes de sincronizar (DLPPolicies_SyncReview.js) --- */
:root {
    --dlp-sync-review: 1;
}

#PSRVeil {
    position: fixed;
    inset: 0;
    z-index: 1200;
    background: rgba(19, 32, 58, .32);
}

#PSRDialog {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1201;
    display: flex;
    flex-direction: column;
    width: min(640px, calc(100vw - 32px));
    max-height: min(760px, calc(100vh - 48px));
    transform: translate(-50%, -50%);
    background: #FFFFFF;
    border-radius: 14px;
    box-shadow: 0 24px 64px -16px rgba(14, 26, 51, .35);
    color: #13203A;
}

#PSRDialog .PSRHead {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 22px 24px 16px;
    border-bottom: 1px solid #EEF1F6;
}

#PSRDialog .PSRHead h2 {
    margin: 0 0 6px;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
}

#PSRDialog .PSRHead p {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.5;
    color: #5D6B82;
}

#PSRDialog .PSRClose {
    flex: none;
    width: 32px;
    height: 32px;
    margin: -4px -6px 0 auto;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
}

#PSRDialog .PSRClose::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    margin: auto;
    background: #7A879C;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
}

#PSRDialog .PSRClose:hover {
    background: #F3F6FA;
}

#PSRDialog .PSRBody {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 6px 24px 18px;
}

#PSRDialog .PSRWarn {
    display: flex;
    gap: 10px;
    margin: 14px 0 4px;
    padding: 12px 14px;
    font-size: 13.5px;
    line-height: 1.45;
    color: #7A4A00;
    background: #FFF7E6;
    border-radius: 10px;
}

#PSRDialog .PSRWarn::before {
    content: "";
    flex: none;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    background: #D97706;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E") no-repeat center / contain;
}

#PSRDialog .PSRSection h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 18px 0 8px;
    font-size: 13px;
    font-weight: 700;
    color: #13203A;
}

#PSRDialog .PSRSection h3::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #94A3B8;
}

#PSRDialog .PSRSection.is-added h3::before { background: #1BAF7A; }
#PSRDialog .PSRSection.is-changed h3::before { background: var(--brand); }
#PSRDialog .PSRSection.is-removed h3::before { background: #D6455D; }

#PSRDialog .PSRCount {
    padding: 1px 7px;
    font-size: 11.5px;
    font-weight: 700;
    color: #5D6B82;
    background: #EEF1F6;
    border-radius: 999px;
}

#PSRDialog .PSRList {
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid #E3E9F1;
    border-radius: 10px;
}

#PSRDialog .PSRItem {
    padding: 11px 14px;
    border-top: 1px solid #EEF1F6;
}

#PSRDialog .PSRItem:first-child {
    border-top: 0;
}

#PSRDialog .PSRItem.isRisky {
    box-shadow: inset 3px 0 0 #E8A317;
}

#PSRDialog .PSRName {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

#PSRDialog .PSRSection.is-removed .PSRName {
    color: #5D6B82;
    text-decoration: line-through;
    text-decoration-color: #B8C2D1;
}

#PSRDialog .PSRGroup,
#PSRDialog .PSRMeta {
    margin: 2px 0 0;
    font-size: 12.5px;
    line-height: 1.45;
    color: #7A879C;
}

#PSRDialog .PSRChanges {
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}

#PSRDialog .PSRChanges li {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 8px;
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.45;
    color: #3A475E;
}

#PSRDialog .PSRLabel {
    min-width: 112px;
    font-size: 12.5px;
    color: #7A879C;
}

#PSRDialog .PSRFrom {
    color: #7A879C;
    text-decoration: line-through;
    text-decoration-color: #C5CFDD;
}

#PSRDialog .PSRArrow {
    width: 14px;
    height: 10px;
    align-self: center;
    background: #9AA6B8;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
}

#PSRDialog .PSRTo {
    font-weight: 600;
    color: #13203A;
}

#PSRDialog .PSRChanges li.isRisky .PSRTo {
    color: #B45309;
}

#PSRDialog .PSRFoot {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 24px;
    border-top: 1px solid #EEF1F6;
}

#PSRDialog .PSRFoot button {
    height: 38px;
    padding: 0 16px;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
}

#PSRDialog .PSRCancel {
    color: #13203A;
    background: #FFFFFF;
    border: 1px solid #D9E1EC;
}

#PSRDialog .PSRCancel:hover {
    background: #F3F6FA;
}

#PSRDialog .PSRConfirm {
    color: #FFFFFF;
    background: var(--brand);
    border: 1px solid var(--brand);
}

#PSRDialog .PSRConfirm:hover {
    background: color-mix(in srgb, var(--brand) 89%, #000);
}

#PSRDialog button:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.ETSmenuPoliticasDLP .PDLPItemsList .RDTableDiv2 {
    background: #FFFFFF;
    border: 1px solid #E3E9F1 !important;
    border-radius: 12px;
}

.ETSmenuPoliticasDLP .PDLPItemsList .progress-table th:first-child,
.ETSmenuPoliticasDLP .PDLPItemsList .progress-table td:first-child {
    padding-left: 16px;
}

.ETSmenuPoliticasDLP .PDLPItemsList .progress-table th:first-child {
    border-top-left-radius: 11px;
}

.ETSmenuPoliticasDLP .PDLPItemsList .progress-table tbody tr:last-child td {
    border-bottom: 0;
}

.ETSmenuPoliticasDLP .PDLPItemsList .progress-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 11px;
}

.ETSmenuPoliticasDLP .PDLPItemsList .progress-table tbody tr:last-child td:last-child,
.ETSmenuPoliticasDLP .PDLPCompact .progress-table tbody tr:last-child td.PDLPCol3 {
    border-bottom-right-radius: 11px;
}

/* Panel lateral */
#PDLPDetailVeil {
    display: none;
    position: fixed;
    inset: 56px 0 0 0;
    z-index: 600;
    background: rgba(19, 32, 58, .06);
}

#PDLPDetail {
    position: fixed;
    top: 56px;
    right: 0;
    bottom: 0;
    z-index: 601;
    display: flex;
    flex-direction: column;
    width: min(480px, calc(100vw - 32px));
    background: #FFFFFF;
    border-left: 1px solid #E4ECF8;
    box-shadow: -28px 0 56px -32px rgba(19, 32, 58, .28);
    font-family: proxima-nova, "Inter", sans-serif;
    color: #13203A;
    transform: translateX(105%);
    visibility: hidden;
    transition: transform .2s ease, visibility 0s linear .2s;
    outline: none;
}

body.PDLPDetailOpen #PDLPDetailVeil {
    display: block;
}

body.PDLPDetailOpen #PDLPDetail {
    transform: none;
    visibility: visible;
    transition: transform .2s ease;
}

body.PDLPDetailOpen.PDDBehind #PDLPDetail,
body.PDLPDetailOpen.PDDBehind #PDLPDetailVeil {
    visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
    #PDLPDetail,
    body.PDLPDetailOpen #PDLPDetail {
        transition: none;
    }
}

#PDLPDetail,
#PDLPDetail * {
    box-sizing: border-box;
}

#PDLPDetail button {
    margin: 0;
    min-width: 0;
}

#PDLPDetail .PDDChips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

#PDLPDetail .PDDChip {
    padding: 3px 9px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--brand) 7%, #fff);
    font-size: 12px;
    font-weight: 600;
    color: #1E3A5F;
}

.ETSmenuPoliticasDLP .PDLPCompact .PDLPCol7 .editPendingMessage {
    margin-top: 8px;
}

#PDLPDetail .PDDHead {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 24px 14px;
}

#PDLPDetail .PDDGroup {
    margin: 0 0 4px;
    font-size: 12px;
    font-weight: 500;
    color: #7A879C;
}

#PDLPDetail h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #13203A;
}

#PDLPDetail .PDDClose {
    flex: none;
    width: 32px;
    height: 32px;
    margin: -4px -6px 0 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    position: relative;
}

#PDLPDetail .PDDClose::before {
    content: "";
    position: absolute;
    inset: 7px;
    background: #5D6B82;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E") center / contain no-repeat;
}

#PDLPDetail .PDDClose:hover {
    background: #F3F6FA;
}

#PDLPDetail .PDDClose:focus-visible,
#PDLPDetail .PDDEdit:focus-visible,
#PDLPDetail .PDDBtn:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

#PDLPDetail .PDDBody {
    flex: 1;
    overflow-y: auto;
    padding: 0 24px 20px;
}

#PDLPDetail .PDDSummary {
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #F5F8FC;
    font-size: 14px;
    line-height: 1.5;
    color: #3A475E;
}

#PDLPDetail .PDDPending {
    margin: -6px 0 16px;
    padding: 9px 12px;
    border-radius: 8px;
    background: #FFF8E6;
    font-size: 12.5px;
    color: #8A5A00;
}

#PDLPDetail .PDDRow2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 8px;
}

#PDLPDetail .PDDRow2 label span {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #5D6B82;
}

#PDLPDetail .PDDSelect {
    width: 100%;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #DCE3EE;
    border-radius: 8px;
    background: #FFFFFF;
    font: inherit;
    font-size: 13px;
    color: #13203A;
}

#PDLPDetail .PDDSelect:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .15);
}

#PDLPDetail .PDDSection {
    padding: 16px 0 4px;
    border-top: 1px solid #EEF1F6;
    margin-top: 12px;
}

#PDLPDetail .PDDSection header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

#PDLPDetail .PDDSection h4 {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #13203A;
}

#PDLPDetail .PDDEdit {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    margin-right: -8px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    cursor: pointer;
}

#PDLPDetail .PDDEdit::before {
    content: "";
    width: 14px;
    height: 14px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z'/%3E%3C/svg%3E") center / contain no-repeat;
}

#PDLPDetail .PDDEdit:hover {
    background: color-mix(in srgb, var(--brand) 7%, #fff);
}

#PDLPDetail ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#PDLPDetail .PDDConds li,
#PDLPDetail .PDDWho li,
#PDLPDetail .PDDComp li {
    padding: 4px 0;
    font-size: 13px;
    line-height: 1.5;
    color: #3A475E;
}

#PDLPDetail .PDDConds li.PDDJoin {
    padding: 2px 0;
    font-size: 12px;
    font-weight: 600;
    color: #9AA6B8;
}

#PDLPDetail .PDDWho li {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

#PDLPDetail .PDDWho small {
    color: #7A879C;
}

#PDLPDetail .PDDIco {
    flex: none;
    align-self: center;
    width: 15px;
    height: 15px;
    background: #7A879C;
    -webkit-mask: var(--pdd-ico) center / contain no-repeat;
    mask: var(--pdd-ico) center / contain no-repeat;
}

#PDLPDetail .PDDIco.isUser {
    --pdd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='3' rx='2'/%3E%3Cline x1='8' x2='16' y1='21' y2='21'/%3E%3Cline x1='12' x2='12' y1='17' y2='21'/%3E%3C/svg%3E");
}

#PDLPDetail .PDDIco.isContact {
    --pdd-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");
}

#PDLPDetail .PDDQuote {
    padding-left: 23px !important;
    font-style: italic;
    color: #5D6B82 !important;
}

#PDLPDetail .PDDText {
    margin: 0 0 4px;
    font-size: 13px;
    font-weight: 600;
    color: #13203A;
}

#PDLPDetail .PDDText.isWarn {
    color: #B7791F;
}

/* Acción 3 (cuarentena): qué hace de verdad, bajo Acción y Severidad */
#PDLPDetail .PDDActionNote {
    margin: -6px 0 16px;
    padding: 9px 12px;
    border-radius: 8px;
    background: #FFF8E6;
    font-size: 12.5px;
    line-height: 1.45;
    color: #8A5A00;
}

#PDLPDetail .PDDActionNote[hidden] {
    display: none;
}

#PDLPDetail .PDDMuted,
#PDLPDetail .PDDEmpty {
    margin: 0;
    font-size: 13px;
    color: #7A879C;
}

#PDLPDetail .PDDComp b {
    display: inline-block;
    margin-right: 6px;
    padding: 1px 7px;
    border-radius: 5px;
    background: #EEF1F6;
    font-size: 11.5px;
    font-weight: 700;
    color: #3A475E;
}

#PDLPDetail .PDDFoot {
    display: flex;
    gap: 8px;
    padding: 14px 24px;
    border-top: 1px solid #EEF1F6;
    background: #FFFFFF;
}

#PDLPDetail .PDDBtn {
    height: 34px;
    padding: 0 14px;
    border: 1px solid #DCE3EE;
    border-radius: 8px;
    background: #FFFFFF;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    color: #13203A;
    cursor: pointer;
}

#PDLPDetail .PDDBtn:hover {
    background: #F3F6FA;
}

#PDLPDetail .PDDBtn.isDanger {
    margin-left: auto;
    color: #C23B52;
}

#PDLPDetail .PDDBtn.isDanger:hover {
    border-color: #F1C4CD;
    background: #FDF2F4;
}

@media (max-height: 760px) {
    #PDLPDetail .PDDHead { padding-top: 16px; }
    #PDLPDetail .PDDSection { margin-top: 6px; padding-top: 12px; }
}
/* --- Políticas DLP: filas compactas y panel de detalle, fin */

/* --- Discovery sin equipos: bloque central para descargar el instalador (computers.aux.renderEmptyHero) ---
   Mismo diseño y fondo que Políticas DLP sin políticas; el CSS de ese bloque se copia aquí con los nombres DS*
   (disc_hero_css.py en el scratchpad). Si se cambia uno, regenerar el otro. */
.ETSmenuDetailComputersConfig #DSHero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    box-sizing: border-box;
    min-height: 400px;
    margin: 24px 0 0;
    padding: 44px 32px 44px 56px;
    overflow: hidden;
    background:
        radial-gradient(60% 90% at 78% 45%, color-mix(in srgb, var(--brand) 11%, #fff) 0%, rgba(227, 237, 255, 0) 70%),
        linear-gradient(135deg, #FFFFFF 0%, color-mix(in srgb, var(--brand) 2%, #fff) 50%, color-mix(in srgb, var(--brand) 5%, #fff) 100%);
    border: 1px solid #E3E9F1;
    border-radius: 24px;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .04), 0 16px 40px rgba(30, 64, 140, .08);
}

/* Texto */
.ETSmenuDetailComputersConfig #DSHero .DSHeroCopy {
    position: relative;
    z-index: 1;
    text-align: left;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 22px;
    color: var(--brand);
    background: #ffffff;
    border: 1px solid color-mix(in srgb, var(--brand) 14%, #fff);
    border-radius: 14px;
    box-shadow: 0 6px 16px rgb(var(--brand-rgb) / .12);
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroIcon .DSIcon {
    width: 24px;
    height: 24px;
}

.ETSmenuDetailComputersConfig #DSHero h2 {
    max-width: 520px;
    margin: 0;
    padding: 0;
    text-align: left;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #0E1A33;
    text-wrap: balance;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroText {
    max-width: 520px;
    margin: 14px 0 0;
    font-size: 15.5px;
    line-height: 1.6;
    color: #4E5B72;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroData {
    margin: 18px 0 0;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroDataTitle,
.ETSmenuDetailComputersConfig #DSHero .DSHeroEmptyData {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #69768C;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroDataTitle {
    margin-bottom: 8px;
    font-weight: 600;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroData ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroData li {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    min-width: 72px;
    height: 32px;
    box-sizing: border-box;
    padding: 6px 12px;
    font-size: 13px;
    color: #5D6B82;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 999px;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroData li b {
    font-size: 14px;
    font-weight: 700;
    color: #0E1A33;
    font-variant-numeric: tabular-nums;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroData ul.isLoading li {
    min-width: 96px;
    background: linear-gradient(90deg, #F1F4F8 0%, #F8FAFC 50%, #F1F4F8 100%);
    background-size: 200% 100%;
    border-color: transparent;
    animation: DSHeroLoading 1.2s ease-in-out infinite;
}

@keyframes DSHeroLoading {
    from { background-position: 100% 0; }
    to { background-position: -100% 0; }
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroStart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 52px;
    margin-top: 26px;
    padding: 0 30px;
    font-size: 15.5px;
    font-weight: 600;
    color: #ffffff;
    text-decoration: none;
    background: var(--brand);
    border-radius: 12px;
    box-shadow: 0 8px 20px rgb(var(--brand-rgb) / .28);
    transition: background-color .15s ease, box-shadow .15s ease;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroStart::after {
    content: "";
    width: 17px;
    height: 17px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
    transition: transform .15s ease;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroStart:hover {
    background: color-mix(in srgb, var(--brand) 75%, #000);
    box-shadow: 0 10px 24px rgba(0, 86, 179, .3);
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroStart:hover::after {
    transform: translateX(3px);
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroStart:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 3px;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroNote {
    margin: 12px 0 0;
    font-size: 13px;
    color: #8A96AA;
}

/* Ilustración */
.ETSmenuDetailComputersConfig #DSHero .DSHeroArt {
    position: relative;
    align-self: stretch;
    min-height: 330px;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroSvg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(100%, 440px);
    height: auto;
    transform: translate(-50%, -50%);
}

.ETSmenuDetailComputersConfig #DSHero .DSFloat {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px 10px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    color: #13203A;
    white-space: nowrap;
    background: rgba(255, 255, 255, .86);
    border: 1px solid rgba(255, 255, 255, .95);
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(30, 64, 140, .14), 0 1px 2px rgba(14, 26, 51, .06);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.ETSmenuDetailComputersConfig #DSHero .DSFloat > .DSIcon {
    width: 22px;
    height: 22px;
    color: var(--brand);
}

.ETSmenuDetailComputersConfig #DSHero .DSFloat i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 20px;
    height: 20px;
    margin-left: 6px;
    color: #ffffff;
    background: #12A27A;
    border-radius: 50%;
}

.ETSmenuDetailComputersConfig #DSHero .DSFloat i .DSIcon {
    width: 12px;
    height: 12px;
    stroke-width: 3;
}

.ETSmenuDetailComputersConfig #DSHero .DSFloat.isData {
    top: 6%;
    left: 4%;
    transform: rotate(-5deg);
}

.ETSmenuDetailComputersConfig #DSHero .DSFloat.isWho {
    top: 14%;
    right: 0;
    transform: rotate(4deg);
}

.ETSmenuDetailComputersConfig #DSHero .DSFloat.isWhat {
    top: 60%;
    right: 2%;
    transform: rotate(-4deg);
}

/* Otras formas de empezar */
@media (max-width: 1200px) {
    .ETSmenuDetailComputersConfig #DSHero {
        padding-left: 40px;
    }

    .ETSmenuDetailComputersConfig #DSHero h2 {
        font-size: 30px;
    }
}

@media (max-width: 980px) {
    .ETSmenuDetailComputersConfig #DSHero {
        grid-template-columns: minmax(0, 1fr);
        padding: 36px 28px;
    }

    .ETSmenuDetailComputersConfig #DSHero .DSHeroArt {
        display: none;
    }
}

@media (max-height: 820px) {

    .ETSmenuDetailComputersConfig #DSHero {
        min-height: 340px;
        margin-top: 12px;
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .ETSmenuDetailComputersConfig #DSHero .DSHeroIcon {
        width: 46px;
        height: 46px;
        margin-bottom: 16px;
    }

    .ETSmenuDetailComputersConfig #DSHero h2 {
        font-size: 30px;
    }

    .ETSmenuDetailComputersConfig #DSHero .DSHeroStart {
        height: 48px;
        margin-top: 20px;
    }

    .ETSmenuDetailComputersConfig #DSHero .DSHeroArt {
        min-height: 280px;
    }

    .ETSmenuDetailComputersConfig #DSHero .DSHeroSvg {
        width: min(100%, 370px);
    }


}

@media (prefers-reduced-motion: reduce) {
    .ETSmenuDetailComputersConfig #DSHero .DSHeroData ul.isLoading li {
        animation: none;
    }

    .ETSmenuDetailComputersConfig #DSHero .DSHeroStart,
    .ETSmenuDetailComputersConfig #DSHero .DSHeroStart::after {
        transition: none;
    }
}

/* Fondo de la pantalla sin políticas: capa fija detrás de la zona de contenido (de la barra lateral al borde, bajo la
   cabecera) con degradados blancos y azules. Sólo con body.DSEmptyPage y dentro de Políticas DLP */
.DSEmptyPage #DSHeroBg {
    position: fixed;
    top: 56px;
    right: 0;
    bottom: 0;
    left: 172px;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, #FFFFFF 0, rgba(255, 255, 255, 0) 160px),
        linear-gradient(180deg, #FFFFFF 0, rgba(255, 255, 255, 0) 90px),
        radial-gradient(900px 560px at 80% 12%, rgba(190, 216, 255, .55) 0%, rgba(190, 216, 255, 0) 70%),
        radial-gradient(760px 520px at 8% 92%, rgba(214, 208, 255, .35) 0%, rgba(214, 208, 255, 0) 70%),
        radial-gradient(1000px 640px at 48% 58%, rgba(226, 237, 255, .7) 0%, rgba(226, 237, 255, 0) 72%),
        linear-gradient(180deg, #FFFFFF 0%, color-mix(in srgb, var(--brand) 4%, #fff) 40%, color-mix(in srgb, var(--brand) 7%, #fff) 100%);
}

body.menuCollapsed.DSEmptyPage #DSHeroBg {
    left: 68px;
}

#DSHeroBg {
    display: none;
}

.DSEmptyPage #DSHeroBg {
    display: block;
}

/* El contenido del apartado por encima de la capa */
.DSEmptyPage #DSHeroBg ~ * {
    position: relative;
    z-index: 1;
}

/* Sobre el degradado, las tarjetas un poco más marcadas */
.DSEmptyPage .ETSmenuDetailComputersConfig #DSHero {
    border-color: rgba(214, 228, 250, .9);
    box-shadow: 0 1px 2px rgba(14, 26, 51, .04), 0 20px 48px rgba(30, 64, 140, .10);
}




/* Discovery sin equipos: además del bloque, el resto del apartado se oculta (columna casi vacía, panel del equipo) */
:root {
    --discovery-empty-hero: 1;
}

.DSEmptyPage .ETSmenuDetailComputersConfig > :not(#DSHero):not(#DSHeroBg) {
    display: none !important;
}

/* Centrado en la zona de contenido, también en vertical (bajo la cabecera de 56 px). La consola muestra el apartado
   con .show() (display: block en línea) y deja la clase .hidden, así que no se puede depender de ella */
.DSEmptyPage .ETSmenuDetail > .ETSmenuDetailComputersConfig[style*="display: block"],
.DSEmptyPage .ETSmenuDetail > .ETSmenuDetailComputersConfig:not(.hidden):not([style*="display: none"]) {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    min-height: calc(100vh - 56px);
    padding-top: 0;
    padding-bottom: 210px;
}

/* Sin recuadro: integrado en el fondo de degradados (sin borde, sombra ni fondo propio) */
.DSEmptyPage .ETSmenuDetailComputersConfig #DSHero {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    background: transparent;
    border: 0;
    box-shadow: none;
    /* Más grande que el de Políticas: todo el bloque (texto, botones e ilustración) a escala */
    zoom: 1.02;
}

@media (min-width: 1500px) and (min-height: 821px) {
    .DSEmptyPage .ETSmenuDetailComputersConfig #DSHero {
        zoom: 1.12;
    }
}

/* Al pasar el ratón sólo se anula el realce de tarjeta del bloque de Políticas; el tamaño no cambia */
.DSEmptyPage .ETSmenuDetailComputersConfig #DSHero:hover {
    background: transparent;
    border: 0;
    box-shadow: none;
}

@media (max-height: 820px) {
    .DSEmptyPage .ETSmenuDetail > .ETSmenuDetailComputersConfig[style*="display: block"],
    .DSEmptyPage .ETSmenuDetail > .ETSmenuDetailComputersConfig:not(.hidden):not([style*="display: none"]) {
        padding-top: 0;
        padding-bottom: 110px;
    }
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroSteps {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: dsstep;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroSteps li {
    position: relative;
    padding: 0 0 12px 38px;
    font-size: 14px;
    line-height: 26px;
    color: #5D6B82;
    counter-increment: dsstep;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroSteps li b {
    font-weight: 600;
    color: #13203A;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroSteps li::before {
    content: counter(dsstep);
    position: absolute;
    left: 0;
    top: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand) 16%, #fff), 0 2px 6px rgba(30, 64, 140, .08);
    font-size: 13px;
    font-weight: 700;
    line-height: 26px;
    text-align: center;
    color: var(--brand);
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroActions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroDownload,
.ETSmenuDetailComputersConfig #DSHero .DSHeroCheck {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 52px;
    padding: 0 26px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s, box-shadow .15s, transform .15s;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroDownload {
    background: var(--brand);
    color: #FFFFFF;
    box-shadow: 0 10px 24px rgb(var(--brand-rgb) / .28);
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroDownload:hover {
    background: color-mix(in srgb, var(--brand) 85%, #000);
    transform: translateY(-1px);
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroCheck {
    height: 52px;
    padding: 0 20px;
    border: 1px solid #DCE3EE;
    background: #FFFFFF;
    color: #13203A;
    font-weight: 600;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroCheck:hover {
    background: #F3F6FA;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroCheck.isBusy {
    pointer-events: none;
    color: #5D6B82;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroCheck.isBusy .DSIcon {
    animation: DSHeroSpin 1s linear infinite;
}

@keyframes DSHeroSpin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .ETSmenuDetailComputersConfig #DSHero .DSHeroCheck.isBusy .DSIcon { animation: none; }
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroDownload:focus-visible,
.ETSmenuDetailComputersConfig #DSHero .DSHeroCheck:focus-visible,
.ETSmenuDetailComputersConfig #DSHero .DSHeroNote a:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 3px;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroDownload .DSIcon,
.ETSmenuDetailComputersConfig #DSHero .DSHeroCheck .DSIcon {
    width: 19px;
    height: 19px;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroNote a {
    color: var(--brand);
    font-weight: 600;
    text-decoration: none;
}

.ETSmenuDetailComputersConfig #DSHero .DSHeroNote a:hover {
    text-decoration: underline;
}

.ETSmenuDetailComputersConfig .DSIcon {
    width: 18px;
    height: 18px;
    flex: none;
}

@media (prefers-reduced-motion: reduce) {
    .ETSmenuDetailComputersConfig #DSHero .DSHeroDownload { transition: none; }
}
/* --- Discovery sin equipos, fin */

/* --- Informes sin equipos: el mismo bloque que Discovery sin equipos (computers.aux.renderReportsEmptyHero) ---
   Copia del CSS de "Discovery sin equipos" con #RPHero y .ETSmenuReports (rep_hero_css.py en el scratchpad);
   regenerar si cambia aquel. Lo muestra body.DSEmptyPage (empresa sin equipos). */

.ETSmenuReports #RPHero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    box-sizing: border-box;
    min-height: 400px;
    margin: 24px 0 0;
    padding: 44px 32px 44px 56px;
    overflow: hidden;
    background:
        radial-gradient(60% 90% at 78% 45%, color-mix(in srgb, var(--brand) 11%, #fff) 0%, rgba(227, 237, 255, 0) 70%),
        linear-gradient(135deg, #FFFFFF 0%, color-mix(in srgb, var(--brand) 2%, #fff) 50%, color-mix(in srgb, var(--brand) 5%, #fff) 100%);
    border: 1px solid #E3E9F1;
    border-radius: 24px;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .04), 0 16px 40px rgba(30, 64, 140, .08);
}

/* Texto */
.ETSmenuReports #RPHero .DSHeroCopy {
    position: relative;
    z-index: 1;
    text-align: left;
}

.ETSmenuReports #RPHero .DSHeroIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 22px;
    color: var(--brand);
    background: #ffffff;
    border: 1px solid color-mix(in srgb, var(--brand) 14%, #fff);
    border-radius: 14px;
    box-shadow: 0 6px 16px rgb(var(--brand-rgb) / .12);
}

.ETSmenuReports #RPHero .DSHeroIcon .DSIcon {
    width: 24px;
    height: 24px;
}

.ETSmenuReports #RPHero h2 {
    max-width: 520px;
    margin: 0;
    padding: 0;
    text-align: left;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #0E1A33;
    text-wrap: balance;
}

.ETSmenuReports #RPHero .DSHeroText {
    max-width: 520px;
    margin: 14px 0 0;
    font-size: 15.5px;
    line-height: 1.6;
    color: #4E5B72;
}

.ETSmenuReports #RPHero .DSHeroData {
    margin: 18px 0 0;
}

.ETSmenuReports #RPHero .DSHeroDataTitle,
.ETSmenuReports #RPHero .DSHeroEmptyData {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #69768C;
}

.ETSmenuReports #RPHero .DSHeroDataTitle {
    margin-bottom: 8px;
    font-weight: 600;
}

.ETSmenuReports #RPHero .DSHeroData ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ETSmenuReports #RPHero .DSHeroData li {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    min-width: 72px;
    height: 32px;
    box-sizing: border-box;
    padding: 6px 12px;
    font-size: 13px;
    color: #5D6B82;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 999px;
}

.ETSmenuReports #RPHero .DSHeroData li b {
    font-size: 14px;
    font-weight: 700;
    color: #0E1A33;
    font-variant-numeric: tabular-nums;
}

.ETSmenuReports #RPHero .DSHeroData ul.isLoading li {
    min-width: 96px;
    background: linear-gradient(90deg, #F1F4F8 0%, #F8FAFC 50%, #F1F4F8 100%);
    background-size: 200% 100%;
    border-color: transparent;
    animation: DSHeroLoading 1.2s ease-in-out infinite;
}

@keyframes DSHeroLoading {
    from { background-position: 100% 0; }
    to { background-position: -100% 0; }
}

.ETSmenuReports #RPHero .DSHeroStart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 52px;
    margin-top: 26px;
    padding: 0 30px;
    font-size: 15.5px;
    font-weight: 600;
    color: #ffffff;
    text-decoration: none;
    background: var(--brand);
    border-radius: 12px;
    box-shadow: 0 8px 20px rgb(var(--brand-rgb) / .28);
    transition: background-color .15s ease, box-shadow .15s ease;
}

.ETSmenuReports #RPHero .DSHeroStart::after {
    content: "";
    width: 17px;
    height: 17px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
    transition: transform .15s ease;
}

.ETSmenuReports #RPHero .DSHeroStart:hover {
    background: color-mix(in srgb, var(--brand) 75%, #000);
    box-shadow: 0 10px 24px rgba(0, 86, 179, .3);
}

.ETSmenuReports #RPHero .DSHeroStart:hover::after {
    transform: translateX(3px);
}

.ETSmenuReports #RPHero .DSHeroStart:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 3px;
}

.ETSmenuReports #RPHero .DSHeroNote {
    margin: 12px 0 0;
    font-size: 13px;
    color: #8A96AA;
}

/* Ilustración */
.ETSmenuReports #RPHero .DSHeroArt {
    position: relative;
    align-self: stretch;
    min-height: 330px;
}

.ETSmenuReports #RPHero .DSHeroSvg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(100%, 440px);
    height: auto;
    transform: translate(-50%, -50%);
}

.ETSmenuReports #RPHero .DSFloat {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px 10px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    color: #13203A;
    white-space: nowrap;
    background: rgba(255, 255, 255, .86);
    border: 1px solid rgba(255, 255, 255, .95);
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(30, 64, 140, .14), 0 1px 2px rgba(14, 26, 51, .06);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.ETSmenuReports #RPHero .DSFloat > .DSIcon {
    width: 22px;
    height: 22px;
    color: var(--brand);
}

.ETSmenuReports #RPHero .DSFloat i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 20px;
    height: 20px;
    margin-left: 6px;
    color: #ffffff;
    background: #12A27A;
    border-radius: 50%;
}

.ETSmenuReports #RPHero .DSFloat i .DSIcon {
    width: 12px;
    height: 12px;
    stroke-width: 3;
}

.ETSmenuReports #RPHero .DSFloat.isData {
    top: 6%;
    left: 4%;
    transform: rotate(-5deg);
}

.ETSmenuReports #RPHero .DSFloat.isWho {
    top: 14%;
    right: 0;
    transform: rotate(4deg);
}

.ETSmenuReports #RPHero .DSFloat.isWhat {
    top: 60%;
    right: 2%;
    transform: rotate(-4deg);
}

/* Otras formas de empezar */
@media (max-width: 1200px) {
    .ETSmenuReports #RPHero {
        padding-left: 40px;
    }

    .ETSmenuReports #RPHero h2 {
        font-size: 30px;
    }
}

@media (max-width: 980px) {
    .ETSmenuReports #RPHero {
        grid-template-columns: minmax(0, 1fr);
        padding: 36px 28px;
    }

    .ETSmenuReports #RPHero .DSHeroArt {
        display: none;
    }
}

@media (max-height: 820px) {

    .ETSmenuReports #RPHero {
        min-height: 340px;
        margin-top: 12px;
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .ETSmenuReports #RPHero .DSHeroIcon {
        width: 46px;
        height: 46px;
        margin-bottom: 16px;
    }

    .ETSmenuReports #RPHero h2 {
        font-size: 30px;
    }

    .ETSmenuReports #RPHero .DSHeroStart {
        height: 48px;
        margin-top: 20px;
    }

    .ETSmenuReports #RPHero .DSHeroArt {
        min-height: 280px;
    }

    .ETSmenuReports #RPHero .DSHeroSvg {
        width: min(100%, 370px);
    }


}

@media (prefers-reduced-motion: reduce) {
    .ETSmenuReports #RPHero .DSHeroData ul.isLoading li {
        animation: none;
    }

    .ETSmenuReports #RPHero .DSHeroStart,
    .ETSmenuReports #RPHero .DSHeroStart::after {
        transition: none;
    }
}

/* Fondo de la pantalla sin políticas: capa fija detrás de la zona de contenido (de la barra lateral al borde, bajo la
   cabecera) con degradados blancos y azules. Sólo con body.DSEmptyPage y dentro de Políticas DLP */
.DSEmptyPage #RPHeroBg {
    position: fixed;
    top: 56px;
    right: 0;
    bottom: 0;
    left: 172px;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, #FFFFFF 0, rgba(255, 255, 255, 0) 160px),
        linear-gradient(180deg, #FFFFFF 0, rgba(255, 255, 255, 0) 90px),
        radial-gradient(900px 560px at 80% 12%, rgba(190, 216, 255, .55) 0%, rgba(190, 216, 255, 0) 70%),
        radial-gradient(760px 520px at 8% 92%, rgba(214, 208, 255, .35) 0%, rgba(214, 208, 255, 0) 70%),
        radial-gradient(1000px 640px at 48% 58%, rgba(226, 237, 255, .7) 0%, rgba(226, 237, 255, 0) 72%),
        linear-gradient(180deg, #FFFFFF 0%, color-mix(in srgb, var(--brand) 4%, #fff) 40%, color-mix(in srgb, var(--brand) 7%, #fff) 100%);
}

body.menuCollapsed.DSEmptyPage #RPHeroBg {
    left: 68px;
}

#RPHeroBg {
    display: none;
}

.DSEmptyPage #RPHeroBg {
    display: block;
}

/* El contenido del apartado por encima de la capa */
.DSEmptyPage #RPHeroBg ~ * {
    position: relative;
    z-index: 1;
}

/* Sobre el degradado, las tarjetas un poco más marcadas */
.DSEmptyPage .ETSmenuReports #RPHero {
    border-color: rgba(214, 228, 250, .9);
    box-shadow: 0 1px 2px rgba(14, 26, 51, .04), 0 20px 48px rgba(30, 64, 140, .10);
}




/* Discovery sin equipos: además del bloque, el resto del apartado se oculta (columna casi vacía, panel del equipo) */

.DSEmptyPage .ETSmenuReports > :not(#RPHero):not(#RPHeroBg) {
    display: none !important;
}

/* Centrado en la zona de contenido, también en vertical (bajo la cabecera de 56 px). La consola muestra el apartado
   con .show() (display: block en línea) y deja la clase .hidden, así que no se puede depender de ella */
.DSEmptyPage .ETSmenuDetail > .ETSmenuReports[style*="display: block"],
.DSEmptyPage .ETSmenuDetail > .ETSmenuReports:not(.hidden):not([style*="display: none"]) {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    min-height: calc(100vh - 56px);
    padding-top: 0;
    padding-bottom: 210px;
}

/* Sin recuadro: integrado en el fondo de degradados (sin borde, sombra ni fondo propio) */
.DSEmptyPage .ETSmenuReports #RPHero {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    background: transparent;
    border: 0;
    box-shadow: none;
    /* Más grande que el de Políticas: todo el bloque (texto, botones e ilustración) a escala */
    zoom: 1.02;
}

@media (min-width: 1500px) and (min-height: 821px) {
    .DSEmptyPage .ETSmenuReports #RPHero {
        zoom: 1.12;
    }
}

/* Al pasar el ratón sólo se anula el realce de tarjeta del bloque de Políticas; el tamaño no cambia */
.DSEmptyPage .ETSmenuReports #RPHero:hover {
    background: transparent;
    border: 0;
    box-shadow: none;
}

@media (max-height: 820px) {
    .DSEmptyPage .ETSmenuDetail > .ETSmenuReports[style*="display: block"],
    .DSEmptyPage .ETSmenuDetail > .ETSmenuReports:not(.hidden):not([style*="display: none"]) {
        padding-top: 0;
        padding-bottom: 110px;
    }
}

.ETSmenuReports #RPHero .DSHeroSteps {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: dsstep;
}

.ETSmenuReports #RPHero .DSHeroSteps li {
    position: relative;
    padding: 0 0 12px 38px;
    font-size: 14px;
    line-height: 26px;
    color: #5D6B82;
    counter-increment: dsstep;
}

.ETSmenuReports #RPHero .DSHeroSteps li b {
    font-weight: 600;
    color: #13203A;
}

.ETSmenuReports #RPHero .DSHeroSteps li::before {
    content: counter(dsstep);
    position: absolute;
    left: 0;
    top: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand) 16%, #fff), 0 2px 6px rgba(30, 64, 140, .08);
    font-size: 13px;
    font-weight: 700;
    line-height: 26px;
    text-align: center;
    color: var(--brand);
}

.ETSmenuReports #RPHero .DSHeroActions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
}

.ETSmenuReports #RPHero .DSHeroDownload,
.ETSmenuReports #RPHero .DSHeroCheck {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 52px;
    padding: 0 26px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s, box-shadow .15s, transform .15s;
}

.ETSmenuReports #RPHero .DSHeroDownload {
    background: var(--brand);
    color: #FFFFFF;
    box-shadow: 0 10px 24px rgb(var(--brand-rgb) / .28);
}

.ETSmenuReports #RPHero .DSHeroDownload:hover {
    background: color-mix(in srgb, var(--brand) 85%, #000);
    transform: translateY(-1px);
}

.ETSmenuReports #RPHero .DSHeroCheck {
    height: 52px;
    padding: 0 20px;
    border: 1px solid #DCE3EE;
    background: #FFFFFF;
    color: #13203A;
    font-weight: 600;
}

.ETSmenuReports #RPHero .DSHeroCheck:hover {
    background: #F3F6FA;
}

.ETSmenuReports #RPHero .DSHeroCheck.isBusy {
    pointer-events: none;
    color: #5D6B82;
}

.ETSmenuReports #RPHero .DSHeroCheck.isBusy .DSIcon {
    animation: DSHeroSpin 1s linear infinite;
}

@keyframes DSHeroSpin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .ETSmenuReports #RPHero .DSHeroCheck.isBusy .DSIcon { animation: none; }
}

.ETSmenuReports #RPHero .DSHeroDownload:focus-visible,
.ETSmenuReports #RPHero .DSHeroCheck:focus-visible,
.ETSmenuReports #RPHero .DSHeroNote a:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 3px;
}

.ETSmenuReports #RPHero .DSHeroDownload .DSIcon,
.ETSmenuReports #RPHero .DSHeroCheck .DSIcon {
    width: 19px;
    height: 19px;
}

.ETSmenuReports #RPHero .DSHeroNote a {
    color: var(--brand);
    font-weight: 600;
    text-decoration: none;
}

.ETSmenuReports #RPHero .DSHeroNote a:hover {
    text-decoration: underline;
}

.ETSmenuReports .DSIcon {
    width: 18px;
    height: 18px;
    flex: none;
}

@media (prefers-reduced-motion: reduce) {
    .ETSmenuReports #RPHero .DSHeroDownload { transition: none; }
}

/* Lista de lo que mostrarán los informes */
.ETSmenuReports #RPHero .RPHeroList {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.ETSmenuReports #RPHero .RPHeroList li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 0 12px;
    font-size: 14px;
    line-height: 22px;
    color: #5D6B82;
}

.ETSmenuReports #RPHero .RPHeroList li b {
    font-weight: 600;
    color: #13203A;
}

.ETSmenuReports #RPHero .RPHeroList .DSIcon {
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    padding: 6px;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand) 16%, #fff), 0 2px 6px rgba(30, 64, 140, .08);
    color: var(--brand);
}
/* --- Informes sin equipos, fin */

/* --- Logs de acceso sin equipos: el mismo bloque dentro de la ventana "Informes de monitorización"
   (computers.aux.renderLogsEmptyHero, desde reportsDialog.enhanceV2). Reglas del contenido copiadas de
   "Discovery sin equipos" con #LGHero (log_hero_css.py en el scratchpad); regenerar si cambia aquel. */
.reportsDialog.isNoPCs #LGHero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    box-sizing: border-box;
    min-height: 400px;
    margin: 24px 0 0;
    padding: 44px 32px 44px 56px;
    overflow: hidden;
    background:
        radial-gradient(60% 90% at 78% 45%, color-mix(in srgb, var(--brand) 11%, #fff) 0%, rgba(227, 237, 255, 0) 70%),
        linear-gradient(135deg, #FFFFFF 0%, color-mix(in srgb, var(--brand) 2%, #fff) 50%, color-mix(in srgb, var(--brand) 5%, #fff) 100%);
    border: 1px solid #E3E9F1;
    border-radius: 24px;
    box-shadow: 0 1px 2px rgba(14, 26, 51, .04), 0 16px 40px rgba(30, 64, 140, .08);
}

.reportsDialog.isNoPCs #LGHero .DSHeroCopy {
    position: relative;
    z-index: 1;
    text-align: left;
}

.reportsDialog.isNoPCs #LGHero .DSHeroIcon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 22px;
    color: var(--brand);
    background: #ffffff;
    border: 1px solid color-mix(in srgb, var(--brand) 14%, #fff);
    border-radius: 14px;
    box-shadow: 0 6px 16px rgb(var(--brand-rgb) / .12);
}

.reportsDialog.isNoPCs #LGHero .DSHeroIcon .DSIcon {
    width: 24px;
    height: 24px;
}

.reportsDialog.isNoPCs #LGHero h2 {
    max-width: 520px;
    margin: 0;
    padding: 0;
    text-align: left;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #0E1A33;
    text-wrap: balance;
}

.reportsDialog.isNoPCs #LGHero .DSHeroText {
    max-width: 520px;
    margin: 14px 0 0;
    font-size: 15.5px;
    line-height: 1.6;
    color: #4E5B72;
}

.reportsDialog.isNoPCs #LGHero .DSHeroData {
    margin: 18px 0 0;
}

.reportsDialog.isNoPCs #LGHero .DSHeroDataTitle,
.reportsDialog.isNoPCs #LGHero .DSHeroEmptyData {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #69768C;
}

.reportsDialog.isNoPCs #LGHero .DSHeroDataTitle {
    margin-bottom: 8px;
    font-weight: 600;
}

.reportsDialog.isNoPCs #LGHero .DSHeroData ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.reportsDialog.isNoPCs #LGHero .DSHeroData li {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    min-width: 72px;
    height: 32px;
    box-sizing: border-box;
    padding: 6px 12px;
    font-size: 13px;
    color: #5D6B82;
    background: #ffffff;
    border: 1px solid #E3E9F1;
    border-radius: 999px;
}

.reportsDialog.isNoPCs #LGHero .DSHeroData li b {
    font-size: 14px;
    font-weight: 700;
    color: #0E1A33;
    font-variant-numeric: tabular-nums;
}

.reportsDialog.isNoPCs #LGHero .DSHeroData ul.isLoading li {
    min-width: 96px;
    background: linear-gradient(90deg, #F1F4F8 0%, #F8FAFC 50%, #F1F4F8 100%);
    background-size: 200% 100%;
    border-color: transparent;
    animation: DSHeroLoading 1.2s ease-in-out infinite;
}

.reportsDialog.isNoPCs #LGHero .DSHeroStart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 52px;
    margin-top: 26px;
    padding: 0 30px;
    font-size: 15.5px;
    font-weight: 600;
    color: #ffffff;
    text-decoration: none;
    background: var(--brand);
    border-radius: 12px;
    box-shadow: 0 8px 20px rgb(var(--brand-rgb) / .28);
    transition: background-color .15s ease, box-shadow .15s ease;
}

.reportsDialog.isNoPCs #LGHero .DSHeroStart::after {
    content: "";
    width: 17px;
    height: 17px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") no-repeat center / contain;
    transition: transform .15s ease;
}

.reportsDialog.isNoPCs #LGHero .DSHeroStart:hover {
    background: color-mix(in srgb, var(--brand) 75%, #000);
    box-shadow: 0 10px 24px rgba(0, 86, 179, .3);
}

.reportsDialog.isNoPCs #LGHero .DSHeroStart:hover::after {
    transform: translateX(3px);
}

.reportsDialog.isNoPCs #LGHero .DSHeroStart:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 3px;
}

.reportsDialog.isNoPCs #LGHero .DSHeroNote {
    margin: 12px 0 0;
    font-size: 13px;
    color: #8A96AA;
}

.reportsDialog.isNoPCs #LGHero .DSHeroArt {
    position: relative;
    align-self: stretch;
    min-height: 330px;
}

.reportsDialog.isNoPCs #LGHero .DSHeroSvg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(100%, 440px);
    height: auto;
    transform: translate(-50%, -50%);
}

.reportsDialog.isNoPCs #LGHero .DSFloat {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px 10px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    color: #13203A;
    white-space: nowrap;
    background: rgba(255, 255, 255, .86);
    border: 1px solid rgba(255, 255, 255, .95);
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(30, 64, 140, .14), 0 1px 2px rgba(14, 26, 51, .06);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.reportsDialog.isNoPCs #LGHero .DSFloat > .DSIcon {
    width: 22px;
    height: 22px;
    color: var(--brand);
}

.reportsDialog.isNoPCs #LGHero .DSFloat i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 20px;
    height: 20px;
    margin-left: 6px;
    color: #ffffff;
    background: #12A27A;
    border-radius: 50%;
}

.reportsDialog.isNoPCs #LGHero .DSFloat i .DSIcon {
    width: 12px;
    height: 12px;
    stroke-width: 3;
}

.reportsDialog.isNoPCs #LGHero .DSFloat.isData {
    top: 6%;
    left: 4%;
    transform: rotate(-5deg);
}

.reportsDialog.isNoPCs #LGHero .DSFloat.isWho {
    top: 14%;
    right: 0;
    transform: rotate(4deg);
}

.reportsDialog.isNoPCs #LGHero .DSFloat.isWhat {
    top: 60%;
    right: 2%;
    transform: rotate(-4deg);
}

@media (max-width: 1200px) {
    .reportsDialog.isNoPCs #LGHero {
        padding-left: 40px;
    }
    .reportsDialog.isNoPCs #LGHero h2 {
        font-size: 30px;
    }
}

@media (max-width: 980px) {
    .reportsDialog.isNoPCs #LGHero {
        grid-template-columns: minmax(0, 1fr);
        padding: 36px 28px;
    }
    .reportsDialog.isNoPCs #LGHero .DSHeroArt {
        display: none;
    }
}

@media (max-height: 820px) {
    .reportsDialog.isNoPCs #LGHero {
        min-height: 340px;
        margin-top: 12px;
        padding-top: 32px;
        padding-bottom: 32px;
    }
    .reportsDialog.isNoPCs #LGHero .DSHeroIcon {
        width: 46px;
        height: 46px;
        margin-bottom: 16px;
    }
    .reportsDialog.isNoPCs #LGHero h2 {
        font-size: 30px;
    }
    .reportsDialog.isNoPCs #LGHero .DSHeroStart {
        height: 48px;
        margin-top: 20px;
    }
    .reportsDialog.isNoPCs #LGHero .DSHeroArt {
        min-height: 280px;
    }
    .reportsDialog.isNoPCs #LGHero .DSHeroSvg {
        width: min(100%, 370px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .reportsDialog.isNoPCs #LGHero .DSHeroData ul.isLoading li {
        animation: none;
    }
    .reportsDialog.isNoPCs #LGHero .DSHeroStart,
    .reportsDialog.isNoPCs #LGHero .DSHeroStart::after {
        transition: none;
    }
}

.reportsDialog.isNoPCs #LGHero .DSHeroSteps {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: dsstep;
}

.reportsDialog.isNoPCs #LGHero .DSHeroSteps li {
    position: relative;
    padding: 0 0 12px 38px;
    font-size: 14px;
    line-height: 26px;
    color: #5D6B82;
    counter-increment: dsstep;
}

.reportsDialog.isNoPCs #LGHero .DSHeroSteps li b {
    font-weight: 600;
    color: #13203A;
}

.reportsDialog.isNoPCs #LGHero .DSHeroSteps li::before {
    content: counter(dsstep);
    position: absolute;
    left: 0;
    top: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand) 16%, #fff), 0 2px 6px rgba(30, 64, 140, .08);
    font-size: 13px;
    font-weight: 700;
    line-height: 26px;
    text-align: center;
    color: var(--brand);
}

.reportsDialog.isNoPCs #LGHero .DSHeroActions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
}

.reportsDialog.isNoPCs #LGHero .DSHeroDownload,
.reportsDialog.isNoPCs #LGHero .DSHeroCheck {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 52px;
    padding: 0 26px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s, box-shadow .15s, transform .15s;
}

.reportsDialog.isNoPCs #LGHero .DSHeroDownload {
    background: var(--brand);
    color: #FFFFFF;
    box-shadow: 0 10px 24px rgb(var(--brand-rgb) / .28);
}

.reportsDialog.isNoPCs #LGHero .DSHeroDownload:hover {
    background: color-mix(in srgb, var(--brand) 85%, #000);
    transform: translateY(-1px);
}

.reportsDialog.isNoPCs #LGHero .DSHeroCheck {
    height: 52px;
    padding: 0 20px;
    border: 1px solid #DCE3EE;
    background: #FFFFFF;
    color: #13203A;
    font-weight: 600;
}

.reportsDialog.isNoPCs #LGHero .DSHeroCheck:hover {
    background: #F3F6FA;
}

.reportsDialog.isNoPCs #LGHero .DSHeroCheck.isBusy {
    pointer-events: none;
    color: #5D6B82;
}

.reportsDialog.isNoPCs #LGHero .DSHeroCheck.isBusy .DSIcon {
    animation: DSHeroSpin 1s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
    .reportsDialog.isNoPCs #LGHero .DSHeroCheck.isBusy .DSIcon { animation: none;
    }
}

.reportsDialog.isNoPCs #LGHero .DSHeroDownload:focus-visible,
.reportsDialog.isNoPCs #LGHero .DSHeroCheck:focus-visible,
.reportsDialog.isNoPCs #LGHero .DSHeroNote a:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 3px;
}

.reportsDialog.isNoPCs #LGHero .DSHeroDownload .DSIcon,
.reportsDialog.isNoPCs #LGHero .DSHeroCheck .DSIcon {
    width: 19px;
    height: 19px;
}

.reportsDialog.isNoPCs #LGHero .DSHeroNote a {
    color: var(--brand);
    font-weight: 600;
    text-decoration: none;
}

.reportsDialog.isNoPCs #LGHero .DSHeroNote a:hover {
    text-decoration: underline;
}

.reportsDialog.isNoPCs .DSIcon {
    width: 18px;
    height: 18px;
    flex: none;
}

@media (prefers-reduced-motion: reduce) {
    .reportsDialog.isNoPCs #LGHero .DSHeroDownload { transition: none;
    }
}

/* La ventana sin equipos: sólo la barra de título y el bloque, sobre el fondo de degradados */
.reportsDialog.isV2.isNoPCs {
    background:
        linear-gradient(90deg, #FFFFFF 0, rgba(255, 255, 255, 0) 160px),
        linear-gradient(180deg, #FFFFFF 0, rgba(255, 255, 255, 0) 90px),
        radial-gradient(900px 560px at 80% 12%, rgba(190, 216, 255, .55) 0%, rgba(190, 216, 255, 0) 70%),
        radial-gradient(760px 520px at 8% 92%, rgba(214, 208, 255, .35) 0%, rgba(214, 208, 255, 0) 70%),
        radial-gradient(1000px 640px at 48% 58%, rgba(226, 237, 255, .7) 0%, rgba(226, 237, 255, 0) 72%),
        linear-gradient(180deg, #FFFFFF 0%, color-mix(in srgb, var(--brand) 4%, #fff) 40%, color-mix(in srgb, var(--brand) 7%, #fff) 100%) !important;
}

.reportsDialog.isV2.isNoPCs > :not(.windowsTitleBarReportsDialog):not(#LGHero) {
    display: none !important;
}

.reportsDialog.isV2.isNoPCs .RDSubtitle {
    display: none;
}

/* Centrado y algo por encima de la mitad, como en Discovery; sin recuadro */
.reportsDialog.isNoPCs #LGHero,
.reportsDialog.isNoPCs #LGHero:hover {
    box-sizing: border-box;
    width: 100%;
    max-width: 1180px;
    margin: auto;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.reportsDialog.isNoPCs #LGHero {
    position: relative;
    top: -64px;
    zoom: 1.02;
}

@media (min-width: 1500px) and (min-height: 821px) {
    .reportsDialog.isNoPCs #LGHero {
        zoom: 1.12;
    }
}

@media (max-height: 820px) {
    .reportsDialog.isNoPCs #LGHero {
        top: -32px;
    }
}

/* Lista de lo que mostrarán los informes */
.reportsDialog.isNoPCs #LGHero .RPHeroList {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.reportsDialog.isNoPCs #LGHero .RPHeroList li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 0 12px;
    font-size: 14px;
    line-height: 22px;
    color: #5D6B82;
}

.reportsDialog.isNoPCs #LGHero .RPHeroList li b {
    font-weight: 600;
    color: #13203A;
}

.reportsDialog.isNoPCs #LGHero .RPHeroList .DSIcon {
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    padding: 6px;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand) 16%, #fff), 0 2px 6px rgba(30, 64, 140, .08);
    color: var(--brand);
}
/* --- Logs de acceso sin equipos, fin */

/* --- Plantillas de políticas: nota en el pie (se aplicarán a todos los equipos) --- */
.DLPPolicyTemplatesDialog .DLPPTD_MainRightBottomButtons .DLPPTDScopeNote {
    margin: 0 auto 0 0;
    padding-right: 16px;
    align-self: center;
    font-size: 12.5px;
    line-height: 1.4;
    color: #7A879C;
    text-align: left;
}
.DLPPolicyTemplatesDialog .DLPPTD_MainRightBottomButtons .button {
    flex: none;
    white-space: nowrap;
}

.DLPPolicyTemplatesDialog .DLPPTD_MainRightBottomButtons .DLPPTDScopeNote {
    flex: 1 1 auto;
    min-width: 0;
}
/* --- Plantillas de políticas: nota en el pie, fin */

/* --- Discovery: vista en directo de la pantalla del equipo (_modals/screenViewer.aspx, screenViewer.js) ---
   Con el lenguaje de la consola: fondo blanco, cabecera con línea fina (como «Logs de acceso»), el equipo como
   título con la etiqueta «En directo» y el usuario, botones secundarios y la X de cerrar; la pantalla sobre un
   lienzo gris claro, enmarcada como una tarjeta. */
.modalFullScreen:has(.SVBar) {
    z-index: 1200;
    background: #FFFFFF;
    font-family: proxima-nova, sans-serif;
}

.modalFullScreen .SVBar {
    height: 68px;
    padding: 0 20px 0 28px;
    gap: 12px;
    justify-content: flex-start;
    box-sizing: border-box;
    background: #FFFFFF;
    border-bottom: 1px solid #E8EDF4;
}

.modalFullScreen .SVTitle {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    margin-right: auto;
    color: #13203A;
}

.modalFullScreen #SVPCName {
    overflow: hidden;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -.01em;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.modalFullScreen .SVLive {
    order: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: none;
    height: 24px;
    padding: 0 9px;
    border-radius: 6px;
    background: #FDECEC;
    color: #B42318;
    font-size: 12px;
    font-weight: 700;
}

.modalFullScreen .SVLive i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #D92D20;
    animation: svLivePulse 1.6s ease-out infinite;
}

@keyframes svLivePulse {
    0% { box-shadow: 0 0 0 0 rgba(217, 45, 32, .45); }
    70% { box-shadow: 0 0 0 6px rgba(217, 45, 32, 0); }
    100% { box-shadow: 0 0 0 0 rgba(217, 45, 32, 0); }
}

.modalFullScreen .SVUser {
    order: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    overflow: hidden;
    color: #5D6B82;
    font-size: 13.5px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.modalFullScreen .SVUser:not(:empty)::before,
.modalFullScreen .SVUpdated:not(:empty)::before {
    content: "";
    flex: none;
    width: 14px;
    height: 14px;
    background: currentColor;
}

.modalFullScreen .SVUser:not(:empty)::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") no-repeat center / contain;
}

.modalFullScreen .SVUpdated {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 4px;
    color: #7A879C;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.modalFullScreen .SVUpdated:not(:empty)::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* «Ver al 100 %»: botón secundario de la consola */
.modalFullScreen .SVBar .btn-zoom {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 36px;
    padding: 0 14px;
    border: 1px solid #DCE3EE;
    border-radius: 8px;
    background: #FFFFFF;
    color: #13203A;
    font: 600 13.5px proxima-nova, sans-serif;
    cursor: pointer;
    transition: background-color .15s, border-color .15s;
}

.modalFullScreen .SVBar .btn-zoom::before {
    content: "";
    width: 15px;
    height: 15px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") no-repeat center / contain;
}

.modalFullScreen .SVBar .btn-zoom:hover {
    background: #F3F6FA;
    border-color: #C9D3E1;
}

/* Cerrar: la X de las ventanas de la consola */
.modalFullScreen .SVBar .closemodal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none;
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 8px;
    color: #5D6B82;
    font-size: 0;
    text-decoration: none;
}

.modalFullScreen .SVBar .closemodal::before {
    content: "";
    width: 20px;
    height: 20px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
}

.modalFullScreen .SVBar .closemodal:hover {
    background: #F3F6FA;
    color: #13203A;
}

.modalFullScreen .SVBar .btn-zoom:focus-visible,
.modalFullScreen .SVBar .closemodal:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Lienzo gris claro con la pantalla centrada (margin: auto, que no recorta al hacer scroll con el 100 %) */
.modalFullScreen:has(.SVBar) .modalfullscreencontent {
    top: 68px;
    display: flex;
    padding: 28px;
    box-sizing: border-box;
    background: #F3F6FA;
}

.modalFullScreen:has(.SVBar) .SCImage {
    margin: auto;
    width: auto !important;
    max-width: 100% !important;
    max-height: calc(100vh - 124px) !important;
    box-sizing: border-box;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 12px 32px rgba(15, 23, 42, .10);
}

/* Las imágenes del visor sin contenido (#SCImage2, #SCImage3 y la que aún no ha recibido nada) no ocupan sitio: si
   no, quedan al lado de la buena y la descentran */
.modalFullScreen:has(.SVBar) .SCImage:not([src]),
.modalFullScreen:has(.SVBar) .SCImage[src=""] {
    display: none !important;
}

.modalFullScreen:has(.SVBar) .zoom-real .SCImage {
    max-width: none !important;
    max-height: none !important;
}

/* Visión en directo nueva (liveStream.js): el lienzo se ajusta como las imágenes y el cursor va encima, en
   coordenadas del lienzo ya escalado. Oculto hasta el primer fotograma (.isActive). */
.modalFullScreen:has(.SVBar) .SCLive {
    display: none;
    position: relative;
    margin: auto;
    max-width: 100%;
    line-height: 0;
}

.modalFullScreen:has(.SVBar) .SCLive.isActive {
    display: block;
}

.modalFullScreen:has(.SVBar) .SCLive canvas {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(100vh - 124px);
    box-sizing: border-box;
    border: 1px solid #E3E9F1;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 12px 32px rgba(15, 23, 42, .10);
}

.modalFullScreen:has(.SVBar) .zoom-real .SCLive,
.modalFullScreen:has(.SVBar) .zoom-real .SCLive canvas {
    max-width: none;
    max-height: none;
}

.modalFullScreen:has(.SVBar) .SCLive .SCCursor {
    display: none;
    position: absolute;
    width: 12px;
    height: 19px;
    margin: 1px 0 0 1px; /* el borde del lienzo */
    pointer-events: none;
}

.modalFullScreen:has(.SVBar) .SCLive .SCCursor path {
    fill: #111827;
    stroke: #FFFFFF;
    stroke-width: 1;
}

.modalFullScreen.SVConnecting .SCLive {
    display: none !important;
}

/* Aviso sobre la imagen (sesión bloqueada o pantalla protegida de Windows): banda arriba, sin tapar el centro */
.modalFullScreen:has(.SVBar) .SCLive .SVNotice {
    position: absolute;
    top: 14px;
    left: 50%;
    max-width: min(560px, calc(100% - 28px));
    padding: 10px 14px 10px 38px;
    box-sizing: border-box;
    transform: translateX(-50%);
    border: 1px solid #F5D9A8;
    border-radius: 10px;
    background: #FFF8EB;
    color: #7A4B00;
    box-shadow: 0 6px 20px rgba(15, 23, 42, .14);
    font: 600 13.5px/1.45 proxima-nova, sans-serif;
    pointer-events: none;
}

.modalFullScreen:has(.SVBar) .SCLive .SVNotice::before {
    content: "";
    position: absolute;
    top: 11px;
    left: 13px;
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") no-repeat center / contain;
}

.modalFullScreen:has(.SVBar) .SCLive .SVNotice[hidden] {
    display: none;
}

/* Formato, imágenes por segundo y datos (sólo con la visión nueva) */
.modalFullScreen .SVStats {
    color: #7A879C;
    font-size: 12.5px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.modalFullScreen .SVStats:empty {
    display: none;
}

/* Calidad: desplegable pequeño con la etiqueta delante */
.modalFullScreen .SVBar .SVQuality {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: #5D6B82;
    font: 600 13px proxima-nova, sans-serif;
}

.modalFullScreen .SVBar .SVQuality[hidden] {
    display: none;
}

.modalFullScreen .SVBar .SVQuality select {
    width: auto;
    min-width: 0;
    height: 36px;
    padding: 0 30px 0 10px;
    border: 1px solid #DCE3EE;
    border-radius: 8px;
    background: #FFFFFF;
    color: #13203A;
    font: 600 13.5px proxima-nova, sans-serif;
    cursor: pointer;
}

.modalFullScreen .SVBar .SVQuality select:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Conectando (hasta la primera imagen, .SVConnecting): sin la miniatura de fondo; en el centro del lienzo, una
   pantalla con ondas en el color de la marca, «Conectando con <equipo>…» y una línea de ayuda. La etiqueta de la
   cabecera dice «Conectando» en gris. */
.modalFullScreen.SVConnecting #SCPreview,
.modalFullScreen.SVConnecting #SCImage1 {
    display: none !important;
}

/* Sin imagen todavía, no hay nada que ver al 100 % */
.modalFullScreen.SVConnecting .SVBar .btn-zoom {
    visibility: hidden;
}

.modalFullScreen:has(.SVBar) .modalfullscreenloading {
    top: 50%;
    left: 50%;
    width: min(440px, calc(100% - 48px));
    margin: 0;
    padding: 0;
    transform: translate(-50%, -56%);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #13203A;
    text-align: center;
}

.modalFullScreen:has(.SVBar) .modalfullscreenloading .modalloadingImg {
    display: none;
}

.modalFullScreen .SVConnectArt {
    position: relative;
    width: 88px;
    height: 88px;
    margin: 0 auto 26px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--brand) 10%, #fff);
}

.modalFullScreen .SVConnectArt::before {
    content: "";
    position: absolute;
    inset: 26px;
    background: var(--brand);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Ondas que salen de la pantalla */
.modalFullScreen .SVConnectArt::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid color-mix(in srgb, var(--brand) 35%, #fff);
    animation: svWave 1.8s ease-out infinite;
}

@keyframes svWave {
    0% { transform: scale(1); opacity: .9; }
    100% { transform: scale(1.7); opacity: 0; }
}

.modalFullScreen:has(.SVBar) .modalfullscreenloadingMsg p {
    margin: 0;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -.01em;
}

.modalFullScreen .SVConnectHint {
    margin: 8px 0 0;
    color: #5D6B82;
    font-size: 14px;
    line-height: 1.5;
}

.modalFullScreen .SVConnectHint:empty {
    display: none;
}

.modalFullScreen .SVLive.isConnecting {
    background: #F1F4F8;
    color: #5D6B82;
}

.modalFullScreen .SVLive.isConnecting i {
    background: #94A3B8;
    animation: svLivePulseGray 1.6s ease-out infinite;
}

/* Visión en directo cerrada con la última imagen a la vista (screenViewer.startLive, onClosed) */
.modalFullScreen .SVLive.isOffline {
    background: #F1F4F8;
    color: #5D6B82;
}

.modalFullScreen .SVLive.isOffline i {
    background: #94A3B8;
    animation: none;
}

@keyframes svLivePulseGray {
    0% { box-shadow: 0 0 0 0 rgba(148, 163, 184, .5); }
    70% { box-shadow: 0 0 0 6px rgba(148, 163, 184, 0); }
    100% { box-shadow: 0 0 0 0 rgba(148, 163, 184, 0); }
}

@media (max-width: 760px) {
    .modalFullScreen .SVUpdated,
    .modalFullScreen .SVUser {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .modalFullScreen .SVLive i,
    .modalFullScreen .SVConnectArt::after {
        animation: none;
    }
}

/* Discovery: estado de la actualización del equipo seleccionado, bajo su nombre (pcInfo.aux.refreshState) */
#RBPCTop .PCIRefreshState {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: -4px 0 10px;
    padding: 0 6px;
    color: #7A879C;
    font-size: 12px;
    line-height: 16px;
}

#RBPCTop .PCIRefreshState:empty {
    display: none;
}

#RBPCTop .PCIRefreshState::before {
    content: "";
    flex: none;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #1BAF7A;
}

#RBPCTop .PCIRefreshState[data-state="loading"]::before {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: none;
    border: 2px solid color-mix(in srgb, var(--brand) 20%, #fff);
    border-top-color: var(--brand);
    box-sizing: border-box;
    animation: pciSpin .8s linear infinite;
}

#RBPCTop .PCIRefreshState[data-state="offline"]::before {
    background: #C5CFDD;
}

@keyframes pciSpin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    #RBPCTop .PCIRefreshState[data-state="loading"]::before {
        animation: none;
    }
}

/* Informes, Actividad: detalle del intervalo fuera de la gráfica (dlpReports_charts.hoverInfo), justo debajo de ella,
   con altura fija para que no salte; antes era un tooltip que tapaba los puntos y no dejaba pulsarlos */
.ETSmenuReports .RHoverInfo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
    min-height: 36px;
    margin: 10px 0 0;
    padding: 7px 12px;
    box-sizing: border-box;
    border: 1px solid #E8EDF4;
    border-radius: 10px;
    background: #F7F9FC;
    color: #3A475E;
    font-size: 12.5px;
    line-height: 20px;
}

.ETSmenuReports .RHoverInfo.isActive {
    background: #FFFFFF;
}

.ETSmenuReports .RHoverHint {
    color: #7A879C;
}

.ETSmenuReports .RHoverTitle {
    color: #13203A;
    font-weight: 700;
}

.ETSmenuReports .RHoverItem {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

/* Categoría del punto señalado en la gráfica de Actividad (la que se abre al pulsar) */
.ETSmenuReports .RHoverItem.isFocus {
    padding: 1px 8px;
    border-radius: 999px;
    background: rgba(var(--brand-rgb), 0.1);
    color: #13203A;
    font-weight: 600;
}

.ETSmenuReports .RHoverItem i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.ETSmenuReports .RHoverItem b,
.ETSmenuReports .RHoverTotal b {
    color: #13203A;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ETSmenuReports .RHoverTotal {
    margin-left: auto;
    color: #5D6B82;
    white-space: nowrap;
}

/* Parámetros generales: controles a la izquierda, junto a su texto (en pantallas grandes quedaban en el extremo
   derecho, demasiado lejos). Filas con botón: el texto con un ancho de lectura cómodo y el botón justo a su lado;
   interruptores a la izquierda del título, con la explicación alineada bajo el título. */
#tabParametersContent1 .tabParametersContent3Box,
#tabParametersContent2 .tabParametersContent2Box {
    grid-template-columns: 40px minmax(0, 560px) auto;
    justify-content: start;
    column-gap: 24px;
}

#tabParametersContent3 .tabParametersContent3Box {
    grid-template-columns: minmax(0, 616px) minmax(0, 1fr);
}

#tabParametersContent3 .line:has(> .consoleLink) {
    justify-content: flex-start;
    padding-left: 24px;
}

.ETSmenuParameters #tabParametersContent1-1 label,
.ETSmenuParameters #tabParametersContent3 label {
    max-width: 640px;
    padding: 14px 0 0 56px;
}

.ETSmenuParameters #tabParametersContent1-1 label > input[type="checkbox"],
.ETSmenuParameters #tabParametersContent3 label > input[type="checkbox"] {
    top: 13px;
    left: 0;
    right: auto;
}

.ETSmenuParameters .configCheckboxFooter,
.ETSmenuParameters #tabParametersContent1-1 > p.configCheckboxFooter {
    margin: 4px 0 0;
    /* Texto con ancho de lectura cómodo (unos 760 px) sin acortar la línea separadora de debajo */
    padding: 0 max(0px, calc(100% - 820px)) 14px 56px;
    font-size: 13px;
    color: #69768C;
}

.ETSmenuParameters .configCheckboxFooterUl {
    max-width: 640px;
    padding: 0 0 0 74px;
}

/* --- Incidentes DLP en Informes (3_Reports/dlpIncidents.js): estado de cada alerta, filtros y panel lateral --- */
:root {
    --dlp-incidents: 1;
}

#DIFilters {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 12px;
}

#DIFilters .DIFilter {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 12px;
    font: 600 12.5px/1 proxima-nova, "Inter", sans-serif;
    color: #3A475E;
    background: #FFFFFF;
    border: 1px solid #E3E9F1;
    border-radius: 999px;
    cursor: pointer;
}

#DIFilters .DIFilter b {
    font-weight: 600;
    color: #7A879C;
    font-variant-numeric: tabular-nums;
}

#DIFilters .DIFilter:hover {
    background: #F3F6FA;
}

#DIFilters .DIFilter.isOn {
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    border-color: color-mix(in srgb, var(--brand) 30%, #fff);
}

#DIFilters .DIFilter.isOn b {
    color: var(--brand);
}

#widgetContentDLPLogs tr.DIRow {
    cursor: pointer;
}

#widgetContentDLPLogs tr.DIRow:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: -2px;
}

.DIStatus {
    display: inline-block;
    padding: 3px 8px;
    font: 600 11.5px/1.2 proxima-nova, "Inter", sans-serif;
    white-space: nowrap;
    border-radius: 6px;
}

.DIStatus.isNew { color: #3A475E; background: #EEF1F6; }
.DIStatus.isReview { color: #8A5A00; background: #FFF4D6; }
.DIStatus.isFalse { color: #5D6B82; background: #F3F6FA; text-decoration: line-through; text-decoration-color: #A7B2C3; }
.DIStatus.isDone { color: #0F7A5B; background: #E3F6EE; }

/* Panel lateral */
#DIPanelVeil {
    display: none;
    position: fixed;
    inset: 56px 0 0 0;
    z-index: 600;
    background: rgba(19, 32, 58, .06);
}

#DIPanel {
    position: fixed;
    top: 56px;
    right: 0;
    bottom: 0;
    z-index: 601;
    display: flex;
    flex-direction: column;
    width: min(480px, calc(100vw - 32px));
    background: #FFFFFF;
    border-left: 1px solid #E4ECF8;
    box-shadow: -28px 0 56px -32px rgba(19, 32, 58, .28);
    font-family: proxima-nova, "Inter", sans-serif;
    color: #13203A;
    transform: translateX(105%);
    visibility: hidden;
    transition: transform .2s ease, visibility 0s linear .2s;
    outline: none;
}

body.DIPanelOpen #DIPanelVeil {
    display: block;
}

body.DIPanelOpen #DIPanel {
    transform: none;
    visibility: visible;
    transition: transform .2s ease;
}

#DIPanel.isSaving {
    cursor: progress;
}

#DIPanel.isSaving .DIStatusBtn,
#DIPanel.isSaving .DINoteAdd {
    pointer-events: none;
    opacity: .6;
}

#DIPanel .DIHead {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 24px 16px;
    border-bottom: 1px solid #EDF1F6;
}

#DIPanel .DIEyebrow {
    margin: 0 0 4px;
    font-size: 12px;
    color: #7A879C;
}

#DIPanel h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

#DIPanel .DIGroup {
    margin: 2px 0 0;
    font-size: 13px;
    color: #5D6B82;
}

#DIPanel .DIClose {
    position: relative;
    flex: none;
    width: 32px;
    height: 32px;
    background: transparent;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
}

#DIPanel .DIClose::before {
    content: "";
    position: absolute;
    inset: 8px;
    background-color: #5D6B82;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / contain no-repeat;
}

#DIPanel .DIClose:hover {
    background: #F3F6FA;
}

#DIPanel .DIBody {
    flex: 1;
    overflow-y: auto;
    padding: 4px 24px 24px;
}

#DIPanel .DISection {
    padding: 16px 0;
    border-bottom: 1px solid #EDF1F6;
}

#DIPanel .DISection:last-of-type {
    border-bottom: 0;
}

#DIPanel h4 {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    color: #13203A;
}

#DIPanel .DIStatuses {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}

#DIPanel .DIStatusBtn {
    height: 34px;
    padding: 0 6px;
    font: 600 12.5px/1 proxima-nova, "Inter", sans-serif;
    color: #3A475E;
    background: #FFFFFF;
    border: 1px solid #E3E9F1;
    border-radius: 8px;
    cursor: pointer;
}

#DIPanel .DIStatusBtn:hover {
    background: #F3F6FA;
}

#DIPanel .DIStatusBtn.isOn.isNew { color: #13203A; background: #EEF1F6; border-color: #C9D3E1; }
#DIPanel .DIStatusBtn.isOn.isReview { color: #8A5A00; background: #FFF4D6; border-color: #F1D58A; }
#DIPanel .DIStatusBtn.isOn.isFalse { color: #3A475E; background: #F3F6FA; border-color: #A7B2C3; }
#DIPanel .DIStatusBtn.isOn.isDone { color: #0F7A5B; background: #E3F6EE; border-color: #9FDCC3; }

#DIPanel .DIField {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 14px;
    font-size: 12.5px;
    color: #5D6B82;
}

#DIPanel .DIField input,
#DIPanel .DINoteText {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    font: 13.5px/1.4 proxima-nova, "Inter", sans-serif;
    color: #13203A;
    background: #FFFFFF;
    border: 1px solid #DCE3EE;
    border-radius: 8px;
    outline: none;
}

#DIPanel .DIField input:focus,
#DIPanel .DINoteText:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .15);
}

#DIPanel .DINoteText {
    min-height: 64px;
    resize: vertical;
}

#DIPanel .DIFalse {
    margin: 0 -24px;
    padding: 16px 24px;
    background: #F8FAFC;
}

#DIPanel .DIHint {
    margin: 0 0 10px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #5D6B82;
}

#DIPanel .DIExceptions {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#DIPanel .DIException {
    padding: 9px 12px;
    font: 13px/1.35 proxima-nova, "Inter", sans-serif;
    text-align: left;
    color: #13203A;
    background: #FFFFFF;
    border: 1px solid #E3E9F1;
    border-radius: 8px;
    cursor: pointer;
    word-break: break-all;
}

#DIPanel .DIException:hover {
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border-color: color-mix(in srgb, var(--brand) 40%, #fff);
}

#DIPanel .DIFacts {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    gap: 8px 12px;
    margin: 0;
    font-size: 13px;
}

#DIPanel .DIFacts dt {
    color: #7A879C;
}

#DIPanel .DIFacts dd {
    margin: 0;
    color: #13203A;
    word-break: break-word;
}

#DIPanel .DIFacts dd small {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #7A879C;
}

#DIPanel .DIOpenPolicy {
    display: inline-block;
    margin-top: 12px;
    font-size: 13px;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
}

#DIPanel .DINoteNew {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    margin-bottom: 14px;
}

#DIPanel .DINoteAdd {
    height: 32px;
    padding: 0 14px;
    font: 600 13px/1 proxima-nova, "Inter", sans-serif;
    color: #FFFFFF;
    background: var(--brand);
    border: 0;
    border-radius: 8px;
    cursor: pointer;
}

#DIPanel .DINoteAdd:hover {
    background: color-mix(in srgb, var(--brand) 85%, #000);
}

#DIPanel .DINotes {
    margin: 0;
    padding: 0;
    list-style: none;
}

#DIPanel .DINotes li {
    position: relative;
    padding: 0 0 14px 16px;
    border-left: 2px solid #EDF1F6;
}

#DIPanel .DINotes li::before {
    content: "";
    position: absolute;
    top: 4px;
    left: -5px;
    width: 8px;
    height: 8px;
    background: #C9D3E1;
    border-radius: 50%;
}

#DIPanel .DINotes li:first-child::before {
    background: var(--brand);
}

#DIPanel .DINotes p {
    margin: 0 0 3px;
    font-size: 13px;
    line-height: 1.45;
}

#DIPanel .DINotes .DINoteMeta {
    font-size: 12px;
    color: #7A879C;
}

#DIPanel .DINoteMeta b {
    color: #3A475E;
}

#DIPanel .DINoteChange {
    font-weight: 600;
    color: #3A475E;
}

#DIPanel .DINoteBody {
    white-space: pre-wrap;
    word-break: break-word;
}

#DIPanel .DIError {
    margin: 8px 0 0;
    font-size: 13px;
    color: #B42318;
}

#DIPanel .DIError:empty {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    #DIPanel {
        transition: none;
    }
}

/* ============================================================
   Informes: tabla «Alertas DLP» (diseño 2026, dlpReports.renderDLPLogsTableV2)
   Sustituye a las reglas sueltas anteriores (franja de severidad, 🚩, cabecera gris).
   ============================================================ */
.ETSmenuReports .reportWidgetTitle .RAlertsCount {
    margin-left: 10px;
    font-size: 13px;
    font-weight: 400;
    color: #7A879C;
}

.ETSmenuReports .reportWidgetTitle:has(.RAlertsCount) {
    display: flex;
    align-items: center;
    margin-bottom: 14px;
}

.ETSmenuReports .reportWidgetTitle:has(.RAlertsCount) #RWidgetLogsDownload {
    float: none;
    margin: 0 0 0 auto !important;
}

.ETSmenuReports .reportWidgetTitle:has(.RAlertsCount) .clear {
    display: none;
}

.ETSmenuReports #widgetContentDLPLogs {
    max-height: 560px;
    overflow: auto;
    background: #ffffff;
    border: 1px solid #E8EDF4;
    border-radius: 12px;
    scrollbar-width: thin;
    scrollbar-color: #D5DDE8 transparent;
}

.ETSmenuReports .progress-tableDLPLogs.RAlerts {
    display: table;
    width: 100%;
    height: auto;
    overflow: visible;
    margin: 0;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: auto;
}

.ETSmenuReports .RAlerts th {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 11px 14px;
    font-size: 12px;
    font-weight: 600;
    text-align: left;
    white-space: nowrap;
    color: #69768C;
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #E8EDF4;
}

.ETSmenuReports .RAlerts td {
    max-width: none;
    padding: 10px 14px;
    font-size: 13px;
    line-height: 1.35;
    color: #13203A;
    vertical-align: middle;
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #F0F3F7;
}

.ETSmenuReports .RAlerts tbody tr:last-child td {
    border-bottom: 0;
}

.ETSmenuReports .RAlerts tbody tr:hover td {
    background: #F8FAFD;
}

/* Las alertas altas y críticas llevan una marca fina a la izquierda */
.ETSmenuReports .RAlerts tr.sev4 td:first-child { box-shadow: inset 3px 0 0 #F97316; }
.ETSmenuReports .RAlerts tr.sev5 td:first-child { box-shadow: inset 3px 0 0 #E11D48; }

/* Severidad: punto de color y nombre */
.ETSmenuReports .RSevTag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    font-weight: 600;
    white-space: nowrap;
    color: #3A475E;
}

.ETSmenuReports .RSevTag::before {
    content: "";
    width: 8px;
    height: 8px;
    flex: none;
    border-radius: 50%;
    background: var(--sev);
}

.ETSmenuReports .RSevTag.sev1 { --sev: #94A3B8; color: #5D6B82; }
.ETSmenuReports .RSevTag.sev2 { --sev: #FCD34D; }
.ETSmenuReports .RSevTag.sev3 { --sev: #F59E0B; }
.ETSmenuReports .RSevTag.sev4 { --sev: #F97316; color: #9A3412; }
.ETSmenuReports .RSevTag.sev5 { --sev: #E11D48; color: #9F1239; }

/* Texto principal y secundario de cada celda */
.ETSmenuReports .RAlerts .RAlMain,
.ETSmenuReports .RAlerts .RAlDay {
    display: block;
    overflow: hidden;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ETSmenuReports .RAlerts .RAlSub {
    display: block;
    overflow: hidden;
    margin-top: 2px;
    font-size: 12px;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #7A879C;
}

.ETSmenuReports .RAlerts .tableDLPLogsth2 { width: 96px; }
.ETSmenuReports .RAlerts .tableDLPLogsth3 { width: 72px; font-variant-numeric: tabular-nums; }
.ETSmenuReports .RAlerts td.tableDLPLogsth4 { max-width: 240px; }
.ETSmenuReports .RAlerts td.tableDLPLogsth5 { max-width: 170px; }
.ETSmenuReports .RAlerts td.tableDLPLogsth7 { max-width: 300px; }
.ETSmenuReports .RAlerts td.tableDLPLogsth9 { min-width: 150px; }
.ETSmenuReports .RAlerts .tableDLPLogsth8 { width: 1%; white-space: nowrap; }

/* Fichero con el icono del programa */
.ETSmenuReports .RAlFile {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.ETSmenuReports .RAlFile > div {
    min-width: 0;
}

.ETSmenuReports .RAlFile .AppIco {
    width: 26px;
    height: 26px;
    border-radius: 7px;
}

/* Datos detectados como etiquetas */
.ETSmenuReports .RAlData {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 2px 4px 2px 0;
    padding: 2px 8px;
    font-size: 12px;
    white-space: nowrap;
    color: #3A475E;
    background: #F1F4F8;
    border-radius: 999px;
}

.ETSmenuReports .RAlData b {
    font-weight: 700;
    color: #13203A;
    font-variant-numeric: tabular-nums;
}

.ETSmenuReports .RAlData.isMore {
    color: #7A879C;
    background: transparent;
    box-shadow: inset 0 0 0 1px #E4ECF8;
}

/* «Mensaje»: la base lo hacía bloque con la burbuja antigua */
.ETSmenuReports .RAlerts a.tableDLPMessage.RAction {
    display: inline-block;
}

@media (max-width: 1400px) {
    .ETSmenuReports .RAlerts th,
    .ETSmenuReports .RAlerts td { padding-left: 10px; padding-right: 10px; }
    .ETSmenuReports .RAlerts td.tableDLPLogsth4 { max-width: 190px; }
    .ETSmenuReports .RAlerts td.tableDLPLogsth7 { max-width: 220px; }
}

/* ============================================================
   Parámetros generales > «Aviso al iniciar sesión (LOPD)» (legalTextDialog.js)
   ============================================================ */
#tabParametersContent1 .tabParametersContent3Box:has(#configLegalText) {
    --ic: #4F46E5;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h5'/%3E%3C/svg%3E");
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M10 9H8M16 13H8M16 17H8'/%3E%3C/svg%3E");
}

:is(#LTOverlay, #CCOverlay, #DKOverlay, #CUOverlay) {
    position: fixed;
    inset: 0;
    z-index: 950;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(14, 26, 51, .32);
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) {
    display: flex;
    flex-direction: column;
    width: min(720px, 100%);
    max-height: calc(100vh - 48px);
    color: #13203A;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(14, 26, 51, .22), 0 2px 6px rgba(14, 26, 51, .08);
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog).isBusy { cursor: progress; }
:is(#LTDialog, #DKDialog).isBusy textarea, :is(#LTDialog, #DKDialog).isBusy button { pointer-events: none; }

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTHead {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 22px 24px 14px;
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTHead h2 {
    margin: 0;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTHead p {
    margin: 4px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: #5D6B82;
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTClose {
    flex: none;
    width: 32px;
    height: 32px;
    margin: -4px -6px 0 auto;
    padding: 0;
    color: #5D6B82;
    background: transparent;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTClose::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    margin: auto;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") no-repeat center / contain;
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTClose:hover { color: #13203A; background: #F3F6FA; }

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTBody {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 4px 24px 18px;
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTState {
    padding: 40px 0;
    font-size: 13.5px;
    text-align: center;
    color: #5D6B82;
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTState.isError { color: #A8243A; }

:is(#LTDialog, #DKDialog) .LTStatus {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    font-size: 12.5px;
    color: #7A879C;
}

:is(#LTDialog, #DKDialog) .LTChip {
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    color: #3A475E;
    background: #EEF1F6;
    border-radius: 999px;
}

:is(#LTDialog, #DKDialog) .LTChip.isCustom {
    color: color-mix(in srgb, var(--brand) 82%, #000);
    background: color-mix(in srgb, var(--brand) 9%, #fff);
}

:is(#LTDialog, #DKDialog) .LTTabs {
    display: flex;
    gap: 22px;
    margin-bottom: 14px;
    border-bottom: 1px solid #E8EDF4;
}

:is(#LTDialog, #DKDialog) .LTTab {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 0 10px;
    font: inherit;
    font-size: 13.5px;
    font-weight: 600;
    color: #5D6B82;
    background: none;
    border: 0;
    cursor: pointer;
}

:is(#LTDialog, #DKDialog) .LTTab:hover { color: #13203A; }

:is(#LTDialog, #DKDialog) .LTTab.isOn {
    color: var(--brand);
    box-shadow: inset 0 -2px 0 var(--brand);
}

:is(#LTDialog, #DKDialog) .LTTab i {
    width: 6px;
    height: 6px;
    background: var(--brand);
    border-radius: 50%;
}

:is(#LTDialog, #DKDialog) .LTLabel {
    display: block;
    margin-bottom: 6px;
    font-size: 12.5px;
    font-weight: 600;
    color: #3A475E;
}

:is(#LTDialog, #DKDialog) textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-height: 230px;
    padding: 12px 14px;
    font: inherit;
    font-size: 13.5px;
    line-height: 1.55;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D5DDE8;
    border-radius: 10px;
    resize: vertical;
}

:is(#LTDialog, #DKDialog) textarea:focus {
    outline: 0;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .14);
}

:is(#LTDialog, #DKDialog) .LTMeta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 6px;
    font-size: 12px;
    color: #7A879C;
}

:is(#LTDialog, #DKDialog) .LTCount.isNear { color: #B45309; }
:is(#LTDialog, #DKDialog) .LTUseDefault { color: var(--brand); text-decoration: none; }
:is(#LTDialog, #DKDialog) .LTUseDefault:hover { text-decoration: underline; }

:is(#LTDialog, #DKDialog, #CUDialog) .LTNotes {
    margin-top: 16px;
    padding: 12px 14px;
    font-size: 12.5px;
    line-height: 1.5;
    color: #5D6B82;
    background: #F7F9FC;
    border-radius: 10px;
}

:is(#LTDialog, #DKDialog, #CUDialog) .LTNotes p { margin: 0; }
:is(#LTDialog, #DKDialog, #CUDialog) .LTNotes p + p { margin-top: 6px; }
:is(#LTDialog, #DKDialog, #CUDialog) .LTNotes b { color: #3A475E; font-weight: 600; }

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTFoot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 24px;
    border-top: 1px solid #EEF1F6;
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTActions {
    display: flex;
    align-items: center;
    gap: 10px;
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTError {
    font-size: 12.5px;
    color: #A8243A;
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTBtn {
    height: 36px;
    padding: 0 16px;
    font: inherit;
    font-size: 13.5px;
    font-weight: 600;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D5DDE8;
    border-radius: 8px;
    cursor: pointer;
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTBtn:hover { background: #F3F6FA; }

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTBtn.isPrimary {
    color: #ffffff;
    background: var(--brand);
    border-color: var(--brand);
}

:is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTBtn.isPrimary:hover { background: color-mix(in srgb, var(--brand) 86%, #000); }

:is(#LTDialog, #DKDialog, #CUDialog) .LTLink {
    padding: 0;
    font: inherit;
    font-size: 13px;
    color: #A8243A;
    background: none;
    border: 0;
    cursor: pointer;
}

:is(#LTDialog, #DKDialog, #CUDialog) .LTLink:hover { text-decoration: underline; }

:is(#LTDialog, #DKDialog, #CUDialog) :is(.LTBtn, .LTTab, .LTClose, .LTLink):focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Panel izquierdo: entrada suave de la lista al cambiar de nivel (UI.enterList, 13/10/2026) */
#leftBox .LBEnter {
    animation: LBEnter .18s cubic-bezier(.2, .7, .2, 1) both;
}

#leftBox .LBEnter.isBack {
    animation-name: LBEnterBack;
}

#leftBox .LBEnterTitle {
    animation: LBEnterTitle .18s ease both;
}

@keyframes LBEnter {
    from { opacity: 0; transform: translateX(8px); }
    to { opacity: 1; transform: none; }
}

@keyframes LBEnterBack {
    from { opacity: 0; transform: translateX(-8px); }
    to { opacity: 1; transform: none; }
}

@keyframes LBEnterTitle {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    #leftBox .LBEnter,
    #leftBox .LBEnterTitle {
        animation: none;
    }
}

/* Logs de acceso, pestaña Certificados: mensaje sin registros o de error dentro de la tabla */
.reportsDialog .RDEmptyMessage {
    margin: 0;
    padding: 28px 4px;
    color: #5D6B82;
    font-size: 13.5px;
}

/* ============================================================
   Parámetros generales > «Conexiones con la nube» (cloudConnectionsDialog.js). El marco es el de la ventana del aviso
   LOPD y las tarjetas, las de Discovery › Nube (selectores compartidos con :is). Aquí sólo lo propio: ancho, una columna,
   pasos para registrar la aplicación, campos de credenciales, casillas y la nota del pie.
   ============================================================ */
#tabParametersContent1 .tabParametersContent3Box:has(#configCloudConnections) {
    --ic: #0F6CBD;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3C/svg%3E");
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3Cpath d='m9 13 2 2 4-4'/%3E%3C/svg%3E");
}

#CCOverlay #CCDialog {
    width: min(820px, 100%);
}

#CCOverlay #CCDialog .CLProviders {
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 0;
}

#CCOverlay #CCDialog .CLProviderForm ol b {
    font-weight: 600;
    color: #13203A;
}

#CCOverlay #CCDialog .CLFormFields label.isWide {
    flex-basis: 100%;
}

#CCOverlay #CCDialog .CLProviderForm textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 8px 10px;
    font-family: Consolas, "Cascadia Mono", monospace;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    resize: vertical;
}

#CCOverlay #CCDialog .CLProviderForm textarea:focus {
    outline: 0;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .14);
}

#CCOverlay #CCDialog .CLProviderForm input[type='file'] {
    height: auto;
    padding: 4px 0;
    font-size: 12.5px;
    background: none;
    border: 0;
}

#CCOverlay #CCDialog .CLFormFields label.CLCheck {
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
    font-weight: 400;
    font-size: 12.5px;
    line-height: 1.45;
    color: #3A475E;
}

#CCOverlay #CCDialog .CLFormFields label.CLCheck input {
    width: 16px;
    height: 16px;
    margin: 1px 0 0;
    padding: 0;
    accent-color: var(--brand);
}

#CCOverlay #CCDialog .CLMeta {
    margin: 10px 0 0;
    font-size: 12px;
    color: #69768C;
}

#CCOverlay #CCDialog .CLMeta.isWarn {
    color: #8A5300;
}

#CCOverlay #CCDialog .CLFormActions .CLLink {
    margin-right: auto;
    align-self: center;
    font-size: 13px;
    color: #A8243A;
    text-decoration: none;
}

#CCOverlay #CCDialog .CLFormActions .CLLink:hover {
    text-decoration: underline;
}

#CCOverlay #CCDialog .CLNotice {
    margin: 0 0 12px;
}

#CCOverlay #CCDialog :is(.CLNotice, .CLFormError).hidden {
    display: none;
}

#CCOverlay #CCDialog .CLNotice.isError {
    color: #A8243A;
    background: #FDF1F3;
}

#CCOverlay #CCDialog .CCFootNote {
    max-width: 520px;
    font-size: 12px;
    line-height: 1.45;
    color: #7A879C;
}

/* Discovery › Nube: tarjetas de sólo lectura y el botón que abre Parámetros generales */
#RBPCConfigDiv #tabContent7 .CLProvider.isCompact {
    grid-template-rows: auto;
    padding: 12px 16px;
}

#RBPCConfigDiv #tabContent7 .CLManage {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 12.5px;
    color: #69768C;
}

#RBPCConfigDiv #tabContent7 .CLManage .CLButton {
    display: inline-flex;
    color: #13203A !important;
    background: #ffffff;
    border: 1px solid #D9E1EC;
}

#RBPCConfigDiv #tabContent7 .CLManage .CLButton:hover {
    background: color-mix(in srgb, var(--brand) 4%, #fff);
    border-color: color-mix(in srgb, var(--brand) 39%, #fff);
}

/* ============================================================
   Apartado Instalación: ventana para crear un paquete (installSection.js, #DKDialog).
   Usa los estilos de la ventana del aviso LOPD (#LTDialog / #DKDialog); aquí sólo lo propio.
   ============================================================ */
#DKDialog { width: min(820px, 100%); }
/* Sin barra horizontal: el texto se ajusta al ancho de la ventana */
#DKDialog .LTBody { overflow-x: hidden; }

#DKDialog .DKLead { margin: 0 0 14px; font-size: 14px; line-height: 1.55; color: #13203A; max-width: 74ch; }

#DKDialog .DKStatus { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 12.5px; color: #5D6B82; }

#DKDialog .DKFacts { margin: 0; padding: 14px 16px 14px 34px; font-size: 13px; line-height: 1.55; color: #3A475E; background: #F6F8FB; border-radius: 12px; }
#DKDialog .DKFacts li + li { margin-top: 6px; }
#DKDialog .DKFacts b { color: #13203A; font-weight: 600; }
#DKDialog .DKBeta { display: flex; align-items: flex-start; gap: 10px; margin: 12px 0 0; padding: 10px 14px; font-size: 12.5px; line-height: 1.5; color: #5D6B82; border: 1px solid #E3E8F0; border-radius: 10px; cursor: pointer; }
#DKDialog .DKBeta input { flex: none; margin: 3px 0 0; accent-color: var(--brand); }
#DKDialog .DKBeta b { display: block; font-size: 13px; color: #13203A; font-weight: 600; }
#DKDialog .DKBeta:has(input:checked) { border-color: #F0C36D; background: #FFF8EA; }

#DKDialog code, #DKDialog pre { font-family: "Cascadia Mono", Consolas, "SFMono-Regular", monospace; }
#DKDialog .DKFacts code, #DKDialog .DKSub code { padding: 1px 5px; font-size: 12px; background: #EEF1F6; border-radius: 4px; }

#DKDialog .DKNote { margin: 0 0 14px; padding: 10px 14px; font-size: 13px; line-height: 1.5; color: #3A475E; background: #F6F8FB; border-radius: 10px; }
#DKDialog .DKNote.isWarn { color: #7A4B00; background: #FFF4DE; }

#DKDialog .DKKeyLabel { margin: 2px 0 6px; font-size: 12.5px; font-weight: 600; color: #5D6B82; }

#DKDialog .DKKey { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; padding: 8px 8px 8px 16px; background: #ffffff; border: 1px solid #D3DAE5; border-radius: 10px; }
#DKDialog .DKKey code { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: 17px; font-weight: 600; letter-spacing: .04em; color: #13203A; user-select: all; }

#DKDialog .DKSection { margin-top: 18px; padding-top: 16px; border-top: 1px solid #E8EDF4; }
#DKDialog .DKSection h3 { margin: 0 0 4px; font-size: 14.5px; font-weight: 700; color: #13203A; }
#DKDialog .DKSub { margin: 0 0 12px; font-size: 12.5px; line-height: 1.5; color: #5D6B82; }
#DKDialog .DKSub a { color: var(--brand); font-weight: 600; }

#DKDialog .DKCode { position: relative; margin-bottom: 10px; }
#DKDialog .DKCode pre { margin: 0; padding: 14px 92px 14px 16px; overflow-x: auto; font-size: 12.5px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; color: #E8EEF7; background: #16213A; border-radius: 10px; }
#DKDialog .DKCode .DKCopy { position: absolute; top: 8px; right: 8px; color: #E8EEF7; background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .18); }
#DKDialog .DKCode .DKCopy:hover { background: rgba(255, 255, 255, .18); }

#DKDialog .DKCodes { margin-top: 6px; font-size: 12.5px; color: #3A475E; }
#DKDialog .DKCodes summary { cursor: pointer; font-weight: 600; color: #3A475E; }
#DKDialog .DKCodes table { margin: 8px 0; border-collapse: collapse; }
#DKDialog .DKCodes td { padding: 3px 14px 3px 0; vertical-align: top; }
#DKDialog .DKCodes td:first-child { font-variant-numeric: tabular-nums; font-weight: 600; color: #13203A; }

#DKDialog .LTLink.isDanger { color: #B42318; }

#DKDialog .DKInput {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    /* margin completo: los estilos antiguos de los formularios le ponían 5 px a la derecha y salía una barra horizontal */
    margin: 0 0 6px;
    padding: 0 12px;
    font: inherit;
    font-size: 14px;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D5DDE8;
    border-radius: 8px;
}

#DKDialog .DKInput:focus {
    outline: 0;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .14);
}

#DKDialog .LTBtn:disabled { opacity: .7; cursor: progress; }
#DKDialog .DKNote a { color: var(--brand); font-weight: 600; }
#DKDialog .DKLead a { color: var(--brand); font-weight: 600; }
#DKDialog .LTLink.isPlain { font-size: inherit; font-weight: 600; color: var(--brand); }
#DKDialog .DKFootNote { font-size: 12.5px; color: #7A879C; }
#DKDialog .DKCodes + .DKCodes { margin-top: 10px; }
#DKDialog .DKCodes .DKKey { margin-top: 8px; }

#DKDialog .DKDone {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 2px 0 18px;
    padding: 14px 16px;
    background: #EAF7F1;
    border-radius: 12px;
}

#DKDialog .DKDoneIcon {
    position: relative;
    flex: none;
    width: 34px;
    height: 34px;
    background: #12A27A;
    border-radius: 50%;
}

#DKDialog .DKDoneIcon::before {
    content: "";
    position: absolute;
    inset: 9px;
    background: #ffffff;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / contain;
}

#DKDialog .DKDone div { min-width: 0; }
#DKDialog .DKDone b { display: block; font-size: 14px; overflow-wrap: anywhere; color: #13203A; }
#DKDialog .DKDone span { display: block; margin-top: 2px; font-size: 12.5px; color: #3A475E; }

#DKDialog .DKStepsTitle { margin: 0 0 8px; font-size: 14.5px; font-weight: 700; color: #13203A; }

#DKDialog .DKSteps {
    margin: 0 0 18px;
    padding-left: 22px;
    font-size: 13.5px;
    line-height: 1.6;
    color: #3A475E;
}

#DKDialog .DKSteps li + li { margin-top: 6px; }
#DKDialog .DKSteps li::marker { font-weight: 700; color: var(--brand); }
#DKDialog .DKSteps b { color: #13203A; font-weight: 600; }
#DKDialog .DKSteps code { padding: 1px 5px; font-size: 12px; background: #EEF1F6; border-radius: 4px; overflow-wrap: anywhere; }

/* ============================================================
   Apartado Instalación (#menu/install, _js/Console/6_Install/installSection.js, 15/10/2026).
   Cuatro formas de instalar como opciones del mismo peso (la recomendada, el paquete, con el botón principal) y debajo
   «Paquetes y claves» y «Últimos equipos instalados», integrados con el fondo y separados por una línea, como Informes.
   ============================================================ */
#installSection {
    color: #13203A;
}

/* Título y subtítulo como Parámetros generales e Informes */
#installSection .DPLHeader h2 {
    margin: 0;
    padding: 6px 0 0;
    font-size: 22px;
    font-weight: 750;
    letter-spacing: -.2px;
    line-height: 1.3;
    color: #0E1A33;
    background: none;
    border: 0;
}

#installSection .DPLHeader p {
    margin: 4px 0 0;
    font-size: 13.5px;
    line-height: 1.5;
    color: #69768C;
}

/* Formas de instalar: una fila cada una, como las de Parámetros (icono | título y explicación | botón al lado) */
#installSection .DPLRows {
    margin-top: 14px;
    border-top: 1px solid #EEF1F6;
}

#installSection .DPLRow {
    display: grid;
    grid-template-columns: 40px minmax(0, 560px) auto;
    grid-template-rows: auto auto;
    justify-content: start;
    column-gap: 24px;
    row-gap: 3px;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid #EEF1F6;
}

#installSection .DPLIcon {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 22px;
    height: 22px;
    margin-left: 6px;
    background: var(--brand);
    -webkit-mask: var(--in-icon) no-repeat center / contain;
    mask: var(--in-icon) no-repeat center / contain;
}

#installSection .DPLIcon.is-terminal { --in-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4' width='19' height='16' rx='2'/%3E%3Cpath d='m7 9 3 3-3 3M13 15h4'/%3E%3C/svg%3E"); }
#installSection .DPLIcon.is-monitor { --in-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E"); }
#installSection .DPLIcon.is-package { --in-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7.5 4.27 9 5.15'/%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5M12 22V12'/%3E%3C/svg%3E"); }
#installSection .DPLIcon.is-network { --in-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='16' y='16' width='6' height='6' rx='1'/%3E%3Crect x='2' y='16' width='6' height='6' rx='1'/%3E%3Crect x='9' y='2' width='6' height='6' rx='1'/%3E%3Cpath d='M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3M12 12V8'/%3E%3C/svg%3E"); }
#installSection .DPLIcon.is-cloud { --in-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3C/svg%3E"); }

#installSection .DPLRow h3 {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0;
    padding: 0;
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.4;
    color: #0E1A33;
    background: none;
}

#installSection .DPLRow p {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #69768C;
}

#installSection .DPLRow p b { font-weight: 600; color: #3A475E; }

#installSection .DPLTag {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 8px;
    font-size: 11.5px;
    font-weight: 600;
    vertical-align: 1px;
    color: color-mix(in srgb, var(--brand) 82%, #000);
    background: color-mix(in srgb, var(--brand) 9%, #fff);
    border-radius: 999px;
}

/* Botones de las filas: secundarios con flecha, como Parámetros; el del paquete, principal */
#installSection .DPLBtn {
    grid-column: 3;
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 34px;
    margin: 0;
    padding: 0 14px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D9E1EC;
    border-radius: 8px;
    cursor: pointer;
}

#installSection .DPLBtn::after {
    content: "";
    width: 14px;
    height: 14px;
    margin-right: -4px;
    background: #8E9AAD;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
}

#installSection .DPLBtn:hover { background: #F3F6FA; border-color: #C9D3E0; }

#installSection .DPLBtn.isPrimary {
    padding: 0 16px;
    color: #ffffff;
    background: var(--brand);
    border-color: var(--brand);
}

#installSection .DPLBtn.isPrimary::after { background: currentColor; }
#installSection .DPLBtn.isPrimary:hover { background: color-mix(in srgb, var(--brand) 86%, #000); }

#installSection .DPLLink {
    padding: 0;
    font: inherit;
    font-weight: 600;
    color: var(--brand);
    text-decoration: none;
    background: none;
    border: 0;
    cursor: pointer;
}

#installSection .DPLLink:hover { text-decoration: underline; }
#installSection .DPLLink.isDanger { color: #B42318; }
/* Renombrar en gris: en ECIJA el color de la marca es rojo y se confundía con Revocar */
#installSection .DPLKActions .DPLRename { color: #3A475E; }

#installSection :is(.DPLBtn, .DPLLink):focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

#installSection .DPLColumns {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
    gap: 48px;
    margin-top: 34px;
}

@media (max-width: 1280px) {
    #installSection .DPLColumns { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}

#installSection .DPLPanel {
    min-width: 0;
}

#installSection .DPLPanelHead h3 {
    margin: 0;
    padding: 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    color: #0E1A33;
    background: none;
}

#installSection .DPLPanelHead p {
    margin: 3px 0 12px;
    font-size: 13px;
    line-height: 1.5;
    color: #69768C;
}

#installSection .DPLState { padding: 22px 0; font-size: 13px; color: #7A879C; }
#installSection .DPLState.isError { color: #A8243A; }

#installSection .DPLEmpty {
    padding: 16px;
    font-size: 13px;
    line-height: 1.5;
    color: #5D6B82;
    background: #F7F9FC;
    border-radius: 10px;
}

#installSection .DPLTableWrap { overflow-x: auto; }

#installSection .DPLTable {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

#installSection .DPLTable th {
    padding: 8px 14px 8px 0;
    font-size: 12px;
    font-weight: 600;
    text-align: left;
    color: #7A879C;
    border-bottom: 1px solid #E8EDF4;
}

#installSection .DPLTable td {
    padding: 12px 14px 12px 0;
    vertical-align: top;
    border-bottom: 1px solid #EEF1F6;
}

#installSection .DPLTable td:last-child,
#installSection .DPLTable th:last-child { padding-right: 0; }

#installSection .DPLKName b { font-weight: 600; color: #13203A; overflow-wrap: anywhere; }
#installSection .DPLKName small { display: block; margin-top: 3px; font-size: 12px; color: #7A879C; }

#installSection .DPLKind {
    display: inline-block;
    margin-right: 8px;
    padding: 1px 7px;
    font-size: 11px;
    font-weight: 600;
    vertical-align: 1px;
    color: #3A475E;
    background: #EEF1F6;
    border-radius: 5px;
}

#installSection .DPLKUsed { white-space: nowrap; }
#installSection .DPLKUsed b { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
#installSection .DPLKUsed b.isZero { font-size: 13px; font-weight: 600; color: #7A879C; }
#installSection .DPLKUsed span { display: block; margin-top: 2px; font-size: 12px; color: #7A879C; }

#installSection .DPLChip {
    display: inline-block;
    padding: 2px 9px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    border-radius: 999px;
}

#installSection .DPLChip.isOn { color: #0F7A55; background: #E6F6EF; }
#installSection .DPLChip.isOff { color: #5D6B82; background: #EEF1F6; }

#installSection .DPLKActions { text-align: right; white-space: nowrap; }
#installSection .DPLKActions .DPLLink + .DPLLink { margin-left: 14px; }
#installSection .DPLTable tr.isRevoked :is(td, b) { color: #7A879C; }
#installSection .DPLEmptyRow { color: #7A879C; }
#installSection .DPLToggleRevoked { margin-top: 12px; font-size: 13px; }

#installSection .DPLSr {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

#installSection .DPLPcsSummary { margin: 0 0 6px; font-size: 13px; color: #3A475E; }
#installSection .DPLPcsSummary b { font-variant-numeric: tabular-nums; color: #13203A; }

#installSection .DPLPcList {
    margin: 0 0 12px;
    padding: 0;
    list-style: none;
}

#installSection .DPLPcList li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 0;
    font-size: 13px;
    border-bottom: 1px solid #EEF1F6;
}

#installSection .DPLPcList b {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#installSection .DPLPcList span:last-child { font-size: 12px; white-space: nowrap; color: #7A879C; }

#installSection .DPLPcDot {
    flex: none;
    width: 8px;
    height: 8px;
    background: #1BAF7A;
    border-radius: 50%;
}

#installSection .DPLPcsBody > .DPLLink { font-size: 13px; }

/* Instalación como pestaña de Parámetros generales (15/10/2026): sin título propio (lo pone Parámetros) y sin
   «Sincronizar cambios», que no afecta a esta pestaña (los paquetes se guardan al momento en el servidor). */
/* «No oculta» y no «display: block»: la primera vez jQuery la muestra quitando el estilo (style="") */
#parametersTabWrapper:has(#tabParametersContent4:not([style*="display: none"])) #configSaveChanges { display: none !important; }
#tabParametersContent4 #installSection .DPLHeader p { margin-top: 14px; }

/* ============================================================
   Submenús del menú lateral (menuShortcuts.js, 15/10/2026). Acordeón: cada apartado lleva su lista debajo, recogida;
   la del apartado activo, abierta, y las demás se abren al pasar el ratón. La altura se anima con la rejilla
   (grid-template-rows 0fr -> 1fr) y un fundido; recogida no ocupa sitio ni se puede tabular (visibility).
   El margen superior negativo anula el hueco (gap) del menú cuando está recogida.
   Con el menú plegado no hay sitio: lista flotante a la derecha (#ETSsubFly, en <body>).
   Los accesos son <button>: los <a> del menú llevan el estilo de apartado.
   ============================================================ */
.ETSmenu .ETSsub {
    display: grid;
    grid-template-rows: 0fr;
    margin: -10px 0 0;
    opacity: 0;
    visibility: hidden;
    transition: grid-template-rows .24s cubic-bezier(.2, .7, .2, 1), margin .24s cubic-bezier(.2, .7, .2, 1), opacity .18s ease, visibility 0s linear .24s;
}

.ETSmenu .ETSsub.isOpen {
    grid-template-rows: 1fr;
    margin: -6px 0 2px;
    opacity: 1;
    visibility: visible;
    transition: grid-template-rows .24s cubic-bezier(.2, .7, .2, 1), margin .24s cubic-bezier(.2, .7, .2, 1), opacity .2s ease .04s, visibility 0s;
}

.ETSsubClip {
    min-height: 0;
    overflow: hidden;
}

.ETSsubList {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.ETSmenu .ETSsubList { padding: 2px 0 2px 32px; }

/* Línea guía a la altura del icono del apartado */
.ETSmenu .ETSsubList::before {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 21px;
    width: 1px;
    background: #E3EAF4;
}

.ETSsubTitle { display: none; }

.ETSsubItem {
    position: relative;
    display: block;
    width: 100%;
    min-height: 30px;
    padding: 6px 8px 6px 12px;
    font: inherit;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.3;
    text-align: left;
    color: #5D6B82;
    background: none;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color .12s ease, color .12s ease;
}

.ETSsubItem:hover {
    color: #0E1A33;
    background: #F3F6FA;
}

.ETSsubItem.isOn {
    font-weight: 600;
    color: var(--brand);
}

/* El actual, marcado también sobre la línea guía */
.ETSmenu .ETSsubItem.isOn::before {
    content: "";
    position: absolute;
    top: 7px;
    bottom: 7px;
    left: -11px;
    width: 2px;
    background: var(--brand);
    border-radius: 2px;
}

.ETSsubItem:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: -2px;
}

@media (prefers-reduced-motion: reduce) {
    .ETSmenu .ETSsub,
    .ETSmenu .ETSsub.isOpen { transition: none; }
}

/* Con muchas listas abiertas el menú no cabe: sin el búho de abajo (se montaba encima) y menos relleno (menuShortcuts.fit) */
.ETSmenu.isTall { padding-bottom: 24px; }
.ETSmenu.isTall .logoOwlDiv { display: none; }

body.menuCollapsed .ETSmenu .ETSsub { display: none; }

/* Lista flotante (menú plegado) */
#ETSsubFly {
    position: fixed;
    z-index: 900;
    display: none;
    width: 220px;
    padding: 8px;
    background: #ffffff;
    border: 1px solid #E3EAF4;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(14, 26, 51, .14), 0 2px 6px rgba(14, 26, 51, .06);
}

#ETSsubFly.isOpen {
    display: block;
    animation: ETSsubFlyIn .14s ease-out;
}

#ETSsubFly .ETSsubTitle {
    display: block;
    padding: 4px 10px 6px;
    font-size: 12px;
    font-weight: 700;
    color: #13203A;
}

#ETSsubFly .ETSsubItem { padding-left: 10px; }

@keyframes ETSsubFlyIn {
    from { opacity: 0; transform: translateX(-4px); }
    to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    #ETSsubFly.isOpen { animation: none; }
}

/* =====================================================================
   CENTRO DE AYUDA (menú «Ayuda» › «Centro de ayuda»; _js/Console/7_Help/helpCenter.js, contenido en /_help)
   ===================================================================== */
#HCRoot {
    --hc-ink: #13203A;
    --hc-text: #34425A;
    --hc-muted: #5D6B82;
    --hc-faint: #8B97AB;
    --hc-line: #E6ECF4;
    --hc-soft: #F4F7FB;
    position: fixed;
    inset: 56px 0 0 0;
    z-index: 9000;
    display: flex;
    flex-direction: column;
    background: #fff;
    color: var(--hc-ink);
    font-variant-numeric: tabular-nums;
}

#HCRoot[hidden] {
    display: none;
}

#HCRoot button {
    font: inherit;
    color: inherit;
    cursor: pointer;
}

.HCIcon {
    flex: none;
    width: 18px;
    height: 18px;
}

/* Barra superior: título, buscador y cerrar */
#HCRoot .HCBar {
    flex: none;
    display: grid;
    grid-template-columns: 280px minmax(0, 640px) 1fr;
    align-items: center;
    height: 64px;
    padding: 0 20px 0 0;
    border-top: 1px solid var(--hc-line);
    border-bottom: 1px solid var(--hc-line);
}

#HCRoot .HCBrand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 40px;
    margin-left: 20px;
    padding: 0 8px;
    border: 0;
    background: none;
    font-size: 15px;
    font-weight: 700;
    justify-self: start;
}

#HCRoot .HCBrand .HCIcon {
    width: 20px;
    height: 20px;
    color: var(--brand);
}

#HCRoot .HCSearch {
    position: relative;
    display: flex;
    align-items: center;
    margin-left: 40px;
}

#HCRoot .HCSearch > .HCIcon {
    position: absolute;
    left: 14px;
    color: var(--hc-faint);
    pointer-events: none;
}

#HCRoot .HCSearch input {
    width: 100%;
    height: 42px;
    padding: 0 44px 0 42px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: var(--hc-soft);
    color: var(--hc-ink);
    font: inherit;
    font-size: 14.5px;
    outline: none;
    transition: background .15s, border-color .15s, box-shadow .15s;
}

#HCRoot .HCSearch input::placeholder {
    color: var(--hc-faint);
}

#HCRoot .HCSearch input:focus {
    background: #fff;
    border-color: var(--brand);
    box-shadow: 0 0 0 4px rgb(var(--brand-rgb) / .12);
}

#HCRoot .HCSearch input::-webkit-search-cancel-button {
    display: none;
}

#HCRoot .HCSearch kbd {
    position: absolute;
    right: 12px;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border: 1px solid #D9E2EE;
    border-radius: 6px;
    background: #fff;
    color: var(--hc-muted);
    font: 600 12px/20px inherit;
    text-align: center;
    pointer-events: none;
}

#HCRoot .HCSearch input:focus ~ kbd {
    display: none;
}

#HCRoot .HCResults {
    position: absolute;
    top: 50px;
    left: 0;
    right: 0;
    max-height: min(440px, 70vh);
    overflow-y: auto;
    padding: 6px;
    border: 1px solid var(--hc-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(19, 32, 58, .14);
    z-index: 2;
}

#HCRoot .HCResults[hidden] {
    display: none;
}

#HCRoot .HCRes {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    color: var(--hc-ink);
    text-decoration: none;
}

#HCRoot .HCRes .HCIcon {
    margin-top: 1px;
    color: var(--brand);
}

#HCRoot .HCRes span {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

#HCRoot .HCRes b {
    font-size: 14px;
    font-weight: 600;
}

#HCRoot .HCRes em {
    overflow: hidden;
    color: var(--hc-muted);
    font-size: 12.5px;
    font-style: normal;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#HCRoot .HCRes mark {
    padding: 0 1px;
    border-radius: 3px;
    background: rgb(var(--brand-rgb) / .14);
    color: inherit;
}

#HCRoot .HCRes:hover,
#HCRoot .HCRes.isSel {
    background: var(--hc-soft);
}

#HCRoot .HCResEmpty {
    padding: 14px;
    color: var(--hc-muted);
    font-size: 13.5px;
    line-height: 1.5;
}

#HCRoot .HCClose {
    justify-self: end;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 10px;
    background: none;
    color: var(--hc-muted);
}

#HCRoot .HCClose:hover {
    background: var(--hc-soft);
    color: var(--hc-ink);
}

/* Cuerpo: temas a la izquierda y contenido */
#HCRoot .HCBody {
    flex: 1;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    min-height: 0;
}

#HCRoot .HCNav {
    overflow-y: auto;
    padding: 16px 12px 32px 20px;
    border-right: 1px solid var(--hc-line);
    scrollbar-width: thin;
}

#HCRoot .HCNavTop,
#HCRoot .HCNavCat > button {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 36px;
    padding: 6px 10px;
    border: 0;
    border-radius: 8px;
    background: none;
    color: var(--hc-ink);
    font-size: 13.5px;
    font-weight: 600;
    text-align: left;
    text-decoration: none;
}

#HCRoot .HCNavTop .HCIcon,
#HCRoot .HCNavCat > button > .HCIcon:first-child {
    color: var(--hc-muted);
}

#HCRoot .HCNavTop:hover,
#HCRoot .HCNavCat > button:hover {
    background: var(--hc-soft);
}

#HCRoot .HCNavTop.isCurrent {
    background: rgb(var(--brand-rgb) / .08);
    color: var(--brand);
}

#HCRoot .HCNavTop.isCurrent .HCIcon {
    color: var(--brand);
}

#HCRoot .HCNavGlossary {
    margin-top: 8px;
}

#HCRoot .HCNavCat > button span {
    flex: 1;
}

#HCRoot .HCNavArrow {
    width: 15px;
    height: 15px;
    color: var(--hc-faint);
    transition: transform .15s;
}

#HCRoot .HCNavCat.isOpen .HCNavArrow {
    transform: rotate(90deg);
}

#HCRoot .HCNavCat ul {
    display: none;
    margin: 2px 0 8px;
    padding: 0;
    list-style: none;
}

#HCRoot .HCNavCat.isOpen ul {
    display: block;
}

#HCRoot .HCNavCat li a {
    display: block;
    padding: 6px 10px 6px 38px;
    border-radius: 8px;
    color: var(--hc-muted);
    font-size: 13px;
    line-height: 1.4;
    text-decoration: none;
}

#HCRoot .HCNavCat li a:hover {
    background: var(--hc-soft);
    color: var(--hc-ink);
}

#HCRoot .HCNavCat li a.isPending {
    color: var(--hc-faint);
}

#HCRoot .HCNavCat li a.isCurrent {
    background: rgb(var(--brand-rgb) / .08);
    color: var(--brand);
    font-weight: 600;
}

#HCRoot .HCMain {
    position: relative;
    overflow-y: auto;
    outline: none;
    scroll-behavior: auto;
}

/* Páginas */
#HCRoot .HCPage {
    max-width: 860px;
    padding: 40px 56px 96px;
}

#HCRoot .HCEyebrow {
    margin: 0 0 10px;
    color: var(--brand);
    font-size: 13px;
    font-weight: 600;
}

#HCRoot h1 {
    margin: 0;
    color: var(--hc-ink);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.02em;
    text-wrap: balance;
}

#HCRoot .HCLead {
    max-width: 64ch;
    margin: 12px 0 0;
    color: var(--hc-muted);
    font-size: 16.5px;
    line-height: 1.55;
}

#HCRoot .HCSection {
    margin-top: 48px;
}

#HCRoot .HCSection h2 {
    margin: 0 0 16px;
    color: var(--hc-ink);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -.01em;
}

#HCRoot .HCCrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 24px;
    color: var(--hc-muted);
    font-size: 13px;
}

#HCRoot .HCCrumbs a {
    color: var(--hc-muted);
    text-decoration: none;
}

#HCRoot .HCCrumbs a:hover {
    color: var(--brand);
}

#HCRoot .HCCrumbs .HCIcon {
    width: 14px;
    height: 14px;
    color: var(--hc-faint);
}

#HCRoot .HCPageHead .HCPageIcon {
    width: 28px;
    height: 28px;
    margin-bottom: 14px;
    color: var(--brand);
}

/* Portada */
#HCRoot .HCHome {
    max-width: 980px;
}

#HCRoot .HCHome h1 {
    font-size: 36px;
}

#HCRoot .HCFeatured {
    margin-top: 32px;
}

#HCRoot .HCFeature {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    column-gap: 32px;
    overflow: hidden;
    padding: 28px 0 28px 28px;
    border: 1px solid rgb(var(--brand-rgb) / .16);
    border-radius: 16px;
    background: linear-gradient(120deg, color-mix(in srgb, var(--brand) 7%, #fff), #fff 70%);
    color: var(--hc-ink);
    text-decoration: none;
    transition: border-color .15s, box-shadow .15s;
}

#HCRoot .HCFeature:hover {
    border-color: rgb(var(--brand-rgb) / .4);
    box-shadow: 0 10px 30px rgb(var(--brand-rgb) / .1);
}

#HCRoot .HCFeatureBody {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

#HCRoot .HCFeatureKicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--brand);
    font-size: 13px;
    font-weight: 600;
}

#HCRoot .HCFeatureKicker .HCIcon {
    width: 16px;
    height: 16px;
}

#HCRoot .HCFeatureTitle {
    margin-top: 12px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.01em;
}

#HCRoot .HCFeatureText {
    margin-top: 8px;
    color: var(--hc-muted);
    font-size: 15px;
    line-height: 1.55;
}

#HCRoot .HCFeatureList {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 20px;
}

#HCRoot .HCFeatureList span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--hc-text);
    font-size: 14px;
}

#HCRoot .HCFeatureList span::before {
    content: "";
    flex: none;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--brand);
}

#HCRoot .HCFeatureGo {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;
    padding-top: 24px;
    color: var(--brand);
    font-size: 14px;
    font-weight: 600;
}

#HCRoot .HCFeatureGo .HCIcon {
    width: 16px;
    height: 16px;
    transition: transform .15s;
}

#HCRoot .HCFeature:hover .HCFeatureGo .HCIcon {
    transform: translateX(3px);
}

#HCRoot .HCFeatureCover {
    align-self: end;
    margin: 0 -1px -29px 0;
    overflow: hidden;
    border: 1px solid var(--hc-line);
    border-right: 0;
    border-bottom: 0;
    border-radius: 12px 0 0 0;
    box-shadow: 0 10px 30px rgba(19, 32, 58, .12);
}

#HCRoot .HCFeatureCover img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9.5;
    object-fit: cover;
    object-position: 34% 18%;
}

#HCRoot .HCGuides {
    border-top: 1px solid var(--hc-line);
}

#HCRoot .HCGuide {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 24px;
    align-items: baseline;
    padding: 16px 4px;
    border-bottom: 1px solid var(--hc-line);
    color: var(--hc-ink);
    text-decoration: none;
}

#HCRoot .HCGuide:hover .HCGuideTitle {
    color: var(--brand);
}

#HCRoot .HCGuideAud {
    grid-row: 1 / 3;
    color: var(--hc-muted);
    font-size: 13px;
    font-weight: 600;
}

#HCRoot .HCGuideTitle {
    font-size: 15.5px;
    font-weight: 650;
}

#HCRoot .HCGuideText {
    grid-column: 2;
    margin-top: 3px;
    color: var(--hc-muted);
    font-size: 14px;
    line-height: 1.5;
}

#HCRoot .HCGuideMeta {
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: center;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--hc-muted);
    font-size: 13px;
}

#HCRoot .HCGuideMeta .HCIcon {
    width: 16px;
    height: 16px;
    color: var(--hc-faint);
}

#HCRoot .HCTopics {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
}

#HCRoot .HCTopic {
    display: flex;
    flex-direction: column;
    padding: 18px 18px 16px;
    border: 1px solid var(--hc-line);
    border-radius: 12px;
    color: var(--hc-ink);
    text-decoration: none;
    transition: border-color .15s, background .15s;
}

#HCRoot .HCTopic:hover {
    border-color: rgb(var(--brand-rgb) / .35);
    background: color-mix(in srgb, var(--brand) 3%, #fff);
}

#HCRoot .HCTopicIcon {
    width: 22px;
    height: 22px;
    margin-bottom: 12px;
    color: var(--brand);
}

#HCRoot .HCTopicTitle {
    font-size: 15px;
    font-weight: 650;
}

#HCRoot .HCTopicText {
    flex: 1;
    margin-top: 4px;
    color: var(--hc-muted);
    font-size: 13.5px;
    line-height: 1.5;
}

#HCRoot .HCTopicCount {
    margin-top: 12px;
    color: var(--hc-faint);
    font-size: 12.5px;
}

/* Listas de artículos */
#HCRoot .HCRows {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--hc-line);
    list-style: none;
}

#HCRoot .HCPageHead + .HCRows {
    margin-top: 32px;
}

#HCRoot .HCRow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 16px;
    padding: 14px 4px;
    border-bottom: 1px solid var(--hc-line);
    color: var(--hc-ink);
    text-decoration: none;
}

#HCRoot .HCRow > .HCIcon {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    width: 16px;
    height: 16px;
    color: var(--hc-faint);
}

#HCRoot .HCRowTitle {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 600;
}

#HCRoot .HCRow:hover .HCRowTitle {
    color: var(--brand);
}

#HCRoot .HCRowTitle em {
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--hc-soft);
    color: var(--hc-muted);
    font-size: 11.5px;
    font-style: normal;
    font-weight: 600;
}

#HCRoot .HCRow.isPending .HCRowTitle {
    color: var(--hc-muted);
}

#HCRoot .HCRowText {
    margin-top: 3px;
    color: var(--hc-muted);
    font-size: 13.5px;
    line-height: 1.5;
}

#HCRoot .HCGlossary {
    margin: 32px 0 0;
    border-top: 1px solid var(--hc-line);
}

#HCRoot .HCGlossary > div {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 24px;
    padding: 14px 4px;
    border-bottom: 1px solid var(--hc-line);
}

#HCRoot .HCGlossary dt {
    font-size: 14.5px;
    font-weight: 650;
}

#HCRoot .HCGlossary dd {
    margin: 0;
    color: var(--hc-text);
    font-size: 14.5px;
    line-height: 1.55;
}

#HCRoot .HCEmpty,
#HCRoot .HCLoading {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 48px 56px;
    color: var(--hc-muted);
    font-size: 14.5px;
}

#HCRoot .HCLoading span {
    width: 18px;
    height: 18px;
    border: 2px solid rgb(var(--brand-rgb) / .2);
    border-top-color: var(--brand);
    border-radius: 50%;
    animation: HCSpin .8s linear infinite;
}

@keyframes HCSpin {
    to { transform: rotate(360deg); }
}

/* Botones */
.HCBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 40px;
    padding: 0 16px;
    border: 1px solid #D9E2EE;
    border-radius: 9px;
    background: #fff;
    color: #13203A;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    transition: background .15s, border-color .15s, color .15s;
}

.HCBtn .HCIcon {
    width: 17px;
    height: 17px;
}

.HCBtn:hover {
    border-color: #C3CFDF;
    background: #F4F7FB;
}

.HCBtn:disabled {
    opacity: .45;
    pointer-events: none;
}

.HCBtn.isPrimary {
    border-color: var(--brand);
    background: var(--brand);
    color: #fff;
}

.HCBtn.isPrimary:hover {
    border-color: color-mix(in srgb, var(--brand) 86%, #000);
    background: color-mix(in srgb, var(--brand) 86%, #000);
}

.HCBtn.isSmall {
    height: 32px;
    padding: 0 12px;
    border-radius: 8px;
    font-size: 13px;
}

.HCBtn.isSmall .HCIcon {
    width: 15px;
    height: 15px;
}

.HCBtn:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* Artículo */
#HCRoot .HCArticle {
    display: grid;
    grid-template-columns: minmax(0, 820px) 220px;
    gap: 48px;
    padding-right: 40px;
}

#HCRoot .HCDoc {
    max-width: none;
    padding-right: 0;
}

#HCRoot .HCMeta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin: 18px 0 0;
    color: var(--hc-muted);
    font-size: 13.5px;
}

#HCRoot .HCMeta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

#HCRoot .HCMeta .HCIcon {
    width: 16px;
    height: 16px;
    color: var(--hc-faint);
}

#HCRoot .HCActions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

#HCRoot .HCCallout {
    display: flex;
    gap: 12px;
    margin-top: 32px;
    padding: 14px 18px;
    border-radius: 10px;
    background: var(--hc-soft);
    color: var(--hc-text);
    font-size: 14.5px;
    line-height: 1.6;
}

#HCRoot .HCCallout > .HCIcon {
    margin-top: 2px;
    color: var(--hc-muted);
}

#HCRoot .HCCallout.is-tip {
    background: color-mix(in srgb, var(--brand) 6%, #fff);
}

#HCRoot .HCCallout.is-tip > .HCIcon {
    color: var(--brand);
}

#HCRoot .HCCallout.is-important {
    background: #FFF7E8;
}

#HCRoot .HCCallout.is-important > .HCIcon {
    color: #B7791F;
}

#HCRoot .HCCallout b,
#HCRoot .HCStepText b,
#HCRoot .HCText b {
    color: var(--hc-ink);
    font-weight: 650;
}

#HCRoot .HCText p {
    margin: 0 0 12px;
}

#HCRoot .HCText ul {
    margin: 0 0 12px;
    padding-left: 20px;
}

#HCRoot .HCText li {
    margin-bottom: 6px;
}

#HCRoot .HCStepText a,
#HCRoot .HCText a,
#HCRoot .HCCallout a,
#HCViewer .HCVBody a {
    color: var(--brand);
    font-weight: 600;
    text-decoration: none;
}

#HCRoot .HCText code,
#HCRoot .HCStepText code,
#HCRoot .HCCallout code,
#HCRoot .HCFaq code,
#HCViewer .HCVBody code {
    padding: 1px 6px;
    border-radius: 5px;
    background: #EEF2F8;
    color: #13203A;
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: .88em;
    overflow-wrap: anywhere;
}

/* Bloques de código (ejemplos de la API): con scroll propio, sin partir las líneas */
#HCRoot .HCText pre,
#HCViewer .HCVBody pre {
    margin: 10px 0;
    padding: 14px 16px;
    border-radius: 10px;
    background: #13203A;
    overflow-x: auto;
}

#HCRoot .HCText pre code,
#HCViewer .HCVBody pre code {
    padding: 0;
    background: none;
    color: #E4ECF8;
    white-space: pre;
    overflow-wrap: normal;
    line-height: 1.6;
}

/* Pasos */
#HCRoot .HCSteps {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

#HCRoot .HCStep {
    position: relative;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 18px;
    padding-bottom: 40px;
}

#HCRoot .HCStep::before {
    content: "";
    position: absolute;
    top: 36px;
    bottom: 6px;
    left: 14px;
    width: 1.5px;
    background: var(--hc-line);
}

#HCRoot .HCStep:last-child {
    padding-bottom: 0;
}

#HCRoot .HCStep:last-child::before {
    display: none;
}

#HCRoot .HCStepNum {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1.5px solid rgb(var(--brand-rgb) / .45);
    border-radius: 50%;
    background: #fff;
    color: var(--brand);
    font-size: 13px;
    font-weight: 700;
}

#HCRoot .HCStep h3 {
    margin: 4px 0 6px;
    color: var(--hc-ink);
    font-size: 17px;
    font-weight: 650;
    line-height: 1.35;
}

#HCRoot .HCStepText,
#HCRoot .HCText {
    max-width: 68ch;
    color: var(--hc-text);
    font-size: 15px;
    line-height: 1.65;
}

/* Captura con puntos */
.HCShot {
    position: relative;
    width: 100%;
    margin: 16px 0 0;
    border: 1px solid #E6ECF4;
    border-radius: 10px;
    background: #F4F7FB;
    box-shadow: 0 1px 2px rgba(19, 32, 58, .05), 0 10px 28px rgba(19, 32, 58, .07);
    cursor: zoom-in;
    user-select: none;
}

.HCShot img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 9px;
}

.HCRect {
    position: absolute;
    border: 2px solid var(--brand);
    border-radius: 6px;
    background: rgb(var(--brand-rgb) / .06);
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s;
}

.HCRect.isHover,
.HCRect.isOn {
    opacity: 1;
}

.HCMarker {
    position: absolute;
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--brand);
    box-shadow: 0 0 0 4px rgb(var(--brand-rgb) / .22), 0 2px 6px rgba(19, 32, 58, .25);
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    transform: translate(-50%, -50%);
    transition: transform .15s, box-shadow .15s;
    cursor: pointer;
    z-index: 1;
}

.HCMarker:hover,
.HCMarker.isActive {
    transform: translate(-50%, -50%) scale(1.12);
    box-shadow: 0 0 0 6px rgb(var(--brand-rgb) / .28), 0 2px 8px rgba(19, 32, 58, .3);
}

.HCMarker:focus-visible {
    outline: 2px solid #13203A;
    outline-offset: 3px;
}

#HCRoot .HCPop {
    position: absolute;
    z-index: 3;
    width: 270px;
    padding: 12px 14px;
    border: 1px solid #E6ECF4;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(19, 32, 58, .18);
    cursor: default;
    animation: HCPopIn .14s ease both;
}

#HCRoot .HCPop b {
    display: block;
    font-size: 14px;
    font-weight: 650;
}

#HCRoot .HCPop p {
    margin: 4px 0 0;
    color: var(--hc-muted);
    font-size: 13.5px;
    line-height: 1.5;
}

#HCRoot .HCPopNav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid var(--hc-line);
    color: var(--hc-faint);
    font-size: 12.5px;
}

#HCRoot .HCPopNav button {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--brand);
    font-size: 13px;
    font-weight: 600;
}

#HCRoot .HCPopNav .HCIcon {
    width: 14px;
    height: 14px;
}

@keyframes HCPopIn {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: none; }
}

#HCRoot .HCShotZoom {
    position: absolute;
    right: 10px;
    bottom: 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 10px;
    border: 1px solid #D9E2EE;
    border-radius: 8px;
    background: rgba(255, 255, 255, .96);
    color: var(--hc-ink);
    font-size: 12.5px;
    font-weight: 600;
    opacity: 0;
    transition: opacity .15s;
}

#HCRoot .HCShotZoom .HCIcon {
    width: 14px;
    height: 14px;
}

#HCRoot .HCShot:hover .HCShotZoom,
#HCRoot .HCShotZoom:focus-visible {
    opacity: 1;
}

@media (hover: none) {
    #HCRoot .HCShotZoom {
        opacity: 1;
    }
}

/* Preguntas frecuentes, valoración e índice */
#HCRoot .HCFaq {
    border-top: 1px solid var(--hc-line);
}

#HCRoot .HCFaq details {
    border-bottom: 1px solid var(--hc-line);
}

#HCRoot .HCFaq summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 4px;
    font-size: 15px;
    font-weight: 600;
    list-style: none;
    cursor: pointer;
}

#HCRoot .HCFaq summary::-webkit-details-marker {
    display: none;
}

#HCRoot .HCFaq summary .HCIcon {
    width: 16px;
    height: 16px;
    color: var(--hc-faint);
    transition: transform .15s;
}

#HCRoot .HCFaq details[open] summary .HCIcon {
    transform: rotate(90deg);
}

#HCRoot .HCFaq details > div {
    max-width: 68ch;
    padding: 0 4px 16px;
    color: var(--hc-text);
    font-size: 14.5px;
    line-height: 1.6;
}

#HCRoot .HCFeedback {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 48px;
    padding: 18px 20px;
    border-radius: 12px;
    background: var(--hc-soft);
    font-size: 14.5px;
    font-weight: 600;
}

#HCRoot .HCFeedback > span {
    margin-right: 6px;
}

#HCRoot .HCFeedback.isDone {
    color: var(--hc-text);
    font-weight: 500;
}

#HCRoot .HCFeedback.isDone > .HCIcon {
    color: var(--brand);
}

#HCRoot .HCToc {
    position: sticky;
    top: 0;
    align-self: start;
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    padding-top: 104px;
    scrollbar-width: none;
}

#HCRoot .HCToc p {
    margin: 0 0 10px;
    color: var(--hc-ink);
    font-size: 13px;
    font-weight: 650;
}

#HCRoot .HCToc ul {
    margin: 0;
    padding: 0;
    border-left: 1px solid var(--hc-line);
    list-style: none;
}

#HCRoot .HCToc a {
    display: flex;
    gap: 8px;
    margin-left: -1px;
    padding: 5px 0 5px 14px;
    border-left: 2px solid transparent;
    color: var(--hc-muted);
    font-size: 13px;
    line-height: 1.4;
    text-decoration: none;
}

#HCRoot .HCToc li.isSub a {
    padding-left: 22px;
    font-size: 12.5px;
}

#HCRoot .HCToc a span {
    flex: none;
    min-width: 14px;
    color: var(--hc-faint);
}

#HCRoot .HCToc a:hover {
    color: var(--hc-ink);
}

#HCRoot .HCToc a.isCurrent {
    border-left-color: var(--brand);
    color: var(--brand);
    font-weight: 600;
}

#HCRoot .HCToc a.isCurrent span {
    color: var(--brand);
}

/* Visor paso a paso */
#HCViewer {
    position: fixed;
    inset: 0;
    z-index: 20000;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    grid-template-rows: minmax(0, 1fr) 96px;
    background: #0B1426;
    color: #13203A;
    animation: HCFade .16s ease both;
}

@keyframes HCFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

#HCViewer button {
    font: inherit;
    cursor: pointer;
}

#HCViewer .HCVStage {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 0;
    padding: 32px 76px 16px;
}

#HCViewer .HCVFrame {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    min-height: 0;
}

#HCViewer .HCShot {
    width: min(100%, calc((100vh - 144px) * 1.6));
    border-color: rgba(255, 255, 255, .08);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
    cursor: default;
}

#HCViewer .HCVArrow {
    position: absolute;
    top: 50%;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin-top: -22px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    color: #fff;
    transition: background .15s;
}

#HCViewer .HCVArrow:hover {
    background: rgba(255, 255, 255, .2);
}

#HCViewer .HCVArrow:disabled {
    opacity: .25;
    pointer-events: none;
}

#HCViewer .HCVArrow.isPrev {
    left: 18px;
}

#HCViewer .HCVArrow.isNext {
    right: 18px;
}

#HCViewer .HCVArrow .HCIcon {
    width: 22px;
    height: 22px;
}

#HCViewer .HCVSide {
    grid-row: 1 / 3;
    grid-column: 2;
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: #fff;
}

#HCViewer .HCVHead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 20px 0 28px;
}

#HCViewer .HCVCount {
    color: var(--brand);
    font-size: 13px;
    font-weight: 650;
}

#HCViewer .HCVClose {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 9px;
    background: none;
    color: #5D6B82;
}

#HCViewer .HCVClose:hover {
    background: #F4F7FB;
    color: #13203A;
}

#HCViewer .HCVText {
    flex: 1;
    overflow-y: auto;
    padding: 8px 28px 24px;
}

#HCViewer .HCVText h2 {
    margin: 0 0 10px;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.01em;
    text-wrap: balance;
}

#HCViewer .HCVBody {
    color: #34425A;
    font-size: 14.5px;
    line-height: 1.65;
}

#HCViewer .HCVBody b {
    color: #13203A;
    font-weight: 650;
}

#HCViewer .HCVSpots {
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #E6ECF4;
}

#HCViewer .HCVSpot {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    column-gap: 12px;
    width: 100%;
    margin-top: 6px;
    padding: 10px;
    border: 0;
    border-radius: 10px;
    background: none;
    color: #13203A;
    text-align: left;
}

#HCViewer .HCVSpot:hover,
#HCViewer .HCVSpot.isActive {
    background: color-mix(in srgb, var(--brand) 6%, #fff);
}

#HCViewer .HCVSpot span {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--brand);
    color: #fff;
    font-size: 11.5px;
    font-weight: 700;
}

#HCViewer .HCVSpot b {
    font-size: 14px;
    font-weight: 650;
}

#HCViewer .HCVSpot em {
    margin-top: 2px;
    color: #5D6B82;
    font-size: 13.5px;
    font-style: normal;
    line-height: 1.5;
}

#HCViewer .HCVFoot {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 16px 28px 20px;
    border-top: 1px solid #E6ECF4;
}

#HCViewer .HCVFoot .HCBtn {
    flex: 1;
}

#HCViewer .HCVStrip {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 12px 76px 16px;
    scrollbar-width: none;
}

#HCViewer .HCVThumb {
    position: relative;
    flex: none;
    width: 108px;
    height: 68px;
    padding: 0;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: 8px;
    background: #1A2640;
    opacity: .55;
    transition: opacity .15s, border-color .15s;
}

#HCViewer .HCVThumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
}

#HCViewer .HCVThumb span {
    position: absolute;
    left: 6px;
    bottom: 5px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 9px;
    background: rgba(11, 20, 38, .8);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
}

#HCViewer .HCVThumb:hover {
    opacity: .85;
}

#HCViewer .HCVThumb.isCurrent {
    border-color: #fff;
    opacity: 1;
}

/* Recorrido guiado en la consola */
#HCTourRing {
    position: fixed;
    z-index: 30000;
    border-radius: 10px;
    box-shadow: 0 0 0 3px var(--brand), 0 0 0 8px rgb(var(--brand-rgb) / .22), 0 0 0 9999px rgba(15, 23, 42, .32);
    pointer-events: none;
    transition: left .25s ease, top .25s ease, width .25s ease, height .25s ease;
}

#HCTourRing.isNone {
    box-shadow: 0 0 0 9999px rgba(15, 23, 42, .32);
}

#HCTourPop {
    position: fixed;
    z-index: 30001;
    width: 330px;
    padding: 14px 16px 16px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(15, 23, 42, .28);
    color: #13203A;
    font-size: 14px;
    transition: left .25s ease, top .25s ease;
}

#HCTourPop button {
    font: inherit;
    cursor: pointer;
}

#HCTourPop .HCTHead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

#HCTourPop .HCTHead span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--brand);
    font-size: 12.5px;
    font-weight: 650;
}

#HCTourPop .HCTHead .HCIcon {
    width: 15px;
    height: 15px;
}

#HCTourPop .HCTHead button {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    margin-right: -6px;
    border: 0;
    border-radius: 7px;
    background: none;
    color: #8B97AB;
}

#HCTourPop .HCTHead button:hover {
    background: #F4F7FB;
    color: #13203A;
}

#HCTourPop .HCTTitle {
    display: block;
    font-size: 16px;
    font-weight: 700;
}

#HCTourPop .HCTText {
    margin: 6px 0 0;
    color: #5D6B82;
    line-height: 1.55;
}

#HCTourPop .HCTText.isWait {
    color: #8B97AB;
}

#HCTourPop.isProblem .HCTText {
    color: #8A5A0B;
}

#HCTourPop .HCTDots {
    display: flex;
    gap: 5px;
    margin-top: 14px;
}

#HCTourPop .HCTDots i {
    width: 6px;
    height: 6px;
    border-radius: 3px;
    background: #DCE3EE;
    transition: width .2s, background .2s;
}

#HCTourPop .HCTDots i.isDone {
    background: rgb(var(--brand-rgb) / .4);
}

#HCTourPop .HCTDots i.isOn {
    width: 18px;
    background: var(--brand);
}

#HCTourPop .HCTFoot {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: -14px;
}

/* Pantallas más estrechas */
@media (max-width: 1280px) {
    #HCRoot .HCArticle {
        grid-template-columns: minmax(0, 1fr);
        padding-right: 0;
    }

    #HCRoot .HCToc {
        display: none;
    }
}

@media (max-width: 1100px) {
    #HCRoot .HCBar,
    #HCRoot .HCBody {
        grid-template-columns: 240px minmax(0, 1fr);
    }

    #HCRoot .HCBar {
        grid-template-columns: 240px minmax(0, 1fr) auto;
    }

    #HCRoot .HCPage {
        padding: 32px 36px 80px;
    }

    #HCRoot .HCFeature {
        grid-template-columns: minmax(0, 1fr);
        padding-right: 28px;
    }

    #HCRoot .HCFeatureCover {
        display: none;
    }

    #HCViewer {
        grid-template-columns: minmax(0, 1fr) 320px;
    }

    #HCViewer .HCVStage,
    #HCViewer .HCVStrip {
        padding-left: 64px;
        padding-right: 64px;
    }
}

@media (max-width: 860px) {
    #HCRoot .HCBar {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 12px;
    }

    #HCRoot .HCBrand span {
        display: none;
    }

    #HCRoot .HCSearch {
        margin-left: 0;
    }

    #HCRoot .HCBody {
        grid-template-columns: minmax(0, 1fr);
    }

    #HCRoot .HCNav {
        display: none;
    }

    #HCRoot .HCPage {
        padding: 24px 16px 64px;
    }

    #HCRoot .HCGuide {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    #HCRoot .HCGuideAud {
        grid-row: auto;
        grid-column: 1 / -1;
        margin-bottom: 4px;
    }

    #HCRoot .HCGuideText {
        grid-column: 1;
    }

    #HCRoot .HCGuideMeta {
        grid-column: 2;
        grid-row: 2 / 4;
    }

    #HCRoot .HCGlossary > div {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }

    #HCViewer {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr) 84px;
    }

    #HCViewer .HCVStage {
        padding: 16px;
    }

    #HCViewer .HCShot {
        width: 100%;
    }

    #HCViewer .HCVArrow {
        display: none;
    }

    #HCViewer .HCVSide {
        grid-row: 2;
        grid-column: 1;
    }

    #HCViewer .HCVStrip {
        padding: 12px 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #HCRoot *,
    #HCViewer,
    #HCViewer *,
    #HCTourRing,
    #HCTourPop {
        animation: none !important;
        transition: none !important;
    }
}

/* Menú «Ayuda» de la cabecera: entrada del centro de ayuda */
.CBMenu .CBMenuItem-help {
    --menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3M12 17h.01'/%3E%3C/svg%3E");
}

/* ==========================================================================
   VARIAS PERSONAS EN LA MISMA EMPRESA (_js/Console/companySessions.js, 21/10/2026)
   «También aquí» en la cabecera (#CBPresence, con la lista al pulsar) y aviso de que otra persona ha guardado la
   configuración (#CBConfigChanged). Ver docs/SESIONES_SIMULTANEAS.md.
   ========================================================================== */
#CBPresence {
    position: relative;
    display: flex;
    align-items: center;
    margin-right: 4px;
}

#CBPresenceButton {
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: 280px;
    height: 32px;
    padding: 0 10px;
    font: inherit;
    font-size: 13px;
    color: #13203A;
    background: #F3F6FA;
    border: 1px solid #E4ECF8;
    border-radius: 6px;
    cursor: pointer;
}

#CBPresenceButton:hover,
#CBPresenceButton[aria-expanded="true"] {
    background: color-mix(in srgb, var(--brand) 8%, #fff);
    border-color: color-mix(in srgb, var(--brand) 24%, #fff);
}

#CBPresenceButton:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

.CBPresenceText {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Punto verde de «conectado ahora» */
.CBPresenceDot {
    flex: none;
    width: 8px;
    height: 8px;
    background: #12A27A;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgb(18 162 122 / .16);
}

#CBPresenceList {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 1001;
    width: 320px;
    max-width: calc(100vw - 32px);
    padding: 14px 16px;
    background: #FFFFFF;
    border: 1px solid #E4ECF8;
    border-radius: 10px;
    box-shadow: 0 12px 32px -12px rgba(14, 26, 51, .28);
}

#CBPresenceList[hidden] {
    display: none;
}

#CBPresenceList .CBPresenceTitle {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 600;
    color: #5D6B82;
}

#CBPresenceList ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#CBPresenceList li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    border-top: 1px solid #E4ECF8;
}

#CBPresenceList li:first-child {
    border-top: 0;
}

#CBPresenceList .CBPresenceName {
    min-width: 0;
    overflow: hidden;
    font-size: 13px;
    color: #13203A;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#CBPresenceList .CBPresenceSince {
    flex: none;
    font-size: 12px;
    color: #7A879C;
    font-variant-numeric: tabular-nums;
}

#CBPresenceList .CBPresenceHint {
    margin: 10px 0 0;
    font-size: 12px;
    line-height: 1.45;
    color: #5D6B82;
}

/* Otra persona ha guardado la configuración: aviso fijo bajo la cabecera hasta recargar o cerrarlo */
#CBConfigChanged {
    position: fixed;
    top: 64px;
    left: 50%;
    z-index: 1000;
    display: none;
    align-items: center;
    gap: 14px;
    max-width: min(720px, calc(100vw - 32px));
    padding: 10px 10px 10px 16px;
    font-size: 13px;
    line-height: 1.45;
    color: #13203A;
    background: #FFF8E6;
    border: 1px solid #F2D58A;
    border-radius: 10px;
    box-shadow: 0 12px 32px -16px rgba(14, 26, 51, .3);
    transform: translateX(-50%);
}

#CBConfigChanged.isVisible {
    display: flex;
}

#CBConfigChanged .CBConfigChangedReload {
    flex: none;
    padding: 6px 12px;
    font-weight: 600;
    color: #FFFFFF;
    text-decoration: none;
    background: var(--brand);
    border-radius: 6px;
}

#CBConfigChanged .CBConfigChangedReload:hover {
    background: color-mix(in srgb, var(--brand) 85%, #000);
}

#CBConfigChanged .CBConfigChangedClose {
    flex: none;
    width: 28px;
    height: 28px;
    color: #5D6B82;
    border-radius: 6px;
}

#CBConfigChanged .CBConfigChangedClose::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    margin: 7px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") no-repeat center / contain;
}

#CBConfigChanged .CBConfigChangedClose:hover {
    color: #13203A;
    background: rgb(19 32 58 / .06);
}

#CBConfigChanged a:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

@media (max-width: 900px) {
    #CBPresenceButton {
        max-width: 44px;
    }

    #CBPresenceButton .CBPresenceText {
        display: none;
    }
}

/* ===== Perfil personalizado de usuarios adicionales: aviso «Solo lectura» y acciones bloqueadas (UI.sectionAccess) ===== */
.sectionReadOnlyNotice {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    padding: 9px 14px;
    border: 1px solid rgb(var(--brand-rgb) / .22);
    border-radius: 6px;
    background: color-mix(in srgb, var(--brand) 6%, #fff);
    color: #13203A;
    font-size: 13.5px;
    line-height: 1.4;
}

.sectionReadOnlyNotice::before {
    content: "";
    flex: none;
    width: 16px;
    height: 16px;
    background: var(--brand);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ===== Usuarios de la consola (Parámetros generales › General, 4_Parameters/consoleUsersDialog.js) ===== */
/* Icono de la fila: pantalla con una persona (los usuarios de la aplicación tienen el de personas solas) */
#tabParametersContent1 .tabParametersContent3Box:has(#configConsoleUsers) {
    --ic: #0F766E;
    --ic-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect fill='%23000' x='3' y='4' width='18' height='13' rx='2'/%3E%3C/svg%3E");
    --ic-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3Ccircle cx='12' cy='9.5' r='2.2'/%3E%3Cpath d='M8.5 14.5a3.5 3.5 0 0 1 7 0'/%3E%3C/svg%3E");
    --ic-pro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3Ccircle cx='12' cy='9.5' r='2.2'/%3E%3Cpath d='M8.5 14.5a3.5 3.5 0 0 1 7 0'/%3E%3C/svg%3E");
}

#CUDialog .LTHead p { overflow-wrap: anywhere; }

#CUDialog .CUList {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    border: 1px solid #E4ECF8;
    border-radius: 10px;
}

#CUDialog .CUUser {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
}

#CUDialog .CUUser + .CUUser { border-top: 1px solid #E4ECF8; }

#CUDialog .CUUserMain {
    flex: 1;
    min-width: 0;
}

#CUDialog .CUUserMain b {
    display: block;
    overflow-wrap: anywhere;
    font-size: 14px;
    font-weight: 600;
}

#CUDialog .CUProfile {
    display: block;
    margin-top: 2px;
    font-size: 12.5px;
    line-height: 1.45;
    color: #5D6B82;
}

#CUDialog .CUUser .LTBtn { height: 32px; padding: 0 12px; }
#CUDialog .LTLink.CURemove { flex: none; }

#CUDialog .CUFields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 14px;
    margin-bottom: 18px;
}

#CUDialog .CUField { display: block; min-width: 0; }
#CUDialog .CUFieldWide { grid-column: 1 / -1; }

#CUDialog .CUField span {
    display: block;
    margin-bottom: 6px;
    font-size: 12.5px;
    font-weight: 600;
    color: #3A475E;
}

#CUDialog .CUField input {
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    margin: 0;
    padding: 0 12px;
    font: inherit;
    font-size: 14px;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #D3DAE5;
    border-radius: 8px;
}

#CUDialog .CUField input:focus {
    outline: none;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgb(var(--brand-rgb) / .16);
}

#CUDialog .CUField input[readonly] { color: #5D6B82; background: #F3F6FA; }
#CUDialog .CUField input[aria-invalid="true"] { border-color: #D6455D; }

#CUDialog .CUHint {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 12.5px;
    color: #7A879C;
}

#CUDialog .CUFieldset {
    margin: 0 0 18px;
    padding: 0;
    border: 0;
}

#CUDialog .CUFieldset legend {
    margin-bottom: 8px;
    padding: 0;
    font-size: 14px;
    font-weight: 700;
    color: #13203A;
}

#CUDialog .CUOptions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

#CUDialog .CUOption {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #D3DAE5;
    border-radius: 10px;
    cursor: pointer;
}

#CUDialog .CUOption:hover { background: #F3F6FA; }

#CUDialog .CUOption:has(input:checked) {
    border-color: var(--brand);
    background: color-mix(in srgb, var(--brand) 6%, #fff);
}

#CUDialog .CUOption input { flex: none; margin: 2px 0 0; accent-color: var(--brand); }
#CUDialog .CUOption b { display: block; font-size: 13.5px; font-weight: 600; }
#CUDialog .CUOption small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.4; color: #5D6B82; }

#CUDialog .CUSection {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 0;
}

#CUDialog .CUSection + .CUSection { border-top: 1px solid #EEF1F6; }

#CUDialog .CUSectionName { flex: 1; min-width: 0; }
#CUDialog .CUSectionName b { display: block; font-size: 13.5px; font-weight: 600; }
#CUDialog .CUSectionName small { display: block; font-size: 12px; color: #7A879C; }

/* Nivel de cada apartado: control segmentado con radios */
#CUDialog .CULevels {
    display: inline-flex;
    flex: none;
    padding: 2px;
    background: #F3F6FA;
    border-radius: 8px;
}

#CUDialog .CULevels label { position: relative; cursor: pointer; }

#CUDialog .CULevels input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

#CUDialog .CULevels span {
    display: block;
    padding: 6px 10px;
    font-size: 12.5px;
    font-weight: 600;
    white-space: nowrap;
    color: #5D6B82;
    border-radius: 6px;
}

#CUDialog .CULevels label:hover span { color: #13203A; }

#CUDialog .CULevels input:checked + span {
    color: #13203A;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(14, 26, 51, .12);
}

#CUDialog .CULevels input:focus-visible + span {
    outline: 2px solid var(--brand);
    outline-offset: 1px;
}

#CUDialog .CUSections .CUHint { margin-top: 10px; }
#CUDialog .LTBtn:disabled { opacity: .7; cursor: progress; }


/* Selector de idioma y aviso de cambio de idioma (Web/_js/i18n/i18n.js, docs/TRADUCCIONES_WEB.md).
   Mismo aspecto que los menús de la cabecera (Ayuda y cuenta: .context-menu-list + .CBMenu en console.css). */

.etsLang {
    display: flex;
    align-items: center;
}

/* Botón: como «Ayuda» (gris, 32 px de alto, fondo al pasar) con la bandera y el nombre del idioma */
.etsLangButton {
    display: flex;
    align-items: center;
    gap: 7px;
    height: 32px;
    margin: 0;
    padding: 0 8px 0 10px;
    font: inherit;
    font-size: 13px;
    line-height: 1;
    color: #5D6B82;
    background: none;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
}

.etsLangButton:hover,
.etsLangButton[aria-expanded="true"] {
    color: #13203A;
    background: #F3F6FA;
}

.etsLangButton:focus-visible {
    outline: 2px solid var(--brand, #0057D9);
    outline-offset: 1px;
}

.etsLangButton::after {
    content: "";
    width: 12px;
    height: 12px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Nombre del idioma en su propio idioma, como el texto de «Ayuda» */
.etsLangName {
    white-space: nowrap;
}

/* Bandera: rectángulo 3:2 con esquinas suaves y un filo para que el blanco no se pierda en el fondo */
.etsFlag {
    flex: none;
    display: block;
    width: 20px;
    height: 14px;
    overflow: hidden;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(19, 32, 58, .12);
}

.etsFlag svg {
    display: block;
    width: 100%;
    height: 100%;
}

/* Menú: el de la cabecera (.context-menu-list .CBMenu), anclado por la derecha 8 px bajo el botón */
.etsLangMenu {
    position: fixed;
    z-index: 10050;
    min-width: 200px;
    margin: 0;
    padding: 6px;
    list-style: none;
    font-size: 13.5px;
    background: #ffffff;
    border: 1px solid #E4ECF8;
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(19, 32, 58, .12), 0 2px 6px rgba(19, 32, 58, .06);
}

.etsLangMenu[hidden] {
    display: none;
}

.etsLangMenu li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    color: #13203A;
    border-radius: 6px;
    cursor: pointer;
    outline: none;
}

.etsLangMenu li:hover,
.etsLangMenu li:focus {
    color: var(--brand, #0057D9);
    background: #F3F6FA;
}

.etsLangMenu li[aria-selected="true"] {
    font-weight: 600;
}

/* Marca del idioma actual, a la derecha */
.etsLangMenu li[aria-selected="true"]::after {
    content: "";
    width: 14px;
    height: 14px;
    margin-left: auto;
    background: var(--brand, #0057D9);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Aviso tras cambiar de idioma: abajo a la derecha, con «Recargar» por si algo no se ha podido actualizar */
.etsLangToast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 10060;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    max-width: 380px;
    padding: 14px 14px 14px 16px;
    font-size: 13.5px;
    line-height: 1.45;
    color: #13203A;
    background: #ffffff;
    border: 1px solid #E4ECF8;
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(19, 32, 58, .14), 0 2px 6px rgba(19, 32, 58, .06);
    animation: etsLangToastIn .18s ease-out;
}

@keyframes etsLangToastIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
}

.etsLangToast .etsFlag {
    margin-top: 3px;
}

.etsLangToast p {
    margin: 0;
}

.etsLangToast p + p {
    margin-top: 2px;
    color: #5D6B82;
}

.etsLangToastActions {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    flex: none;
}

.etsLangToast button {
    height: 30px;
    padding: 0 12px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
}

.etsLangToastReload {
    color: #ffffff;
    background: var(--brand, #0057D9);
}

.etsLangToastReload:hover {
    filter: brightness(.95);
}

.etsLangToastClose {
    width: 30px;
    padding: 0 !important;
    color: #5D6B82;
    background: none;
}

.etsLangToastClose:hover {
    color: #13203A;
    background: #F3F6FA;
}

@media (max-width: 520px) {
    .etsLangToast {
        right: 12px;
        left: 12px;
        bottom: 12px;
        max-width: none;
    }
}

/* ==========================================================================
   CONSOLA EN EL MÓVIL (≤ 800 px)
   Todo va dentro de la media query: en escritorio este fichero no cambia nada.
   Se carga el último del bundle ~/min/domainstyles (Infrastructure/Bundles.vb), detrás de console.css.
   JavaScript: _js/Console/mobile.js (botón de menú y cajón lateral). Pruebas visuales: tests/mobile/.
   Mismo corte que el antiguo _css/app/mobile.css (800 px).
   ========================================================================== */

/* Elementos que sólo crea mobile.js: ocultos en escritorio */
#mobileMenuButton,
#mobileMenuBackdrop,
#mobileModalClose {
    display: none;
}

@media (max-width: 800px) {

    /* --- Base: nada de ancho mínimo de escritorio ni scroll lateral de la página --- */
    html,
    body,
    #wrapper,
    #CBheader {
        min-width: 0 !important;
    }

    body {
        overflow-x: hidden;
        -webkit-text-size-adjust: 100%;
    }

    #wrapper {
        overflow-x: clip;
    }

    /* iOS amplía la página al enfocar un campo con letra menor de 16 px */
    input[type="text"],
    input[type="search"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    input[type="tel"],
    input[type="url"],
    input[type="date"],
    input:not([type]),
    select,
    textarea {
        font-size: 16px !important;
        max-width: 100%;
    }

    img,
    canvas,
    video,
    iframe {
        max-width: 100%;
    }

    /* --- Cabecera: botón de menú, empresa y cuenta --- */
    #CBheader {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1001;
        width: 100% !important;
        height: 56px;
        padding: 0 8px 0 4px;
        gap: 4px;
    }

    body.mobileHasMenu #mobileMenuButton {
        display: inline-flex;
    }

    body.mobileHasMenu #mobileMenuBackdrop {
        display: block;
    }

    #mobileMenuButton {
        flex: none;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
        color: #13203A;
        background: none;
        border: 0;
        border-radius: 10px;
        cursor: pointer;
    }

    #mobileMenuButton:focus-visible {
        outline: 2px solid var(--brand);
    }

    #mobileMenuButton svg {
        width: 24px;
        height: 24px;
    }

    /* El logo es una banda de ancho fijo que taparía el idioma: su sitio es para el botón de menú y el nombre */
    #CBheaderBox1Logo {
        display: none;
    }

    #CBHeaderDistributorName {
        display: none !important;
    }

    #CBHeaderCompanyName {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 15px;
    }

    #CBHeaderRight {
        flex: none;
        gap: 2px;
    }

    /* Correo de la cuenta: lo da el menú de la cuenta (#mainConfig) */
    #CBHeaderRight2 {
        display: none !important;
    }

    /* Ayuda y cuenta: sólo icono, con área táctil de 44 px */
    #helpLink {
        font-size: 0 !important;
        min-width: 44px;
        min-height: 44px;
        justify-content: center;
    }

    #helpLink::before {
        margin: 0 !important;
    }

    #mainConfig {
        min-width: 44px;
        min-height: 44px;
    }

    /* Idioma: sólo la bandera */
    #CBHeaderLang .etsLangName {
        display: none;
    }

    #CBHeaderLang .etsLangButton {
        min-height: 44px;
        padding-left: 8px;
        padding-right: 8px;
    }

    /* --- Menú de la empresa (Discovery, Políticas DLP…): cajón lateral --- */
    .ETSmenu {
        position: fixed !important;
        top: 56px !important;
        left: 0 !important;
        bottom: 0;
        z-index: 1000;
        width: min(280px, 85vw) !important;
        height: auto !important;
        padding: 16px 12px 24px !important;
        transform: translateX(-105%);
        transition: transform .22s ease !important;
        box-shadow: 0 12px 32px rgba(19, 32, 58, .18);
        visibility: hidden;
    }

    body.mobileMenuOpen .ETSmenu {
        transform: none;
        visibility: visible;
    }

    /* El cajón siempre con textos: nada de "menú plegado" en el móvil */
    body.menuCollapsed .ETSmenu a span,
    body.menuCollapsed .ETSmenu .ETSmenuToggle span {
        display: inline !important;
    }

    .ETSmenu .ETSmenuToggle {
        display: none !important;
    }

    .ETSmenu a,
    .ETSmenu a.menu_item {
        min-height: 48px;
        font-size: 15px;
    }

    #mobileMenuBackdrop {
        position: fixed;
        inset: 56px 0 0 0;
        z-index: 999;
        background: rgba(19, 32, 58, .35);
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
    }

    body.mobileMenuOpen #mobileMenuBackdrop {
        opacity: 1;
        pointer-events: auto;
    }

    body.mobileMenuOpen {
        overflow: hidden;
    }

    /* --- Contenido del apartado: todo el ancho --- */
    .ETSmenuDetail,
    body.menuCollapsed .ETSmenuDetail {
        float: none !important;
        width: auto !important;
        margin: 64px 0 0 0 !important;
        padding: 0 12px 24px;
        box-sizing: border-box;
    }

    .ETSmenuDetail > .ETSmenuDetailComputersConfig,
    .ETSmenuDetail > .ETSmenuPoliticasDLP {
        padding-left: 0;
        padding-right: 0;
    }

    .ETSMenuDetailItem {
        max-width: 100%;
        min-width: 0;
    }

    /* Tablas anchas: se desplazan dentro de su caja, no la página */
    .ETSmenuDetail table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Capas fijas que en escritorio empiezan donde acaba la barra lateral (172 px, o 68 px plegada) */
    .reportsDialog.reportsDialogFullScreen.isV2,
    body.menuCollapsed .reportsDialog.reportsDialogFullScreen.isV2 {
        left: 0 !important;
    }

    .DWHeroPage #DWHeroBg,
    .DSEmptyPage #DSHeroBg,
    .DSEmptyPage #RPHeroBg {
        left: 0;
    }

    /* Pestañas (Aplicaciones, Ficheros…, pestañas de configuración): una fila que se desliza con el dedo */
    ul:has(> li.CNFtab) {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 4px;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    ul:has(> li.CNFtab)::-webkit-scrollbar {
        display: none;
    }

    li.CNFtab {
        flex: none !important;
        float: none !important;
        white-space: nowrap;
    }

    li.CNFtab > a {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }

    /* Logs de acceso: cada filtro a todo el ancho y tabla con scroll propio */
    .reportsDialog .RDFiltersDiv {
        padding: 12px;
    }

    /* Capturas de pantalla: en escritorio filtros y botones en una fila y el visor en dos columnas (captura | datos de
       300 px). En el móvil los filtros quedaban de 42 px, los botones se salían y la captura medía 60 px de ancho:
       filtros a todo el ancho, botones debajo, captura arriba y sus datos debajo; la barra de reproducción en dos filas */
    .reportsDialog.isV2 #CNFtabReportContent6 .RDFiltersAndButtonsDiv:not([style*="display: none"]) {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .reportsDialog.isV2 #CNFtabReportContent6 .RDFiltersDiv {
        flex: none !important;
        width: 100%;
    }

    .reportsDialog.isV2 #CNFtabReportContent6 .RDFilterGroup,
    .reportsDialog.isV2 #CNFtabReportContent6 .RDFilterGroupWidex2,
    .reportsDialog.isV2 #CNFtabReportContent6 .RDFilterItem {
        flex: 1 1 100% !important;
        flex-wrap: wrap;
        width: 100%;
        min-width: 0;
    }

    .reportsDialog.isV2 #CNFtabReportContent6 .RDFiltersDiv select,
    .reportsDialog.isV2 #CNFtabReportContent6 .RDFiltersDiv input[type="text"],
    .reportsDialog.isV2 #CNFtabReportContent6 #RDT6FilterWindow {
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    .reportsDialog.isV2 #CNFtabReportContent6 .RDButtonsDiv {
        width: 100%;
        max-width: 100%;
        flex-wrap: wrap;
        gap: 8px;
    }

    /* flex: none: con flex: 1 y min-height: 0 el visor se quedaba en 0 px a 360×640 */
    .reportsDialog.isV2 .RDTableDiv.hasViewer {
        flex: none !important;
        height: auto !important;
    }

    .reportsDialog.isV2 .SCViewer {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        height: auto !important;
    }

    .reportsDialog.isV2 .SCViewer .SCStage {
        min-height: 220px;
    }

    .reportsDialog.isV2 .SCBar {
        flex-wrap: wrap;
        gap: 10px;
    }

    .reportsDialog.isV2 .SCThumbs {
        flex: 1 1 100%;
    }

    .reportsDialog .RDFilterGroup,
    .reportsDialog .RDFilterGroupWidex2,
    .reportsDialog .RDFilterItem {
        flex: 1 1 100%;
        width: 100% !important;
        min-width: 0;
    }

    .reportsDialog .RDFilterItem input,
    .reportsDialog .RDFilterItem select,
    .reportsDialog .RDFilterItem .chosen-container {
        width: 100% !important;
        box-sizing: border-box;
    }

    /* En escritorio la caja de resultados ocupa el alto que dejan los filtros (flex: 1) y tiene scroll propio; en el
       móvil los filtros ya llenan la pantalla y la caja se quedaba en 0 px a 360×640 (tabla invisible). Crece con su
       contenido y se desplaza la página; «Cargar más» es un botón, no depende del scroll de la caja.
       Los botones Minimizar/Maximizar le ponen la altura en línea: de ahí el !important */
    .reportsDialog .RDTableDiv:not(.hasViewer) {
        flex: none !important;
        height: auto !important;
        min-height: 0;
        overflow: visible !important;
    }

    /* resizableHeadersInTable.js pone overflow:hidden en línea: sin !important no se llega a las columnas de la derecha */
    .reportsDialog table.RDTable {
        display: block;
        max-width: 100%;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    /* --- Discovery: lista de equipos arriba (alto limitado, scroll propio) y debajo el resumen o el equipo --- */
    #LBcontentBoxComputers {
        float: none !important;
        width: auto !important;
        height: auto !important;
        max-height: 42dvh;
        margin: 0 0 12px;
        border-right: 0;
        border-bottom: 1px solid #E8EDF4;
    }

    #RBDashboard,
    #RBPCInfo {
        float: none !important;
        width: auto !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Resumen de la empresa: en escritorio es una caja con su propia barra (alto de la ventana) y width:100% más el
       relleno, que en el móvil se salía 20 px por la derecha. Aquí crece con su contenido y se desplaza la página */
    #RBDashboard #OverviewPanel {
        box-sizing: border-box;
        height: auto;
        overflow: visible;
        padding: 6px 0 32px;
    }

    /* Ficha del equipo: la columna de 268 px (opciones, imagen, estado) a todo el ancho y sin scroll propio; la
       configuración del equipo, debajo y también a todo el ancho */
    #RBPCTop {
        float: none !important;
        width: auto !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        border-right: 0;
        padding: 8px 4px 16px;
    }

    #RBPCTop #RBPCStatus {
        width: auto !important;
    }

    #RBPCTop #RBPCImgDiv img {
        max-width: 260px;
    }

    #RBPCConfigDiv,
    #RBPCConfigDivWrapper {
        float: none !important;
        width: auto !important;
        margin-left: 0 !important;
        left: 0 !important;
    }

    /* Configuración del equipo (_modals/config + 1_Discovery/Config/0_Tab_*.js): todo en una columna */
    #RBPCConfigDiv #infoGroup,
    #RBPCConfigDiv #infoGroup:has(.CNFStats),
    #RBPCConfigDiv #tabContent2,
    #RBPCConfigDiv #tabContent3,
    :is(#RBPCConfigDiv #tabContent7, #CCDialog) .CLProviders {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    #RBPCConfigDiv #infoGroupRight,
    #RBPCConfigDiv #infoGroup .CNFStats,
    #RBPCConfigDiv #tabContent7 .CLNumber,
    #RBPCConfigDiv #tabContent7 .CLText {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* Cabeceras de pestaña (título y explicación + botón «Añadir…»): el botón debajo, a lo ancho */
    #RBPCConfigDiv .APHeader {
        flex-wrap: wrap;
        gap: 12px !important;
    }

    #RBPCConfigDiv .APHeader > .button,
    #RBPCConfigDiv .APHeader > a,
    #RBPCConfigDiv .APHeader > button {
        flex: 1 1 100%;
        justify-content: center;
    }

    /* Funciones con interruptor (Otros, Certificados, Nube): icono | título y explicación | interruptor; el botón
       «Configurar» / «Ver registro» baja debajo de la explicación (en escritorio es una cuarta columna) */
    #RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature {
        grid-template-columns: 28px minmax(0, 1fr) auto !important;
        column-gap: 12px !important;
        padding: 16px 14px !important;
    }

    #RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .SVFeature input[type="checkbox"] {
        grid-column: 3 !important;
    }

    #RBPCConfigDiv :is(#tabContent5, #tabContent6, #tabContent7) .tabContent5Link {
        grid-column: 2 !important;
        grid-row: 4 !important;
        justify-self: start;
        height: 40px !important;
        margin-top: 8px !important;
    }

    /* --- Parámetros generales: icono | título y descripción; el botón o interruptor debajo del texto --- */
    .tabParametersContent3Box,
    .tabParametersContent2Box {
        grid-template-columns: 40px minmax(0, 1fr) !important;
        column-gap: 12px !important;
    }

    .tabParametersContent3Box > .line > :not(h3):not(p),
    .tabParametersContent2Box > .line > :not(h3):not(p) {
        grid-column: 2 !important;
        grid-row: 3 !important;
        justify-self: start;
        max-width: 100%;
        margin-top: 8px;
    }

    /* Excepciones: en escritorio es una rejilla texto | botón, con el botón antes del texto en el HTML. Aquí una columna
       y, con order, cada botón debajo de su texto (Carpetas, Programas, Dominios); lo que va detrás, al final */
    #tabParametersContent3 .tabParametersContent3Box {
        display: flex !important;
        flex-direction: column;
    }

    #tabParametersContent3 .line:has(> #configExcepcionesCarpetas) + .line { order: 1; }
    #tabParametersContent3 .line:has(> #configExcepcionesCarpetas) { order: 2; }
    #tabParametersContent3 .line:has(> #configExcepcionesProgramas) + .line { order: 3; }
    #tabParametersContent3 .line:has(> #configExcepcionesProgramas) { order: 4; }
    #tabParametersContent3 .line:has(> #configExcepcionesDominios) + .line { order: 5; }
    #tabParametersContent3 .line:has(> #configExcepcionesDominios) { order: 6; }
    #tabParametersContent3 .line:has(> #configExcepcionesDominios) + .line ~ * { order: 7; }

    #tabParametersContent3 .line:has(> .consoleLink) + .line {
        padding: 18px 0 8px 56px;
        border-bottom: 0;
    }

    #tabParametersContent3 .line:has(> .consoleLink) {
        justify-content: flex-start;
        padding: 0 0 18px 56px;
    }

    /* Botones de Parámetros con texto largo («Configurar autenticación en dos pasos (2FA)»): a 360 px no cabían en una
       línea y llegaban al borde de la pantalla */
    .tabParametersContent3Box .consoleLink.button {
        max-width: 100%;
        height: auto !important;
        min-height: 36px;
        padding-top: 6px;
        padding-bottom: 6px;
        white-space: normal !important;
        text-align: left;
        box-sizing: border-box;
    }

    /* Instalación (6_Install/installSection.js): icono | título y texto; el botón debajo */
    #installSection .DPLRow {
        grid-template-columns: 40px minmax(0, 1fr);
        column-gap: 12px;
    }

    #installSection .DPLBtn {
        grid-column: 2;
        grid-row: 3;
        justify-self: start;
        min-height: 40px;
        margin-top: 8px;
    }

    #installSection .DPLPanel table {
        display: block;
        overflow-x: auto;
    }

    /* --- Informes: indicadores de dos en dos y gráficas una debajo de otra --- */
    #RKpis {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .ETSmenuReports {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .ETSmenuReports [class*="reportWidget"],
    .ETSmenuReports > * {
        grid-column: 1 / -1 !important;
        width: auto !important;
        max-width: 100%;
        min-width: 0;
    }

    .ETSmenuReports .reportFilters {
        flex-wrap: wrap;
        gap: 12px;
    }

    .ETSmenuReports .RFFilterGroup {
        flex: 1 1 100%;
        flex-wrap: wrap;
    }

    /* En escritorio 20 px a la izquierda y 32 a la derecha: en el móvil se comían un sexto de la pantalla */
    .ETSmenuReports.ETSMenuDetailItem {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Tipo de datos personales: gráfica circular y, debajo, la lista (al lado sólo le quedaban 148 px y el % no cabía) */
    .ETSmenuReports .TYPanel {
        grid-template-columns: minmax(0, 1fr) !important;
        justify-items: stretch;
    }

    /* Alertas DLP: cada alerta es una tarjeta (la tabla mide 1050 px y había que desplazarla para ver Estado o
       Acción). Arriba severidad, fecha y estado; debajo política, equipo, fichero, datos y acción. Tocar la tarjeta
       abre la alerta, como la fila en escritorio */
    #widgetContentDLPLogs table.RAlerts,
    #widgetContentDLPLogs table.RAlerts tbody {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
    }

    #widgetContentDLPLogs table.RAlerts thead {
        display: none;
    }

    #widgetContentDLPLogs table.RAlerts tr[data-logindex] {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 4px 12px;
        padding: 10px 8px 12px 12px;
    }

    #widgetContentDLPLogs table.RAlerts tr[data-logindex] > td {
        display: block;
        flex: 1 1 100%;
        min-width: 0;
        max-width: 100%;
        width: auto !important;
        padding: 0 !important;
        border: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    #widgetContentDLPLogs table.RAlerts tr[data-logindex] > td.tableDLPLogsth2 { order: 1; flex: 0 0 auto; }
    #widgetContentDLPLogs table.RAlerts tr[data-logindex] > td.tableDLPLogsth3 { order: 2; flex: 1 1 auto; }
    #widgetContentDLPLogs table.RAlerts tr[data-logindex] > td.tableDLPLogsthStatus { order: 3; flex: 0 0 auto; }
    #widgetContentDLPLogs table.RAlerts tr[data-logindex] > td.tableDLPLogsth4 { order: 4; }
    #widgetContentDLPLogs table.RAlerts tr[data-logindex] > td.tableDLPLogsth5 { order: 5; }
    #widgetContentDLPLogs table.RAlerts tr[data-logindex] > td.tableDLPLogsth7 { order: 6; }
    #widgetContentDLPLogs table.RAlerts tr[data-logindex] > td.tableDLPLogsth9 { order: 7; flex: 1 1 auto; }
    #widgetContentDLPLogs table.RAlerts tr[data-logindex] > td.tableDLPLogsth8 { order: 8; flex: 0 0 auto; }

    /* Ficha de la alerta (estado, responsable, notas): panel lateral de 480 px → a todo el ancho */
    #DIPanel {
        width: 100% !important;
        border-left: 0;
    }

    #DIPanel .DIHead {
        padding: 16px 12px 12px 16px;
        min-width: 0;
    }

    #DIPanel .DIHead > * {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    /* Fecha en una línea: «Hoy 16:37» */
    #widgetContentDLPLogs table.RAlerts td.tableDLPLogsth3 > span {
        display: inline !important;
        margin-right: 6px;
    }

    #widgetContentDLPLogs table.RAlerts td.tableDLPLogsth5 > span {
        display: inline !important;
        margin-right: 6px;
    }

    /* --- Políticas DLP: botones y buscador en varias filas --- */
    #PDLPTopButtons,
    #PDLPVisualizationButtons,
    .PRVHead {
        flex-wrap: wrap !important;
        gap: 8px;
    }

    #PDLPTopButtons > * {
        float: none !important;
        margin: 0 !important;
    }

    /* Revisión de la configuración: icono | texto | botón en una fila dejaba el texto en 120 px (una palabra por
       línea). El botón pasa debajo del texto */
    #PDLPReview .PRVList li {
        flex-wrap: wrap;
    }

    #PDLPReview .PRVText {
        flex: 1 1 calc(100% - 30px);
    }

    #PDLPReview .PRVFix {
        margin-left: 30px;
    }

    /* Condiciones de la política: console.css (@media 760) deja la rejilla en dos columnas (campo | ×) pero el botón
       de borrar sigue con grid-column: 3, que crea una tercera columna implícita: el tipo de condición y su valor se
       quedaban en 158 px y se cortaban («El destinatario d…») */
    .newDlpPolicyDialog .DLPpolicyCondition .DLPPolicyConditionDelete {
        grid-column: 2;
    }

    .newDlpPolicyDialog .DLPpolicyCondition .DLPpolicyConditionAuxDiv textarea {
        width: 100% !important;
        box-sizing: border-box;
    }

    /* Y menos relleno: ventana (16 px a cada lado), contenido (28) y bloque de condiciones (16) dejaban el campo en
       200 px a 360 de pantalla */
    .newDlpPolicyDialog.windowsStyleWindow {
        width: 100vw !important;
        max-width: 100vw !important;
    }

    .newDlpPolicyDialog .win10content {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .newDlpPolicyDialog .DLPpolicyGroup {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    /* «O bien…» / «Y además…»: hueco a la derecha para la × que quita el bloque (iba encima del texto) */
    .newDlpPolicyDialog .DLPPolicyGroupDescription {
        padding-right: 36px;
    }

    /* Cobertura de la protección: la tabla ya se desplaza de lado, pero el nombre del dato ocupaba 190 px y sólo se
       veía un canal y medio. Nombre más estrecho y fijo a la izquierda al desplazar */
    #PDLPCoverage .PCVTable thead th:first-child {
        width: 104px;
    }

    #PDLPCoverage .PCVTable th:first-child {
        position: sticky;
        left: 0;
        z-index: 1;
        white-space: normal;
        background: #FFFFFF;
    }

    #PDLPSearchBar {
        flex: 1 1 100%;
        flex-wrap: wrap;
        width: 100% !important;
    }

    #PDLPSearchBar .PSBSearch,
    #PDLPSearchInput {
        flex: 1 1 100%;
        width: 100% !important;
        box-sizing: border-box;
    }

    /* Tabla de políticas de cada grupo: una tarjeta por política (casilla + nombre arriba; severidad, acción y
       demás controles debajo). De la cabecera sólo queda la casilla de "seleccionar todas". */
    [id^="PDLPButtons-"] {
        flex-wrap: wrap !important;
        max-width: 100%;
        gap: 6px;
    }

    /* Cabecera de cada grupo de políticas: en escritorio una fila (título y Añadir a su lado). En el
       móvil los botones se llevaban todo el ancho, el título se quedaba en 20 px (nombre del grupo a 0 px) y los
       botones pisaban el contador: título arriba a todo el ancho y botones debajo */
    .ETSmenuPoliticasDLP .PDLPTopTitleHeader {
        flex-wrap: wrap !important;
        height: auto !important;
        row-gap: 8px;
    }

    .ETSmenuPoliticasDLP .PDLPTopTitleHeader > .PDLPTopTitleGroupH2 {
        flex: 1 1 100% !important;
        min-width: 0;
        max-width: 100%;
        flex-wrap: wrap;
    }

    /* «›» de «abrir la política»: en escritorio al final de la última columna; en la tarjeta caía sobre el selector de
       acción (dos flechas superpuestas). La tarjeta entera se puede tocar */
    .ETSmenuPoliticasDLP .PDLPCompact .PDLPRow td.PDLPCol3::after {
        display: none;
    }

    .ETSmenuPoliticasDLP .PDLPTopTitleHeader > [id^="PDLPButtons-"] {
        flex: 1 1 100% !important;
        width: auto !important;
        margin: 0 !important;
        position: static !important;
    }

    .ETSmenuPoliticasDLP table:has(> tbody[id^="DLPPoliciesTableBody"]) {
        display: block;
        overflow: visible;
    }

    .ETSmenuPoliticasDLP table:has(> tbody[id^="DLPPoliciesTableBody"]) > thead,
    tbody[id^="DLPPoliciesTableBody"] {
        display: block;
        width: 100% !important;
    }

    .ETSmenuPoliticasDLP table:has(> tbody[id^="DLPPoliciesTableBody"]) > thead > tr {
        display: flex;
    }

    .ETSmenuPoliticasDLP table:has(> tbody[id^="DLPPoliciesTableBody"]) > thead > tr > :not(:first-child) {
        display: none;
    }

    tbody[id^="DLPPoliciesTableBody"] > tr {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px 10px;
        padding: 12px 8px;
    }

    tbody[id^="DLPPoliciesTableBody"] > tr > td {
        display: block;
        width: auto !important;
        min-width: 0;
        padding: 0 !important;
        border: 0 !important;
    }

    /* La primera celda lleva la casilla y el nombre: ocupa toda la fila */
    tbody[id^="DLPPoliciesTableBody"] > tr > td:first-child {
        flex: 1 1 100%;
    }

    tbody[id^="DLPPoliciesTableBody"] > tr > td:nth-child(2) {
        margin-left: 42px;
    }

    /* Ficha de la política (panel lateral): a todo el ancho */
    #PDLPDetail {
        left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* Asistente de políticas DLP: a pantalla completa. En escritorio se centra con top/left 50% + translate(-50%, -50%);
       con left: 0 ese translate lo sacaba media pantalla por la izquierda */
    .DLPWizardDialog.windowsStyleWindow {
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100dvh !important;
        margin: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
    }

    /* Pasos del asistente: los siete no caben; el actual con su nombre y el resto sólo con el número o la marca (el
       nombre sigue en el DOM para los lectores de pantalla). Así el paso actual siempre se ve sin desplazar la barra */
    .DLPWizardDialog .DWSteps {
        padding: 12px 16px 0;
    }

    .DLPWizardDialog .DWSteps li:not(.isCurrent) a,
    .DLPWizardDialog .DWSteps li:not(.isCurrent) span {
        gap: 0;
        margin-right: 0;
        padding-right: 6px;
        font-size: 0;
    }

    .DLPWizardDialog .DWSteps li:not(.isCurrent) i {
        width: 28px;
        height: 28px;
    }

    /* Revisión › «Cómo queda la protección»: siete canales más el nombre del dato no caben en 300 px (con table-layout
       fixed las columnas se quedaban en 15 px y los textos se montaban). La tabla se desplaza de lado con el dedo y el
       nombre del dato se queda fijo a la izquierda */
    .DLPWizardDialog .DWCov {
        display: block;
        width: auto;
        overflow-x: auto;
        table-layout: auto;
    }

    .DLPWizardDialog .DWCov thead th:first-child {
        width: auto;
    }

    .DLPWizardDialog .DWCov th:first-child {
        position: sticky;
        left: 0;
        z-index: 1;
        min-width: 92px;
        white-space: normal;
        background: #FFFFFF;
    }

    .DLPWizardDialog .DWCovCell {
        min-width: 64px;
        white-space: nowrap;
    }

    /* --- Lista de distribuidores y empresas (columna izquierda) --- */
    #leftBox {
        position: relative !important;
        float: none !important;
        width: auto !important;
        margin: 64px 8px 0 !important;
        /* Con pocas filas no ocupa toda la pantalla: el resumen del canal va justo debajo */
        height: auto !important;
        max-height: calc(100dvh - 72px) !important;
    }

    /* El antiguo _css/app/mobile.css la fijaba arriba del todo, debajo de la cabecera de la consola */
    #leftBox #LBheaderBox {
        position: static !important;
        width: auto !important;
        height: 52px !important;
    }

    #LBheaderBox2Title {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Sin ratón: las acciones de cada fila (⋯ Editar/Eliminar, ver en el resumen) siempre a la vista y con área
       táctil de 40 px */
    #leftBox .LBItemR,
    #leftBox .LBItemFilter {
        opacity: 1;
        width: 40px;
        height: 40px;
    }

    #leftBox .LBItem {
        min-height: 44px;
    }

    /* Resto de acciones que en escritorio sólo aparecen al pasar el ratón (acciones del grupo de políticas, ampliar
       captura de la ayuda, abrir gráfica del resumen): siempre a la vista */
    .ETSmenuPoliticasDLP .PDLPGroupAction,
    #HCRoot .HCShotZoom,
    #OverviewPanel .OVOpen {
        opacity: 1 !important;
    }

    /* Resumen del canal: debajo de la lista, a todo el ancho */
    #channelOverview.isActive {
        margin-left: 0;
        padding: 16px 12px 48px;
        max-width: 100%;
    }

    #channelOverview .COTabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #channelOverview .COPageHeader {
        flex-wrap: wrap;
        gap: 12px;
    }

    /* --- Formularios del panel derecho (alta de empresa, distribuidor, estadísticas) --- */
    #rightBox {
        left: 0 !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    #rightBox .formPaddings,
    #rightBox .rightBoxItem {
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box;
    }

    #rightBox .RBCloseBar a {
        top: 8px;
        right: 8px;
    }

    /* --- Ventanas de UI.modal (_modals/update, sendCommand…): por encima de la cabecera, con botón «Cerrar» (mobile.js) --- */
    /* La cabecera fija va en 1001 */
    .modal {
        z-index: 1100 !important;
    }

    .modal .modalcontent {
        width: auto !important;
        max-width: none !important;
        max-height: calc(100dvh - 80px) !important;
        margin: 64px 8px 0 !important;
        overflow-y: auto;
        box-sizing: border-box;
    }

    #mobileModalClose {
        position: fixed;
        top: 8px;
        right: 8px;
        z-index: 1101;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 0;
        color: #13203A;
        background: #ffffff;
        border: 1px solid #D9E1EC;
        border-radius: 50%;
        box-shadow: 0 2px 8px rgba(14, 26, 51, .16);
    }

    #mobileModalClose svg {
        width: 22px;
        height: 22px;
    }

    /* --- Ventanas: a pantalla completa --- */
    .popupWrapper .popupPopup {
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        border-radius: 0 !important;
        transform: none !important;
    }

    .popupWrapper .popupContentWrapper {
        max-height: calc(100dvh - 56px) !important;
        overflow: auto;
    }

    /* Detalle de Informes y registro de actividad: cada fila es una tarjeta «Columna: valor» (mobileUI.labelTables
       pone el título de la columna en data-label). Lo que en escritorio sale al pasar el ratón (ruta completa del
       fichero o del programa, título entero de la ventana) se ve debajo, en gris; el usuario del equipo no, que ya
       tiene su columna */
    .popupWrapper .popupContent table.mobileCards,
    .popupWrapper .popupContent table.mobileCards tbody {
        display: block;
        width: 100%;
    }

    /* De la cabecera sólo quedan las columnas que ordenan (Hora, Instancias), como botones */
    .popupWrapper .popupContent table.mobileCards tr:first-child {
        display: flex !important;
        flex-wrap: wrap;
        gap: 8px;
        padding: 8px 12px;
    }

    .popupWrapper .popupContent table.mobileCards tr:first-child:not(:has(a)) {
        display: none !important;
    }

    .popupWrapper .popupContent table.mobileCards tr:first-child > th {
        display: none;
    }

    .popupWrapper .popupContent table.mobileCards tr:first-child > th:has(a) {
        display: block;
        padding: 0 !important;
        background: none !important;
        border: 0 !important;
    }

    .popupWrapper .popupContent table.mobileCards tr:first-child > th > a {
        display: inline-block;
        padding: 8px 12px;
        border: 1px solid #DCE3EE;
        border-radius: 8px;
    }

    .popupWrapper .popupContent table.mobileCards tr:not(.mobileTotal):not(:first-child) > td {
        font-weight: 400;
    }

    .popupWrapper .popupContent table.mobileCards tr {
        display: block;
        padding: 10px 12px;
        border-bottom: 1px solid #EEF1F6;
    }

    .popupWrapper .popupContent table.mobileCards tr > td {
        display: grid;
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 8px;
        padding: 2px 0 !important;
        border: 0 !important;
        overflow-wrap: anywhere;
    }

    .popupWrapper .popupContent table.mobileCards tr > td::before {
        content: attr(data-label);
        color: #69768C;
        font-weight: 400;
    }

    .popupWrapper .popupContent table.mobileCards tr > td:empty,
    .popupWrapper .popupContent table.mobileCards tr.mobileTotal > td:not([data-label]) {
        display: none;
    }

    .popupWrapper .popupContent table.mobileCards tr.mobileTotal > td {
        font-weight: 700;
    }

    .popupWrapper .popupContent .tooltip {
        max-width: 100%;
    }

    .popupWrapper .popupContent .tooltip .tooltiptext {
        position: static !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto;
        max-width: none;
        margin: 2px 0 0 !important;
        padding: 0;
        font-size: 11px;
        font-weight: 400;
        color: #69768C;
        background: none;
        word-break: normal;
        overflow-wrap: anywhere;
        transform: none !important;
    }

    .popupWrapper .popupContent .tooltip .tooltiptext::after {
        display: none;
    }

    .popupWrapper .popupContent td:first-child .tooltip .tooltiptext {
        display: none !important;
    }

    .modalDialogWrapper2 {
        padding: 0 !important;
    }

    /* El fondo de las ventanas (.modalDialogWrapper, z-index 2) crea un contexto de apilamiento por debajo de la cabecera
       fija (1001): las ventanas altas quedaban con el título y la X tapados. Encima de la cabecera, como .modal. */
    .modalDialogWrapper,
    .modalDialogWrapper2,
    .popupWrapper {
        z-index: 1100 !important;
    }

    /* Centradas en los dos ejes. La base (_css/app/modalDialog.css) las coloca con left: 50vw + translate(-50%, -20%) y
       cada ventana lo retoca a su manera: con left: 0 (abajo) el translate de algunas las sacaba media pantalla por la
       izquierda (Preferencias del equipo). El ancho lo pone la regla de abajo o la propia ventana. Los registros de
       accesos y el asistente DLP tienen su propia colocación a pantalla completa. */
    .windowsStyleWindow:not(.reportsDialog):not(.DLPWizardDialog) {
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        bottom: auto !important;
        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
    }

    .modalDialog.windowsStyleWindow,
    .windowsStyleWindow {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        max-height: 100dvh !important;
        left: 0 !important;
        margin-left: 0 !important;
        border-radius: 0 !important;
        box-sizing: border-box;
        overflow-y: auto;
    }

    /* Ámbito de la política, ámbito KSP y exportar configuración: las listas de equipos y departamentos son cajas con
       overflow: hidden (alto mínimo automático 0) dentro de una rejilla de alto fijo; a 360×640 se quedaban en 35 px
       (sólo «Seleccionar todos») y los equipos no se veían. Con su alto de contenido se desplaza la ventana */
    .windowsStyleWindow .SDPCSelectDiv,
    .windowsStyleWindow #SDPCSelectDiv {
        flex-shrink: 0;
        min-height: -webkit-max-content;
        min-height: max-content;
    }

    .bottombuttons {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .bottombuttons .button {
        flex: 1 1 auto;
        margin: 0 !important;
        min-height: 44px;
        box-sizing: border-box;
    }

    /* ---- Ventanas con la barra de título antigua (sin isV2/isSettingsV2: marca genética…). El título flota a la
       izquierda con width: 50 %; en el móvil ocupa dos líneas, se sale de la barra y el contenido (que crea su propio
       contexto de formato) se ponía a su lado, en 150 px. La barra contiene el flotante y el título usa todo el ancho ---- */
    .windowsStyleWindow:not(.isV2):not(.isSettingsV2) .windowsTitleBar {
        display: flow-root;
        height: auto;
    }

    .windowsStyleWindow:not(.isV2):not(.isSettingsV2) .windowsTitleText {
        width: calc(100% - 56px);
    }

    /* ---- Certificados › Usuarios y permisos de firma: el nombre se quedaba en una letra al lado de «Hasta» + fecha.
       Nombre e interruptor arriba; «Hasta» y la fecha debajo ---- */
    .kspPermissionsDialog .KPUser {
        grid-template-columns: auto minmax(0, 1fr) auto;
        row-gap: 6px;
    }

    .kspPermissionsDialog .KPUserName {
        grid-column: 1 / 3;
        grid-row: 1;
    }

    .kspPermissionsDialog.isSettingsV2 .win10content .KPUser label > input[type="checkbox"] {
        grid-column: 3;
    }

    .kspPermissionsDialog .KPUntil > span {
        grid-column: 1;
        grid-row: 2;
    }

    .kspPermissionsDialog.isSettingsV2 .win10content input.KPUntilDate {
        grid-column: 2 / 4;
        grid-row: 2;
        justify-self: start;
    }

    /* Sin permiso la fecha no se ve (en escritorio guarda el hueco): aquí ni siquiera ocupa la segunda fila */
    .kspPermissionsDialog .KPUser:not(.isAllowed) .KPUntil > span,
    .kspPermissionsDialog.isSettingsV2 .win10content .KPUser:not(.isAllowed) input.KPUntilDate {
        display: none;
    }

    /* ---- Parámetros: «Sincronizar cambios» va en escritorio a la derecha de las pestañas (absolute) y aquí las tapaba.
       Debajo de ellas ---- */
    #parametersTabWrapper #configSaveChanges {
        position: static;
        margin: 8px 0 4px;
        min-height: 40px;
    }

    /* ---- Personalizar filtros (portapapeles / tráfico web, filtersDialog.js; estilos en línea): países arriba,
       filtros debajo ---- */
    .customizeCFDialog.windowsStyleWindow,
    .customizeCFDialog .win10content {
        height: auto !important;
    }

    .customizeCFDialog #filterDialogLayout {
        flex-direction: column;
        height: auto !important;
    }

    .customizeCFDialog #countriesSidebar {
        width: auto !important;
        max-height: 190px;
        border-right: 0 !important;
        border-bottom: 1px solid #ccc;
    }

    .customizeCFDialog #filtersRightPanel {
        min-height: 260px;
    }

    .customizeCFDialog #IAListContent {
        max-height: 320px;
    }

    .customizeCFDialog #IAListButtons .hoverBtn,
    .customizeCFDialog #countriesSidebar .hoverBtn {
        min-height: 40px;
        display: inline-flex;
        align-items: center;
    }

    /* ---- Explorador de carpetas/aplicaciones del equipo (fileBrowserDialog): pie en columna ---- */
    .fileBrowserDialog.isSettingsV2 #FBDbottomDiv {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .fileBrowserDialog.isSettingsV2 #FBDbottomDiv1 {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .fileBrowserDialog.isSettingsV2 #FBDbottomDiv1-2 select {
        width: 100%;
    }

    .fileBrowserDialog.isSettingsV2 #FBDbottomDiv2 #FBDOpen,
    .fileBrowserDialog.isSettingsV2 #FBDbottomDiv2 #FBDCancel {
        flex: 1 1 0;
        min-height: 44px;
        box-sizing: border-box;
    }

    /* ---- Vista en directo (UI.modalFullScreen + _modals/screenViewer): cabecera en dos filas ----
       Arriba «En directo», equipo y usuario con la X a la derecha; debajo la hora, las pantallas y «Ver al 100 %».
       mobile.js deja el viewport del dispositivo (la ventana lo pone a 960 px). */
    .modalFullScreen .SVBar {
        height: 108px;
        flex-wrap: wrap;
        align-content: center;
        row-gap: 8px;
        column-gap: 8px;
        padding: 8px 8px 8px 16px;
    }

    .modalFullScreen .SVTitle {
        order: 0;
        flex: 1 1 calc(100% - 60px);
        gap: 8px;
        margin-right: 0;
    }

    .modalFullScreen #SVPCName {
        font-size: 17px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .modalFullScreen .SVBar .closemodal {
        order: 1;
        width: 44px;
        height: 44px;
    }

    .modalFullScreen .SVUpdated { order: 2; }
    .modalFullScreen .SVBar #SVScreens { order: 3; margin-right: 0; }
    .modalFullScreen .SVBar .btn-zoom { order: 4; margin-left: auto; min-height: 40px; }
    /* Visión nueva: sin cifras ni selector de calidad (no caben en la segunda fila; se usa la última calidad elegida) */
    .modalFullScreen .SVStats,
    .modalFullScreen .SVBar .SVQuality { display: none !important; }
    /* El aviso (sesión bloqueada, pantalla protegida) debajo de la imagen: encima taparía casi toda */
    .modalFullScreen:has(.SVBar) .SCLive .SVNotice {
        position: relative;
        top: auto;
        left: auto;
        max-width: none;
        margin-top: 10px;
        transform: none;
        font-size: 13px;
    }

    .modalFullScreen:has(.SVBar) .modalfullscreencontent {
        top: 108px;
        padding: 12px;
    }

    .modalFullScreen:has(.SVBar) .SCImage {
        max-height: calc(100dvh - 132px) !important;
    }

    /* Al 100 %: la imagen a su tamaño real, se recorre con el dedo */
    .modalFullScreen:has(.SVBar) .zoom-real {
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    .modalFullScreen .modalfullscreenloading {
        left: 0;
        right: 0;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Centro de ayuda: resultados de la búsqueda a todo el ancho bajo la barra (dentro del buscador medían ~180 px)
       y sin la tecla «/», que en el móvil no existe */
    #HCRoot .HCBar {
        position: relative;
        padding-right: 8px;
    }

    #HCRoot .HCSearch {
        position: static;
    }

    #HCRoot .HCSearch > .HCIcon {
        position: relative;
        left: 14px;
        z-index: 1;
        flex: none;
    }

    #HCRoot .HCSearch > .HCIcon + input {
        margin-left: calc(-1 * var(--hcSearchIcon, 18px));
    }

    #HCRoot .HCSearch kbd {
        display: none;
    }

    #HCRoot .HCSearch input {
        padding-right: 12px;
    }

    /* Políticas DLP › barra de cambios masivos (al marcar varias políticas): en escritorio se centra a la derecha de la
       barra lateral (left: 50% + 86 px, max-width: 100vw - 220 px) y aquí quedaba una columna de 177 px a la derecha con
       «Quitar selección» fuera de la pantalla. Abajo a todo el ancho, desplegables de dos en dos */
    body.menuCollapsed #PDLPBulkBar,
    #PDLPBulkBar {
        left: 8px;
        right: 8px;
        bottom: 8px;
        z-index: 1050;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 10px;
        width: auto;
        max-width: none;
        padding: 12px;
        transform: none;
    }

    #PDLPBulkBar .PBKCount,
    #PDLPBulkBar .PBKActions {
        grid-column: 1 / -1;
    }

    #PDLPBulkBar .PBKField select {
        width: 100%;
        max-width: none;
        height: 40px;
    }

    #PDLPBulkBar .PBKActions {
        flex-wrap: wrap;
    }

    #PDLPBulkBar .PBKActions button {
        flex: 1 1 auto;
        height: 40px;
    }

    body.PBKOpen .ETSmenuPoliticasDLP {
        padding-bottom: 300px;
    }

    /* Ventanas de Parámetros con el estilo LT (texto legal, conexiones con la nube, paquetes de instalación): su fondo
       (z-index 950) quedaba bajo la cabecera fija (1001) y tapaba el título y la ×; cabecera y pie medían 341 px en una
       ventana de 312 (una regla antigua de header/footer les da 93,75 % de ancho más el relleno) */
    :is(#LTOverlay, #CCOverlay, #DKOverlay, #CUOverlay) {
        z-index: 1100;
        padding: 8px;
    }

    :is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) {
        width: 100%;
        max-height: calc(100dvh - 16px);
    }

    :is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) :is(.LTHead, .LTFoot) {
        width: auto;
    }

    :is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTHead {
        padding: 16px 16px 10px;
    }

    :is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTHead > div {
        min-width: 0;
    }

    :is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTFoot {
        flex-wrap: wrap;
        padding: 12px 16px;
    }

    /* Usuarios de la consola: campos, perfiles y apartados en una columna */
    #CUDialog :is(.CUFields, .CUOptions) {
        grid-template-columns: 1fr;
    }

    #CUDialog .CUSection {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    #CUDialog .CULevels {
        display: flex;
    }

    #CUDialog .CULevels label {
        flex: 1;
        text-align: center;
    }

    #CUDialog .CULevels span {
        padding: 10px 4px;
        white-space: normal;
    }

    #CUDialog .CUUser {
        flex-wrap: wrap;
    }

    #CUDialog .CUUserMain {
        flex-basis: 100%;
    }

    :is(#LTDialog, #CCDialog, #DKDialog, #CUDialog) .LTActions {
        flex-wrap: wrap;
        justify-content: flex-end;
        margin-left: auto;
    }

    /* Menús «⌄» de popover.js (Consultar/Exportar/Gráfica de Logs de acceso, «Añadir» de los diálogos): en escritorio
       se colocan con la posición del botón + márgenes fijos y aquí salían desplazados o fuera por la derecha. En el
       móvil, hoja inferior a todo el ancho con opciones de 44 px; se cierra tocando fuera (mobile.js) */
    .popover {
        position: fixed !important;
        left: 8px !important;
        right: 8px !important;
        top: auto !important;
        bottom: 8px !important;
        z-index: 20000 !important; /* como los «Añadir» de las ventanas de ajustes (UI.js), encima de la ventana */
        float: none;
        box-sizing: border-box;
        min-width: 0;
        max-height: 60dvh;
        overflow-y: auto;
        padding: 6px;
        background: #fff;
        border: 1px solid #E8EDF4;
        border-radius: 14px;
        box-shadow: 0 -12px 40px rgba(14, 26, 51, .28);
        font-size: 15px;
        line-height: 1.35;
    }

    .popover ul {
        margin: 0;
        padding: 0;
    }

    .popover ul li {
        display: flex;
        align-items: center;
        min-height: 44px;
        box-sizing: border-box;
        padding: 10px 14px;
        border-radius: 8px;
    }

    /* Calendarios (jQuery UI datepicker de Logs de acceso, usuarios…): días de 36 px de alto y flechas de 40 px para
       el dedo (con 13 px de letra medían 18 px). jQuery UI mide el ancho al abrirlo, así que no se sale de la pantalla */
    #ui-datepicker-div.ui-datepicker {
        box-sizing: border-box;
        width: min(320px, calc(100vw - 24px));
        /* centrado: jQuery UI lo arrima al borde derecho cuando no cabe junto al campo */
        left: calc((100vw - min(320px, calc(100vw - 24px))) / 2) !important;
        font-size: 15px;
    }

    #ui-datepicker-div .ui-datepicker-calendar td a,
    #ui-datepicker-div .ui-datepicker-calendar td span {
        padding: 0;
        line-height: 36px;
    }

    #ui-datepicker-div .ui-datepicker-header {
        min-height: 40px;
    }

    #ui-datepicker-div .ui-datepicker-prev,
    #ui-datepicker-div .ui-datepicker-next {
        top: 2px;
        width: 40px;
        height: 40px;
    }

    #ui-datepicker-div .ui-datepicker-prev span,
    #ui-datepicker-div .ui-datepicker-next span {
        top: 50%;
        margin-top: -8px;
    }

    #ui-datepicker-div .ui-datepicker-title {
        line-height: 40px;
    }

    /* Recorrido «Muéstramelo en la consola»: 330 px + relleno no caben a 360 px (la × quedaba cortada) */
    #HCTourPop {
        box-sizing: border-box;
        width: min(362px, calc(100vw - 24px));
    }

    /* Los botones debajo de los puntos (en escritorio van en la misma línea y aquí los pisaban) */
    #HCTourPop .HCTFoot {
        flex-wrap: wrap;
        margin-top: 10px;
    }

    #HCRoot .HCResults {
        top: calc(100% + 4px);
        left: 8px;
        right: 8px;
        max-height: calc(100dvh - 160px);
    }

    /* Aviso breve (UI.toast) y «X ha guardado cambios» (companySessions): iban en z 1000, debajo de las ventanas
       (1100) → el «Copiado» o «Guardado» de una ventana no se veía. El aviso breve, además, se pegaba al borde izquierdo */
    #UIToast {
        left: 12px;
        right: 12px;
        bottom: 12px;
        max-width: none;
        z-index: 1200;
    }

    #UIToast.isInfo {
        max-width: none;
    }

    /* Marca genética › marca visible, paso 3: la vista previa (max-width 500 px) ensanchaba su fieldset (un fieldset
       mide por defecto lo que su contenido más ancho) y salía cortada por la derecha */
    .windowsStyleWindow fieldset {
        min-width: 0;
    }

    .VVWPreviewThumbnail,
    .VWWPDFPreview {
        max-width: 100%;
        height: auto;
    }

    /* El aviso de cambios centrado con translate medía 356 px a 360 (2 px de margen) */
    #CBConfigChanged {
        left: 12px;
        right: 12px;
        max-width: none;
        transform: none;
        z-index: 1150;
    }
}

